@trackunit/filters-asset-filter-definitions 1.14.14 → 1.14.17

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 CHANGED
@@ -3138,7 +3138,6 @@ const CustomerIdsFilterView = ({ customerId, ...props }) => {
3138
3138
  * Custom hook to create and configure a customer IDs filter definition.
3139
3139
  */
3140
3140
  const useCustomerIdsFilter = ({ showInFilterBar, defaultValue, hasCount, persistValue, customerId } = {
3141
- showInFilterBar: () => true,
3142
3141
  hasCount: true,
3143
3142
  }) => {
3144
3143
  const [t] = useTranslation();
@@ -3149,7 +3148,7 @@ const useCustomerIdsFilter = ({ showInFilterBar, defaultValue, hasCount, persist
3149
3148
  defaultValue,
3150
3149
  group: "CUSTOMERS",
3151
3150
  title: t("fleetlist.column.customerIds"),
3152
- showInFilterBar,
3151
+ showInFilterBar: showInFilterBar ? showInFilterBar : () => true,
3153
3152
  persistValue,
3154
3153
  component: props => jsxRuntime.jsx(CustomerIdsFilterView, { ...props, customerId: customerId, hasCount: hasCount }),
3155
3154
  };
@@ -3973,9 +3972,7 @@ const RentalContractOrderNumberFilterView = (props) => {
3973
3972
  *
3974
3973
  * @returns {StringArrayFilterDefinition} Rental contract order numbers filter definition
3975
3974
  */
3976
- const useRentalContractOrderNumberFilter = ({ showInFilterBar } = {
3977
- showInFilterBar: () => true,
3978
- }) => {
3975
+ const useRentalContractOrderNumberFilter = (props) => {
3979
3976
  const [t] = useTranslation();
3980
3977
  const result = react.useMemo(() => {
3981
3978
  return {
@@ -3983,11 +3980,11 @@ const useRentalContractOrderNumberFilter = ({ showInFilterBar } = {
3983
3980
  type: "stringArray",
3984
3981
  group: "CUSTOMERS",
3985
3982
  title: t("assetFilters.rentalContractOrderNumberFilter.label"),
3986
- showInFilterBar,
3983
+ showInFilterBar: props?.showInFilterBar ? props.showInFilterBar : () => true,
3987
3984
  valueAsText: values => values.map(value => value),
3988
- component: props => jsxRuntime.jsx(RentalContractOrderNumberFilterView, { ...props }),
3985
+ component: properties => jsxRuntime.jsx(RentalContractOrderNumberFilterView, { ...properties }),
3989
3986
  };
3990
- }, [showInFilterBar, t]);
3987
+ }, [props?.showInFilterBar, t]);
3991
3988
  return result;
3992
3989
  };
3993
3990
 
@@ -4087,9 +4084,7 @@ const RentalContractReferenceCodeDescriptionFilterView = ({ filterBarActions, fi
4087
4084
  *
4088
4085
  * @returns {StringFilterDefinition} Rental contract reference code description filter definition
4089
4086
  */
4090
- const useRentalContractReferenceCodeDescriptionFilter = ({ showInFilterBar } = {
4091
- showInFilterBar: () => true,
4092
- }) => {
4087
+ const useRentalContractReferenceCodeDescriptionFilter = (props) => {
4093
4088
  const [t] = useTranslation();
4094
4089
  const result = react.useMemo(() => {
4095
4090
  return {
@@ -4097,10 +4092,10 @@ const useRentalContractReferenceCodeDescriptionFilter = ({ showInFilterBar } = {
4097
4092
  type: "string",
4098
4093
  group: "CUSTOMERS",
4099
4094
  title: t("assetFilters.rentalContractReferenceCodeDescriptionFilter.label"),
4100
- showInFilterBar,
4101
- component: props => (jsxRuntime.jsx(RentalContractReferenceCodeDescriptionFilterView, { ...props, localStorageKey: "rentalContractReferenceCodeDescriptionFilter" })),
4095
+ showInFilterBar: props?.showInFilterBar ? props.showInFilterBar : () => true,
4096
+ component: properties => (jsxRuntime.jsx(RentalContractReferenceCodeDescriptionFilterView, { ...properties, localStorageKey: "rentalContractReferenceCodeDescriptionFilter" })),
4102
4097
  };
4103
- }, [showInFilterBar, t]);
4098
+ }, [props?.showInFilterBar, t]);
4104
4099
  return result;
4105
4100
  };
4106
4101
 
@@ -4152,9 +4147,7 @@ const RentalContractReferenceCodeFilterView = (props) => {
4152
4147
  *
4153
4148
  * @returns {StringArrayFilterDefinition} Rental contract reference code filter definition
4154
4149
  */
4155
- const useRentalContractReferenceCodeFilter = ({ showInFilterBar } = {
4156
- showInFilterBar: () => true,
4157
- }) => {
4150
+ const useRentalContractReferenceCodeFilter = (props) => {
4158
4151
  const [t] = useTranslation();
4159
4152
  const result = react.useMemo(() => {
4160
4153
  return {
@@ -4162,11 +4155,11 @@ const useRentalContractReferenceCodeFilter = ({ showInFilterBar } = {
4162
4155
  type: "stringArray",
4163
4156
  group: "CUSTOMERS",
4164
4157
  title: t("assetFilters.rentalContractReferenceCodeFilter.label"),
4165
- showInFilterBar,
4158
+ showInFilterBar: props?.showInFilterBar ? props.showInFilterBar : () => true,
4166
4159
  valueAsText: values => values.map(value => value),
4167
- component: props => jsxRuntime.jsx(RentalContractReferenceCodeFilterView, { ...props }),
4160
+ component: properties => jsxRuntime.jsx(RentalContractReferenceCodeFilterView, { ...properties }),
4168
4161
  };
4169
- }, [showInFilterBar, t]);
4162
+ }, [props?.showInFilterBar, t]);
4170
4163
  return result;
4171
4164
  };
4172
4165
 
@@ -4344,7 +4337,7 @@ const ServicePanStatusesFiltersView = (props) => {
4344
4337
  *
4345
4338
  * @returns {StringArrayFilterDefinition} Criticality filter definition
4346
4339
  */
4347
- const useServicePlanStatusFilter = ({ showInFilterBar, servicePlanStatusToShow = SERVICE_PLAN_STATUSES_TO_SHOW, }) => {
4340
+ const useServicePlanStatusFilter = ({ servicePlanStatusToShow = SERVICE_PLAN_STATUSES_TO_SHOW, showInFilterBar, }) => {
4348
4341
  const [t] = useTranslation();
4349
4342
  const result = react.useMemo(() => {
4350
4343
  return {
@@ -4352,7 +4345,7 @@ const useServicePlanStatusFilter = ({ showInFilterBar, servicePlanStatusToShow =
4352
4345
  type: "stringArray",
4353
4346
  group: "OTHER",
4354
4347
  title: t("fleetlist.column.servicePlanStatus"),
4355
- showInFilterBar,
4348
+ showInFilterBar: showInFilterBar ? showInFilterBar : () => true,
4356
4349
  valueAsText: values => values.map(value => t(mapServicePlansStatusToLabelId(value))),
4357
4350
  component: props => (jsxRuntime.jsx(ServicePanStatusesFiltersView, { servicePlanStatusToShow: servicePlanStatusToShow, ...props })),
4358
4351
  };
@@ -4404,23 +4397,20 @@ const SiteDepotOwnershipIdsFilterView = (props) => {
4404
4397
  *
4405
4398
  * @returns {ValueNameFilterDefinition} Site depot ownership filter definition
4406
4399
  */
4407
- const useSiteDepotOwnershipIdsFilter = ({ showInFilterBar, defaultValue, persistValue } = {
4408
- showInFilterBar: () => true,
4409
- persistValue: true,
4410
- }) => {
4400
+ const useSiteDepotOwnershipIdsFilter = (props) => {
4411
4401
  const [t] = useTranslation();
4412
4402
  const result = react.useMemo(() => {
4413
4403
  return {
4414
4404
  filterKey: "siteDepotOwnershipIds",
4415
4405
  type: "valueNameArray",
4416
- defaultValue,
4406
+ defaultValue: props?.defaultValue,
4417
4407
  group: "MANAGEMENT",
4418
4408
  title: t("fleetlist.column.siteDepotOwnershipIds"),
4419
- showInFilterBar,
4420
- persistValue,
4421
- component: props => jsxRuntime.jsx(SiteDepotOwnershipIdsFilterView, { ...props }),
4409
+ showInFilterBar: props?.showInFilterBar ? props.showInFilterBar : () => true,
4410
+ persistValue: props?.persistValue ?? true,
4411
+ component: properties => jsxRuntime.jsx(SiteDepotOwnershipIdsFilterView, { ...properties }),
4422
4412
  };
4423
- }, [showInFilterBar, defaultValue, t, persistValue]);
4413
+ }, [props?.showInFilterBar, props?.defaultValue, t, props?.persistValue]);
4424
4414
  return result;
4425
4415
  };
4426
4416
 
@@ -4466,24 +4456,20 @@ const SiteIdsFilterView = (props) => {
4466
4456
  /**
4467
4457
  *
4468
4458
  */
4469
- const useSiteIdsFilter = ({ showInFilterBar, defaultValue, persistValue, hasCount, group } = {
4470
- showInFilterBar: () => true,
4471
- persistValue: true,
4472
- hasCount: true,
4473
- }) => {
4459
+ const useSiteIdsFilter = (props) => {
4474
4460
  const [t] = useTranslation();
4475
4461
  const result = react.useMemo(() => {
4476
4462
  return {
4477
4463
  filterKey: "siteIds",
4478
4464
  type: "valueNameArray",
4479
- defaultValue,
4480
- group: group ? group : "SITES",
4465
+ defaultValue: props?.defaultValue,
4466
+ group: props?.group ?? "SITES",
4481
4467
  title: t("fleetlist.column.siteIds"),
4482
- showInFilterBar,
4483
- persistValue,
4484
- component: props => jsxRuntime.jsx(SiteIdsFilterView, { ...props, hasCount: hasCount }),
4468
+ showInFilterBar: props?.showInFilterBar ? props.showInFilterBar : () => true,
4469
+ persistValue: props?.persistValue ?? true,
4470
+ component: properties => jsxRuntime.jsx(SiteIdsFilterView, { ...properties, hasCount: props?.hasCount ?? true }),
4485
4471
  };
4486
- }, [showInFilterBar, defaultValue, t, persistValue, hasCount, group]);
4472
+ }, [props?.showInFilterBar, props?.defaultValue, t, props?.persistValue, props?.hasCount, props?.group]);
4487
4473
  return result;
4488
4474
  };
4489
4475
 
@@ -4526,9 +4512,7 @@ const defaultValue = [exports.SiteStatus.Active.valueOf()];
4526
4512
  *
4527
4513
  * @returns {StringArrayFilterDefinition} SiteStatus filter definition
4528
4514
  */
4529
- const useSiteStatusFilter = ({ showInFilterBar } = {
4530
- showInFilterBar: () => true,
4531
- }) => {
4515
+ const useSiteStatusFilter = (props) => {
4532
4516
  const [t] = useTranslation();
4533
4517
  const result = react.useMemo(() => {
4534
4518
  return {
@@ -4536,12 +4520,12 @@ const useSiteStatusFilter = ({ showInFilterBar } = {
4536
4520
  type: "stringArray",
4537
4521
  group: "SITES",
4538
4522
  title: t("fleetlist.column.siteStatus"),
4539
- showInFilterBar,
4523
+ showInFilterBar: props?.showInFilterBar ? props.showInFilterBar : () => true,
4540
4524
  valueAsText: values => values.map(value => t(mapSiteStatusToLabelId(value))),
4541
4525
  defaultValue: defaultValue,
4542
- component: props => jsxRuntime.jsx(SiteStatusFilterView, { ...props }),
4526
+ component: properties => jsxRuntime.jsx(SiteStatusFilterView, { ...properties }),
4543
4527
  };
4544
- }, [showInFilterBar, t]);
4528
+ }, [props?.showInFilterBar, t]);
4545
4529
  return result;
4546
4530
  };
4547
4531
 
@@ -4629,7 +4613,6 @@ const SiteTypesFilterView = (props) => {
4629
4613
  * @returns {StringArrayFilterDefinition} SiteType filter definition
4630
4614
  */
4631
4615
  const useSiteTypeFilter = ({ showInFilterBar, persistValue, group } = {
4632
- showInFilterBar: () => true,
4633
4616
  persistValue: true,
4634
4617
  }) => {
4635
4618
  const [t] = useTranslation();
@@ -4640,7 +4623,7 @@ const useSiteTypeFilter = ({ showInFilterBar, persistValue, group } = {
4640
4623
  group: group ? group : "SITES",
4641
4624
  persistValue,
4642
4625
  title: t("fleetlist.column.siteType"),
4643
- showInFilterBar: showInFilterBar,
4626
+ showInFilterBar: showInFilterBar ? showInFilterBar : () => true,
4644
4627
  valueAsText: values => values.map(value => t(mapSiteTypeToLabelId(value))),
4645
4628
  component: props => jsxRuntime.jsx(SiteTypesFilterView, { ...props }),
4646
4629
  };
@@ -5332,21 +5315,20 @@ const mockForGetAccessManagementModeDesiredSummaryQuery = (variables, data) => {
5332
5315
  *
5333
5316
  * @returns {FilterBarDefinition} Default asset filter bar definition
5334
5317
  */
5335
- const useDefaultAssetFilterBarDefinition = ({ sitesEnabled, owningDepotEnabled, serviceManagementEnabled, ownerFilterDefaultValue, showHiddenAssetsEnabled, }) => {
5318
+ const useDefaultAssetFilterBarDefinition = () => {
5319
+ const showHiddenAssetsEnabled = reactCoreHooks.useUserPermission("ASSET_MANAGE");
5320
+ const { hasAccess: serviceManagementEnabled } = reactCoreHooks.useHasAccessTo({ irisAppId: "@trackunit/service-management" });
5336
5321
  const assetType = useAssetTypeFilter();
5337
5322
  const metadataCompleteness = useMetadataCompletenessFilter();
5338
5323
  const groups = useGroupIdsFilter();
5339
5324
  const siteEnabledProps = react.useMemo(() => {
5340
5325
  return {
5341
- showInFilterBar: () => sitesEnabled || false,
5326
+ showInFilterBar: () => true,
5342
5327
  group: "CURRENT_LOCATION",
5343
5328
  };
5344
- }, [sitesEnabled]);
5329
+ }, []);
5345
5330
  const siteIds = useSiteIdsFilter(siteEnabledProps);
5346
- const owningDepotEnabledProps = react.useMemo(() => {
5347
- return { showInFilterBar: () => owningDepotEnabled || false };
5348
- }, [owningDepotEnabled]);
5349
- const siteDepotOwnershipIds = useSiteDepotOwnershipIdsFilter(owningDepotEnabledProps);
5331
+ const siteDepotOwnershipIds = useSiteDepotOwnershipIdsFilter();
5350
5332
  const brands = useBrandFilter();
5351
5333
  const models = useModelsFilter();
5352
5334
  const types = useTypesFilter();
@@ -5356,12 +5338,12 @@ const useDefaultAssetFilterBarDefinition = ({ sitesEnabled, owningDepotEnabled,
5356
5338
  const followed = useFollowedFilter();
5357
5339
  const siteTypeEnabledProps = react.useMemo(() => {
5358
5340
  return {
5359
- showInFilterBar: () => sitesEnabled || false,
5341
+ showInFilterBar: () => true,
5360
5342
  group: "CURRENT_LOCATION",
5361
5343
  };
5362
- }, [sitesEnabled]);
5344
+ }, []);
5363
5345
  const siteType = useSiteTypeFilter(siteTypeEnabledProps);
5364
- const ownerAccountIds = useOwnerAccountIdsFilter(ownerFilterDefaultValue);
5346
+ const ownerAccountIds = useOwnerAccountIdsFilter();
5365
5347
  const searchProps = react.useMemo(() => ({ localStorageKey: "assetSearch" }), []);
5366
5348
  const search = useSearchFilter(searchProps);
5367
5349
  const area = useAreaFilter();
package/index.esm.js CHANGED
@@ -5,7 +5,7 @@ import { DefaultCheckboxFilter, FilterEvents, FilterHeader, HierarchicalCheckbox
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';
8
- import { useAnalytics, useCurrentUser } from '@trackunit/react-core-hooks';
8
+ import { useAnalytics, useCurrentUser, useUserPermission, useHasAccessTo } from '@trackunit/react-core-hooks';
9
9
  import { FilterBody, RadioFilterItem } from '@trackunit/react-filter-components';
10
10
  import { RadioGroup, RadioItem, Search } from '@trackunit/react-form-components';
11
11
  import { ActivityIndicator } from '@trackunit/utilization-indicator';
@@ -3136,7 +3136,6 @@ const CustomerIdsFilterView = ({ customerId, ...props }) => {
3136
3136
  * Custom hook to create and configure a customer IDs filter definition.
3137
3137
  */
3138
3138
  const useCustomerIdsFilter = ({ showInFilterBar, defaultValue, hasCount, persistValue, customerId } = {
3139
- showInFilterBar: () => true,
3140
3139
  hasCount: true,
3141
3140
  }) => {
3142
3141
  const [t] = useTranslation();
@@ -3147,7 +3146,7 @@ const useCustomerIdsFilter = ({ showInFilterBar, defaultValue, hasCount, persist
3147
3146
  defaultValue,
3148
3147
  group: "CUSTOMERS",
3149
3148
  title: t("fleetlist.column.customerIds"),
3150
- showInFilterBar,
3149
+ showInFilterBar: showInFilterBar ? showInFilterBar : () => true,
3151
3150
  persistValue,
3152
3151
  component: props => jsx(CustomerIdsFilterView, { ...props, customerId: customerId, hasCount: hasCount }),
3153
3152
  };
@@ -3971,9 +3970,7 @@ const RentalContractOrderNumberFilterView = (props) => {
3971
3970
  *
3972
3971
  * @returns {StringArrayFilterDefinition} Rental contract order numbers filter definition
3973
3972
  */
3974
- const useRentalContractOrderNumberFilter = ({ showInFilterBar } = {
3975
- showInFilterBar: () => true,
3976
- }) => {
3973
+ const useRentalContractOrderNumberFilter = (props) => {
3977
3974
  const [t] = useTranslation();
3978
3975
  const result = useMemo(() => {
3979
3976
  return {
@@ -3981,11 +3978,11 @@ const useRentalContractOrderNumberFilter = ({ showInFilterBar } = {
3981
3978
  type: "stringArray",
3982
3979
  group: "CUSTOMERS",
3983
3980
  title: t("assetFilters.rentalContractOrderNumberFilter.label"),
3984
- showInFilterBar,
3981
+ showInFilterBar: props?.showInFilterBar ? props.showInFilterBar : () => true,
3985
3982
  valueAsText: values => values.map(value => value),
3986
- component: props => jsx(RentalContractOrderNumberFilterView, { ...props }),
3983
+ component: properties => jsx(RentalContractOrderNumberFilterView, { ...properties }),
3987
3984
  };
3988
- }, [showInFilterBar, t]);
3985
+ }, [props?.showInFilterBar, t]);
3989
3986
  return result;
3990
3987
  };
3991
3988
 
@@ -4085,9 +4082,7 @@ const RentalContractReferenceCodeDescriptionFilterView = ({ filterBarActions, fi
4085
4082
  *
4086
4083
  * @returns {StringFilterDefinition} Rental contract reference code description filter definition
4087
4084
  */
4088
- const useRentalContractReferenceCodeDescriptionFilter = ({ showInFilterBar } = {
4089
- showInFilterBar: () => true,
4090
- }) => {
4085
+ const useRentalContractReferenceCodeDescriptionFilter = (props) => {
4091
4086
  const [t] = useTranslation();
4092
4087
  const result = useMemo(() => {
4093
4088
  return {
@@ -4095,10 +4090,10 @@ const useRentalContractReferenceCodeDescriptionFilter = ({ showInFilterBar } = {
4095
4090
  type: "string",
4096
4091
  group: "CUSTOMERS",
4097
4092
  title: t("assetFilters.rentalContractReferenceCodeDescriptionFilter.label"),
4098
- showInFilterBar,
4099
- component: props => (jsx(RentalContractReferenceCodeDescriptionFilterView, { ...props, localStorageKey: "rentalContractReferenceCodeDescriptionFilter" })),
4093
+ showInFilterBar: props?.showInFilterBar ? props.showInFilterBar : () => true,
4094
+ component: properties => (jsx(RentalContractReferenceCodeDescriptionFilterView, { ...properties, localStorageKey: "rentalContractReferenceCodeDescriptionFilter" })),
4100
4095
  };
4101
- }, [showInFilterBar, t]);
4096
+ }, [props?.showInFilterBar, t]);
4102
4097
  return result;
4103
4098
  };
4104
4099
 
@@ -4150,9 +4145,7 @@ const RentalContractReferenceCodeFilterView = (props) => {
4150
4145
  *
4151
4146
  * @returns {StringArrayFilterDefinition} Rental contract reference code filter definition
4152
4147
  */
4153
- const useRentalContractReferenceCodeFilter = ({ showInFilterBar } = {
4154
- showInFilterBar: () => true,
4155
- }) => {
4148
+ const useRentalContractReferenceCodeFilter = (props) => {
4156
4149
  const [t] = useTranslation();
4157
4150
  const result = useMemo(() => {
4158
4151
  return {
@@ -4160,11 +4153,11 @@ const useRentalContractReferenceCodeFilter = ({ showInFilterBar } = {
4160
4153
  type: "stringArray",
4161
4154
  group: "CUSTOMERS",
4162
4155
  title: t("assetFilters.rentalContractReferenceCodeFilter.label"),
4163
- showInFilterBar,
4156
+ showInFilterBar: props?.showInFilterBar ? props.showInFilterBar : () => true,
4164
4157
  valueAsText: values => values.map(value => value),
4165
- component: props => jsx(RentalContractReferenceCodeFilterView, { ...props }),
4158
+ component: properties => jsx(RentalContractReferenceCodeFilterView, { ...properties }),
4166
4159
  };
4167
- }, [showInFilterBar, t]);
4160
+ }, [props?.showInFilterBar, t]);
4168
4161
  return result;
4169
4162
  };
4170
4163
 
@@ -4342,7 +4335,7 @@ const ServicePanStatusesFiltersView = (props) => {
4342
4335
  *
4343
4336
  * @returns {StringArrayFilterDefinition} Criticality filter definition
4344
4337
  */
4345
- const useServicePlanStatusFilter = ({ showInFilterBar, servicePlanStatusToShow = SERVICE_PLAN_STATUSES_TO_SHOW, }) => {
4338
+ const useServicePlanStatusFilter = ({ servicePlanStatusToShow = SERVICE_PLAN_STATUSES_TO_SHOW, showInFilterBar, }) => {
4346
4339
  const [t] = useTranslation();
4347
4340
  const result = useMemo(() => {
4348
4341
  return {
@@ -4350,7 +4343,7 @@ const useServicePlanStatusFilter = ({ showInFilterBar, servicePlanStatusToShow =
4350
4343
  type: "stringArray",
4351
4344
  group: "OTHER",
4352
4345
  title: t("fleetlist.column.servicePlanStatus"),
4353
- showInFilterBar,
4346
+ showInFilterBar: showInFilterBar ? showInFilterBar : () => true,
4354
4347
  valueAsText: values => values.map(value => t(mapServicePlansStatusToLabelId(value))),
4355
4348
  component: props => (jsx(ServicePanStatusesFiltersView, { servicePlanStatusToShow: servicePlanStatusToShow, ...props })),
4356
4349
  };
@@ -4402,23 +4395,20 @@ const SiteDepotOwnershipIdsFilterView = (props) => {
4402
4395
  *
4403
4396
  * @returns {ValueNameFilterDefinition} Site depot ownership filter definition
4404
4397
  */
4405
- const useSiteDepotOwnershipIdsFilter = ({ showInFilterBar, defaultValue, persistValue } = {
4406
- showInFilterBar: () => true,
4407
- persistValue: true,
4408
- }) => {
4398
+ const useSiteDepotOwnershipIdsFilter = (props) => {
4409
4399
  const [t] = useTranslation();
4410
4400
  const result = useMemo(() => {
4411
4401
  return {
4412
4402
  filterKey: "siteDepotOwnershipIds",
4413
4403
  type: "valueNameArray",
4414
- defaultValue,
4404
+ defaultValue: props?.defaultValue,
4415
4405
  group: "MANAGEMENT",
4416
4406
  title: t("fleetlist.column.siteDepotOwnershipIds"),
4417
- showInFilterBar,
4418
- persistValue,
4419
- component: props => jsx(SiteDepotOwnershipIdsFilterView, { ...props }),
4407
+ showInFilterBar: props?.showInFilterBar ? props.showInFilterBar : () => true,
4408
+ persistValue: props?.persistValue ?? true,
4409
+ component: properties => jsx(SiteDepotOwnershipIdsFilterView, { ...properties }),
4420
4410
  };
4421
- }, [showInFilterBar, defaultValue, t, persistValue]);
4411
+ }, [props?.showInFilterBar, props?.defaultValue, t, props?.persistValue]);
4422
4412
  return result;
4423
4413
  };
4424
4414
 
@@ -4464,24 +4454,20 @@ const SiteIdsFilterView = (props) => {
4464
4454
  /**
4465
4455
  *
4466
4456
  */
4467
- const useSiteIdsFilter = ({ showInFilterBar, defaultValue, persistValue, hasCount, group } = {
4468
- showInFilterBar: () => true,
4469
- persistValue: true,
4470
- hasCount: true,
4471
- }) => {
4457
+ const useSiteIdsFilter = (props) => {
4472
4458
  const [t] = useTranslation();
4473
4459
  const result = useMemo(() => {
4474
4460
  return {
4475
4461
  filterKey: "siteIds",
4476
4462
  type: "valueNameArray",
4477
- defaultValue,
4478
- group: group ? group : "SITES",
4463
+ defaultValue: props?.defaultValue,
4464
+ group: props?.group ?? "SITES",
4479
4465
  title: t("fleetlist.column.siteIds"),
4480
- showInFilterBar,
4481
- persistValue,
4482
- component: props => jsx(SiteIdsFilterView, { ...props, hasCount: hasCount }),
4466
+ showInFilterBar: props?.showInFilterBar ? props.showInFilterBar : () => true,
4467
+ persistValue: props?.persistValue ?? true,
4468
+ component: properties => jsx(SiteIdsFilterView, { ...properties, hasCount: props?.hasCount ?? true }),
4483
4469
  };
4484
- }, [showInFilterBar, defaultValue, t, persistValue, hasCount, group]);
4470
+ }, [props?.showInFilterBar, props?.defaultValue, t, props?.persistValue, props?.hasCount, props?.group]);
4485
4471
  return result;
4486
4472
  };
4487
4473
 
@@ -4524,9 +4510,7 @@ const defaultValue = [SiteStatus.Active.valueOf()];
4524
4510
  *
4525
4511
  * @returns {StringArrayFilterDefinition} SiteStatus filter definition
4526
4512
  */
4527
- const useSiteStatusFilter = ({ showInFilterBar } = {
4528
- showInFilterBar: () => true,
4529
- }) => {
4513
+ const useSiteStatusFilter = (props) => {
4530
4514
  const [t] = useTranslation();
4531
4515
  const result = useMemo(() => {
4532
4516
  return {
@@ -4534,12 +4518,12 @@ const useSiteStatusFilter = ({ showInFilterBar } = {
4534
4518
  type: "stringArray",
4535
4519
  group: "SITES",
4536
4520
  title: t("fleetlist.column.siteStatus"),
4537
- showInFilterBar,
4521
+ showInFilterBar: props?.showInFilterBar ? props.showInFilterBar : () => true,
4538
4522
  valueAsText: values => values.map(value => t(mapSiteStatusToLabelId(value))),
4539
4523
  defaultValue: defaultValue,
4540
- component: props => jsx(SiteStatusFilterView, { ...props }),
4524
+ component: properties => jsx(SiteStatusFilterView, { ...properties }),
4541
4525
  };
4542
- }, [showInFilterBar, t]);
4526
+ }, [props?.showInFilterBar, t]);
4543
4527
  return result;
4544
4528
  };
4545
4529
 
@@ -4627,7 +4611,6 @@ const SiteTypesFilterView = (props) => {
4627
4611
  * @returns {StringArrayFilterDefinition} SiteType filter definition
4628
4612
  */
4629
4613
  const useSiteTypeFilter = ({ showInFilterBar, persistValue, group } = {
4630
- showInFilterBar: () => true,
4631
4614
  persistValue: true,
4632
4615
  }) => {
4633
4616
  const [t] = useTranslation();
@@ -4638,7 +4621,7 @@ const useSiteTypeFilter = ({ showInFilterBar, persistValue, group } = {
4638
4621
  group: group ? group : "SITES",
4639
4622
  persistValue,
4640
4623
  title: t("fleetlist.column.siteType"),
4641
- showInFilterBar: showInFilterBar,
4624
+ showInFilterBar: showInFilterBar ? showInFilterBar : () => true,
4642
4625
  valueAsText: values => values.map(value => t(mapSiteTypeToLabelId(value))),
4643
4626
  component: props => jsx(SiteTypesFilterView, { ...props }),
4644
4627
  };
@@ -5330,21 +5313,20 @@ const mockForGetAccessManagementModeDesiredSummaryQuery = (variables, data) => {
5330
5313
  *
5331
5314
  * @returns {FilterBarDefinition} Default asset filter bar definition
5332
5315
  */
5333
- const useDefaultAssetFilterBarDefinition = ({ sitesEnabled, owningDepotEnabled, serviceManagementEnabled, ownerFilterDefaultValue, showHiddenAssetsEnabled, }) => {
5316
+ const useDefaultAssetFilterBarDefinition = () => {
5317
+ const showHiddenAssetsEnabled = useUserPermission("ASSET_MANAGE");
5318
+ const { hasAccess: serviceManagementEnabled } = useHasAccessTo({ irisAppId: "@trackunit/service-management" });
5334
5319
  const assetType = useAssetTypeFilter();
5335
5320
  const metadataCompleteness = useMetadataCompletenessFilter();
5336
5321
  const groups = useGroupIdsFilter();
5337
5322
  const siteEnabledProps = useMemo(() => {
5338
5323
  return {
5339
- showInFilterBar: () => sitesEnabled || false,
5324
+ showInFilterBar: () => true,
5340
5325
  group: "CURRENT_LOCATION",
5341
5326
  };
5342
- }, [sitesEnabled]);
5327
+ }, []);
5343
5328
  const siteIds = useSiteIdsFilter(siteEnabledProps);
5344
- const owningDepotEnabledProps = useMemo(() => {
5345
- return { showInFilterBar: () => owningDepotEnabled || false };
5346
- }, [owningDepotEnabled]);
5347
- const siteDepotOwnershipIds = useSiteDepotOwnershipIdsFilter(owningDepotEnabledProps);
5329
+ const siteDepotOwnershipIds = useSiteDepotOwnershipIdsFilter();
5348
5330
  const brands = useBrandFilter();
5349
5331
  const models = useModelsFilter();
5350
5332
  const types = useTypesFilter();
@@ -5354,12 +5336,12 @@ const useDefaultAssetFilterBarDefinition = ({ sitesEnabled, owningDepotEnabled,
5354
5336
  const followed = useFollowedFilter();
5355
5337
  const siteTypeEnabledProps = useMemo(() => {
5356
5338
  return {
5357
- showInFilterBar: () => sitesEnabled || false,
5339
+ showInFilterBar: () => true,
5358
5340
  group: "CURRENT_LOCATION",
5359
5341
  };
5360
- }, [sitesEnabled]);
5342
+ }, []);
5361
5343
  const siteType = useSiteTypeFilter(siteTypeEnabledProps);
5362
- const ownerAccountIds = useOwnerAccountIdsFilter(ownerFilterDefaultValue);
5344
+ const ownerAccountIds = useOwnerAccountIdsFilter();
5363
5345
  const searchProps = useMemo(() => ({ localStorageKey: "assetSearch" }), []);
5364
5346
  const search = useSearchFilter(searchProps);
5365
5347
  const area = useAreaFilter();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/filters-asset-filter-definitions",
3
- "version": "1.14.14",
3
+ "version": "1.14.17",
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.9",
19
- "@trackunit/filters-filter-bar": "1.10.14",
20
- "@trackunit/react-core-hooks": "1.9.12",
21
- "@trackunit/react-filter-components": "1.9.13",
22
- "@trackunit/react-form-components": "1.10.13",
23
- "@trackunit/filters-graphql-hook": "1.13.14",
24
- "@trackunit/utilization-indicator": "1.9.13",
25
- "@trackunit/geo-json-utils": "1.9.9",
26
- "@trackunit/react-components": "1.12.13",
27
- "@trackunit/shared-utils": "1.11.9",
28
- "@trackunit/translations-machine-type": "1.9.12",
29
- "@trackunit/criticality-indicator": "1.9.13",
30
- "@trackunit/iris-app-api": "1.12.9",
31
- "@trackunit/react-core-contexts-test": "1.9.12",
32
- "@trackunit/i18n-library-translation": "1.9.12",
33
- "@trackunit/iris-app-runtime-core-api": "1.9.12",
34
- "@trackunit/react-graphql-hooks": "1.10.11"
18
+ "@trackunit/iris-app-build-utilities": "1.9.12",
19
+ "@trackunit/filters-filter-bar": "1.10.17",
20
+ "@trackunit/react-core-hooks": "1.9.15",
21
+ "@trackunit/react-filter-components": "1.9.16",
22
+ "@trackunit/react-form-components": "1.10.16",
23
+ "@trackunit/filters-graphql-hook": "1.13.17",
24
+ "@trackunit/utilization-indicator": "1.9.16",
25
+ "@trackunit/geo-json-utils": "1.9.12",
26
+ "@trackunit/react-components": "1.13.2",
27
+ "@trackunit/shared-utils": "1.11.12",
28
+ "@trackunit/translations-machine-type": "1.9.15",
29
+ "@trackunit/criticality-indicator": "1.9.16",
30
+ "@trackunit/iris-app-api": "1.12.12",
31
+ "@trackunit/react-core-contexts-test": "1.9.15",
32
+ "@trackunit/i18n-library-translation": "1.9.15",
33
+ "@trackunit/iris-app-runtime-core-api": "1.9.15",
34
+ "@trackunit/react-graphql-hooks": "1.10.14"
35
35
  },
36
36
  "module": "./index.esm.js",
37
37
  "main": "./index.cjs.js",
@@ -13,7 +13,7 @@ export declare const CustomerIdsFilterView: ({ customerId, ...props }: {
13
13
  customerId?: string;
14
14
  } & FilterViewProps<Array<ValueName>>) => ReactElement;
15
15
  interface CustomerIdsFilterProps {
16
- showInFilterBar: () => boolean;
16
+ showInFilterBar?: () => boolean;
17
17
  defaultValue?: Array<ValueName>;
18
18
  hasCount?: boolean;
19
19
  persistValue?: boolean;
@@ -10,12 +10,12 @@ import { FilterViewProps, StringArrayFilterDefinition } from "@trackunit/filters
10
10
  */
11
11
  export declare const RentalContractOrderNumberFilterView: (props: FilterViewProps<Array<string>>) => import("react/jsx-runtime").JSX.Element;
12
12
  interface FilterProps {
13
- showInFilterBar: () => boolean;
13
+ showInFilterBar?: () => boolean;
14
14
  }
15
15
  /**
16
16
  * Rental contract order numbers filter definition
17
17
  *
18
18
  * @returns {StringArrayFilterDefinition} Rental contract order numbers filter definition
19
19
  */
20
- export declare const useRentalContractOrderNumberFilter: ({ showInFilterBar }?: FilterProps) => StringArrayFilterDefinition;
20
+ export declare const useRentalContractOrderNumberFilter: (props?: FilterProps) => StringArrayFilterDefinition;
21
21
  export {};
@@ -11,12 +11,12 @@ import { SearchFilterProps } from "./SearchFilter";
11
11
  */
12
12
  export declare const RentalContractReferenceCodeDescriptionFilterView: <TFilterState extends FilterBarDefinition>({ filterBarActions, filterState, filterDefinition, localStorageKey, }: SearchFilterProps<TFilterState>) => import("react/jsx-runtime").JSX.Element;
13
13
  interface FilterProps {
14
- showInFilterBar: () => boolean;
14
+ showInFilterBar?: () => boolean;
15
15
  }
16
16
  /**
17
17
  * Rental contract reference code description filter definition
18
18
  *
19
19
  * @returns {StringFilterDefinition} Rental contract reference code description filter definition
20
20
  */
21
- export declare const useRentalContractReferenceCodeDescriptionFilter: ({ showInFilterBar }?: FilterProps) => StringFilterDefinition;
21
+ export declare const useRentalContractReferenceCodeDescriptionFilter: (props?: FilterProps) => StringFilterDefinition;
22
22
  export {};
@@ -10,12 +10,12 @@ import { FilterViewProps, StringArrayFilterDefinition } from "@trackunit/filters
10
10
  */
11
11
  export declare const RentalContractReferenceCodeFilterView: (props: FilterViewProps<Array<string>>) => import("react/jsx-runtime").JSX.Element;
12
12
  interface FilterProps {
13
- showInFilterBar: () => boolean;
13
+ showInFilterBar?: () => boolean;
14
14
  }
15
15
  /**
16
16
  * Rental contract reference code filter definition
17
17
  *
18
18
  * @returns {StringArrayFilterDefinition} Rental contract reference code filter definition
19
19
  */
20
- export declare const useRentalContractReferenceCodeFilter: ({ showInFilterBar }?: FilterProps) => StringArrayFilterDefinition;
20
+ export declare const useRentalContractReferenceCodeFilter: (props?: FilterProps) => StringArrayFilterDefinition;
21
21
  export {};
@@ -13,12 +13,12 @@ export declare const ServicePanStatusesFiltersView: (props: FilterViewProps<Arra
13
13
  }) => ReactElement;
14
14
  interface AssetTypeFilterProps {
15
15
  servicePlanStatusToShow?: Array<ServicePlanStatus>;
16
- showInFilterBar: () => boolean;
16
+ showInFilterBar?: () => boolean;
17
17
  }
18
18
  /**
19
19
  * Serive plan status filter definition
20
20
  *
21
21
  * @returns {StringArrayFilterDefinition} Criticality filter definition
22
22
  */
23
- export declare const useServicePlanStatusFilter: ({ showInFilterBar, servicePlanStatusToShow, }: AssetTypeFilterProps) => StringArrayFilterDefinition;
23
+ export declare const useServicePlanStatusFilter: ({ servicePlanStatusToShow, showInFilterBar, }: AssetTypeFilterProps) => StringArrayFilterDefinition;
24
24
  export {};
@@ -8,7 +8,7 @@ import { ReactElement } from "react";
8
8
  */
9
9
  export declare const SiteDepotOwnershipIdsFilterView: (props: FilterViewProps<Array<ValueName>>) => ReactElement;
10
10
  interface SiteDepotOwnershipIdsFilterProps {
11
- showInFilterBar: () => boolean;
11
+ showInFilterBar?: () => boolean;
12
12
  defaultValue?: Array<ValueName>;
13
13
  persistValue?: boolean;
14
14
  }
@@ -17,5 +17,5 @@ interface SiteDepotOwnershipIdsFilterProps {
17
17
  *
18
18
  * @returns {ValueNameFilterDefinition} Site depot ownership filter definition
19
19
  */
20
- export declare const useSiteDepotOwnershipIdsFilter: ({ showInFilterBar, defaultValue, persistValue }?: SiteDepotOwnershipIdsFilterProps) => ValueNameArrayFilterDefinition;
20
+ export declare const useSiteDepotOwnershipIdsFilter: (props?: SiteDepotOwnershipIdsFilterProps) => ValueNameArrayFilterDefinition;
21
21
  export {};
@@ -11,7 +11,7 @@ import { ReactElement } from "react";
11
11
  */
12
12
  export declare const SiteIdsFilterView: (props: FilterViewProps<Array<ValueName>>) => ReactElement;
13
13
  interface SiteIdsFilterProps {
14
- showInFilterBar: () => boolean;
14
+ showInFilterBar?: () => boolean;
15
15
  defaultValue?: Array<ValueName>;
16
16
  persistValue?: boolean;
17
17
  hasCount?: boolean;
@@ -20,5 +20,5 @@ interface SiteIdsFilterProps {
20
20
  /**
21
21
  *
22
22
  */
23
- export declare const useSiteIdsFilter: ({ showInFilterBar, defaultValue, persistValue, hasCount, group }?: SiteIdsFilterProps) => ValueNameArrayFilterDefinition;
23
+ export declare const useSiteIdsFilter: (props?: SiteIdsFilterProps) => ValueNameArrayFilterDefinition;
24
24
  export {};
@@ -15,12 +15,12 @@ export declare enum SiteStatus {
15
15
  */
16
16
  export declare const SiteStatusFilterView: (props: FilterViewProps<Array<string>>) => ReactElement;
17
17
  interface SiteTypeFilterProps {
18
- showInFilterBar: () => boolean;
18
+ showInFilterBar?: () => boolean;
19
19
  }
20
20
  /**
21
21
  * SiteStatus filter definition
22
22
  *
23
23
  * @returns {StringArrayFilterDefinition} SiteStatus filter definition
24
24
  */
25
- export declare const useSiteStatusFilter: ({ showInFilterBar }?: SiteTypeFilterProps) => StringArrayFilterDefinition;
25
+ export declare const useSiteStatusFilter: (props?: SiteTypeFilterProps) => StringArrayFilterDefinition;
26
26
  export {};
@@ -29,7 +29,7 @@ export declare const sortSiteTypeSummary: (arr: Array<SortSiteTypeSummary>) => S
29
29
  */
30
30
  export declare const SiteTypesFilterView: (props: FilterViewProps<Array<string>>) => ReactElement;
31
31
  interface SiteTypeFilterProps {
32
- showInFilterBar: () => boolean;
32
+ showInFilterBar?: () => boolean;
33
33
  group?: FilterGroup;
34
34
  persistValue?: boolean;
35
35
  }
@@ -1,33 +1,11 @@
1
- import { FilterStateValues, ValueName } from "@trackunit/filters-filter-bar";
1
+ import { FilterStateValues } from "@trackunit/filters-filter-bar";
2
2
  import { AssetFilterKeys } from "@trackunit/iris-app-api";
3
- interface DefaultAssetFilterBarDefinitionProps {
4
- /**
5
- * A flag indicating whether site filters are enabled
6
- */
7
- sitesEnabled: boolean | null;
8
- /**
9
- * A flag indicating whether owning depot filters are enabled
10
- */
11
- owningDepotEnabled: boolean | null;
12
- /**
13
- * A flag indicating whether service management filters are enabled
14
- */
15
- serviceManagementEnabled: boolean | null;
16
- /**
17
- * A flag indicating whether showing hidden assets is enabled
18
- */
19
- showHiddenAssetsEnabled: boolean | null;
20
- /**
21
- * A value setting the initial value of the "Owner" filter
22
- */
23
- ownerFilterDefaultValue?: Array<ValueName>;
24
- }
25
3
  /**
26
4
  * Default asset filter bar definition, used to define the default filters for the asset related filters.
27
5
  *
28
6
  * @returns {FilterBarDefinition} Default asset filter bar definition
29
7
  */
30
- export declare const useDefaultAssetFilterBarDefinition: ({ sitesEnabled, owningDepotEnabled, serviceManagementEnabled, ownerFilterDefaultValue, showHiddenAssetsEnabled, }: DefaultAssetFilterBarDefinitionProps) => {
8
+ export declare const useDefaultAssetFilterBarDefinition: () => {
31
9
  assetType: import("@trackunit/filters-filter-bar").StringArrayFilterDefinition;
32
10
  brands: import("@trackunit/filters-filter-bar").StringArrayFilterDefinition;
33
11
  models: import("@trackunit/filters-filter-bar").StringArrayFilterDefinition;
@@ -58,4 +36,3 @@ export type DefaultAssetFilterBarDefinition = {
58
36
  [K in AssetFilterKeys[number]]: ReturnType<typeof useDefaultAssetFilterBarDefinition>[K];
59
37
  };
60
38
  export type DefaultAssetFilterValues = FilterStateValues<DefaultAssetFilterBarDefinition>;
61
- export {};