@trackunit/filters-asset-filter-definitions 1.0.13 → 1.0.15
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 +98 -53
- package/index.esm.js +95 -54
- package/package.json +16 -16
- package/src/defaultFilters/defaults/area/AreaFilter.d.ts +11 -0
- package/src/defaultFilters/defaults/{AreaFilter.d.ts → area/areaSchemas.d.ts} +29 -12
- package/src/defaultFilters/defaults/area/useAreaSearch.d.ts +74 -0
- package/src/defaultFilters/defaults/index.d.ts +3 -1
- package/src/index.d.ts +1 -0
- package/src/shared/ClearItemButton.d.ts +2 -2
- package/src/translation.d.ts +2 -2
package/index.cjs.js
CHANGED
|
@@ -12,9 +12,9 @@ var filtersGraphqlHook = require('@trackunit/filters-graphql-hook');
|
|
|
12
12
|
var utilizationIndicator = require('@trackunit/utilization-indicator');
|
|
13
13
|
var geoJsonUtils = require('@trackunit/geo-json-utils');
|
|
14
14
|
var reactComponents = require('@trackunit/react-components');
|
|
15
|
+
var zod = require('zod');
|
|
15
16
|
var sharedUtils = require('@trackunit/shared-utils');
|
|
16
17
|
var stringTs = require('string-ts');
|
|
17
|
-
var zod = require('zod');
|
|
18
18
|
var translationsMachineType = require('@trackunit/translations-machine-type');
|
|
19
19
|
var criticalityIndicator = require('@trackunit/criticality-indicator');
|
|
20
20
|
var tailwindMerge = require('tailwind-merge');
|
|
@@ -135,6 +135,7 @@ var defaultTranslations = {
|
|
|
135
135
|
"filters.shared.clear": "clear",
|
|
136
136
|
"filters.shared.clearAll": "clear all",
|
|
137
137
|
"filters.shared.noHistory": "No search history yet",
|
|
138
|
+
"filters.shared.notJustWhitepsace": "Please enter a search term",
|
|
138
139
|
"filters.shared.recentSearches": "Recent searches",
|
|
139
140
|
"filters.shared.typeMore": "Type more to search...",
|
|
140
141
|
"filtersBar.closeFilter": "Close",
|
|
@@ -1691,9 +1692,9 @@ const useActivityFilter = () => {
|
|
|
1691
1692
|
* @param {ClearItemButtonProps} props - The props for the ClearItemButton component
|
|
1692
1693
|
* @returns {JSX.Element} ClearItemButton component
|
|
1693
1694
|
*/
|
|
1694
|
-
const ClearItemButton = ({
|
|
1695
|
+
const ClearItemButton = ({ onClick }) => {
|
|
1695
1696
|
const [t] = useTranslation();
|
|
1696
|
-
return (jsxRuntime.jsx(reactComponents.Tooltip, { label: t("filters.shared.clear"), children: jsxRuntime.jsx(reactComponents.IconButton, { circular: true, icon: jsxRuntime.jsx(reactComponents.Icon, { name: "Trash", size: "small" }), onClick:
|
|
1697
|
+
return (jsxRuntime.jsx(reactComponents.Tooltip, { label: t("filters.shared.clear"), children: jsxRuntime.jsx(reactComponents.IconButton, { circular: true, icon: jsxRuntime.jsx(reactComponents.Icon, { name: "Trash", size: "small" }), onClick: onClick, size: "small", variant: "ghost-neutral" }) }));
|
|
1697
1698
|
};
|
|
1698
1699
|
|
|
1699
1700
|
/**
|
|
@@ -1710,7 +1711,6 @@ const RecentSearchesFooter = ({ count, onClearAll }) => {
|
|
|
1710
1711
|
return (jsxRuntime.jsxs("div", { className: "flex items-baseline justify-between gap-x-2 border-t-2 border-slate-300 px-2 py-0.5", children: [jsxRuntime.jsx(reactComponents.Text, { className: "py-0.5", size: "small", subtle: true, children: t("filters.shared.recentSearches") }), count > 1 ? (jsxRuntime.jsx(reactComponents.Button, { onClick: onClearAll, size: "small", variant: "ghost", children: t("filters.shared.clearAll") })) : null] }));
|
|
1711
1712
|
};
|
|
1712
1713
|
|
|
1713
|
-
const LOCAL_STORAGE_KEY = "area-filter-recent-searches";
|
|
1714
1714
|
const areaFilterInternalGeoJsonGeometrySchema = zod.z.union([
|
|
1715
1715
|
geoJsonUtils.geoJsonPolygonSchema,
|
|
1716
1716
|
geoJsonUtils.geoJsonPointSchema,
|
|
@@ -1724,19 +1724,31 @@ const areaFilterInternalSchema = zod.z.object({
|
|
|
1724
1724
|
}),
|
|
1725
1725
|
dateIsoString: zod.z.string().datetime().optional(), //can not be date object since useLocalStorage (with validation) does not support date objects
|
|
1726
1726
|
});
|
|
1727
|
+
|
|
1728
|
+
const SHARED_LOCATIONS_LOCAL_STORAGE_KEY = "shared-recent-locations";
|
|
1727
1729
|
const MAX_RECENT_SEARCHES$1 = 5;
|
|
1728
|
-
const MIN_LENGTH_SEARCH =
|
|
1729
|
-
const
|
|
1730
|
+
const MIN_LENGTH_SEARCH = 3;
|
|
1731
|
+
const MAX_RESULTS = 5;
|
|
1732
|
+
/**
|
|
1733
|
+
* useAreaSearch is a hook that provides a search input for finding areas and a list of recent areas.
|
|
1734
|
+
* It uses the FindPlacesDocument query to search for areas and debounces the search input.
|
|
1735
|
+
* It also provides a list of recent areas that are stored in local storage.
|
|
1736
|
+
*/
|
|
1737
|
+
const useAreaSearch = ({ localStorageKey = SHARED_LOCATIONS_LOCAL_STORAGE_KEY, maxRecentSearches = MAX_RECENT_SEARCHES$1, maxResults = MAX_RESULTS, }) => {
|
|
1730
1738
|
const [t] = useTranslation();
|
|
1731
1739
|
const [searchString, setSearchString] = react.useState("");
|
|
1732
|
-
const
|
|
1740
|
+
const [recentAreas, setRecentAreas] = reactCoreHooks.useLocalStorage({
|
|
1741
|
+
defaultState: [],
|
|
1742
|
+
key: localStorageKey,
|
|
1743
|
+
schema: zod.z.array(areaFilterInternalSchema),
|
|
1744
|
+
});
|
|
1733
1745
|
const debouncedSearchString = reactComponents.useDebounce(searchString);
|
|
1734
1746
|
const { data, previousData, loading } = client.useQuery(FindPlacesDocument, {
|
|
1735
1747
|
variables: { search: debouncedSearchString },
|
|
1736
|
-
skip: !debouncedSearchString ||
|
|
1748
|
+
skip: !debouncedSearchString || searchString.replace(/\s/g, "").length < MIN_LENGTH_SEARCH,
|
|
1737
1749
|
});
|
|
1738
|
-
const stableData = data !== null && data !== void 0 ? data : previousData;
|
|
1739
|
-
const
|
|
1750
|
+
const stableData = react.useMemo(() => data !== null && data !== void 0 ? data : previousData, [data, previousData]);
|
|
1751
|
+
const loadedAreas = react.useMemo(() => {
|
|
1740
1752
|
var _a, _b;
|
|
1741
1753
|
return ((_b = (_a = stableData === null || stableData === void 0 ? void 0 : stableData.findPlaces) === null || _a === void 0 ? void 0 : _a.map(place => {
|
|
1742
1754
|
var _a, _b;
|
|
@@ -1757,6 +1769,59 @@ const AreaView = (props) => {
|
|
|
1757
1769
|
};
|
|
1758
1770
|
}).filter(sharedUtils.nonNullable)) !== null && _b !== void 0 ? _b : []);
|
|
1759
1771
|
}, [stableData]);
|
|
1772
|
+
const areas = debouncedSearchString ? loadedAreas : recentAreas;
|
|
1773
|
+
const hint = react.useMemo(() => {
|
|
1774
|
+
const noWhiteSpaceSearchString = searchString.replace(/\s/g, "");
|
|
1775
|
+
if (searchString.length === 0 && areas.length === 0) {
|
|
1776
|
+
return t("filters.shared.noHistory");
|
|
1777
|
+
}
|
|
1778
|
+
else if (noWhiteSpaceSearchString.length === 0 && searchString.length > 0) {
|
|
1779
|
+
return t("filters.shared.notJustWhitepsace");
|
|
1780
|
+
}
|
|
1781
|
+
else if (searchString.length > 0 && noWhiteSpaceSearchString.length < MIN_LENGTH_SEARCH) {
|
|
1782
|
+
return t("filters.shared.typeMore");
|
|
1783
|
+
}
|
|
1784
|
+
else if (loading && areas.length === 0) {
|
|
1785
|
+
return t("filtersBar.loading");
|
|
1786
|
+
}
|
|
1787
|
+
else if (areas.length === 0) {
|
|
1788
|
+
return t("filtersBar.emptyResults");
|
|
1789
|
+
}
|
|
1790
|
+
return null;
|
|
1791
|
+
}, [searchString, areas, t, loading]);
|
|
1792
|
+
const addRecentArea = (area) => {
|
|
1793
|
+
setRecentAreas(prev => {
|
|
1794
|
+
const noDuplicatesRecent = prev.filter(r => r.properties.formattedAddress !== area.properties.formattedAddress);
|
|
1795
|
+
const cappedLengthRecentAreas = noDuplicatesRecent.slice(0, maxRecentSearches - 1);
|
|
1796
|
+
return [
|
|
1797
|
+
{
|
|
1798
|
+
...area,
|
|
1799
|
+
dateIsoString: new Date().toISOString(),
|
|
1800
|
+
},
|
|
1801
|
+
...cappedLengthRecentAreas,
|
|
1802
|
+
];
|
|
1803
|
+
});
|
|
1804
|
+
};
|
|
1805
|
+
const removeRecentArea = (area) => {
|
|
1806
|
+
setRecentAreas(prev => prev.filter(r => r.properties.formattedAddress !== area.properties.formattedAddress));
|
|
1807
|
+
};
|
|
1808
|
+
return {
|
|
1809
|
+
areas: areas.slice(0, maxResults),
|
|
1810
|
+
loading,
|
|
1811
|
+
searchString,
|
|
1812
|
+
setSearchString,
|
|
1813
|
+
debouncedSearchString,
|
|
1814
|
+
recentAreas,
|
|
1815
|
+
setRecentAreas,
|
|
1816
|
+
hint,
|
|
1817
|
+
removeRecentArea,
|
|
1818
|
+
addRecentArea,
|
|
1819
|
+
};
|
|
1820
|
+
};
|
|
1821
|
+
|
|
1822
|
+
const AreaView = (props) => {
|
|
1823
|
+
const [t] = useTranslation();
|
|
1824
|
+
const { logEvent } = reactCoreHooks.useAnalytics(filtersFilterBar.FilterEvents);
|
|
1760
1825
|
const placeholderOption = react.useMemo(() => {
|
|
1761
1826
|
// If no selected option, use this placeholder option
|
|
1762
1827
|
// Aka if applied from outside the filter UI
|
|
@@ -1773,33 +1838,23 @@ const AreaView = (props) => {
|
|
|
1773
1838
|
}
|
|
1774
1839
|
: null;
|
|
1775
1840
|
}, [props.value, t]);
|
|
1776
|
-
const
|
|
1777
|
-
const selectedOption = getSelectedOption(props.value, options);
|
|
1778
|
-
const hint = react.useMemo(() => {
|
|
1779
|
-
if (searchString.length === 0 && options.length === 0) {
|
|
1780
|
-
return t("filters.shared.noHistory");
|
|
1781
|
-
}
|
|
1782
|
-
if (searchString.length > 0 && searchString.length < MIN_LENGTH_SEARCH) {
|
|
1783
|
-
return t("filters.shared.typeMore");
|
|
1784
|
-
}
|
|
1785
|
-
return null;
|
|
1786
|
-
}, [searchString, options, t]);
|
|
1841
|
+
const selectedOption = getSelectedOption(props.value, props.areas);
|
|
1787
1842
|
if (!props.showWithSearch) {
|
|
1788
1843
|
// Temoraray while we are testing the new area filter bar behind feature flag
|
|
1789
1844
|
// This emulated the old look of the boundingbox filter
|
|
1790
1845
|
// TODO [BUSS] Remove this once the new area filter is ready for prime time
|
|
1791
1846
|
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(filtersFilterBar.FilterHeader, { ...props.filterDefinition, ...props.filterBarActions }), jsxRuntime.jsx(reactFilterComponents.FilterBody, { limitSize: true, children: jsxRuntime.jsx("p", { className: "p-2", children: `${t("assetFilters.boundingBoxFilter.value")}` }) })] }));
|
|
1792
1847
|
}
|
|
1793
|
-
return (jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx(filtersFilterBar.FilterHeader, { ...props.filterDefinition, ...props.filterBarActions, loading: loading, searchEnabled: true, searchProps: {
|
|
1794
|
-
onChange: setSearchString,
|
|
1795
|
-
value: searchString,
|
|
1796
|
-
count:
|
|
1848
|
+
return (jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx(filtersFilterBar.FilterHeader, { ...props.filterDefinition, ...props.filterBarActions, loading: props.loading, searchEnabled: true, searchProps: {
|
|
1849
|
+
onChange: props.setSearchString,
|
|
1850
|
+
value: props.searchString,
|
|
1851
|
+
count: props.areas.length,
|
|
1797
1852
|
placeholder: t("assetFilters.area.searchPlaceholder"),
|
|
1798
|
-
} }), jsxRuntime.jsx(reactFilterComponents.FilterBody, { limitSize: true, children:
|
|
1853
|
+
} }), jsxRuntime.jsx(reactFilterComponents.FilterBody, { limitSize: true, children: props.areas.length > 0 || placeholderOption ? (jsxRuntime.jsx(filtersFilterBar.FilterResults, { loading: false, results: [
|
|
1799
1854
|
// Show placeholder option first if selected option is not in filterResult
|
|
1800
1855
|
// Aka if applied from outside the filter UI
|
|
1801
|
-
...(placeholderOption && !selectedOption && !debouncedSearchString ? [placeholderOption] : []),
|
|
1802
|
-
...
|
|
1856
|
+
...(placeholderOption && !selectedOption && !props.debouncedSearchString ? [placeholderOption] : []),
|
|
1857
|
+
...props.areas,
|
|
1803
1858
|
], children: filterResult => {
|
|
1804
1859
|
var _a, _b;
|
|
1805
1860
|
return (jsxRuntime.jsx(reactFormComponents.RadioGroup, { className: "m-1", id: "areaFilter", onChange: e => {
|
|
@@ -1816,19 +1871,7 @@ const AreaView = (props) => {
|
|
|
1816
1871
|
wasPreviousSearch: Boolean(dateIsoString),
|
|
1817
1872
|
},
|
|
1818
1873
|
});
|
|
1819
|
-
props.
|
|
1820
|
-
const noDuplicatesRecent = prev.filter(r => r.properties.formattedAddress !== properties.formattedAddress);
|
|
1821
|
-
const cappedLengthRecent = noDuplicatesRecent.slice(0, MAX_RECENT_SEARCHES$1 - 1);
|
|
1822
|
-
return [
|
|
1823
|
-
{
|
|
1824
|
-
properties,
|
|
1825
|
-
geometry,
|
|
1826
|
-
bBox,
|
|
1827
|
-
dateIsoString: new Date().toISOString(),
|
|
1828
|
-
},
|
|
1829
|
-
...cappedLengthRecent,
|
|
1830
|
-
];
|
|
1831
|
-
});
|
|
1874
|
+
props.addRecentArea(parsedResultLookup.data);
|
|
1832
1875
|
if (geometry.type === "Polygon") {
|
|
1833
1876
|
// Polygons are stored directly
|
|
1834
1877
|
props.filterBarActions.setArea(geometry);
|
|
@@ -1838,14 +1881,14 @@ const AreaView = (props) => {
|
|
|
1838
1881
|
// polygon derived from the features bbox
|
|
1839
1882
|
props.filterBarActions.setArea(geoJsonUtils.getPolygonFromBbox(bBox));
|
|
1840
1883
|
}
|
|
1841
|
-
setSearchString(""); // Clear search input after selection
|
|
1884
|
+
props.setSearchString(""); // Clear search input after selection
|
|
1842
1885
|
}, value: (_b = (_a = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.properties.formattedAddress) !== null && _a !== void 0 ? _a : placeholderOption === null || placeholderOption === void 0 ? void 0 : placeholderOption.properties.formattedAddress) !== null && _b !== void 0 ? _b : "", children: filterResult.map(({ properties, dateIsoString }, index) => {
|
|
1843
1886
|
const selected = (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.properties.formattedAddress) === properties.formattedAddress;
|
|
1844
1887
|
return (jsxRuntime.jsx(reactFilterComponents.RadioFilterItem, { label: properties.formattedAddress, selected: selected, suffix:
|
|
1845
1888
|
// Only show clear button if not currently selected and previously searched
|
|
1846
|
-
!selected && dateIsoString ? (jsxRuntime.jsx(ClearItemButton, {
|
|
1889
|
+
!selected && dateIsoString ? (jsxRuntime.jsx(ClearItemButton, { onClick: () => props.setRecentAreas(prev => prev.filter(r => r.properties.formattedAddress !== properties.formattedAddress)) })) : null, value: properties.formattedAddress }, index));
|
|
1847
1890
|
}) }));
|
|
1848
|
-
} })) : (jsxRuntime.jsx("p", { className: "py-2 text-center text-sm text-gray-400", children: hint })) }), debouncedSearchString.length === 0 ? (jsxRuntime.jsx(RecentSearchesFooter, { count: props.recentAreas.length, onClearAll: () => props.setRecentAreas([]) })) : null] }));
|
|
1891
|
+
} })) : (jsxRuntime.jsx("p", { className: "py-2 text-center text-sm text-gray-400", children: props.hint })) }), props.debouncedSearchString.length === 0 ? (jsxRuntime.jsx(RecentSearchesFooter, { count: props.recentAreas.length, onClearAll: () => props.setRecentAreas([]) })) : null] }));
|
|
1849
1892
|
};
|
|
1850
1893
|
/**
|
|
1851
1894
|
* Area filter definition
|
|
@@ -1856,10 +1899,8 @@ const useAreaFilter = ({ showWithSearch } = {
|
|
|
1856
1899
|
showWithSearch: () => true,
|
|
1857
1900
|
}) => {
|
|
1858
1901
|
const [t] = useTranslation();
|
|
1859
|
-
const
|
|
1860
|
-
|
|
1861
|
-
key: LOCAL_STORAGE_KEY,
|
|
1862
|
-
schema: zod.z.array(areaFilterInternalSchema),
|
|
1902
|
+
const areaSearch = useAreaSearch({
|
|
1903
|
+
localStorageKey: "shared-recent-locations",
|
|
1863
1904
|
});
|
|
1864
1905
|
const result = react.useMemo(() => {
|
|
1865
1906
|
return {
|
|
@@ -1872,14 +1913,14 @@ const useAreaFilter = ({ showWithSearch } = {
|
|
|
1872
1913
|
showInFilterBar: () => showWithSearch(),
|
|
1873
1914
|
valueAsText: value => {
|
|
1874
1915
|
var _a;
|
|
1875
|
-
const nameOfSelectedArea = getSelectedOption(value,
|
|
1916
|
+
const nameOfSelectedArea = getSelectedOption(value, areaSearch.recentAreas);
|
|
1876
1917
|
return showWithSearch()
|
|
1877
|
-
? (_a = nameOfSelectedArea === null || nameOfSelectedArea === void 0 ? void 0 : nameOfSelectedArea.properties.formattedAddress) !== null && _a !== void 0 ? _a : t("assetFilters.area.active")
|
|
1918
|
+
? ((_a = nameOfSelectedArea === null || nameOfSelectedArea === void 0 ? void 0 : nameOfSelectedArea.properties.formattedAddress) !== null && _a !== void 0 ? _a : t("assetFilters.area.active"))
|
|
1878
1919
|
: t("assetFilters.boundingBoxFilter.value");
|
|
1879
1920
|
},
|
|
1880
|
-
component: props =>
|
|
1921
|
+
component: props => jsxRuntime.jsx(AreaView, { ...props, ...areaSearch, showWithSearch: showWithSearch() }),
|
|
1881
1922
|
};
|
|
1882
|
-
}, [t, showWithSearch,
|
|
1923
|
+
}, [t, showWithSearch, areaSearch]);
|
|
1883
1924
|
return result;
|
|
1884
1925
|
};
|
|
1885
1926
|
const getSelectedOption = (value, options) => {
|
|
@@ -2714,7 +2755,7 @@ const SearchFilterInline = ({ filterBarActions, filterState, filterDefinition, l
|
|
|
2714
2755
|
return [option, ...cappedLengthRecent];
|
|
2715
2756
|
});
|
|
2716
2757
|
setSearchString(option);
|
|
2717
|
-
}, selected: option === filterValue, suffix: jsxRuntime.jsx(ClearItemButton, {
|
|
2758
|
+
}, selected: option === filterValue, suffix: jsxRuntime.jsx(ClearItemButton, { onClick: e => {
|
|
2718
2759
|
e.stopPropagation();
|
|
2719
2760
|
setRecentSearches(prev => prev.filter(r => r !== option));
|
|
2720
2761
|
} }) }, `${option}-${index}`))) }) }), jsxRuntime.jsx(RecentSearchesFooter, { count: recentSearches.length, onClearAll: () => setRecentSearches([]) })] })) : (jsxRuntime.jsx("p", { className: "py-2 text-center text-sm text-gray-400", children: t("filters.shared.noHistory") })) }) }) })] }));
|
|
@@ -3489,9 +3530,12 @@ const servicePlanSchema = zod.z.array(zod.z.union([
|
|
|
3489
3530
|
setupLibraryTranslations();
|
|
3490
3531
|
|
|
3491
3532
|
exports.ALL_TYPES = ALL_TYPES;
|
|
3533
|
+
exports.ClearItemButton = ClearItemButton;
|
|
3492
3534
|
exports.GetFleetGroupSummaryDocument = GetFleetGroupSummaryDocument;
|
|
3493
3535
|
exports.SERVICE_PLAN_STATUSES_TO_SHOW = SERVICE_PLAN_STATUSES_TO_SHOW;
|
|
3494
3536
|
exports.SearchFilterInline = SearchFilterInline;
|
|
3537
|
+
exports.areaFilterInternalGeoJsonGeometrySchema = areaFilterInternalGeoJsonGeometrySchema;
|
|
3538
|
+
exports.areaFilterInternalSchema = areaFilterInternalSchema;
|
|
3495
3539
|
exports.assetTypeConst = assetTypeConst;
|
|
3496
3540
|
exports.mapActivityToLabelId = mapActivityToLabelId;
|
|
3497
3541
|
exports.mapMetadataCompletenessToLabelId = mapMetadataCompletenessToLabelId;
|
|
@@ -3500,6 +3544,7 @@ exports.sortSiteTypeSummary = sortSiteTypeSummary;
|
|
|
3500
3544
|
exports.useActiveFilterFilter = useActiveFilterFilter;
|
|
3501
3545
|
exports.useActivityFilter = useActivityFilter;
|
|
3502
3546
|
exports.useAreaFilter = useAreaFilter;
|
|
3547
|
+
exports.useAreaSearch = useAreaSearch;
|
|
3503
3548
|
exports.useAssetIdsFilter = useAssetIdsFilter;
|
|
3504
3549
|
exports.useAssetTypeFilter = useAssetTypeFilter;
|
|
3505
3550
|
exports.useBrandFilter = useBrandFilter;
|
package/index.esm.js
CHANGED
|
@@ -10,9 +10,9 @@ import { useActiveAssetFilters, useAssetQueryFilters } from '@trackunit/filters-
|
|
|
10
10
|
import { ActivityIndicator } from '@trackunit/utilization-indicator';
|
|
11
11
|
import { geoJsonPolygonSchema, geoJsonPointSchema, geoJsonMultiPolygonSchema, geoJsonBboxSchema, getPolygonFromBbox, getBboxFromGeoJsonPolygon, getGeoJsonPolygonFromBoundingBox } from '@trackunit/geo-json-utils';
|
|
12
12
|
import { Tooltip, IconButton, Icon, Text, Button, useDebounce, useGeometry, Popover, PopoverTrigger, PopoverContent, MenuList, MenuItem } from '@trackunit/react-components';
|
|
13
|
+
import { z } from 'zod';
|
|
13
14
|
import { nonNullable, objectValues, hourIntervals, enumFromValue, objectKeys } from '@trackunit/shared-utils';
|
|
14
15
|
import { titleCase, lowerCase } from 'string-ts';
|
|
15
|
-
import { z } from 'zod';
|
|
16
16
|
import { useMachineTypeTranslations } from '@trackunit/translations-machine-type';
|
|
17
17
|
import { CriticalityIndicator } from '@trackunit/criticality-indicator';
|
|
18
18
|
import { twMerge } from 'tailwind-merge';
|
|
@@ -133,6 +133,7 @@ var defaultTranslations = {
|
|
|
133
133
|
"filters.shared.clear": "clear",
|
|
134
134
|
"filters.shared.clearAll": "clear all",
|
|
135
135
|
"filters.shared.noHistory": "No search history yet",
|
|
136
|
+
"filters.shared.notJustWhitepsace": "Please enter a search term",
|
|
136
137
|
"filters.shared.recentSearches": "Recent searches",
|
|
137
138
|
"filters.shared.typeMore": "Type more to search...",
|
|
138
139
|
"filtersBar.closeFilter": "Close",
|
|
@@ -1689,9 +1690,9 @@ const useActivityFilter = () => {
|
|
|
1689
1690
|
* @param {ClearItemButtonProps} props - The props for the ClearItemButton component
|
|
1690
1691
|
* @returns {JSX.Element} ClearItemButton component
|
|
1691
1692
|
*/
|
|
1692
|
-
const ClearItemButton = ({
|
|
1693
|
+
const ClearItemButton = ({ onClick }) => {
|
|
1693
1694
|
const [t] = useTranslation();
|
|
1694
|
-
return (jsx(Tooltip, { label: t("filters.shared.clear"), children: jsx(IconButton, { circular: true, icon: jsx(Icon, { name: "Trash", size: "small" }), onClick:
|
|
1695
|
+
return (jsx(Tooltip, { label: t("filters.shared.clear"), children: jsx(IconButton, { circular: true, icon: jsx(Icon, { name: "Trash", size: "small" }), onClick: onClick, size: "small", variant: "ghost-neutral" }) }));
|
|
1695
1696
|
};
|
|
1696
1697
|
|
|
1697
1698
|
/**
|
|
@@ -1708,7 +1709,6 @@ const RecentSearchesFooter = ({ count, onClearAll }) => {
|
|
|
1708
1709
|
return (jsxs("div", { className: "flex items-baseline justify-between gap-x-2 border-t-2 border-slate-300 px-2 py-0.5", children: [jsx(Text, { className: "py-0.5", size: "small", subtle: true, children: t("filters.shared.recentSearches") }), count > 1 ? (jsx(Button, { onClick: onClearAll, size: "small", variant: "ghost", children: t("filters.shared.clearAll") })) : null] }));
|
|
1709
1710
|
};
|
|
1710
1711
|
|
|
1711
|
-
const LOCAL_STORAGE_KEY = "area-filter-recent-searches";
|
|
1712
1712
|
const areaFilterInternalGeoJsonGeometrySchema = z.union([
|
|
1713
1713
|
geoJsonPolygonSchema,
|
|
1714
1714
|
geoJsonPointSchema,
|
|
@@ -1722,19 +1722,31 @@ const areaFilterInternalSchema = z.object({
|
|
|
1722
1722
|
}),
|
|
1723
1723
|
dateIsoString: z.string().datetime().optional(), //can not be date object since useLocalStorage (with validation) does not support date objects
|
|
1724
1724
|
});
|
|
1725
|
+
|
|
1726
|
+
const SHARED_LOCATIONS_LOCAL_STORAGE_KEY = "shared-recent-locations";
|
|
1725
1727
|
const MAX_RECENT_SEARCHES$1 = 5;
|
|
1726
|
-
const MIN_LENGTH_SEARCH =
|
|
1727
|
-
const
|
|
1728
|
+
const MIN_LENGTH_SEARCH = 3;
|
|
1729
|
+
const MAX_RESULTS = 5;
|
|
1730
|
+
/**
|
|
1731
|
+
* useAreaSearch is a hook that provides a search input for finding areas and a list of recent areas.
|
|
1732
|
+
* It uses the FindPlacesDocument query to search for areas and debounces the search input.
|
|
1733
|
+
* It also provides a list of recent areas that are stored in local storage.
|
|
1734
|
+
*/
|
|
1735
|
+
const useAreaSearch = ({ localStorageKey = SHARED_LOCATIONS_LOCAL_STORAGE_KEY, maxRecentSearches = MAX_RECENT_SEARCHES$1, maxResults = MAX_RESULTS, }) => {
|
|
1728
1736
|
const [t] = useTranslation();
|
|
1729
1737
|
const [searchString, setSearchString] = useState("");
|
|
1730
|
-
const
|
|
1738
|
+
const [recentAreas, setRecentAreas] = useLocalStorage({
|
|
1739
|
+
defaultState: [],
|
|
1740
|
+
key: localStorageKey,
|
|
1741
|
+
schema: z.array(areaFilterInternalSchema),
|
|
1742
|
+
});
|
|
1731
1743
|
const debouncedSearchString = useDebounce(searchString);
|
|
1732
1744
|
const { data, previousData, loading } = useQuery(FindPlacesDocument, {
|
|
1733
1745
|
variables: { search: debouncedSearchString },
|
|
1734
|
-
skip: !debouncedSearchString ||
|
|
1746
|
+
skip: !debouncedSearchString || searchString.replace(/\s/g, "").length < MIN_LENGTH_SEARCH,
|
|
1735
1747
|
});
|
|
1736
|
-
const stableData = data !== null && data !== void 0 ? data : previousData;
|
|
1737
|
-
const
|
|
1748
|
+
const stableData = useMemo(() => data !== null && data !== void 0 ? data : previousData, [data, previousData]);
|
|
1749
|
+
const loadedAreas = useMemo(() => {
|
|
1738
1750
|
var _a, _b;
|
|
1739
1751
|
return ((_b = (_a = stableData === null || stableData === void 0 ? void 0 : stableData.findPlaces) === null || _a === void 0 ? void 0 : _a.map(place => {
|
|
1740
1752
|
var _a, _b;
|
|
@@ -1755,6 +1767,59 @@ const AreaView = (props) => {
|
|
|
1755
1767
|
};
|
|
1756
1768
|
}).filter(nonNullable)) !== null && _b !== void 0 ? _b : []);
|
|
1757
1769
|
}, [stableData]);
|
|
1770
|
+
const areas = debouncedSearchString ? loadedAreas : recentAreas;
|
|
1771
|
+
const hint = useMemo(() => {
|
|
1772
|
+
const noWhiteSpaceSearchString = searchString.replace(/\s/g, "");
|
|
1773
|
+
if (searchString.length === 0 && areas.length === 0) {
|
|
1774
|
+
return t("filters.shared.noHistory");
|
|
1775
|
+
}
|
|
1776
|
+
else if (noWhiteSpaceSearchString.length === 0 && searchString.length > 0) {
|
|
1777
|
+
return t("filters.shared.notJustWhitepsace");
|
|
1778
|
+
}
|
|
1779
|
+
else if (searchString.length > 0 && noWhiteSpaceSearchString.length < MIN_LENGTH_SEARCH) {
|
|
1780
|
+
return t("filters.shared.typeMore");
|
|
1781
|
+
}
|
|
1782
|
+
else if (loading && areas.length === 0) {
|
|
1783
|
+
return t("filtersBar.loading");
|
|
1784
|
+
}
|
|
1785
|
+
else if (areas.length === 0) {
|
|
1786
|
+
return t("filtersBar.emptyResults");
|
|
1787
|
+
}
|
|
1788
|
+
return null;
|
|
1789
|
+
}, [searchString, areas, t, loading]);
|
|
1790
|
+
const addRecentArea = (area) => {
|
|
1791
|
+
setRecentAreas(prev => {
|
|
1792
|
+
const noDuplicatesRecent = prev.filter(r => r.properties.formattedAddress !== area.properties.formattedAddress);
|
|
1793
|
+
const cappedLengthRecentAreas = noDuplicatesRecent.slice(0, maxRecentSearches - 1);
|
|
1794
|
+
return [
|
|
1795
|
+
{
|
|
1796
|
+
...area,
|
|
1797
|
+
dateIsoString: new Date().toISOString(),
|
|
1798
|
+
},
|
|
1799
|
+
...cappedLengthRecentAreas,
|
|
1800
|
+
];
|
|
1801
|
+
});
|
|
1802
|
+
};
|
|
1803
|
+
const removeRecentArea = (area) => {
|
|
1804
|
+
setRecentAreas(prev => prev.filter(r => r.properties.formattedAddress !== area.properties.formattedAddress));
|
|
1805
|
+
};
|
|
1806
|
+
return {
|
|
1807
|
+
areas: areas.slice(0, maxResults),
|
|
1808
|
+
loading,
|
|
1809
|
+
searchString,
|
|
1810
|
+
setSearchString,
|
|
1811
|
+
debouncedSearchString,
|
|
1812
|
+
recentAreas,
|
|
1813
|
+
setRecentAreas,
|
|
1814
|
+
hint,
|
|
1815
|
+
removeRecentArea,
|
|
1816
|
+
addRecentArea,
|
|
1817
|
+
};
|
|
1818
|
+
};
|
|
1819
|
+
|
|
1820
|
+
const AreaView = (props) => {
|
|
1821
|
+
const [t] = useTranslation();
|
|
1822
|
+
const { logEvent } = useAnalytics(FilterEvents);
|
|
1758
1823
|
const placeholderOption = useMemo(() => {
|
|
1759
1824
|
// If no selected option, use this placeholder option
|
|
1760
1825
|
// Aka if applied from outside the filter UI
|
|
@@ -1771,33 +1836,23 @@ const AreaView = (props) => {
|
|
|
1771
1836
|
}
|
|
1772
1837
|
: null;
|
|
1773
1838
|
}, [props.value, t]);
|
|
1774
|
-
const
|
|
1775
|
-
const selectedOption = getSelectedOption(props.value, options);
|
|
1776
|
-
const hint = useMemo(() => {
|
|
1777
|
-
if (searchString.length === 0 && options.length === 0) {
|
|
1778
|
-
return t("filters.shared.noHistory");
|
|
1779
|
-
}
|
|
1780
|
-
if (searchString.length > 0 && searchString.length < MIN_LENGTH_SEARCH) {
|
|
1781
|
-
return t("filters.shared.typeMore");
|
|
1782
|
-
}
|
|
1783
|
-
return null;
|
|
1784
|
-
}, [searchString, options, t]);
|
|
1839
|
+
const selectedOption = getSelectedOption(props.value, props.areas);
|
|
1785
1840
|
if (!props.showWithSearch) {
|
|
1786
1841
|
// Temoraray while we are testing the new area filter bar behind feature flag
|
|
1787
1842
|
// This emulated the old look of the boundingbox filter
|
|
1788
1843
|
// TODO [BUSS] Remove this once the new area filter is ready for prime time
|
|
1789
1844
|
return (jsxs(Fragment, { children: [jsx(FilterHeader, { ...props.filterDefinition, ...props.filterBarActions }), jsx(FilterBody, { limitSize: true, children: jsx("p", { className: "p-2", children: `${t("assetFilters.boundingBoxFilter.value")}` }) })] }));
|
|
1790
1845
|
}
|
|
1791
|
-
return (jsxs("div", { children: [jsx(FilterHeader, { ...props.filterDefinition, ...props.filterBarActions, loading: loading, searchEnabled: true, searchProps: {
|
|
1792
|
-
onChange: setSearchString,
|
|
1793
|
-
value: searchString,
|
|
1794
|
-
count:
|
|
1846
|
+
return (jsxs("div", { children: [jsx(FilterHeader, { ...props.filterDefinition, ...props.filterBarActions, loading: props.loading, searchEnabled: true, searchProps: {
|
|
1847
|
+
onChange: props.setSearchString,
|
|
1848
|
+
value: props.searchString,
|
|
1849
|
+
count: props.areas.length,
|
|
1795
1850
|
placeholder: t("assetFilters.area.searchPlaceholder"),
|
|
1796
|
-
} }), jsx(FilterBody, { limitSize: true, children:
|
|
1851
|
+
} }), jsx(FilterBody, { limitSize: true, children: props.areas.length > 0 || placeholderOption ? (jsx(FilterResults, { loading: false, results: [
|
|
1797
1852
|
// Show placeholder option first if selected option is not in filterResult
|
|
1798
1853
|
// Aka if applied from outside the filter UI
|
|
1799
|
-
...(placeholderOption && !selectedOption && !debouncedSearchString ? [placeholderOption] : []),
|
|
1800
|
-
...
|
|
1854
|
+
...(placeholderOption && !selectedOption && !props.debouncedSearchString ? [placeholderOption] : []),
|
|
1855
|
+
...props.areas,
|
|
1801
1856
|
], children: filterResult => {
|
|
1802
1857
|
var _a, _b;
|
|
1803
1858
|
return (jsx(RadioGroup, { className: "m-1", id: "areaFilter", onChange: e => {
|
|
@@ -1814,19 +1869,7 @@ const AreaView = (props) => {
|
|
|
1814
1869
|
wasPreviousSearch: Boolean(dateIsoString),
|
|
1815
1870
|
},
|
|
1816
1871
|
});
|
|
1817
|
-
props.
|
|
1818
|
-
const noDuplicatesRecent = prev.filter(r => r.properties.formattedAddress !== properties.formattedAddress);
|
|
1819
|
-
const cappedLengthRecent = noDuplicatesRecent.slice(0, MAX_RECENT_SEARCHES$1 - 1);
|
|
1820
|
-
return [
|
|
1821
|
-
{
|
|
1822
|
-
properties,
|
|
1823
|
-
geometry,
|
|
1824
|
-
bBox,
|
|
1825
|
-
dateIsoString: new Date().toISOString(),
|
|
1826
|
-
},
|
|
1827
|
-
...cappedLengthRecent,
|
|
1828
|
-
];
|
|
1829
|
-
});
|
|
1872
|
+
props.addRecentArea(parsedResultLookup.data);
|
|
1830
1873
|
if (geometry.type === "Polygon") {
|
|
1831
1874
|
// Polygons are stored directly
|
|
1832
1875
|
props.filterBarActions.setArea(geometry);
|
|
@@ -1836,14 +1879,14 @@ const AreaView = (props) => {
|
|
|
1836
1879
|
// polygon derived from the features bbox
|
|
1837
1880
|
props.filterBarActions.setArea(getPolygonFromBbox(bBox));
|
|
1838
1881
|
}
|
|
1839
|
-
setSearchString(""); // Clear search input after selection
|
|
1882
|
+
props.setSearchString(""); // Clear search input after selection
|
|
1840
1883
|
}, value: (_b = (_a = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.properties.formattedAddress) !== null && _a !== void 0 ? _a : placeholderOption === null || placeholderOption === void 0 ? void 0 : placeholderOption.properties.formattedAddress) !== null && _b !== void 0 ? _b : "", children: filterResult.map(({ properties, dateIsoString }, index) => {
|
|
1841
1884
|
const selected = (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.properties.formattedAddress) === properties.formattedAddress;
|
|
1842
1885
|
return (jsx(RadioFilterItem, { label: properties.formattedAddress, selected: selected, suffix:
|
|
1843
1886
|
// Only show clear button if not currently selected and previously searched
|
|
1844
|
-
!selected && dateIsoString ? (jsx(ClearItemButton, {
|
|
1887
|
+
!selected && dateIsoString ? (jsx(ClearItemButton, { onClick: () => props.setRecentAreas(prev => prev.filter(r => r.properties.formattedAddress !== properties.formattedAddress)) })) : null, value: properties.formattedAddress }, index));
|
|
1845
1888
|
}) }));
|
|
1846
|
-
} })) : (jsx("p", { className: "py-2 text-center text-sm text-gray-400", children: hint })) }), debouncedSearchString.length === 0 ? (jsx(RecentSearchesFooter, { count: props.recentAreas.length, onClearAll: () => props.setRecentAreas([]) })) : null] }));
|
|
1889
|
+
} })) : (jsx("p", { className: "py-2 text-center text-sm text-gray-400", children: props.hint })) }), props.debouncedSearchString.length === 0 ? (jsx(RecentSearchesFooter, { count: props.recentAreas.length, onClearAll: () => props.setRecentAreas([]) })) : null] }));
|
|
1847
1890
|
};
|
|
1848
1891
|
/**
|
|
1849
1892
|
* Area filter definition
|
|
@@ -1854,10 +1897,8 @@ const useAreaFilter = ({ showWithSearch } = {
|
|
|
1854
1897
|
showWithSearch: () => true,
|
|
1855
1898
|
}) => {
|
|
1856
1899
|
const [t] = useTranslation();
|
|
1857
|
-
const
|
|
1858
|
-
|
|
1859
|
-
key: LOCAL_STORAGE_KEY,
|
|
1860
|
-
schema: z.array(areaFilterInternalSchema),
|
|
1900
|
+
const areaSearch = useAreaSearch({
|
|
1901
|
+
localStorageKey: "shared-recent-locations",
|
|
1861
1902
|
});
|
|
1862
1903
|
const result = useMemo(() => {
|
|
1863
1904
|
return {
|
|
@@ -1870,14 +1911,14 @@ const useAreaFilter = ({ showWithSearch } = {
|
|
|
1870
1911
|
showInFilterBar: () => showWithSearch(),
|
|
1871
1912
|
valueAsText: value => {
|
|
1872
1913
|
var _a;
|
|
1873
|
-
const nameOfSelectedArea = getSelectedOption(value,
|
|
1914
|
+
const nameOfSelectedArea = getSelectedOption(value, areaSearch.recentAreas);
|
|
1874
1915
|
return showWithSearch()
|
|
1875
|
-
? (_a = nameOfSelectedArea === null || nameOfSelectedArea === void 0 ? void 0 : nameOfSelectedArea.properties.formattedAddress) !== null && _a !== void 0 ? _a : t("assetFilters.area.active")
|
|
1916
|
+
? ((_a = nameOfSelectedArea === null || nameOfSelectedArea === void 0 ? void 0 : nameOfSelectedArea.properties.formattedAddress) !== null && _a !== void 0 ? _a : t("assetFilters.area.active"))
|
|
1876
1917
|
: t("assetFilters.boundingBoxFilter.value");
|
|
1877
1918
|
},
|
|
1878
|
-
component: props =>
|
|
1919
|
+
component: props => jsx(AreaView, { ...props, ...areaSearch, showWithSearch: showWithSearch() }),
|
|
1879
1920
|
};
|
|
1880
|
-
}, [t, showWithSearch,
|
|
1921
|
+
}, [t, showWithSearch, areaSearch]);
|
|
1881
1922
|
return result;
|
|
1882
1923
|
};
|
|
1883
1924
|
const getSelectedOption = (value, options) => {
|
|
@@ -2712,7 +2753,7 @@ const SearchFilterInline = ({ filterBarActions, filterState, filterDefinition, l
|
|
|
2712
2753
|
return [option, ...cappedLengthRecent];
|
|
2713
2754
|
});
|
|
2714
2755
|
setSearchString(option);
|
|
2715
|
-
}, selected: option === filterValue, suffix: jsx(ClearItemButton, {
|
|
2756
|
+
}, selected: option === filterValue, suffix: jsx(ClearItemButton, { onClick: e => {
|
|
2716
2757
|
e.stopPropagation();
|
|
2717
2758
|
setRecentSearches(prev => prev.filter(r => r !== option));
|
|
2718
2759
|
} }) }, `${option}-${index}`))) }) }), jsx(RecentSearchesFooter, { count: recentSearches.length, onClearAll: () => setRecentSearches([]) })] })) : (jsx("p", { className: "py-2 text-center text-sm text-gray-400", children: t("filters.shared.noHistory") })) }) }) })] }));
|
|
@@ -3486,4 +3527,4 @@ const servicePlanSchema = z.array(z.union([
|
|
|
3486
3527
|
*/
|
|
3487
3528
|
setupLibraryTranslations();
|
|
3488
3529
|
|
|
3489
|
-
export { ALL_TYPES, AssetActivityState, AssetLastSeen, DayPeriod, GetFleetGroupSummaryDocument, SERVICE_PLAN_STATUSES_TO_SHOW, SearchFilterInline, SiteStatus, SiteTypeSFS, assetTypeConst, mapActivityToLabelId, mapMetadataCompletenessToLabelId, metadataCompleteness, sortSiteTypeSummary, useActiveFilterFilter, useActivityFilter, useAreaFilter, useAssetIdsFilter, useAssetTypeFilter, useBrandFilter, useCriticalityFilter, useCustomerIdsFilter, useDefaultAssetFilterBarDefinition, useFollowedFilter, useGroupIdsFilter, useHourIntervalFilter, useLastSeenFilter, useMetadataCompletenessFilter, useModelsFilter, useOwnerAccountIdsFilter, usePeriodFilter, useProductionYearFilter, useSearchFilter, useServicePlanStatusFilter, useSetFilterStateFromUrl, useSiteIdsFilter, useSiteStatusFilter, useSiteTypeFilter, useTelematicsConnectedFilter, useTypesFilter };
|
|
3530
|
+
export { ALL_TYPES, AssetActivityState, AssetLastSeen, ClearItemButton, DayPeriod, GetFleetGroupSummaryDocument, SERVICE_PLAN_STATUSES_TO_SHOW, SearchFilterInline, SiteStatus, SiteTypeSFS, areaFilterInternalGeoJsonGeometrySchema, areaFilterInternalSchema, assetTypeConst, mapActivityToLabelId, mapMetadataCompletenessToLabelId, metadataCompleteness, sortSiteTypeSummary, useActiveFilterFilter, useActivityFilter, useAreaFilter, useAreaSearch, useAssetIdsFilter, useAssetTypeFilter, useBrandFilter, useCriticalityFilter, useCustomerIdsFilter, useDefaultAssetFilterBarDefinition, useFollowedFilter, useGroupIdsFilter, useHourIntervalFilter, useLastSeenFilter, useMetadataCompletenessFilter, useModelsFilter, useOwnerAccountIdsFilter, usePeriodFilter, useProductionYearFilter, useSearchFilter, useServicePlanStatusFilter, useSetFilterStateFromUrl, useSiteIdsFilter, useSiteStatusFilter, useSiteTypeFilter, useTelematicsConnectedFilter, useTypesFilter };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trackunit/filters-asset-filter-definitions",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.15",
|
|
4
4
|
"repository": "https://github.com/Trackunit/manager",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"engines": {
|
|
@@ -17,22 +17,22 @@
|
|
|
17
17
|
"@tanstack/react-router": "1.47.1",
|
|
18
18
|
"string-ts": "^2.0.0",
|
|
19
19
|
"tailwind-merge": "^2.0.0",
|
|
20
|
-
"@trackunit/iris-app-build-utilities": "^1.0.
|
|
21
|
-
"@trackunit/filters-filter-bar": "^1.0.
|
|
22
|
-
"@trackunit/react-core-hooks": "^1.0.
|
|
23
|
-
"@trackunit/react-filter-components": "^1.0.
|
|
24
|
-
"@trackunit/react-form-components": "^1.0.
|
|
25
|
-
"@trackunit/filters-graphql-hook": "^1.0.
|
|
26
|
-
"@trackunit/utilization-indicator": "^1.0.
|
|
27
|
-
"@trackunit/geo-json-utils": "^1.0.
|
|
28
|
-
"@trackunit/react-components": "^1.0.
|
|
20
|
+
"@trackunit/iris-app-build-utilities": "^1.0.2",
|
|
21
|
+
"@trackunit/filters-filter-bar": "^1.0.14",
|
|
22
|
+
"@trackunit/react-core-hooks": "^1.0.5",
|
|
23
|
+
"@trackunit/react-filter-components": "^1.0.14",
|
|
24
|
+
"@trackunit/react-form-components": "^1.0.14",
|
|
25
|
+
"@trackunit/filters-graphql-hook": "^1.0.14",
|
|
26
|
+
"@trackunit/utilization-indicator": "^1.0.14",
|
|
27
|
+
"@trackunit/geo-json-utils": "^1.0.2",
|
|
28
|
+
"@trackunit/react-components": "^1.0.13",
|
|
29
29
|
"@trackunit/shared-utils": "^1.0.3",
|
|
30
|
-
"@trackunit/translations-machine-type": "^1.0.
|
|
31
|
-
"@trackunit/criticality-indicator": "^1.0.
|
|
32
|
-
"@trackunit/iris-app-api": "^1.0.
|
|
33
|
-
"@trackunit/react-core-contexts-test": "^1.0.
|
|
34
|
-
"@trackunit/react-core-contexts-api": "^1.0.
|
|
35
|
-
"@trackunit/i18n-library-translation": "^1.0.
|
|
30
|
+
"@trackunit/translations-machine-type": "^1.0.5",
|
|
31
|
+
"@trackunit/criticality-indicator": "^1.0.13",
|
|
32
|
+
"@trackunit/iris-app-api": "^1.0.2",
|
|
33
|
+
"@trackunit/react-core-contexts-test": "^1.0.5",
|
|
34
|
+
"@trackunit/react-core-contexts-api": "^1.0.5",
|
|
35
|
+
"@trackunit/i18n-library-translation": "^1.0.5"
|
|
36
36
|
},
|
|
37
37
|
"module": "./index.esm.js",
|
|
38
38
|
"main": "./index.cjs.js",
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AreaFilterDefinition } from "@trackunit/filters-filter-bar";
|
|
2
|
+
interface AreaFilterProps {
|
|
3
|
+
showWithSearch: () => boolean;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Area filter definition
|
|
7
|
+
*
|
|
8
|
+
* @returns {AreaFilterDefinition} Area filter definition
|
|
9
|
+
*/
|
|
10
|
+
export declare const useAreaFilter: ({ showWithSearch }?: AreaFilterProps) => AreaFilterDefinition;
|
|
11
|
+
export {};
|
|
@@ -1,6 +1,33 @@
|
|
|
1
|
-
import { AreaFilterDefinition } from "@trackunit/filters-filter-bar";
|
|
2
1
|
import { z } from "zod";
|
|
3
|
-
declare const
|
|
2
|
+
export declare const areaFilterInternalGeoJsonGeometrySchema: z.ZodUnion<[z.ZodObject<{
|
|
3
|
+
type: z.ZodLiteral<"Polygon">;
|
|
4
|
+
coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">;
|
|
5
|
+
}, "strict", z.ZodTypeAny, {
|
|
6
|
+
type: "Polygon";
|
|
7
|
+
coordinates: [number, number][][];
|
|
8
|
+
}, {
|
|
9
|
+
type: "Polygon";
|
|
10
|
+
coordinates: [number, number][][];
|
|
11
|
+
}>, z.ZodObject<{
|
|
12
|
+
type: z.ZodLiteral<"Point">;
|
|
13
|
+
coordinates: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
|
|
14
|
+
}, "strict", z.ZodTypeAny, {
|
|
15
|
+
type: "Point";
|
|
16
|
+
coordinates: [number, number];
|
|
17
|
+
}, {
|
|
18
|
+
type: "Point";
|
|
19
|
+
coordinates: [number, number];
|
|
20
|
+
}>, z.ZodObject<{
|
|
21
|
+
type: z.ZodLiteral<"MultiPolygon">;
|
|
22
|
+
coordinates: z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">;
|
|
23
|
+
}, "strict", z.ZodTypeAny, {
|
|
24
|
+
type: "MultiPolygon";
|
|
25
|
+
coordinates: [number, number][][][];
|
|
26
|
+
}, {
|
|
27
|
+
type: "MultiPolygon";
|
|
28
|
+
coordinates: [number, number][][][];
|
|
29
|
+
}>]>;
|
|
30
|
+
export declare const areaFilterInternalSchema: z.ZodObject<{
|
|
4
31
|
bBox: z.ZodEffects<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, [number, number, number, number], [number, number, number, number]>;
|
|
5
32
|
geometry: z.ZodUnion<[z.ZodObject<{
|
|
6
33
|
type: z.ZodLiteral<"Polygon">;
|
|
@@ -72,13 +99,3 @@ declare const areaFilterInternalSchema: z.ZodObject<{
|
|
|
72
99
|
dateIsoString?: string | undefined;
|
|
73
100
|
}>;
|
|
74
101
|
export type Area = z.infer<typeof areaFilterInternalSchema>;
|
|
75
|
-
interface AreaFilterProps {
|
|
76
|
-
showWithSearch: () => boolean;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Area filter definition
|
|
80
|
-
*
|
|
81
|
-
* @returns {AreaFilterDefinition} Area filter definition
|
|
82
|
-
*/
|
|
83
|
-
export declare const useAreaFilter: ({ showWithSearch }?: AreaFilterProps) => AreaFilterDefinition;
|
|
84
|
-
export {};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { StringWithAutocompleteOptions } from "@trackunit/shared-utils";
|
|
2
|
+
import { Area } from "./areaSchemas";
|
|
3
|
+
declare const SHARED_LOCATIONS_LOCAL_STORAGE_KEY: "shared-recent-locations";
|
|
4
|
+
type UseAreaSearchProps = {
|
|
5
|
+
localStorageKey?: StringWithAutocompleteOptions<typeof SHARED_LOCATIONS_LOCAL_STORAGE_KEY>;
|
|
6
|
+
maxRecentSearches?: number;
|
|
7
|
+
maxResults?: number;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* useAreaSearch is a hook that provides a search input for finding areas and a list of recent areas.
|
|
11
|
+
* It uses the FindPlacesDocument query to search for areas and debounces the search input.
|
|
12
|
+
* It also provides a list of recent areas that are stored in local storage.
|
|
13
|
+
*/
|
|
14
|
+
export declare const useAreaSearch: ({ localStorageKey, maxRecentSearches, maxResults, }: UseAreaSearchProps) => {
|
|
15
|
+
areas: {
|
|
16
|
+
bBox: [number, number, number, number];
|
|
17
|
+
geometry: {
|
|
18
|
+
type: "Polygon";
|
|
19
|
+
coordinates: [number, number][][];
|
|
20
|
+
} | {
|
|
21
|
+
type: "Point";
|
|
22
|
+
coordinates: [number, number];
|
|
23
|
+
} | {
|
|
24
|
+
type: "MultiPolygon";
|
|
25
|
+
coordinates: [number, number][][][];
|
|
26
|
+
};
|
|
27
|
+
properties: {
|
|
28
|
+
formattedAddress: string;
|
|
29
|
+
};
|
|
30
|
+
dateIsoString?: string | undefined;
|
|
31
|
+
}[];
|
|
32
|
+
loading: boolean;
|
|
33
|
+
searchString: string;
|
|
34
|
+
setSearchString: import("react").Dispatch<import("react").SetStateAction<string>>;
|
|
35
|
+
debouncedSearchString: string;
|
|
36
|
+
recentAreas: {
|
|
37
|
+
bBox: [number, number, number, number];
|
|
38
|
+
geometry: {
|
|
39
|
+
type: "Polygon";
|
|
40
|
+
coordinates: [number, number][][];
|
|
41
|
+
} | {
|
|
42
|
+
type: "Point";
|
|
43
|
+
coordinates: [number, number];
|
|
44
|
+
} | {
|
|
45
|
+
type: "MultiPolygon";
|
|
46
|
+
coordinates: [number, number][][][];
|
|
47
|
+
};
|
|
48
|
+
properties: {
|
|
49
|
+
formattedAddress: string;
|
|
50
|
+
};
|
|
51
|
+
dateIsoString?: string | undefined;
|
|
52
|
+
}[];
|
|
53
|
+
setRecentAreas: import("react").Dispatch<import("react").SetStateAction<{
|
|
54
|
+
bBox: [number, number, number, number];
|
|
55
|
+
geometry: {
|
|
56
|
+
type: "Polygon";
|
|
57
|
+
coordinates: [number, number][][];
|
|
58
|
+
} | {
|
|
59
|
+
type: "Point";
|
|
60
|
+
coordinates: [number, number];
|
|
61
|
+
} | {
|
|
62
|
+
type: "MultiPolygon";
|
|
63
|
+
coordinates: [number, number][][][];
|
|
64
|
+
};
|
|
65
|
+
properties: {
|
|
66
|
+
formattedAddress: string;
|
|
67
|
+
};
|
|
68
|
+
dateIsoString?: string | undefined;
|
|
69
|
+
}[]>>;
|
|
70
|
+
hint: string | null;
|
|
71
|
+
removeRecentArea: (area: Area) => void;
|
|
72
|
+
addRecentArea: (area: Area) => void;
|
|
73
|
+
};
|
|
74
|
+
export {};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from "./ActiveFilter";
|
|
2
2
|
export * from "./ActivityFilter";
|
|
3
|
-
export * from "./AreaFilter";
|
|
3
|
+
export * from "./area/AreaFilter";
|
|
4
|
+
export * from "./area/areaSchemas";
|
|
5
|
+
export * from "./area/useAreaSearch";
|
|
4
6
|
export * from "./AssetIdsFilter";
|
|
5
7
|
export * from "./AssetTypeFilter";
|
|
6
8
|
export * from "./BrandFilter";
|
package/src/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
type ClearItemButtonProps = {
|
|
2
|
-
|
|
2
|
+
onClick: (e: React.MouseEvent) => void;
|
|
3
3
|
};
|
|
4
4
|
/**
|
|
5
5
|
* A button to clear recent searches.
|
|
@@ -7,5 +7,5 @@ type ClearItemButtonProps = {
|
|
|
7
7
|
* @param {ClearItemButtonProps} props - The props for the ClearItemButton component
|
|
8
8
|
* @returns {JSX.Element} ClearItemButton component
|
|
9
9
|
*/
|
|
10
|
-
export declare const ClearItemButton: ({
|
|
10
|
+
export declare const ClearItemButton: ({ onClick }: ClearItemButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
11
|
export {};
|
package/src/translation.d.ts
CHANGED
|
@@ -14,8 +14,8 @@ export declare const translations: TranslationResource<TranslationKeys>;
|
|
|
14
14
|
/**
|
|
15
15
|
* Local useTranslation for this specific library
|
|
16
16
|
*/
|
|
17
|
-
export declare const useTranslation: () => [TransForLibs<"access.management.filter.operator.role.keyAdmin" | "access.management.keys.filter.active" | "access.management.keys.filter.deleted" | "access.management.keys.filter.expired" | "access.management.keys.filter.future" | "access.management.operator.asset.filter.category" | "access.management.operator.asset.filter.keyType" | "access.management.operator.asset.filter.type.digitalKey" | "access.management.operator.asset.filter.type.rollingPin" | "access.management.operator.asset.filter.type.staticPin" | "access.management.operator.filter.category" | "access.management.operator.filter.keyStatus.title" | "access.management.operator.filter.operatorRole.keyAdmin.title" | "access.management.operator.filter.operatorRole.title" | "assetFilters.activeAssetFilter.label" | "assetFilters.activityFilter.idling" | "assetFilters.activityFilter.stopped" | "assetFilters.activityFilter.unknown" | "assetFilters.activityFilter.working" | "assetFilters.area.active" | "assetFilters.area.label" | "assetFilters.area.origin.mapArea" | "assetFilters.area.previouslySearched" | "assetFilters.area.recent" | "assetFilters.area.searchPlaceholder" | "assetFilters.assetType.ATTACHMENT" | "assetFilters.assetType.EQUIPMENT" | "assetFilters.assetType.GATEWAY" | "assetFilters.assetType.MACHINE" | "assetFilters.assetType.OTHER" | "assetFilters.assetType.TOOL" | "assetFilters.assetType.VEHICLE" | "assetFilters.boundingBoxFilter.value" | "assetFilters.criticality.CRITICAL" | "assetFilters.criticality.LOW" | "assetFilters.criticality.NONE" | "assetFilters.followedFilter.label" | "assetFilters.hourIntervalFilter.label" | "assetFilters.lastSeenFilter.anytime" | "assetFilters.lastSeenFilter.last24Hours" | "assetFilters.lastSeenFilter.last30Days" | "assetFilters.lastSeenFilter.last7Days" | "assetFilters.lastSeenFilter.lastHour" | "assetFilters.lastSeenFilter.olderThan30Days" | "assetFilters.metadataCompleteness.ALL" | "assetFilters.metadataCompleteness.COMPLETE" | "assetFilters.metadataCompleteness.PARTIAL" | "assetFilters.ownerAccountNameFilter.label" | "assetFilters.partnerFilter.label" | "assetFilters.periodFilter.label" | "assetFilters.periodFilter.LAST_24_HOURS" | "assetFilters.periodFilter.LAST_30_DAYS" | "assetFilters.periodFilter.LAST_7_DAYS" | "assetFilters.periodFilter.LAST_YEAR" | "assetFilters.periodFilter.LIFETIME" | "assetFilters.planned" | "assetFilters.productionYear.label" | "assetFilters.regions.ANTARCTICA" | "assetFilters.regions.AUSTRALIA_AND_NEW_ZEALAND" | "assetFilters.regions.CENTRAL_ASIA" | "assetFilters.regions.EASTERN_ASIA" | "assetFilters.regions.EASTERN_EUROPE" | "assetFilters.regions.label" | "assetFilters.regions.LATIN_AMERICA_AND_THE_CARIBBEAN" | "assetFilters.regions.MELANESIA" | "assetFilters.regions.MICRONESIA" | "assetFilters.regions.NORTHERN_AFRICA" | "assetFilters.regions.NORTHERN_AMERICA" | "assetFilters.regions.NORTHERN_EUROPE" | "assetFilters.regions.POLYNESIA" | "assetFilters.regions.SOUTH-EASTERN_ASIA" | "assetFilters.regions.SOUTHERN_ASIA" | "assetFilters.regions.SOUTHERN_EUROPE" | "assetFilters.regions.SUB-SAHARAN_AFRICA" | "assetFilters.regions.WESTERN_ASIA" | "assetFilters.regions.WESTERN_EUROPE" | "assetFilters.regions.WHOLE_WORLD" | "assetFilters.rentalCustomerNameFilter.label" | "assetFilters.searchFilter.label" | "assetFilters.searchPlaceholder" | "assetFilters.serviceAssignmentStatusFilter.label" | "assetFilters.servicePlanFilter.fullyConfigured" | "assetFilters.servicePlanFilter.label" | "assetFilters.servicePlanFilter.notConfigured" | "assetFilters.servicePlanFilter.partiallyConfigured" | "assetFilters.serviceProviderFilter.label" | "assetFilters.serviceProviderStatusFilter.hasServiceProvider" | "assetFilters.serviceProviderStatusFilter.noServiceProvider" | "assetFilters.serviceStatusFilter.COMPLETE" | "assetFilters.serviceStatusFilter.DRAFT" | "assetFilters.serviceStatusFilter.FULLY_CONFIGURED" | "assetFilters.serviceStatusFilter.HAS_PLAN" | "assetFilters.serviceStatusFilter.HAS_SERVICE_PROVIDER" | "assetFilters.serviceStatusFilter.label" | "assetFilters.serviceStatusFilter.MISSING_PLAN" | "assetFilters.serviceStatusFilter.MISSING_PROVIDER" | "assetFilters.serviceStatusFilter.overdue" | "assetFilters.serviceStatusFilter.OVERDUE" | "assetFilters.serviceStatusFilter.PLANNED" | "assetFilters.serviceStatusFilter.UNKNOWN" | "assetFilters.serviceStatusFilter.upcoming" | "assetFilters.serviceStatusFilter.UPCOMING" | "assetFilters.shareOwnerFilter.label" | "assetFilters.telematicsConnectedFilter.label" | "assetFilters.unknown" | "assetFilters.visibleToFilter.label" | "auditlog.filter.categories" | "auditlog.filter.component" | "auditlog.filter.components" | "auditlog.filter.events" | "auditlog.filter.users" | "filters.shared.clear" | "filters.shared.clearAll" | "filters.shared.noHistory" | "filters.shared.recentSearches" | "filters.shared.typeMore" | "filtersBar.closeFilter" | "filtersBar.defaultAssetFilters.activeAssetFilter.hide" | "filtersBar.defaultAssetFilters.activeAssetFilter.show" | "filtersBar.defaultAssetFilters.followedFilter.ALL" | "filtersBar.defaultAssetFilters.followedFilter.allLabel" | "filtersBar.defaultAssetFilters.followedFilter.FOLLOWED" | "filtersBar.defaultAssetFilters.followedFilter.followedOnlyLabel" | "filtersBar.defaultAssetFilters.lastSeenFilter.ALL" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_24_HOURS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_30_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_7_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_HOUR" | "filtersBar.defaultAssetFilters.lastSeenFilter.OLDER_THAN_30_DAYS" | "filtersBar.defaultAssetFilters.metadataGroup" | "filtersBar.defaultAssetFilters.othersGroup" | "filtersBar.defaultAssetFilters.sitesGroup" | "filtersBar.defaultAssetFilters.statusGroup" | "filtersBar.defaultAssetFilters.telematicsConnectedFilter.connected" | "filtersBar.defaultAssetFilters.telematicsConnectedFilter.notConnected" | "filtersBar.emptyResults" | "filtersBar.filtersHeading" | "filtersBar.loading" | "filtersBar.myNetworkGroup" | "filtersBar.resetFilter" | "filtersBar.resetFilters" | "filtersBar.starredFilters.title" | "filtersBar.starredFiltersTitle" | "fleetlist.column.activity" | "fleetlist.column.assetIds" | "fleetlist.column.assetType" | "fleetlist.column.attention" | "fleetlist.column.brand" | "fleetlist.column.city" | "fleetlist.column.country" | "fleetlist.column.customerIds" | "fleetlist.column.externalReference" | "fleetlist.column.groupIds" | "fleetlist.column.lastSeen" | "fleetlist.column.metadata" | "fleetlist.column.metadataCompleteness" | "fleetlist.column.model" | "fleetlist.column.name" | "fleetlist.column.onSiteType" | "fleetlist.column.owner" | "fleetlist.column.servicePlanStatus" | "fleetlist.column.siteDepotOwnershipIds" | "fleetlist.column.siteIds" | "fleetlist.column.siteStatus" | "fleetlist.column.siteType" | "fleetlist.column.streetAddress" | "fleetlist.column.totalHours" | "fleetlist.column.type" | "fleetlist.column.unitSerialNumber" | "fleetlist.column.vin" | "fleetlist.column.year" | "fleetlist.column.zipCode" | "fleetlist.createGroup" | "fleetlist.description" | "fleetList.sorting.ACTIVITY" | "fleetList.sorting.ASSET_TYPE" | "fleetList.sorting.BRAND" | "fleetList.sorting.CATEGORY" | "fleetList.sorting.CRITICALITY" | "fleetList.sorting.EXTERNAL_REFERENCE" | "fleetList.sorting.LOCATION" | "fleetList.sorting.LOCATION_UPDATED_AT" | "fleetList.sorting.MODEL" | "fleetList.sorting.NAME" | "fleetList.sorting.OWNER_ACCOUNT_NAME" | "fleetList.sorting.PRODUCTION_YEAR" | "fleetList.sorting.SERIAL_NUMBER" | "fleetList.sorting.SERVICE_PLAN_ASSIGNMENT_STATUS" | "fleetList.sorting.SERVICE_PLAN_OVERDUENESS" | "fleetList.sorting.SERVICE_PLAN_STATUS" | "fleetList.sorting.TELEMATICS_DEVICE_SERIAL_NUMBER" | "fleetList.sorting.TYPE" | "fleetList.sortingCategories.metadata" | "fleetList.sortingCategories.other" | "fleetList.sortingCategories.status" | "machine.types.ALL" | "machine.types.Unknown" | "pages.machines.telematics.networkTechnology.NW_TECH_2G" | "pages.machines.telematics.networkTechnology.NW_TECH_3G" | "pages.machines.telematics.networkTechnology.NW_TECH_4G" | "pages.machines.telematics.networkTechnology.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.DISABLED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.name" | "pages.machines.telematics.operationalStatus.digitalKeyMode.NEVER_INITIALIZED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY_AND_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNSUPPORTED" | "rental.status.available" | "rental.status.inRepair" | "rental.status.onRent" | "rental.status.other" | "rental.status.pickUpReady" | "rental.status.returned" | "rental.status.transfer" | "rental.status.unknown" | "siteFilters.siteStatus.ACTIVE" | "siteFilters.siteStatus.ARCHIVED" | "siteFilters.siteStatus.FINISHED" | "siteFilters.siteStatus.PLANNED" | "siteFilters.siteStatus.unknown" | "siteFilters.siteType.AREA" | "siteFilters.siteType.CLASSIC_POI" | "siteFilters.siteType.CLASSIC_ZONE" | "siteFilters.siteType.CONSTRUCTION_SITE" | "siteFilters.siteType.DEPOT" | "siteFilters.siteType.NOT_ON_SITE" | "siteFilters.siteType.unknown" | "siteFilters.siteType.WORK_PLACE" | "siteOwningDepot.notOwned" | "siteOwningDepot.unknown">, import("i18next").i18n, boolean] & {
|
|
18
|
-
t: TransForLibs<"access.management.filter.operator.role.keyAdmin" | "access.management.keys.filter.active" | "access.management.keys.filter.deleted" | "access.management.keys.filter.expired" | "access.management.keys.filter.future" | "access.management.operator.asset.filter.category" | "access.management.operator.asset.filter.keyType" | "access.management.operator.asset.filter.type.digitalKey" | "access.management.operator.asset.filter.type.rollingPin" | "access.management.operator.asset.filter.type.staticPin" | "access.management.operator.filter.category" | "access.management.operator.filter.keyStatus.title" | "access.management.operator.filter.operatorRole.keyAdmin.title" | "access.management.operator.filter.operatorRole.title" | "assetFilters.activeAssetFilter.label" | "assetFilters.activityFilter.idling" | "assetFilters.activityFilter.stopped" | "assetFilters.activityFilter.unknown" | "assetFilters.activityFilter.working" | "assetFilters.area.active" | "assetFilters.area.label" | "assetFilters.area.origin.mapArea" | "assetFilters.area.previouslySearched" | "assetFilters.area.recent" | "assetFilters.area.searchPlaceholder" | "assetFilters.assetType.ATTACHMENT" | "assetFilters.assetType.EQUIPMENT" | "assetFilters.assetType.GATEWAY" | "assetFilters.assetType.MACHINE" | "assetFilters.assetType.OTHER" | "assetFilters.assetType.TOOL" | "assetFilters.assetType.VEHICLE" | "assetFilters.boundingBoxFilter.value" | "assetFilters.criticality.CRITICAL" | "assetFilters.criticality.LOW" | "assetFilters.criticality.NONE" | "assetFilters.followedFilter.label" | "assetFilters.hourIntervalFilter.label" | "assetFilters.lastSeenFilter.anytime" | "assetFilters.lastSeenFilter.last24Hours" | "assetFilters.lastSeenFilter.last30Days" | "assetFilters.lastSeenFilter.last7Days" | "assetFilters.lastSeenFilter.lastHour" | "assetFilters.lastSeenFilter.olderThan30Days" | "assetFilters.metadataCompleteness.ALL" | "assetFilters.metadataCompleteness.COMPLETE" | "assetFilters.metadataCompleteness.PARTIAL" | "assetFilters.ownerAccountNameFilter.label" | "assetFilters.partnerFilter.label" | "assetFilters.periodFilter.label" | "assetFilters.periodFilter.LAST_24_HOURS" | "assetFilters.periodFilter.LAST_30_DAYS" | "assetFilters.periodFilter.LAST_7_DAYS" | "assetFilters.periodFilter.LAST_YEAR" | "assetFilters.periodFilter.LIFETIME" | "assetFilters.planned" | "assetFilters.productionYear.label" | "assetFilters.regions.ANTARCTICA" | "assetFilters.regions.AUSTRALIA_AND_NEW_ZEALAND" | "assetFilters.regions.CENTRAL_ASIA" | "assetFilters.regions.EASTERN_ASIA" | "assetFilters.regions.EASTERN_EUROPE" | "assetFilters.regions.label" | "assetFilters.regions.LATIN_AMERICA_AND_THE_CARIBBEAN" | "assetFilters.regions.MELANESIA" | "assetFilters.regions.MICRONESIA" | "assetFilters.regions.NORTHERN_AFRICA" | "assetFilters.regions.NORTHERN_AMERICA" | "assetFilters.regions.NORTHERN_EUROPE" | "assetFilters.regions.POLYNESIA" | "assetFilters.regions.SOUTH-EASTERN_ASIA" | "assetFilters.regions.SOUTHERN_ASIA" | "assetFilters.regions.SOUTHERN_EUROPE" | "assetFilters.regions.SUB-SAHARAN_AFRICA" | "assetFilters.regions.WESTERN_ASIA" | "assetFilters.regions.WESTERN_EUROPE" | "assetFilters.regions.WHOLE_WORLD" | "assetFilters.rentalCustomerNameFilter.label" | "assetFilters.searchFilter.label" | "assetFilters.searchPlaceholder" | "assetFilters.serviceAssignmentStatusFilter.label" | "assetFilters.servicePlanFilter.fullyConfigured" | "assetFilters.servicePlanFilter.label" | "assetFilters.servicePlanFilter.notConfigured" | "assetFilters.servicePlanFilter.partiallyConfigured" | "assetFilters.serviceProviderFilter.label" | "assetFilters.serviceProviderStatusFilter.hasServiceProvider" | "assetFilters.serviceProviderStatusFilter.noServiceProvider" | "assetFilters.serviceStatusFilter.COMPLETE" | "assetFilters.serviceStatusFilter.DRAFT" | "assetFilters.serviceStatusFilter.FULLY_CONFIGURED" | "assetFilters.serviceStatusFilter.HAS_PLAN" | "assetFilters.serviceStatusFilter.HAS_SERVICE_PROVIDER" | "assetFilters.serviceStatusFilter.label" | "assetFilters.serviceStatusFilter.MISSING_PLAN" | "assetFilters.serviceStatusFilter.MISSING_PROVIDER" | "assetFilters.serviceStatusFilter.overdue" | "assetFilters.serviceStatusFilter.OVERDUE" | "assetFilters.serviceStatusFilter.PLANNED" | "assetFilters.serviceStatusFilter.UNKNOWN" | "assetFilters.serviceStatusFilter.upcoming" | "assetFilters.serviceStatusFilter.UPCOMING" | "assetFilters.shareOwnerFilter.label" | "assetFilters.telematicsConnectedFilter.label" | "assetFilters.unknown" | "assetFilters.visibleToFilter.label" | "auditlog.filter.categories" | "auditlog.filter.component" | "auditlog.filter.components" | "auditlog.filter.events" | "auditlog.filter.users" | "filters.shared.clear" | "filters.shared.clearAll" | "filters.shared.noHistory" | "filters.shared.recentSearches" | "filters.shared.typeMore" | "filtersBar.closeFilter" | "filtersBar.defaultAssetFilters.activeAssetFilter.hide" | "filtersBar.defaultAssetFilters.activeAssetFilter.show" | "filtersBar.defaultAssetFilters.followedFilter.ALL" | "filtersBar.defaultAssetFilters.followedFilter.allLabel" | "filtersBar.defaultAssetFilters.followedFilter.FOLLOWED" | "filtersBar.defaultAssetFilters.followedFilter.followedOnlyLabel" | "filtersBar.defaultAssetFilters.lastSeenFilter.ALL" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_24_HOURS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_30_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_7_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_HOUR" | "filtersBar.defaultAssetFilters.lastSeenFilter.OLDER_THAN_30_DAYS" | "filtersBar.defaultAssetFilters.metadataGroup" | "filtersBar.defaultAssetFilters.othersGroup" | "filtersBar.defaultAssetFilters.sitesGroup" | "filtersBar.defaultAssetFilters.statusGroup" | "filtersBar.defaultAssetFilters.telematicsConnectedFilter.connected" | "filtersBar.defaultAssetFilters.telematicsConnectedFilter.notConnected" | "filtersBar.emptyResults" | "filtersBar.filtersHeading" | "filtersBar.loading" | "filtersBar.myNetworkGroup" | "filtersBar.resetFilter" | "filtersBar.resetFilters" | "filtersBar.starredFilters.title" | "filtersBar.starredFiltersTitle" | "fleetlist.column.activity" | "fleetlist.column.assetIds" | "fleetlist.column.assetType" | "fleetlist.column.attention" | "fleetlist.column.brand" | "fleetlist.column.city" | "fleetlist.column.country" | "fleetlist.column.customerIds" | "fleetlist.column.externalReference" | "fleetlist.column.groupIds" | "fleetlist.column.lastSeen" | "fleetlist.column.metadata" | "fleetlist.column.metadataCompleteness" | "fleetlist.column.model" | "fleetlist.column.name" | "fleetlist.column.onSiteType" | "fleetlist.column.owner" | "fleetlist.column.servicePlanStatus" | "fleetlist.column.siteDepotOwnershipIds" | "fleetlist.column.siteIds" | "fleetlist.column.siteStatus" | "fleetlist.column.siteType" | "fleetlist.column.streetAddress" | "fleetlist.column.totalHours" | "fleetlist.column.type" | "fleetlist.column.unitSerialNumber" | "fleetlist.column.vin" | "fleetlist.column.year" | "fleetlist.column.zipCode" | "fleetlist.createGroup" | "fleetlist.description" | "fleetList.sorting.ACTIVITY" | "fleetList.sorting.ASSET_TYPE" | "fleetList.sorting.BRAND" | "fleetList.sorting.CATEGORY" | "fleetList.sorting.CRITICALITY" | "fleetList.sorting.EXTERNAL_REFERENCE" | "fleetList.sorting.LOCATION" | "fleetList.sorting.LOCATION_UPDATED_AT" | "fleetList.sorting.MODEL" | "fleetList.sorting.NAME" | "fleetList.sorting.OWNER_ACCOUNT_NAME" | "fleetList.sorting.PRODUCTION_YEAR" | "fleetList.sorting.SERIAL_NUMBER" | "fleetList.sorting.SERVICE_PLAN_ASSIGNMENT_STATUS" | "fleetList.sorting.SERVICE_PLAN_OVERDUENESS" | "fleetList.sorting.SERVICE_PLAN_STATUS" | "fleetList.sorting.TELEMATICS_DEVICE_SERIAL_NUMBER" | "fleetList.sorting.TYPE" | "fleetList.sortingCategories.metadata" | "fleetList.sortingCategories.other" | "fleetList.sortingCategories.status" | "machine.types.ALL" | "machine.types.Unknown" | "pages.machines.telematics.networkTechnology.NW_TECH_2G" | "pages.machines.telematics.networkTechnology.NW_TECH_3G" | "pages.machines.telematics.networkTechnology.NW_TECH_4G" | "pages.machines.telematics.networkTechnology.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.DISABLED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.name" | "pages.machines.telematics.operationalStatus.digitalKeyMode.NEVER_INITIALIZED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY_AND_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNSUPPORTED" | "rental.status.available" | "rental.status.inRepair" | "rental.status.onRent" | "rental.status.other" | "rental.status.pickUpReady" | "rental.status.returned" | "rental.status.transfer" | "rental.status.unknown" | "siteFilters.siteStatus.ACTIVE" | "siteFilters.siteStatus.ARCHIVED" | "siteFilters.siteStatus.FINISHED" | "siteFilters.siteStatus.PLANNED" | "siteFilters.siteStatus.unknown" | "siteFilters.siteType.AREA" | "siteFilters.siteType.CLASSIC_POI" | "siteFilters.siteType.CLASSIC_ZONE" | "siteFilters.siteType.CONSTRUCTION_SITE" | "siteFilters.siteType.DEPOT" | "siteFilters.siteType.NOT_ON_SITE" | "siteFilters.siteType.unknown" | "siteFilters.siteType.WORK_PLACE" | "siteOwningDepot.notOwned" | "siteOwningDepot.unknown">;
|
|
17
|
+
export declare const useTranslation: () => [TransForLibs<"access.management.filter.operator.role.keyAdmin" | "access.management.keys.filter.active" | "access.management.keys.filter.deleted" | "access.management.keys.filter.expired" | "access.management.keys.filter.future" | "access.management.operator.asset.filter.category" | "access.management.operator.asset.filter.keyType" | "access.management.operator.asset.filter.type.digitalKey" | "access.management.operator.asset.filter.type.rollingPin" | "access.management.operator.asset.filter.type.staticPin" | "access.management.operator.filter.category" | "access.management.operator.filter.keyStatus.title" | "access.management.operator.filter.operatorRole.keyAdmin.title" | "access.management.operator.filter.operatorRole.title" | "assetFilters.activeAssetFilter.label" | "assetFilters.activityFilter.idling" | "assetFilters.activityFilter.stopped" | "assetFilters.activityFilter.unknown" | "assetFilters.activityFilter.working" | "assetFilters.area.active" | "assetFilters.area.label" | "assetFilters.area.origin.mapArea" | "assetFilters.area.previouslySearched" | "assetFilters.area.recent" | "assetFilters.area.searchPlaceholder" | "assetFilters.assetType.ATTACHMENT" | "assetFilters.assetType.EQUIPMENT" | "assetFilters.assetType.GATEWAY" | "assetFilters.assetType.MACHINE" | "assetFilters.assetType.OTHER" | "assetFilters.assetType.TOOL" | "assetFilters.assetType.VEHICLE" | "assetFilters.boundingBoxFilter.value" | "assetFilters.criticality.CRITICAL" | "assetFilters.criticality.LOW" | "assetFilters.criticality.NONE" | "assetFilters.followedFilter.label" | "assetFilters.hourIntervalFilter.label" | "assetFilters.lastSeenFilter.anytime" | "assetFilters.lastSeenFilter.last24Hours" | "assetFilters.lastSeenFilter.last30Days" | "assetFilters.lastSeenFilter.last7Days" | "assetFilters.lastSeenFilter.lastHour" | "assetFilters.lastSeenFilter.olderThan30Days" | "assetFilters.metadataCompleteness.ALL" | "assetFilters.metadataCompleteness.COMPLETE" | "assetFilters.metadataCompleteness.PARTIAL" | "assetFilters.ownerAccountNameFilter.label" | "assetFilters.partnerFilter.label" | "assetFilters.periodFilter.label" | "assetFilters.periodFilter.LAST_24_HOURS" | "assetFilters.periodFilter.LAST_30_DAYS" | "assetFilters.periodFilter.LAST_7_DAYS" | "assetFilters.periodFilter.LAST_YEAR" | "assetFilters.periodFilter.LIFETIME" | "assetFilters.planned" | "assetFilters.productionYear.label" | "assetFilters.regions.ANTARCTICA" | "assetFilters.regions.AUSTRALIA_AND_NEW_ZEALAND" | "assetFilters.regions.CENTRAL_ASIA" | "assetFilters.regions.EASTERN_ASIA" | "assetFilters.regions.EASTERN_EUROPE" | "assetFilters.regions.label" | "assetFilters.regions.LATIN_AMERICA_AND_THE_CARIBBEAN" | "assetFilters.regions.MELANESIA" | "assetFilters.regions.MICRONESIA" | "assetFilters.regions.NORTHERN_AFRICA" | "assetFilters.regions.NORTHERN_AMERICA" | "assetFilters.regions.NORTHERN_EUROPE" | "assetFilters.regions.POLYNESIA" | "assetFilters.regions.SOUTH-EASTERN_ASIA" | "assetFilters.regions.SOUTHERN_ASIA" | "assetFilters.regions.SOUTHERN_EUROPE" | "assetFilters.regions.SUB-SAHARAN_AFRICA" | "assetFilters.regions.WESTERN_ASIA" | "assetFilters.regions.WESTERN_EUROPE" | "assetFilters.regions.WHOLE_WORLD" | "assetFilters.rentalCustomerNameFilter.label" | "assetFilters.searchFilter.label" | "assetFilters.searchPlaceholder" | "assetFilters.serviceAssignmentStatusFilter.label" | "assetFilters.servicePlanFilter.fullyConfigured" | "assetFilters.servicePlanFilter.label" | "assetFilters.servicePlanFilter.notConfigured" | "assetFilters.servicePlanFilter.partiallyConfigured" | "assetFilters.serviceProviderFilter.label" | "assetFilters.serviceProviderStatusFilter.hasServiceProvider" | "assetFilters.serviceProviderStatusFilter.noServiceProvider" | "assetFilters.serviceStatusFilter.COMPLETE" | "assetFilters.serviceStatusFilter.DRAFT" | "assetFilters.serviceStatusFilter.FULLY_CONFIGURED" | "assetFilters.serviceStatusFilter.HAS_PLAN" | "assetFilters.serviceStatusFilter.HAS_SERVICE_PROVIDER" | "assetFilters.serviceStatusFilter.label" | "assetFilters.serviceStatusFilter.MISSING_PLAN" | "assetFilters.serviceStatusFilter.MISSING_PROVIDER" | "assetFilters.serviceStatusFilter.overdue" | "assetFilters.serviceStatusFilter.OVERDUE" | "assetFilters.serviceStatusFilter.PLANNED" | "assetFilters.serviceStatusFilter.UNKNOWN" | "assetFilters.serviceStatusFilter.upcoming" | "assetFilters.serviceStatusFilter.UPCOMING" | "assetFilters.shareOwnerFilter.label" | "assetFilters.telematicsConnectedFilter.label" | "assetFilters.unknown" | "assetFilters.visibleToFilter.label" | "auditlog.filter.categories" | "auditlog.filter.component" | "auditlog.filter.components" | "auditlog.filter.events" | "auditlog.filter.users" | "filters.shared.clear" | "filters.shared.clearAll" | "filters.shared.noHistory" | "filters.shared.notJustWhitepsace" | "filters.shared.recentSearches" | "filters.shared.typeMore" | "filtersBar.closeFilter" | "filtersBar.defaultAssetFilters.activeAssetFilter.hide" | "filtersBar.defaultAssetFilters.activeAssetFilter.show" | "filtersBar.defaultAssetFilters.followedFilter.ALL" | "filtersBar.defaultAssetFilters.followedFilter.allLabel" | "filtersBar.defaultAssetFilters.followedFilter.FOLLOWED" | "filtersBar.defaultAssetFilters.followedFilter.followedOnlyLabel" | "filtersBar.defaultAssetFilters.lastSeenFilter.ALL" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_24_HOURS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_30_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_7_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_HOUR" | "filtersBar.defaultAssetFilters.lastSeenFilter.OLDER_THAN_30_DAYS" | "filtersBar.defaultAssetFilters.metadataGroup" | "filtersBar.defaultAssetFilters.othersGroup" | "filtersBar.defaultAssetFilters.sitesGroup" | "filtersBar.defaultAssetFilters.statusGroup" | "filtersBar.defaultAssetFilters.telematicsConnectedFilter.connected" | "filtersBar.defaultAssetFilters.telematicsConnectedFilter.notConnected" | "filtersBar.emptyResults" | "filtersBar.filtersHeading" | "filtersBar.loading" | "filtersBar.myNetworkGroup" | "filtersBar.resetFilter" | "filtersBar.resetFilters" | "filtersBar.starredFilters.title" | "filtersBar.starredFiltersTitle" | "fleetlist.column.activity" | "fleetlist.column.assetIds" | "fleetlist.column.assetType" | "fleetlist.column.attention" | "fleetlist.column.brand" | "fleetlist.column.city" | "fleetlist.column.country" | "fleetlist.column.customerIds" | "fleetlist.column.externalReference" | "fleetlist.column.groupIds" | "fleetlist.column.lastSeen" | "fleetlist.column.metadata" | "fleetlist.column.metadataCompleteness" | "fleetlist.column.model" | "fleetlist.column.name" | "fleetlist.column.onSiteType" | "fleetlist.column.owner" | "fleetlist.column.servicePlanStatus" | "fleetlist.column.siteDepotOwnershipIds" | "fleetlist.column.siteIds" | "fleetlist.column.siteStatus" | "fleetlist.column.siteType" | "fleetlist.column.streetAddress" | "fleetlist.column.totalHours" | "fleetlist.column.type" | "fleetlist.column.unitSerialNumber" | "fleetlist.column.vin" | "fleetlist.column.year" | "fleetlist.column.zipCode" | "fleetlist.createGroup" | "fleetlist.description" | "fleetList.sorting.ACTIVITY" | "fleetList.sorting.ASSET_TYPE" | "fleetList.sorting.BRAND" | "fleetList.sorting.CATEGORY" | "fleetList.sorting.CRITICALITY" | "fleetList.sorting.EXTERNAL_REFERENCE" | "fleetList.sorting.LOCATION" | "fleetList.sorting.LOCATION_UPDATED_AT" | "fleetList.sorting.MODEL" | "fleetList.sorting.NAME" | "fleetList.sorting.OWNER_ACCOUNT_NAME" | "fleetList.sorting.PRODUCTION_YEAR" | "fleetList.sorting.SERIAL_NUMBER" | "fleetList.sorting.SERVICE_PLAN_ASSIGNMENT_STATUS" | "fleetList.sorting.SERVICE_PLAN_OVERDUENESS" | "fleetList.sorting.SERVICE_PLAN_STATUS" | "fleetList.sorting.TELEMATICS_DEVICE_SERIAL_NUMBER" | "fleetList.sorting.TYPE" | "fleetList.sortingCategories.metadata" | "fleetList.sortingCategories.other" | "fleetList.sortingCategories.status" | "machine.types.ALL" | "machine.types.Unknown" | "pages.machines.telematics.networkTechnology.NW_TECH_2G" | "pages.machines.telematics.networkTechnology.NW_TECH_3G" | "pages.machines.telematics.networkTechnology.NW_TECH_4G" | "pages.machines.telematics.networkTechnology.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.DISABLED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.name" | "pages.machines.telematics.operationalStatus.digitalKeyMode.NEVER_INITIALIZED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY_AND_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNSUPPORTED" | "rental.status.available" | "rental.status.inRepair" | "rental.status.onRent" | "rental.status.other" | "rental.status.pickUpReady" | "rental.status.returned" | "rental.status.transfer" | "rental.status.unknown" | "siteFilters.siteStatus.ACTIVE" | "siteFilters.siteStatus.ARCHIVED" | "siteFilters.siteStatus.FINISHED" | "siteFilters.siteStatus.PLANNED" | "siteFilters.siteStatus.unknown" | "siteFilters.siteType.AREA" | "siteFilters.siteType.CLASSIC_POI" | "siteFilters.siteType.CLASSIC_ZONE" | "siteFilters.siteType.CONSTRUCTION_SITE" | "siteFilters.siteType.DEPOT" | "siteFilters.siteType.NOT_ON_SITE" | "siteFilters.siteType.unknown" | "siteFilters.siteType.WORK_PLACE" | "siteOwningDepot.notOwned" | "siteOwningDepot.unknown">, import("i18next").i18n, boolean] & {
|
|
18
|
+
t: TransForLibs<"access.management.filter.operator.role.keyAdmin" | "access.management.keys.filter.active" | "access.management.keys.filter.deleted" | "access.management.keys.filter.expired" | "access.management.keys.filter.future" | "access.management.operator.asset.filter.category" | "access.management.operator.asset.filter.keyType" | "access.management.operator.asset.filter.type.digitalKey" | "access.management.operator.asset.filter.type.rollingPin" | "access.management.operator.asset.filter.type.staticPin" | "access.management.operator.filter.category" | "access.management.operator.filter.keyStatus.title" | "access.management.operator.filter.operatorRole.keyAdmin.title" | "access.management.operator.filter.operatorRole.title" | "assetFilters.activeAssetFilter.label" | "assetFilters.activityFilter.idling" | "assetFilters.activityFilter.stopped" | "assetFilters.activityFilter.unknown" | "assetFilters.activityFilter.working" | "assetFilters.area.active" | "assetFilters.area.label" | "assetFilters.area.origin.mapArea" | "assetFilters.area.previouslySearched" | "assetFilters.area.recent" | "assetFilters.area.searchPlaceholder" | "assetFilters.assetType.ATTACHMENT" | "assetFilters.assetType.EQUIPMENT" | "assetFilters.assetType.GATEWAY" | "assetFilters.assetType.MACHINE" | "assetFilters.assetType.OTHER" | "assetFilters.assetType.TOOL" | "assetFilters.assetType.VEHICLE" | "assetFilters.boundingBoxFilter.value" | "assetFilters.criticality.CRITICAL" | "assetFilters.criticality.LOW" | "assetFilters.criticality.NONE" | "assetFilters.followedFilter.label" | "assetFilters.hourIntervalFilter.label" | "assetFilters.lastSeenFilter.anytime" | "assetFilters.lastSeenFilter.last24Hours" | "assetFilters.lastSeenFilter.last30Days" | "assetFilters.lastSeenFilter.last7Days" | "assetFilters.lastSeenFilter.lastHour" | "assetFilters.lastSeenFilter.olderThan30Days" | "assetFilters.metadataCompleteness.ALL" | "assetFilters.metadataCompleteness.COMPLETE" | "assetFilters.metadataCompleteness.PARTIAL" | "assetFilters.ownerAccountNameFilter.label" | "assetFilters.partnerFilter.label" | "assetFilters.periodFilter.label" | "assetFilters.periodFilter.LAST_24_HOURS" | "assetFilters.periodFilter.LAST_30_DAYS" | "assetFilters.periodFilter.LAST_7_DAYS" | "assetFilters.periodFilter.LAST_YEAR" | "assetFilters.periodFilter.LIFETIME" | "assetFilters.planned" | "assetFilters.productionYear.label" | "assetFilters.regions.ANTARCTICA" | "assetFilters.regions.AUSTRALIA_AND_NEW_ZEALAND" | "assetFilters.regions.CENTRAL_ASIA" | "assetFilters.regions.EASTERN_ASIA" | "assetFilters.regions.EASTERN_EUROPE" | "assetFilters.regions.label" | "assetFilters.regions.LATIN_AMERICA_AND_THE_CARIBBEAN" | "assetFilters.regions.MELANESIA" | "assetFilters.regions.MICRONESIA" | "assetFilters.regions.NORTHERN_AFRICA" | "assetFilters.regions.NORTHERN_AMERICA" | "assetFilters.regions.NORTHERN_EUROPE" | "assetFilters.regions.POLYNESIA" | "assetFilters.regions.SOUTH-EASTERN_ASIA" | "assetFilters.regions.SOUTHERN_ASIA" | "assetFilters.regions.SOUTHERN_EUROPE" | "assetFilters.regions.SUB-SAHARAN_AFRICA" | "assetFilters.regions.WESTERN_ASIA" | "assetFilters.regions.WESTERN_EUROPE" | "assetFilters.regions.WHOLE_WORLD" | "assetFilters.rentalCustomerNameFilter.label" | "assetFilters.searchFilter.label" | "assetFilters.searchPlaceholder" | "assetFilters.serviceAssignmentStatusFilter.label" | "assetFilters.servicePlanFilter.fullyConfigured" | "assetFilters.servicePlanFilter.label" | "assetFilters.servicePlanFilter.notConfigured" | "assetFilters.servicePlanFilter.partiallyConfigured" | "assetFilters.serviceProviderFilter.label" | "assetFilters.serviceProviderStatusFilter.hasServiceProvider" | "assetFilters.serviceProviderStatusFilter.noServiceProvider" | "assetFilters.serviceStatusFilter.COMPLETE" | "assetFilters.serviceStatusFilter.DRAFT" | "assetFilters.serviceStatusFilter.FULLY_CONFIGURED" | "assetFilters.serviceStatusFilter.HAS_PLAN" | "assetFilters.serviceStatusFilter.HAS_SERVICE_PROVIDER" | "assetFilters.serviceStatusFilter.label" | "assetFilters.serviceStatusFilter.MISSING_PLAN" | "assetFilters.serviceStatusFilter.MISSING_PROVIDER" | "assetFilters.serviceStatusFilter.overdue" | "assetFilters.serviceStatusFilter.OVERDUE" | "assetFilters.serviceStatusFilter.PLANNED" | "assetFilters.serviceStatusFilter.UNKNOWN" | "assetFilters.serviceStatusFilter.upcoming" | "assetFilters.serviceStatusFilter.UPCOMING" | "assetFilters.shareOwnerFilter.label" | "assetFilters.telematicsConnectedFilter.label" | "assetFilters.unknown" | "assetFilters.visibleToFilter.label" | "auditlog.filter.categories" | "auditlog.filter.component" | "auditlog.filter.components" | "auditlog.filter.events" | "auditlog.filter.users" | "filters.shared.clear" | "filters.shared.clearAll" | "filters.shared.noHistory" | "filters.shared.notJustWhitepsace" | "filters.shared.recentSearches" | "filters.shared.typeMore" | "filtersBar.closeFilter" | "filtersBar.defaultAssetFilters.activeAssetFilter.hide" | "filtersBar.defaultAssetFilters.activeAssetFilter.show" | "filtersBar.defaultAssetFilters.followedFilter.ALL" | "filtersBar.defaultAssetFilters.followedFilter.allLabel" | "filtersBar.defaultAssetFilters.followedFilter.FOLLOWED" | "filtersBar.defaultAssetFilters.followedFilter.followedOnlyLabel" | "filtersBar.defaultAssetFilters.lastSeenFilter.ALL" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_24_HOURS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_30_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_7_DAYS" | "filtersBar.defaultAssetFilters.lastSeenFilter.LAST_HOUR" | "filtersBar.defaultAssetFilters.lastSeenFilter.OLDER_THAN_30_DAYS" | "filtersBar.defaultAssetFilters.metadataGroup" | "filtersBar.defaultAssetFilters.othersGroup" | "filtersBar.defaultAssetFilters.sitesGroup" | "filtersBar.defaultAssetFilters.statusGroup" | "filtersBar.defaultAssetFilters.telematicsConnectedFilter.connected" | "filtersBar.defaultAssetFilters.telematicsConnectedFilter.notConnected" | "filtersBar.emptyResults" | "filtersBar.filtersHeading" | "filtersBar.loading" | "filtersBar.myNetworkGroup" | "filtersBar.resetFilter" | "filtersBar.resetFilters" | "filtersBar.starredFilters.title" | "filtersBar.starredFiltersTitle" | "fleetlist.column.activity" | "fleetlist.column.assetIds" | "fleetlist.column.assetType" | "fleetlist.column.attention" | "fleetlist.column.brand" | "fleetlist.column.city" | "fleetlist.column.country" | "fleetlist.column.customerIds" | "fleetlist.column.externalReference" | "fleetlist.column.groupIds" | "fleetlist.column.lastSeen" | "fleetlist.column.metadata" | "fleetlist.column.metadataCompleteness" | "fleetlist.column.model" | "fleetlist.column.name" | "fleetlist.column.onSiteType" | "fleetlist.column.owner" | "fleetlist.column.servicePlanStatus" | "fleetlist.column.siteDepotOwnershipIds" | "fleetlist.column.siteIds" | "fleetlist.column.siteStatus" | "fleetlist.column.siteType" | "fleetlist.column.streetAddress" | "fleetlist.column.totalHours" | "fleetlist.column.type" | "fleetlist.column.unitSerialNumber" | "fleetlist.column.vin" | "fleetlist.column.year" | "fleetlist.column.zipCode" | "fleetlist.createGroup" | "fleetlist.description" | "fleetList.sorting.ACTIVITY" | "fleetList.sorting.ASSET_TYPE" | "fleetList.sorting.BRAND" | "fleetList.sorting.CATEGORY" | "fleetList.sorting.CRITICALITY" | "fleetList.sorting.EXTERNAL_REFERENCE" | "fleetList.sorting.LOCATION" | "fleetList.sorting.LOCATION_UPDATED_AT" | "fleetList.sorting.MODEL" | "fleetList.sorting.NAME" | "fleetList.sorting.OWNER_ACCOUNT_NAME" | "fleetList.sorting.PRODUCTION_YEAR" | "fleetList.sorting.SERIAL_NUMBER" | "fleetList.sorting.SERVICE_PLAN_ASSIGNMENT_STATUS" | "fleetList.sorting.SERVICE_PLAN_OVERDUENESS" | "fleetList.sorting.SERVICE_PLAN_STATUS" | "fleetList.sorting.TELEMATICS_DEVICE_SERIAL_NUMBER" | "fleetList.sorting.TYPE" | "fleetList.sortingCategories.metadata" | "fleetList.sortingCategories.other" | "fleetList.sortingCategories.status" | "machine.types.ALL" | "machine.types.Unknown" | "pages.machines.telematics.networkTechnology.NW_TECH_2G" | "pages.machines.telematics.networkTechnology.NW_TECH_3G" | "pages.machines.telematics.networkTechnology.NW_TECH_4G" | "pages.machines.telematics.networkTechnology.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.DISABLED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.LOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.name" | "pages.machines.telematics.operationalStatus.digitalKeyMode.NEVER_INITIALIZED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNKNOWN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_ALL_FIXED" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_KEY_AND_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNLOCKED_FOR_PIN" | "pages.machines.telematics.operationalStatus.digitalKeyMode.UNSUPPORTED" | "rental.status.available" | "rental.status.inRepair" | "rental.status.onRent" | "rental.status.other" | "rental.status.pickUpReady" | "rental.status.returned" | "rental.status.transfer" | "rental.status.unknown" | "siteFilters.siteStatus.ACTIVE" | "siteFilters.siteStatus.ARCHIVED" | "siteFilters.siteStatus.FINISHED" | "siteFilters.siteStatus.PLANNED" | "siteFilters.siteStatus.unknown" | "siteFilters.siteType.AREA" | "siteFilters.siteType.CLASSIC_POI" | "siteFilters.siteType.CLASSIC_ZONE" | "siteFilters.siteType.CONSTRUCTION_SITE" | "siteFilters.siteType.DEPOT" | "siteFilters.siteType.NOT_ON_SITE" | "siteFilters.siteType.unknown" | "siteFilters.siteType.WORK_PLACE" | "siteOwningDepot.notOwned" | "siteOwningDepot.unknown">;
|
|
19
19
|
i18n: import("i18next").i18n;
|
|
20
20
|
ready: boolean;
|
|
21
21
|
};
|