@trackunit/filters-asset-filter-definitions 1.12.14 → 1.12.16
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 +181 -74
- package/index.esm.js +181 -76
- package/package.json +18 -18
- package/src/defaultFilters/defaults/DeviceHealthIssueStatusFilter/DeviceHealthIssueStatusFilter.d.ts +9 -0
- package/src/defaultFilters/defaults/DeviceHealthIssueStatusFilter/useDeviceHealthIssueStatusDisplayNames/useDeviceHealthIssueStatusDisplayNames.d.ts +7 -0
- package/src/defaultFilters/defaults/DeviceHealthIssueStatusFilter/useDeviceHealthIssueStatusFilter.d.ts +7 -0
- package/src/defaultFilters/defaults/hooks/useFleetHealthFilterUtils.d.ts +16 -0
- package/src/defaultFilters/defaults/index.d.ts +1 -0
- package/src/generated/graphql-api/gql.d.ts +7 -0
- package/src/generated/graphql-api/graphql.d.ts +26 -0
- package/src/generated/graphql-api/mock.d.ts +3 -0
- package/src/hooks/useDefaultAssetFilterBarDefinition.d.ts +1 -0
- package/src/translation.d.ts +2 -2
- package/translation.cjs.js +15 -1
- package/translation.cjs10.js +14 -0
- package/translation.cjs11.js +15 -1
- package/translation.cjs12.js +14 -0
- package/translation.cjs13.js +14 -0
- package/translation.cjs14.js +14 -0
- package/translation.cjs15.js +14 -0
- package/translation.cjs16.js +15 -1
- package/translation.cjs17.js +14 -0
- package/translation.cjs2.js +14 -0
- package/translation.cjs3.js +14 -0
- package/translation.cjs4.js +15 -1
- package/translation.cjs5.js +14 -0
- package/translation.cjs6.js +14 -0
- package/translation.cjs7.js +15 -1
- package/translation.cjs8.js +14 -0
- package/translation.cjs9.js +15 -1
- package/translation.esm.js +15 -1
- package/translation.esm10.js +14 -0
- package/translation.esm11.js +15 -1
- package/translation.esm12.js +14 -0
- package/translation.esm13.js +14 -0
- package/translation.esm14.js +14 -0
- package/translation.esm15.js +14 -0
- package/translation.esm16.js +15 -1
- package/translation.esm17.js +14 -0
- package/translation.esm2.js +14 -0
- package/translation.esm3.js +14 -0
- package/translation.esm4.js +15 -1
- package/translation.esm5.js +14 -0
- package/translation.esm6.js +14 -0
- package/translation.esm7.js +15 -1
- package/translation.esm8.js +14 -0
- package/translation.esm9.js +15 -1
- package/src/defaultFilters/defaults/DeviceHealthIssueCategoryFilter/getHealthCategoryEnumWithFallback/getHealthCategoryEnumWithFallback.d.ts +0 -8
- package/src/defaultFilters/defaults/DeviceHealthIssueTypeFilter/getHealthTypeEnumWithFallback/getHealthTypeEnumWithFallback.d.ts +0 -8
package/index.cjs.js
CHANGED
|
@@ -70,6 +70,9 @@ var defaultTranslations = {
|
|
|
70
70
|
"assetFilters.deviceHealthIssueCategory.deviceBatteryIssues": "Device battery",
|
|
71
71
|
"assetFilters.deviceHealthIssueCategory.installAndConfigurationHealth": "Install and configuration",
|
|
72
72
|
"assetFilters.deviceHealthIssueCategory.nonReportingUnit": "Non reporting devices",
|
|
73
|
+
"assetFilters.deviceHealthIssueStatus": "Issue Status",
|
|
74
|
+
"assetFilters.deviceHealthIssueStatus.critical": "Critical",
|
|
75
|
+
"assetFilters.deviceHealthIssueStatus.low": "Low",
|
|
73
76
|
"assetFilters.deviceHealthIssueType.dataNotReceived": "Data not received",
|
|
74
77
|
"assetFilters.deviceHealthIssueType.installationValidationMissing": "Installation validation missing",
|
|
75
78
|
"assetFilters.deviceHealthIssueType.lowCellularCoverage": "Low cellular coverage",
|
|
@@ -462,6 +465,10 @@ const assetCriticalityState = {
|
|
|
462
465
|
LOW: "LOW",
|
|
463
466
|
NONE: "NONE",
|
|
464
467
|
};
|
|
468
|
+
const fleetDataHealthDeviceStatus = {
|
|
469
|
+
CRITICAL: "CRITICAL",
|
|
470
|
+
LOW: "LOW",
|
|
471
|
+
};
|
|
465
472
|
const fleetDataHealthIssueCategory = {
|
|
466
473
|
COVERAGE_ISSUES: "COVERAGE_ISSUES",
|
|
467
474
|
DEVICE_BATTERY_ISSUES: "DEVICE_BATTERY_ISSUES",
|
|
@@ -550,6 +557,65 @@ const DeviceHealthIssueCategorySummariesDocument = {
|
|
|
550
557
|
},
|
|
551
558
|
],
|
|
552
559
|
};
|
|
560
|
+
const DeviceHealthIssueStatusSummariesDocument = {
|
|
561
|
+
kind: "Document",
|
|
562
|
+
definitions: [
|
|
563
|
+
{
|
|
564
|
+
kind: "OperationDefinition",
|
|
565
|
+
operation: "query",
|
|
566
|
+
name: { kind: "Name", value: "DeviceHealthIssueStatusSummaries" },
|
|
567
|
+
variableDefinitions: [
|
|
568
|
+
{
|
|
569
|
+
kind: "VariableDefinition",
|
|
570
|
+
variable: { kind: "Variable", name: { kind: "Name", value: "filters" } },
|
|
571
|
+
type: { kind: "NamedType", name: { kind: "Name", value: "AssetFiltersInput" } },
|
|
572
|
+
},
|
|
573
|
+
],
|
|
574
|
+
selectionSet: {
|
|
575
|
+
kind: "SelectionSet",
|
|
576
|
+
selections: [
|
|
577
|
+
{
|
|
578
|
+
kind: "Field",
|
|
579
|
+
name: { kind: "Name", value: "assetSummary" },
|
|
580
|
+
arguments: [
|
|
581
|
+
{
|
|
582
|
+
kind: "Argument",
|
|
583
|
+
name: { kind: "Name", value: "filters" },
|
|
584
|
+
value: { kind: "Variable", name: { kind: "Name", value: "filters" } },
|
|
585
|
+
},
|
|
586
|
+
],
|
|
587
|
+
selectionSet: {
|
|
588
|
+
kind: "SelectionSet",
|
|
589
|
+
selections: [
|
|
590
|
+
{
|
|
591
|
+
kind: "Field",
|
|
592
|
+
name: { kind: "Name", value: "fleetHealthDeviceStatusSummary" },
|
|
593
|
+
selectionSet: {
|
|
594
|
+
kind: "SelectionSet",
|
|
595
|
+
selections: [
|
|
596
|
+
{
|
|
597
|
+
kind: "Field",
|
|
598
|
+
name: { kind: "Name", value: "summary" },
|
|
599
|
+
selectionSet: {
|
|
600
|
+
kind: "SelectionSet",
|
|
601
|
+
selections: [
|
|
602
|
+
{ kind: "Field", name: { kind: "Name", value: "key" } },
|
|
603
|
+
{ kind: "Field", name: { kind: "Name", value: "count" } },
|
|
604
|
+
],
|
|
605
|
+
},
|
|
606
|
+
},
|
|
607
|
+
{ kind: "Field", name: { kind: "Name", value: "total" } },
|
|
608
|
+
],
|
|
609
|
+
},
|
|
610
|
+
},
|
|
611
|
+
],
|
|
612
|
+
},
|
|
613
|
+
},
|
|
614
|
+
],
|
|
615
|
+
},
|
|
616
|
+
},
|
|
617
|
+
],
|
|
618
|
+
};
|
|
553
619
|
const DeviceHealthIssueTypeSummariesDocument = {
|
|
554
620
|
kind: "Document",
|
|
555
621
|
definitions: [
|
|
@@ -3091,18 +3157,38 @@ const useCustomerIdsFilter = ({ showInFilterBar, defaultValue, hasCount, persist
|
|
|
3091
3157
|
};
|
|
3092
3158
|
|
|
3093
3159
|
/**
|
|
3094
|
-
* Get the Fleet Data Health Issue Category enum value with fallback
|
|
3095
3160
|
*
|
|
3096
|
-
* @param key - The key to get the enum value for
|
|
3097
|
-
* @returns {FleetDataHealthIssueCategory | null} The Fleet Data Health Issue Category enum value or null if not found
|
|
3098
3161
|
*/
|
|
3099
|
-
const
|
|
3100
|
-
|
|
3101
|
-
return
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3162
|
+
const useFleetHealthFilterUtils = ({ filterSummaries, filterTranslations, }) => {
|
|
3163
|
+
const filterItems = react.useMemo(() => {
|
|
3164
|
+
return (filterSummaries?.reduce((acc, type) => {
|
|
3165
|
+
const existingType = acc.find(c => c.key === type.key);
|
|
3166
|
+
if (existingType) {
|
|
3167
|
+
existingType.count += type.count;
|
|
3168
|
+
}
|
|
3169
|
+
else {
|
|
3170
|
+
acc.push(type);
|
|
3171
|
+
}
|
|
3172
|
+
return acc;
|
|
3173
|
+
}, []) ?? []);
|
|
3174
|
+
}, [filterSummaries]);
|
|
3175
|
+
const options = react.useMemo(() => {
|
|
3176
|
+
return filterItems
|
|
3177
|
+
.map(issuetype => {
|
|
3178
|
+
const typeKey = issuetype.key;
|
|
3179
|
+
const label = filterTranslations[typeKey] ?? "";
|
|
3180
|
+
if (!label) {
|
|
3181
|
+
return null;
|
|
3182
|
+
}
|
|
3183
|
+
return {
|
|
3184
|
+
key: typeKey,
|
|
3185
|
+
label,
|
|
3186
|
+
count: issuetype.count,
|
|
3187
|
+
};
|
|
3188
|
+
})
|
|
3189
|
+
.filter(sharedUtils.nonNullable);
|
|
3190
|
+
}, [filterItems, filterTranslations]);
|
|
3191
|
+
return react.useMemo(() => ({ options }), [options]);
|
|
3106
3192
|
};
|
|
3107
3193
|
|
|
3108
3194
|
/**
|
|
@@ -3139,32 +3225,10 @@ const DeviceHealthIssueCategoryFilter = (props) => {
|
|
|
3139
3225
|
},
|
|
3140
3226
|
},
|
|
3141
3227
|
});
|
|
3142
|
-
const
|
|
3143
|
-
|
|
3144
|
-
|
|
3145
|
-
|
|
3146
|
-
}
|
|
3147
|
-
else {
|
|
3148
|
-
acc.push(category);
|
|
3149
|
-
}
|
|
3150
|
-
return acc;
|
|
3151
|
-
}, []), [data?.assetSummary?.fleetHealthCategoriesSummary.summary]);
|
|
3152
|
-
const options = react.useMemo(() => {
|
|
3153
|
-
return (categories
|
|
3154
|
-
?.map(issueCategory => {
|
|
3155
|
-
const categoryKey = issueCategory.key;
|
|
3156
|
-
const categoryEnum = getHealthCategoryEnumWithFallback(categoryKey);
|
|
3157
|
-
if (!categoryEnum) {
|
|
3158
|
-
return null;
|
|
3159
|
-
}
|
|
3160
|
-
return {
|
|
3161
|
-
key: categoryKey,
|
|
3162
|
-
label: categoryDisplayNames[categoryEnum],
|
|
3163
|
-
count: issueCategory.count,
|
|
3164
|
-
};
|
|
3165
|
-
})
|
|
3166
|
-
.filter(sharedUtils.nonNullable) ?? []);
|
|
3167
|
-
}, [categories, categoryDisplayNames]);
|
|
3228
|
+
const { options } = useFleetHealthFilterUtils({
|
|
3229
|
+
filterSummaries: data?.assetSummary?.fleetHealthCategoriesSummary.summary,
|
|
3230
|
+
filterTranslations: categoryDisplayNames,
|
|
3231
|
+
});
|
|
3168
3232
|
return jsxRuntime.jsx(filtersFilterBar.DefaultCheckboxFilter, { ...props, loading: loading, options: options });
|
|
3169
3233
|
};
|
|
3170
3234
|
|
|
@@ -3187,18 +3251,60 @@ const useDeviceHealthIssueCategoryFilter = () => {
|
|
|
3187
3251
|
};
|
|
3188
3252
|
|
|
3189
3253
|
/**
|
|
3190
|
-
* Get
|
|
3254
|
+
* Get a record of device health issue type display names
|
|
3191
3255
|
*
|
|
3192
|
-
* @
|
|
3193
|
-
* @returns {FleetDataHealthIssueType | null} The Fleet Data Health Issue Type enum value or null if not found
|
|
3256
|
+
* @returns {Record<FleetDataHealthDeviceStatus, string>} A record of device health issue type display names
|
|
3194
3257
|
*/
|
|
3195
|
-
const
|
|
3196
|
-
|
|
3197
|
-
|
|
3198
|
-
|
|
3199
|
-
|
|
3200
|
-
|
|
3201
|
-
|
|
3258
|
+
const useDeviceHealthIssueStatusDisplayNames = () => {
|
|
3259
|
+
const [t] = useTranslation();
|
|
3260
|
+
return react.useMemo(() => ({
|
|
3261
|
+
[fleetDataHealthDeviceStatus.CRITICAL]: t("assetFilters.deviceHealthIssueStatus.critical"),
|
|
3262
|
+
[fleetDataHealthDeviceStatus.LOW]: t("assetFilters.deviceHealthIssueStatus.low"),
|
|
3263
|
+
}), [t]);
|
|
3264
|
+
};
|
|
3265
|
+
|
|
3266
|
+
/**
|
|
3267
|
+
* Device Health Issue Type Filter component
|
|
3268
|
+
*
|
|
3269
|
+
* @param {FilterViewProps<Array<ValueName>>} props - Filter view props
|
|
3270
|
+
* @returns {ReactElement} React element
|
|
3271
|
+
*/
|
|
3272
|
+
const DeviceHealthIssueStatusFilter = (props) => {
|
|
3273
|
+
const issueTypeDisplayNames = useDeviceHealthIssueStatusDisplayNames();
|
|
3274
|
+
const filters = filtersGraphqlHook.useActiveAssetFilters(props.filterState.values);
|
|
3275
|
+
const { data, loading } = reactGraphqlHooks.useQuery(DeviceHealthIssueStatusSummariesDocument, {
|
|
3276
|
+
variables: {
|
|
3277
|
+
filters: {
|
|
3278
|
+
...filters,
|
|
3279
|
+
activeFilter: true,
|
|
3280
|
+
fleetHealthDeviceStatuses: undefined,
|
|
3281
|
+
fleetHealthStates: ["OPEN"],
|
|
3282
|
+
},
|
|
3283
|
+
},
|
|
3284
|
+
});
|
|
3285
|
+
const { options } = useFleetHealthFilterUtils({
|
|
3286
|
+
filterSummaries: data?.assetSummary?.fleetHealthDeviceStatusSummary.summary,
|
|
3287
|
+
filterTranslations: issueTypeDisplayNames,
|
|
3288
|
+
});
|
|
3289
|
+
return jsxRuntime.jsx(filtersFilterBar.DefaultCheckboxFilter, { ...props, loading: loading, options: options });
|
|
3290
|
+
};
|
|
3291
|
+
|
|
3292
|
+
/**
|
|
3293
|
+
* Get the Device Health Issue Type filter definition
|
|
3294
|
+
*
|
|
3295
|
+
* @returns {ValueNameArrayFilterDefinition} The Device Health Issue Type filter definition
|
|
3296
|
+
*/
|
|
3297
|
+
const useDeviceHealthIssueStatusFilter = () => {
|
|
3298
|
+
const [t] = useTranslation();
|
|
3299
|
+
return react.useMemo(() => {
|
|
3300
|
+
return {
|
|
3301
|
+
filterKey: "fleetHealthStatus",
|
|
3302
|
+
type: "valueNameArray",
|
|
3303
|
+
group: "DEVICE_HEALTH",
|
|
3304
|
+
title: t("assetFilters.deviceHealthIssueStatus"),
|
|
3305
|
+
component: props => jsxRuntime.jsx(DeviceHealthIssueStatusFilter, { ...props }),
|
|
3306
|
+
};
|
|
3307
|
+
}, [t]);
|
|
3202
3308
|
};
|
|
3203
3309
|
|
|
3204
3310
|
/**
|
|
@@ -3241,34 +3347,11 @@ const DeviceHealthIssueTypeFilter = (props) => {
|
|
|
3241
3347
|
},
|
|
3242
3348
|
},
|
|
3243
3349
|
});
|
|
3244
|
-
const
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
else {
|
|
3250
|
-
acc.push(type);
|
|
3251
|
-
}
|
|
3252
|
-
return acc;
|
|
3253
|
-
}, []), [data?.assetSummary?.fleetHealthTypesSummary.summary]);
|
|
3254
|
-
const options = react.useMemo(() => {
|
|
3255
|
-
return (types
|
|
3256
|
-
?.map(issuetype => {
|
|
3257
|
-
const typeKey = issuetype.key;
|
|
3258
|
-
const typeEnum = getHealthTypeEnumWithFallback(typeKey);
|
|
3259
|
-
if (!typeEnum) {
|
|
3260
|
-
return null;
|
|
3261
|
-
}
|
|
3262
|
-
return {
|
|
3263
|
-
key: typeKey,
|
|
3264
|
-
label: issueTypeDisplayNames[typeEnum],
|
|
3265
|
-
count: issuetype.count,
|
|
3266
|
-
};
|
|
3267
|
-
})
|
|
3268
|
-
.filter(sharedUtils.nonNullable)
|
|
3269
|
-
.filter(option => option.label.toLowerCase().includes(debouncedSearchQuery)) ?? []);
|
|
3270
|
-
}, [debouncedSearchQuery, issueTypeDisplayNames, types]);
|
|
3271
|
-
return (jsxRuntime.jsx(filtersFilterBar.DefaultCheckboxFilter, { ...props, customSearch: { value: searchQuery, onChange: setSearchQuery }, loading: loading, options: options }));
|
|
3350
|
+
const { options } = useFleetHealthFilterUtils({
|
|
3351
|
+
filterSummaries: data?.assetSummary?.fleetHealthTypesSummary.summary,
|
|
3352
|
+
filterTranslations: issueTypeDisplayNames,
|
|
3353
|
+
});
|
|
3354
|
+
return (jsxRuntime.jsx(filtersFilterBar.DefaultCheckboxFilter, { ...props, customSearch: { value: searchQuery, onChange: setSearchQuery }, loading: loading, options: options.filter(option => option.label.toLowerCase().includes(debouncedSearchQuery)) }));
|
|
3272
3355
|
};
|
|
3273
3356
|
|
|
3274
3357
|
/**
|
|
@@ -4717,6 +4800,25 @@ const mockForDeviceHealthIssueCategorySummariesQuery = (variables, data) => {
|
|
|
4717
4800
|
},
|
|
4718
4801
|
}, data || {}));
|
|
4719
4802
|
};
|
|
4803
|
+
const mockForDeviceHealthIssueStatusSummariesQuery = (variables, data) => {
|
|
4804
|
+
return reactCoreContextsTest.queryFor(DeviceHealthIssueStatusSummariesDocument, variables, utilities.mergeDeep({
|
|
4805
|
+
__typename: "Query",
|
|
4806
|
+
assetSummary: {
|
|
4807
|
+
__typename: "AssetSummary",
|
|
4808
|
+
fleetHealthDeviceStatusSummary: {
|
|
4809
|
+
__typename: "MetadataSummary",
|
|
4810
|
+
total: 6273236744536064,
|
|
4811
|
+
summary: [
|
|
4812
|
+
{
|
|
4813
|
+
__typename: "Summary",
|
|
4814
|
+
key: "subito",
|
|
4815
|
+
count: 6273236744536064,
|
|
4816
|
+
},
|
|
4817
|
+
],
|
|
4818
|
+
},
|
|
4819
|
+
},
|
|
4820
|
+
}, data || {}));
|
|
4821
|
+
};
|
|
4720
4822
|
const mockForDeviceHealthIssueTypeSummariesQuery = (variables, data) => {
|
|
4721
4823
|
return reactCoreContextsTest.queryFor(DeviceHealthIssueTypeSummariesDocument, variables, utilities.mergeDeep({
|
|
4722
4824
|
__typename: "Query",
|
|
@@ -5280,6 +5382,7 @@ const useDefaultAssetFilterBarDefinition = ({ sitesEnabled, owningDepotEnabled,
|
|
|
5280
5382
|
const accessManagementMode = useAccessManagementModeFilter();
|
|
5281
5383
|
const fleetHealthTypes = useDeviceHealthIssueTypeFilter();
|
|
5282
5384
|
const fleetHealthCategories = useDeviceHealthIssueCategoryFilter();
|
|
5385
|
+
const fleetHealthStatus = useDeviceHealthIssueStatusFilter();
|
|
5283
5386
|
return react.useMemo(() => {
|
|
5284
5387
|
return {
|
|
5285
5388
|
assetType,
|
|
@@ -5306,6 +5409,7 @@ const useDefaultAssetFilterBarDefinition = ({ sitesEnabled, owningDepotEnabled,
|
|
|
5306
5409
|
accessManagementMode,
|
|
5307
5410
|
fleetHealthTypes,
|
|
5308
5411
|
fleetHealthCategories,
|
|
5412
|
+
fleetHealthStatus,
|
|
5309
5413
|
};
|
|
5310
5414
|
}, [
|
|
5311
5415
|
siteIds,
|
|
@@ -5332,6 +5436,7 @@ const useDefaultAssetFilterBarDefinition = ({ sitesEnabled, owningDepotEnabled,
|
|
|
5332
5436
|
accessManagementMode,
|
|
5333
5437
|
fleetHealthTypes,
|
|
5334
5438
|
fleetHealthCategories,
|
|
5439
|
+
fleetHealthStatus,
|
|
5335
5440
|
]);
|
|
5336
5441
|
};
|
|
5337
5442
|
|
|
@@ -5385,6 +5490,7 @@ exports.mapMetadataCompletenessToLabelId = mapMetadataCompletenessToLabelId;
|
|
|
5385
5490
|
exports.metadataCompleteness = metadataCompleteness;
|
|
5386
5491
|
exports.metadataCompletenessOptions = metadataCompletenessOptions;
|
|
5387
5492
|
exports.mockForDeviceHealthIssueCategorySummariesQuery = mockForDeviceHealthIssueCategorySummariesQuery;
|
|
5493
|
+
exports.mockForDeviceHealthIssueStatusSummariesQuery = mockForDeviceHealthIssueStatusSummariesQuery;
|
|
5388
5494
|
exports.mockForDeviceHealthIssueTypeSummariesQuery = mockForDeviceHealthIssueTypeSummariesQuery;
|
|
5389
5495
|
exports.mockForGetAccessManagementModeDesiredSummaryQuery = mockForGetAccessManagementModeDesiredSummaryQuery;
|
|
5390
5496
|
exports.mockForGetAssetTelematicsDeviceConnectionSummaryQuery = mockForGetAssetTelematicsDeviceConnectionSummaryQuery;
|
|
@@ -5425,6 +5531,7 @@ exports.useCriticalityFilter = useCriticalityFilter;
|
|
|
5425
5531
|
exports.useCustomerIdsFilter = useCustomerIdsFilter;
|
|
5426
5532
|
exports.useDefaultAssetFilterBarDefinition = useDefaultAssetFilterBarDefinition;
|
|
5427
5533
|
exports.useDeviceHealthIssueCategoryFilter = useDeviceHealthIssueCategoryFilter;
|
|
5534
|
+
exports.useDeviceHealthIssueStatusFilter = useDeviceHealthIssueStatusFilter;
|
|
5428
5535
|
exports.useDeviceHealthIssueTypeFilter = useDeviceHealthIssueTypeFilter;
|
|
5429
5536
|
exports.useFollowedFilter = useFollowedFilter;
|
|
5430
5537
|
exports.useGroupIdsFilter = useGroupIdsFilter;
|