@trackunit/filters-asset-filter-definitions 1.14.18 → 1.14.21

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.esm.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { registerTranslations, useNamespaceTranslation } from '@trackunit/i18n-library-translation';
3
3
  import { gql } from '@apollo/client';
4
- import { DefaultCheckboxFilter, FilterEvents, FilterHeader, HierarchicalCheckboxFilter, DefaultRadioFilter } from '@trackunit/filters-filter-bar';
4
+ import { DefaultCheckboxFilter, FilterEvents, FilterHeader, HierarchicalCheckboxFilter, DefaultMinMaxFilter, DefaultRadioFilter, DefaultDateRangeFilter } from '@trackunit/filters-filter-bar';
5
5
  import { useActiveAssetFilters, useAssetQueryFilters } from '@trackunit/filters-graphql-hook';
6
6
  import { useQuery } from '@trackunit/react-graphql-hooks';
7
7
  import { useMemo, useState, useCallback, useEffect } from 'react';
@@ -121,6 +121,8 @@ var defaultTranslations = {
121
121
  "assetFilters.regions.WESTERN_ASIA": "Western Asia",
122
122
  "assetFilters.regions.WESTERN_EUROPE": "Western Europe",
123
123
  "assetFilters.regions.WHOLE_WORLD": "Whole world",
124
+ "assetFilters.rentalActiveContractItemOffRentDatesDateRangeFilter.label": "Off rent date",
125
+ "assetFilters.rentalActiveContractItemOnRentDatesDateRangeFilter.label": "On rent date",
124
126
  "assetFilters.rentalContractOrderNumberFilter.label": "Order number",
125
127
  "assetFilters.rentalContractReferenceCodeDescriptionFilter.label": "Reference code description",
126
128
  "assetFilters.rentalContractReferenceCodeDescriptionFilter.searchPlaceholder": "Search by reference code description...",
@@ -168,6 +170,8 @@ var defaultTranslations = {
168
170
  "filtersBar.closeFilter": "Close",
169
171
  "filtersBar.defaultAssetFilters.activeAssetFilter.hide": "Hide",
170
172
  "filtersBar.defaultAssetFilters.activeAssetFilter.show": "Show",
173
+ "filtersBar.defaultAssetFilters.batteryChargerState.OFF": "Off",
174
+ "filtersBar.defaultAssetFilters.batteryChargerState.ON": "On",
171
175
  "filtersBar.defaultAssetFilters.followedFilter.ALL": "All Assets",
172
176
  "filtersBar.defaultAssetFilters.followedFilter.allLabel": "All Assets",
173
177
  "filtersBar.defaultAssetFilters.followedFilter.FOLLOWED": "Followed Only",
@@ -200,6 +204,12 @@ var defaultTranslations = {
200
204
  "fleetlist.column.customerIds": "Customers",
201
205
  "fleetlist.column.externalReference": "External Reference",
202
206
  "fleetlist.column.groupIds": "Groups",
207
+ "fleetlist.column.insights.afterTreatmentDieselExhaustFluidTankLevel": "DEF Level",
208
+ "fleetlist.column.insights.batteryChargerState": "Battery Charger State",
209
+ "fleetlist.column.insights.batteryPotential": "Battery Voltage",
210
+ "fleetlist.column.insights.batteryStateOfChargePercent": "Battery State Of Charge",
211
+ "fleetlist.column.insights.cumulativeIdleHours": "Total Idle Hours",
212
+ "fleetlist.column.insights.fuelLevel": "Fuel Level",
203
213
  "fleetlist.column.lastSeen": "Last Seen (GPS)",
204
214
  "fleetlist.column.metadata": "Metadata",
205
215
  "fleetlist.column.metadataCompleteness": "Metadata Completeness",
@@ -222,6 +232,7 @@ var defaultTranslations = {
222
232
  "fleetlist.description": "A complete overview of your fleet.",
223
233
  "fleetList.sorting.ACTIVITY": "Activity",
224
234
  "fleetList.sorting.ASSET_TYPE": "Asset Type",
235
+ "fleetList.sorting.BATTERY_STATE_OF_CHARGE_PERCENT": "Battery State Of Charge",
225
236
  "fleetList.sorting.BRAND": "Brand",
226
237
  "fleetList.sorting.CATEGORY": "Type",
227
238
  "fleetList.sorting.CRITICALITY": "Criticality",
@@ -3508,6 +3519,267 @@ const useHourIntervalFilter = () => {
3508
3519
  return result;
3509
3520
  };
3510
3521
 
3522
+ /**
3523
+ * The `AfterTreatmentDieselExhaustFluidTankLevelFilterView` component provides a filter
3524
+ * for selecting DEF (Diesel Exhaust Fluid) tank level percentage range.
3525
+ *
3526
+ * @param {FilterViewProps<MinMaxFilterValue>} props - Props passed to the filter component
3527
+ * @returns {ReactElement} The JSX element representing the filter
3528
+ */
3529
+ const InsightsAfterTreatmentDieselExhaustFluidTankLevelFilterView = (props) => {
3530
+ const { setValue } = props;
3531
+ const handleSetValue = useCallback((callback) => {
3532
+ setValue(prevValue => {
3533
+ const newValue = callback(prevValue);
3534
+ if (newValue && newValue.max !== undefined && newValue.min === undefined) {
3535
+ return { ...newValue, min: 0 };
3536
+ }
3537
+ return newValue;
3538
+ });
3539
+ }, [setValue]);
3540
+ return jsx(DefaultMinMaxFilter, { ...props, loading: false, options: [], setValue: handleSetValue, unit: "%" });
3541
+ };
3542
+ /**
3543
+ * AfterTreatmentDieselExhaustFluidTankLevel filter definition
3544
+ */
3545
+ const useInsightsAfterTreatmentDieselExhaustFluidTankLevelFilter = (defaultValue) => {
3546
+ const defaultValueMemo = useMemo(() => defaultValue ?? {}, [defaultValue]);
3547
+ const [t] = useTranslation();
3548
+ const result = useMemo(() => {
3549
+ return {
3550
+ filterKey: "insightsAfterTreatmentDieselExhaustFluidTankLevel",
3551
+ type: "minMax",
3552
+ group: "STATUS",
3553
+ minimumNumber: 0,
3554
+ maximumNumber: 100,
3555
+ defaultValue: defaultValueMemo,
3556
+ valueAsText: (value) => {
3557
+ if (value.min !== undefined && value.max !== undefined) {
3558
+ return `${value.min}% - ${value.max}%`;
3559
+ }
3560
+ if (value.min !== undefined) {
3561
+ return `${value.min}%+`;
3562
+ }
3563
+ if (value.max !== undefined) {
3564
+ return `≤${value.max}%`;
3565
+ }
3566
+ return "";
3567
+ },
3568
+ title: t("fleetlist.column.insights.afterTreatmentDieselExhaustFluidTankLevel"),
3569
+ component: props => jsx(InsightsAfterTreatmentDieselExhaustFluidTankLevelFilterView, { ...props }),
3570
+ };
3571
+ }, [t, defaultValueMemo]);
3572
+ return result;
3573
+ };
3574
+
3575
+ /**
3576
+ * The `InsightsBatteryChargerStateFilterView` component serves as a filter view for battery charger state
3577
+ * (on or off). It integrates with the telemetry filter bar and displays options with counts
3578
+ * based on the current asset battery charger state summary.
3579
+ *
3580
+ * @param {FilterViewProps<ValueName>} props - Props containing filter state, filter actions, and definitions.
3581
+ * @returns {ReactElement} Rendered component for the battery charger state filter.
3582
+ */
3583
+ const InsightsBatteryChargerStateFilterView = (props) => {
3584
+ const [t] = useTranslation();
3585
+ const options = useMemo(() => {
3586
+ return [
3587
+ { key: "true", label: t("filtersBar.defaultAssetFilters.batteryChargerState.ON") },
3588
+ { key: "false", label: t("filtersBar.defaultAssetFilters.batteryChargerState.OFF") },
3589
+ ];
3590
+ }, [t]);
3591
+ return jsx(DefaultRadioFilter, { ...props, options: options });
3592
+ };
3593
+ /**
3594
+ * Battery Charger State filter definition
3595
+ * It is a valueName filter that filters assets by battery charger state (charging/not charging)
3596
+ *
3597
+ * @returns {ValueNameFilterDefinition} Battery Charger State filter definition
3598
+ */
3599
+ const useInsightsBatteryChargerStateFilter = (defaultValue) => {
3600
+ const defaultValueMemo = useMemo(() => defaultValue ?? undefined, [defaultValue]);
3601
+ const [t] = useTranslation();
3602
+ const result = useMemo(() => {
3603
+ return {
3604
+ filterKey: "insightsBatteryChargerState",
3605
+ type: "valueName",
3606
+ group: "STATUS",
3607
+ defaultValue: defaultValueMemo,
3608
+ title: t("fleetlist.column.insights.batteryChargerState"),
3609
+ valueAsText: (value) => {
3610
+ if (value.value === "true") {
3611
+ return t("filtersBar.defaultAssetFilters.batteryChargerState.ON");
3612
+ }
3613
+ if (value.value === "false") {
3614
+ return t("filtersBar.defaultAssetFilters.batteryChargerState.OFF");
3615
+ }
3616
+ return "";
3617
+ },
3618
+ component: props => jsx(InsightsBatteryChargerStateFilterView, { ...props }),
3619
+ };
3620
+ }, [t, defaultValueMemo]);
3621
+ return result;
3622
+ };
3623
+
3624
+ /**
3625
+ * The `BatteryPotentialFilterView` component provides a filter
3626
+ * for selecting battery voltage range.
3627
+ *
3628
+ * @param {FilterViewProps<MinMaxFilterValue>} props - Props passed to the filter component
3629
+ * @returns {ReactElement} The JSX element representing the filter
3630
+ */
3631
+ const InsightsBatteryPotentialFilterView = (props) => {
3632
+ const { setValue } = props;
3633
+ const handleSetValue = useCallback((callback) => {
3634
+ setValue(prevValue => {
3635
+ const newValue = callback(prevValue);
3636
+ if (newValue && newValue.max !== undefined && newValue.min === undefined) {
3637
+ return { ...newValue, min: 0 };
3638
+ }
3639
+ return newValue;
3640
+ });
3641
+ }, [setValue]);
3642
+ return jsx(DefaultMinMaxFilter, { ...props, loading: false, options: [], setValue: handleSetValue, unit: "V" });
3643
+ };
3644
+ /**
3645
+ * BatteryPotential filter definition
3646
+ */
3647
+ const useInsightsBatteryPotentialFilter = (defaultValue) => {
3648
+ const defaultValueMemo = useMemo(() => defaultValue ?? {}, [defaultValue]);
3649
+ const [t] = useTranslation();
3650
+ const result = useMemo(() => {
3651
+ return {
3652
+ filterKey: "insightsBatteryPotential",
3653
+ type: "minMax",
3654
+ group: "STATUS",
3655
+ minimumNumber: 0,
3656
+ maximumNumber: 1000,
3657
+ defaultValue: defaultValueMemo,
3658
+ valueAsText: (value) => {
3659
+ if (value.min !== undefined && value.max !== undefined) {
3660
+ return `${value.min}V - ${value.max}V`;
3661
+ }
3662
+ if (value.min !== undefined) {
3663
+ return `${value.min}V+`;
3664
+ }
3665
+ if (value.max !== undefined) {
3666
+ return `≤${value.max}V`;
3667
+ }
3668
+ return "";
3669
+ },
3670
+ title: t("fleetlist.column.insights.batteryPotential"),
3671
+ component: props => jsx(InsightsBatteryPotentialFilterView, { ...props }),
3672
+ };
3673
+ }, [t, defaultValueMemo]);
3674
+ return result;
3675
+ };
3676
+
3677
+ /**
3678
+ * The `BatteryStateOfChargePercentFilterView` component provides a filter
3679
+ * for selecting battery state of charge percentage range.
3680
+ *
3681
+ * @param {FilterViewProps<MinMaxFilterValue>} props - Props passed to the filter component
3682
+ * @returns {ReactElement} The JSX element representing the filter
3683
+ */
3684
+ const InsightsBatteryStateOfChargePercentFilterView = (props) => {
3685
+ const { setValue } = props;
3686
+ const handleSetValue = useCallback((callback) => {
3687
+ setValue(prevValue => {
3688
+ const newValue = callback(prevValue);
3689
+ if (newValue && newValue.max !== undefined && newValue.min === undefined) {
3690
+ return { ...newValue, min: 0 };
3691
+ }
3692
+ return newValue;
3693
+ });
3694
+ }, [setValue]);
3695
+ return jsx(DefaultMinMaxFilter, { ...props, loading: false, options: [], setValue: handleSetValue, unit: "%" });
3696
+ };
3697
+ /**
3698
+ * BatteryStateOfChargePercent filter definition
3699
+ */
3700
+ const useInsightsBatteryStateOfChargePercentFilter = (defaultValue) => {
3701
+ const defaultValueMemo = useMemo(() => defaultValue ?? {}, [defaultValue]);
3702
+ const [t] = useTranslation();
3703
+ const result = useMemo(() => {
3704
+ return {
3705
+ filterKey: "insightsBatteryStateOfChargePercent",
3706
+ type: "minMax",
3707
+ group: "STATUS",
3708
+ minimumNumber: 0,
3709
+ maximumNumber: 100,
3710
+ defaultValue: defaultValueMemo,
3711
+ valueAsText: (value) => {
3712
+ if (value.min !== undefined && value.max !== undefined) {
3713
+ return `${value.min}% - ${value.max}%`;
3714
+ }
3715
+ if (value.min !== undefined) {
3716
+ return `${value.min}%+`;
3717
+ }
3718
+ if (value.max !== undefined) {
3719
+ return `≤${value.max}%`;
3720
+ }
3721
+ return "";
3722
+ },
3723
+ title: t("fleetlist.column.insights.batteryStateOfChargePercent"),
3724
+ component: props => jsx(InsightsBatteryStateOfChargePercentFilterView, { ...props }),
3725
+ };
3726
+ }, [t, defaultValueMemo]);
3727
+ return result;
3728
+ };
3729
+
3730
+ /**
3731
+ * The `FuelLevelFilterView` component provides a filter
3732
+ * for selecting fuel level percentage range.
3733
+ *
3734
+ * @param {FilterViewProps<MinMaxFilterValue>} props - Props passed to the filter component
3735
+ * @returns {ReactElement} The JSX element representing the filter
3736
+ */
3737
+ const InsightsFuelLevelFilterView = (props) => {
3738
+ const { setValue } = props;
3739
+ const handleSetValue = useCallback((callback) => {
3740
+ setValue(prevValue => {
3741
+ const newValue = callback(prevValue);
3742
+ if (newValue && newValue.max !== undefined && newValue.min === undefined) {
3743
+ return { ...newValue, min: 0 };
3744
+ }
3745
+ return newValue;
3746
+ });
3747
+ }, [setValue]);
3748
+ return jsx(DefaultMinMaxFilter, { ...props, loading: false, options: [], setValue: handleSetValue, unit: "%" });
3749
+ };
3750
+ /**
3751
+ * FuelLevel filter definition
3752
+ */
3753
+ const useInsightsFuelLevelFilter = (defaultValue) => {
3754
+ const defaultValueMemo = useMemo(() => defaultValue ?? {}, [defaultValue]);
3755
+ const [t] = useTranslation();
3756
+ const result = useMemo(() => {
3757
+ return {
3758
+ filterKey: "insightsFuelLevel",
3759
+ type: "minMax",
3760
+ group: "STATUS",
3761
+ minimumNumber: 0,
3762
+ maximumNumber: 100,
3763
+ defaultValue: defaultValueMemo,
3764
+ valueAsText: (value) => {
3765
+ if (value.min !== undefined && value.max !== undefined) {
3766
+ return `${value.min}% - ${value.max}%`;
3767
+ }
3768
+ if (value.min !== undefined) {
3769
+ return `${value.min}%+`;
3770
+ }
3771
+ if (value.max !== undefined) {
3772
+ return `≤${value.max}%`;
3773
+ }
3774
+ return "";
3775
+ },
3776
+ title: t("fleetlist.column.insights.fuelLevel"),
3777
+ component: props => jsx(InsightsFuelLevelFilterView, { ...props }),
3778
+ };
3779
+ }, [t, defaultValueMemo]);
3780
+ return result;
3781
+ };
3782
+
3511
3783
  /** The time the asset was last seen. */
3512
3784
  var AssetLastSeen;
3513
3785
  (function (AssetLastSeen) {
@@ -3922,6 +4194,70 @@ const useProductionYearFilter = () => {
3922
4194
  return result;
3923
4195
  };
3924
4196
 
4197
+ const defaultShowInFilterBar$1 = () => true;
4198
+ /**
4199
+ * Rental active contract item off rent dates date range filter definition
4200
+ *
4201
+ * @returns {DateRangeFilterDefinition} Rental active contract item off rent dates date range filter definition
4202
+ */
4203
+ const useRentalActiveContractItemOffRentDatesDateRangeFilter = ({ showInFilterBar } = {
4204
+ showInFilterBar: defaultShowInFilterBar$1,
4205
+ }) => {
4206
+ const [t] = useTranslation();
4207
+ const stableShowInFilterBar = useCallback(() => showInFilterBar(), [showInFilterBar]);
4208
+ const result = useMemo(() => {
4209
+ return {
4210
+ filterKey: "rentalActiveContractItemOffRentDatesDateRange",
4211
+ type: "dateRange",
4212
+ group: "CUSTOMERS",
4213
+ title: t("assetFilters.rentalActiveContractItemOffRentDatesDateRangeFilter.label"),
4214
+ showInFilterBar: stableShowInFilterBar,
4215
+ valueAsText: (value) => {
4216
+ if (value.from || value.to) {
4217
+ const from = value.from ? new Date(value.from).toISOString().slice(0, 10) : undefined;
4218
+ const to = value.to ? new Date(value.to).toISOString().slice(0, 10) : undefined;
4219
+ return `${from ?? ""} - ${to ?? ""}`;
4220
+ }
4221
+ return "";
4222
+ },
4223
+ component: (props) => jsx(DefaultDateRangeFilter, { ...props, options: [] }),
4224
+ };
4225
+ }, [stableShowInFilterBar, t]);
4226
+ return result;
4227
+ };
4228
+
4229
+ const defaultShowInFilterBar = () => true;
4230
+ /**
4231
+ * Rental active contract item on rent dates date range filter definition
4232
+ *
4233
+ * @returns {DateRangeFilterDefinition} Rental active contract item on rent dates date range filter definition
4234
+ */
4235
+ const useRentalActiveContractItemOnRentDatesDateRangeFilter = ({ showInFilterBar } = {
4236
+ showInFilterBar: defaultShowInFilterBar,
4237
+ }) => {
4238
+ const [t] = useTranslation();
4239
+ const stableShowInFilterBar = useCallback(() => showInFilterBar(), [showInFilterBar]);
4240
+ const result = useMemo(() => {
4241
+ return {
4242
+ filterKey: "rentalActiveContractItemOnRentDatesDateRange",
4243
+ type: "dateRange",
4244
+ group: "CUSTOMERS",
4245
+ title: t("assetFilters.rentalActiveContractItemOnRentDatesDateRangeFilter.label"),
4246
+ showInFilterBar: stableShowInFilterBar,
4247
+ valueAsText: (value) => {
4248
+ if (value.from || value.to) {
4249
+ const from = value.from ? new Date(value.from).toISOString().slice(0, 10) : undefined;
4250
+ const to = value.to ? new Date(value.to).toISOString().slice(0, 10) : undefined;
4251
+ return `${from ?? ""} - ${to ?? ""}`;
4252
+ }
4253
+ return "";
4254
+ },
4255
+ component: (props) => jsx(DefaultDateRangeFilter, { ...props, options: [] }),
4256
+ };
4257
+ }, [stableShowInFilterBar, t]);
4258
+ return result;
4259
+ };
4260
+
3925
4261
  const FETCH_LIMIT$4 = 1000;
3926
4262
  /**
3927
4263
  * Rental contract order numbers filter view component.
@@ -5308,6 +5644,59 @@ const mockForGetAccessManagementModeDesiredSummaryQuery = (variables, data) => {
5308
5644
  }, data || {}));
5309
5645
  };
5310
5646
 
5647
+ /**
5648
+ * The `InsightsCumulativeIdleHoursFilterView` component provides a filter
5649
+ * for selecting cumulative idle hours range.
5650
+ *
5651
+ * @param {FilterViewProps<MinMaxFilterValue>} props - Props passed to the filter component
5652
+ * @returns {ReactElement} The JSX element representing the filter
5653
+ */
5654
+ const InsightsCumulativeIdleHoursFilterView = (props) => {
5655
+ const { setValue } = props;
5656
+ const handleSetValue = useCallback((callback) => {
5657
+ setValue(prevValue => {
5658
+ const newValue = callback(prevValue);
5659
+ if (newValue && newValue.max !== undefined && newValue.min === undefined) {
5660
+ return { ...newValue, min: 0 };
5661
+ }
5662
+ return newValue;
5663
+ });
5664
+ }, [setValue]);
5665
+ return jsx(DefaultMinMaxFilter, { ...props, loading: false, options: [], setValue: handleSetValue, unit: "h" });
5666
+ };
5667
+ /**
5668
+ * Cumulative Idle Hours filter definition
5669
+ */
5670
+ const useInsightsCumulativeIdleHoursFilter = (defaultValue) => {
5671
+ const defaultValueMemo = useMemo(() => ({}), [defaultValue]);
5672
+ const [t] = useTranslation();
5673
+ const result = useMemo(() => {
5674
+ return {
5675
+ filterKey: "insightsCumulativeIdleHours",
5676
+ type: "minMax",
5677
+ group: "STATUS",
5678
+ minimumNumber: 0,
5679
+ maximumNumber: 100000,
5680
+ defaultValue: defaultValueMemo,
5681
+ valueAsText: (value) => {
5682
+ if (value.min !== undefined && value.max !== undefined) {
5683
+ return `${value.min}h - ${value.max}h`;
5684
+ }
5685
+ if (value.min !== undefined) {
5686
+ return `${value.min}h+`;
5687
+ }
5688
+ if (value.max !== undefined) {
5689
+ return `≤${value.max}h`;
5690
+ }
5691
+ return "";
5692
+ },
5693
+ title: t("fleetlist.column.insights.cumulativeIdleHours"),
5694
+ component: props => jsx(InsightsCumulativeIdleHoursFilterView, { ...props }),
5695
+ };
5696
+ }, [t, defaultValueMemo]);
5697
+ return result;
5698
+ };
5699
+
5311
5700
  /**
5312
5701
  * Default asset filter bar definition, used to define the default filters for the asset related filters.
5313
5702
  *
@@ -5364,6 +5753,12 @@ const useDefaultAssetFilterBarDefinition = () => {
5364
5753
  const fleetHealthTypes = useDeviceHealthIssueTypeFilter();
5365
5754
  const fleetHealthCategories = useDeviceHealthIssueCategoryFilter();
5366
5755
  const fleetHealthStatus = useDeviceHealthIssueStatusFilter();
5756
+ const insightsBatteryStateOfChargePercent = useInsightsBatteryStateOfChargePercentFilter();
5757
+ const insightsAfterTreatmentDieselExhaustFluidTankLevel = useInsightsAfterTreatmentDieselExhaustFluidTankLevelFilter();
5758
+ const insightsBatteryChargerState = useInsightsBatteryChargerStateFilter();
5759
+ const insightsBatteryPotential = useInsightsBatteryPotentialFilter();
5760
+ const insightsFuelLevel = useInsightsFuelLevelFilter();
5761
+ const insightsCumulativeIdleHours = useInsightsCumulativeIdleHoursFilter();
5367
5762
  return useMemo(() => {
5368
5763
  return {
5369
5764
  assetType,
@@ -5391,6 +5786,12 @@ const useDefaultAssetFilterBarDefinition = () => {
5391
5786
  fleetHealthTypes,
5392
5787
  fleetHealthCategories,
5393
5788
  fleetHealthStatus,
5789
+ insightsBatteryStateOfChargePercent,
5790
+ insightsAfterTreatmentDieselExhaustFluidTankLevel,
5791
+ insightsBatteryChargerState,
5792
+ insightsBatteryPotential,
5793
+ insightsCumulativeIdleHours,
5794
+ insightsFuelLevel,
5394
5795
  };
5395
5796
  }, [
5396
5797
  siteIds,
@@ -5418,6 +5819,12 @@ const useDefaultAssetFilterBarDefinition = () => {
5418
5819
  fleetHealthTypes,
5419
5820
  fleetHealthCategories,
5420
5821
  fleetHealthStatus,
5822
+ insightsBatteryStateOfChargePercent,
5823
+ insightsAfterTreatmentDieselExhaustFluidTankLevel,
5824
+ insightsBatteryChargerState,
5825
+ insightsBatteryPotential,
5826
+ insightsFuelLevel,
5827
+ insightsCumulativeIdleHours,
5421
5828
  ]);
5422
5829
  };
5423
5830
 
@@ -5430,4 +5837,4 @@ const useDefaultAssetFilterBarDefinition = () => {
5430
5837
  */
5431
5838
  setupLibraryTranslations();
5432
5839
 
5433
- export { ALL_TYPES, AccessManagementMode, ActiveFilterFiltersView, ActivityFiltersView, AreaView, AssetActivityState, AssetIdsFiltersView, AssetLastSeen, AssetTypesFilterView, BrandFilterView, ClearItemButton, CriticalityFiltersView, CustomerIdsFilterView, DayPeriod, FollowedFiltersView, GetFleetGroupSummaryDocument, GroupIdsFilterView, HourIntervalFilterView, LastSeenFiltersView, MetadataCompletenessFilterView, ModelsFilterView, OwnerAccountIdsFilterView, PartnerFilterView, PeriodFilterView, ProductionYearFilterView, RentalContractOrderNumberFilterView, RentalContractReferenceCodeDescriptionFilterView, RentalContractReferenceCodeFilterView, SERVICE_PLAN_STATUSES_TO_SHOW, SearchFilterInline, ServicePanStatusesFiltersView, SiteDepotOwnershipIdsFilterView, SiteIdsFilterView, SiteStatus, SiteStatusFilterView, SiteTypeSFS, SiteTypesFilterView, TelematicsConnectedFiltersView, TypesFilterView, areaFilterInternalGeoJsonGeometrySchema, areaFilterInternalSchema, assetTypeConst, mapActivityToLabelId, mapMetadataCompletenessToLabelId, metadataCompleteness, metadataCompletenessOptions, mockForDeviceHealthIssueCategorySummariesQuery, mockForDeviceHealthIssueStatusSummariesQuery, mockForDeviceHealthIssueTypeSummariesQuery, mockForGetAccessManagementModeDesiredSummaryQuery, mockForGetAssetTelematicsDeviceConnectionSummaryQuery, mockForGetCustomFieldSummaryQuery, mockForGetCustomerIdSummaryQuery, mockForGetFleetActivitySummaryQuery, mockForGetFleetAssetTypesSummaryQuery, mockForGetFleetBrandsSummaryQuery, mockForGetFleetCriticalitySummaryQuery, mockForGetFleetGroupSummaryQuery, mockForGetFleetModelsSummaryQuery, mockForGetFleetOwnerAccountSummaryQuery, mockForGetFleetProductionYearsSummaryQuery, mockForGetFleetRentalContractOrderNumberSummaryQuery, mockForGetFleetRentalContractReferenceCodesSummaryQuery, mockForGetFleetServicePlanAssignmentsSummaryQuery, mockForGetFleetServicePlanStatusesSummaryQuery, mockForGetFleetServiceProvidersSummaryQuery, mockForGetFleetSiteTypeSummaryQuery, mockForGetFleetTypesSummaryQuery, mockForGetMetadataCompletenessSummaryQuery, mockForGetPlaceAutocompletePredictionsQuery, mockForGetPlaceDetailsQuery, mockForGetServicePlanNamesSummaryQuery, mockForGetSiteDepotOwnershipIdSummaryQuery, mockForGetSiteIdSummaryQuery, placePredictionSchema, placeSchema, sortSiteTypeSummary, useAccessManagementModeFilter, useActiveFilterFilter, useActivityFilter, useAreaFilter, useAssetIdsFilter, useAssetTypeFilter, useBrandFilter, useCriticalityFilter, useCustomerIdsFilter, useDefaultAssetFilterBarDefinition, useDeviceHealthIssueCategoryFilter, useDeviceHealthIssueStatusFilter, useDeviceHealthIssueTypeFilter, useFollowedFilter, useGroupIdsFilter, useHourIntervalFilter, useLastSeenFilter, useMetadataCompletenessFilter, useModelsFilter, useOwnerAccountIdsFilter, usePartnerFilter, usePeriodFilter, usePlacesSearch, useProductionYearFilter, useRentalContractOrderNumberFilter, useRentalContractReferenceCodeDescriptionFilter, useRentalContractReferenceCodeFilter, useSearchFilter, useServicePlanStatusFilter, useSiteDepotOwnershipIdsFilter, useSiteIdsFilter, useSiteStatusFilter, useSiteTypeFilter, useTelematicsConnectedFilter, useTypesFilter };
5840
+ export { ALL_TYPES, AccessManagementMode, ActiveFilterFiltersView, ActivityFiltersView, AreaView, AssetActivityState, AssetIdsFiltersView, AssetLastSeen, AssetTypesFilterView, BrandFilterView, ClearItemButton, CriticalityFiltersView, CustomerIdsFilterView, DayPeriod, FollowedFiltersView, GetFleetGroupSummaryDocument, GroupIdsFilterView, HourIntervalFilterView, InsightsAfterTreatmentDieselExhaustFluidTankLevelFilterView, InsightsBatteryChargerStateFilterView, InsightsBatteryPotentialFilterView, InsightsBatteryStateOfChargePercentFilterView, InsightsFuelLevelFilterView, LastSeenFiltersView, MetadataCompletenessFilterView, ModelsFilterView, OwnerAccountIdsFilterView, PartnerFilterView, PeriodFilterView, ProductionYearFilterView, RentalContractOrderNumberFilterView, RentalContractReferenceCodeDescriptionFilterView, RentalContractReferenceCodeFilterView, SERVICE_PLAN_STATUSES_TO_SHOW, SearchFilterInline, ServicePanStatusesFiltersView, SiteDepotOwnershipIdsFilterView, SiteIdsFilterView, SiteStatus, SiteStatusFilterView, SiteTypeSFS, SiteTypesFilterView, TelematicsConnectedFiltersView, TypesFilterView, areaFilterInternalGeoJsonGeometrySchema, areaFilterInternalSchema, assetTypeConst, mapActivityToLabelId, mapMetadataCompletenessToLabelId, metadataCompleteness, metadataCompletenessOptions, mockForDeviceHealthIssueCategorySummariesQuery, mockForDeviceHealthIssueStatusSummariesQuery, mockForDeviceHealthIssueTypeSummariesQuery, mockForGetAccessManagementModeDesiredSummaryQuery, mockForGetAssetTelematicsDeviceConnectionSummaryQuery, mockForGetCustomFieldSummaryQuery, mockForGetCustomerIdSummaryQuery, mockForGetFleetActivitySummaryQuery, mockForGetFleetAssetTypesSummaryQuery, mockForGetFleetBrandsSummaryQuery, mockForGetFleetCriticalitySummaryQuery, mockForGetFleetGroupSummaryQuery, mockForGetFleetModelsSummaryQuery, mockForGetFleetOwnerAccountSummaryQuery, mockForGetFleetProductionYearsSummaryQuery, mockForGetFleetRentalContractOrderNumberSummaryQuery, mockForGetFleetRentalContractReferenceCodesSummaryQuery, mockForGetFleetServicePlanAssignmentsSummaryQuery, mockForGetFleetServicePlanStatusesSummaryQuery, mockForGetFleetServiceProvidersSummaryQuery, mockForGetFleetSiteTypeSummaryQuery, mockForGetFleetTypesSummaryQuery, mockForGetMetadataCompletenessSummaryQuery, mockForGetPlaceAutocompletePredictionsQuery, mockForGetPlaceDetailsQuery, mockForGetServicePlanNamesSummaryQuery, mockForGetSiteDepotOwnershipIdSummaryQuery, mockForGetSiteIdSummaryQuery, placePredictionSchema, placeSchema, sortSiteTypeSummary, useAccessManagementModeFilter, useActiveFilterFilter, useActivityFilter, useAreaFilter, useAssetIdsFilter, useAssetTypeFilter, useBrandFilter, useCriticalityFilter, useCustomerIdsFilter, useDefaultAssetFilterBarDefinition, useDeviceHealthIssueCategoryFilter, useDeviceHealthIssueStatusFilter, useDeviceHealthIssueTypeFilter, useFollowedFilter, useGroupIdsFilter, useHourIntervalFilter, useInsightsAfterTreatmentDieselExhaustFluidTankLevelFilter, useInsightsBatteryChargerStateFilter, useInsightsBatteryPotentialFilter, useInsightsBatteryStateOfChargePercentFilter, useInsightsFuelLevelFilter, useLastSeenFilter, useMetadataCompletenessFilter, useModelsFilter, useOwnerAccountIdsFilter, usePartnerFilter, usePeriodFilter, usePlacesSearch, useProductionYearFilter, useRentalActiveContractItemOffRentDatesDateRangeFilter, useRentalActiveContractItemOnRentDatesDateRangeFilter, useRentalContractOrderNumberFilter, useRentalContractReferenceCodeDescriptionFilter, useRentalContractReferenceCodeFilter, useSearchFilter, useServicePlanStatusFilter, useSiteDepotOwnershipIdsFilter, 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.14.18",
3
+ "version": "1.14.21",
4
4
  "repository": "https://github.com/Trackunit/manager",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "engines": {
@@ -15,23 +15,23 @@
15
15
  "zod": "^3.23.8",
16
16
  "string-ts": "^2.0.0",
17
17
  "tailwind-merge": "^2.0.0",
18
- "@trackunit/iris-app-build-utilities": "1.9.12",
19
- "@trackunit/filters-filter-bar": "1.10.18",
20
- "@trackunit/react-core-hooks": "1.9.16",
21
- "@trackunit/react-filter-components": "1.9.17",
22
- "@trackunit/react-form-components": "1.10.17",
23
- "@trackunit/filters-graphql-hook": "1.13.18",
24
- "@trackunit/utilization-indicator": "1.9.17",
25
- "@trackunit/geo-json-utils": "1.9.13",
26
- "@trackunit/react-components": "1.13.3",
27
- "@trackunit/shared-utils": "1.11.13",
28
- "@trackunit/translations-machine-type": "1.9.16",
29
- "@trackunit/criticality-indicator": "1.9.17",
30
- "@trackunit/iris-app-api": "1.12.12",
31
- "@trackunit/react-core-contexts-test": "1.9.16",
32
- "@trackunit/i18n-library-translation": "1.9.16",
33
- "@trackunit/iris-app-runtime-core-api": "1.9.16",
34
- "@trackunit/react-graphql-hooks": "1.10.15"
18
+ "@trackunit/iris-app-build-utilities": "1.9.14",
19
+ "@trackunit/filters-filter-bar": "1.10.21",
20
+ "@trackunit/react-core-hooks": "1.9.19",
21
+ "@trackunit/react-filter-components": "1.9.20",
22
+ "@trackunit/react-form-components": "1.10.20",
23
+ "@trackunit/filters-graphql-hook": "1.13.21",
24
+ "@trackunit/utilization-indicator": "1.9.20",
25
+ "@trackunit/geo-json-utils": "1.9.15",
26
+ "@trackunit/react-components": "1.13.6",
27
+ "@trackunit/shared-utils": "1.11.15",
28
+ "@trackunit/translations-machine-type": "1.9.19",
29
+ "@trackunit/criticality-indicator": "1.9.20",
30
+ "@trackunit/iris-app-api": "1.12.14",
31
+ "@trackunit/react-core-contexts-test": "1.9.19",
32
+ "@trackunit/i18n-library-translation": "1.9.19",
33
+ "@trackunit/iris-app-runtime-core-api": "1.9.19",
34
+ "@trackunit/react-graphql-hooks": "1.10.18"
35
35
  },
36
36
  "module": "./index.esm.js",
37
37
  "main": "./index.cjs.js",
@@ -0,0 +1,14 @@
1
+ import { FilterViewProps, MinMaxFilterDefinition, MinMaxFilterValue } from "@trackunit/filters-filter-bar";
2
+ import { ReactElement } from "react";
3
+ /**
4
+ * The `AfterTreatmentDieselExhaustFluidTankLevelFilterView` component provides a filter
5
+ * for selecting DEF (Diesel Exhaust Fluid) tank level percentage range.
6
+ *
7
+ * @param {FilterViewProps<MinMaxFilterValue>} props - Props passed to the filter component
8
+ * @returns {ReactElement} The JSX element representing the filter
9
+ */
10
+ export declare const InsightsAfterTreatmentDieselExhaustFluidTankLevelFilterView: (props: FilterViewProps<MinMaxFilterValue>) => ReactElement;
11
+ /**
12
+ * AfterTreatmentDieselExhaustFluidTankLevel filter definition
13
+ */
14
+ export declare const useInsightsAfterTreatmentDieselExhaustFluidTankLevelFilter: (defaultValue?: MinMaxFilterValue) => MinMaxFilterDefinition;
@@ -0,0 +1,18 @@
1
+ import { FilterViewProps, ValueName, ValueNameFilterDefinition } from "@trackunit/filters-filter-bar";
2
+ import { ReactElement } from "react";
3
+ /**
4
+ * The `InsightsBatteryChargerStateFilterView` component serves as a filter view for battery charger state
5
+ * (on or off). It integrates with the telemetry filter bar and displays options with counts
6
+ * based on the current asset battery charger state summary.
7
+ *
8
+ * @param {FilterViewProps<ValueName>} props - Props containing filter state, filter actions, and definitions.
9
+ * @returns {ReactElement} Rendered component for the battery charger state filter.
10
+ */
11
+ export declare const InsightsBatteryChargerStateFilterView: (props: FilterViewProps<ValueName>) => ReactElement;
12
+ /**
13
+ * Battery Charger State filter definition
14
+ * It is a valueName filter that filters assets by battery charger state (charging/not charging)
15
+ *
16
+ * @returns {ValueNameFilterDefinition} Battery Charger State filter definition
17
+ */
18
+ export declare const useInsightsBatteryChargerStateFilter: (defaultValue?: ValueName) => ValueNameFilterDefinition;
@@ -0,0 +1,14 @@
1
+ import { FilterViewProps, MinMaxFilterDefinition, MinMaxFilterValue } from "@trackunit/filters-filter-bar";
2
+ import { ReactElement } from "react";
3
+ /**
4
+ * The `BatteryPotentialFilterView` component provides a filter
5
+ * for selecting battery voltage range.
6
+ *
7
+ * @param {FilterViewProps<MinMaxFilterValue>} props - Props passed to the filter component
8
+ * @returns {ReactElement} The JSX element representing the filter
9
+ */
10
+ export declare const InsightsBatteryPotentialFilterView: (props: FilterViewProps<MinMaxFilterValue>) => ReactElement;
11
+ /**
12
+ * BatteryPotential filter definition
13
+ */
14
+ export declare const useInsightsBatteryPotentialFilter: (defaultValue?: MinMaxFilterValue) => MinMaxFilterDefinition;
@@ -0,0 +1,14 @@
1
+ import { FilterViewProps, MinMaxFilterDefinition, MinMaxFilterValue } from "@trackunit/filters-filter-bar";
2
+ import { ReactElement } from "react";
3
+ /**
4
+ * The `BatteryStateOfChargePercentFilterView` component provides a filter
5
+ * for selecting battery state of charge percentage range.
6
+ *
7
+ * @param {FilterViewProps<MinMaxFilterValue>} props - Props passed to the filter component
8
+ * @returns {ReactElement} The JSX element representing the filter
9
+ */
10
+ export declare const InsightsBatteryStateOfChargePercentFilterView: (props: FilterViewProps<MinMaxFilterValue>) => ReactElement;
11
+ /**
12
+ * BatteryStateOfChargePercent filter definition
13
+ */
14
+ export declare const useInsightsBatteryStateOfChargePercentFilter: (defaultValue?: MinMaxFilterValue) => MinMaxFilterDefinition;
@@ -0,0 +1,14 @@
1
+ import { FilterViewProps, MinMaxFilterDefinition, MinMaxFilterValue } from "@trackunit/filters-filter-bar";
2
+ import { ReactElement } from "react";
3
+ /**
4
+ * The `InsightsCumulativeIdleHoursFilterView` component provides a filter
5
+ * for selecting cumulative idle hours range.
6
+ *
7
+ * @param {FilterViewProps<MinMaxFilterValue>} props - Props passed to the filter component
8
+ * @returns {ReactElement} The JSX element representing the filter
9
+ */
10
+ export declare const InsightsCumulativeIdleHoursFilterView: (props: FilterViewProps<MinMaxFilterValue>) => ReactElement;
11
+ /**
12
+ * Cumulative Idle Hours filter definition
13
+ */
14
+ export declare const useInsightsCumulativeIdleHoursFilter: (defaultValue?: MinMaxFilterValue) => MinMaxFilterDefinition;
@@ -0,0 +1,14 @@
1
+ import { FilterViewProps, MinMaxFilterDefinition, MinMaxFilterValue } from "@trackunit/filters-filter-bar";
2
+ import { ReactElement } from "react";
3
+ /**
4
+ * The `FuelLevelFilterView` component provides a filter
5
+ * for selecting fuel level percentage range.
6
+ *
7
+ * @param {FilterViewProps<MinMaxFilterValue>} props - Props passed to the filter component
8
+ * @returns {ReactElement} The JSX element representing the filter
9
+ */
10
+ export declare const InsightsFuelLevelFilterView: (props: FilterViewProps<MinMaxFilterValue>) => ReactElement;
11
+ /**
12
+ * FuelLevel filter definition
13
+ */
14
+ export declare const useInsightsFuelLevelFilter: (defaultValue?: MinMaxFilterValue) => MinMaxFilterDefinition;
@@ -0,0 +1,11 @@
1
+ import { DateRangeFilterDefinition } from "@trackunit/filters-filter-bar";
2
+ interface FilterProps {
3
+ showInFilterBar: () => boolean;
4
+ }
5
+ /**
6
+ * Rental active contract item off rent dates date range filter definition
7
+ *
8
+ * @returns {DateRangeFilterDefinition} Rental active contract item off rent dates date range filter definition
9
+ */
10
+ export declare const useRentalActiveContractItemOffRentDatesDateRangeFilter: ({ showInFilterBar }?: FilterProps) => DateRangeFilterDefinition;
11
+ export {};