@trackunit/custom-field-api 1.0.7 → 1.0.8

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.
Files changed (3) hide show
  1. package/index.cjs.js +23 -37
  2. package/index.esm.js +23 -37
  3. package/package.json +2 -2
package/index.cjs.js CHANGED
@@ -2214,7 +2214,6 @@ const getCustomFieldDefinitionFromRelevantNode$1 = (node) => getFragmentData(Cus
2214
2214
  * @returns {UseAllCustomFieldDefinitionsReturnValue} An object containing a loading state and an array of custom field definitions.
2215
2215
  */
2216
2216
  const useAllCustomFieldDefinitions = ({ entityType, filterQuery, owners, systemOfMeasurement, onlyEditable, }) => {
2217
- var _a;
2218
2217
  const { data: definitions, loading } = client.useQuery(GetCustomFieldDefinitionsDocument, {
2219
2218
  variables: {
2220
2219
  entityType,
@@ -2227,27 +2226,25 @@ const useAllCustomFieldDefinitions = ({ entityType, filterQuery, owners, systemO
2227
2226
  },
2228
2227
  });
2229
2228
  const definitionsArray = react.useMemo(() => {
2230
- var _a, _b;
2231
- return (((_b = (_a = definitions === null || definitions === void 0 ? void 0 : definitions.customFieldDefinitions) === null || _a === void 0 ? void 0 : _a.edges) === null || _b === void 0 ? void 0 : _b.map(edge => getCustomFieldDefinitionFromRelevantNode$1(edge === null || edge === void 0 ? void 0 : edge.node))) ||
2229
+ return (definitions?.customFieldDefinitions?.edges?.map(edge => getCustomFieldDefinitionFromRelevantNode$1(edge?.node)) ||
2232
2230
  []);
2233
- }, [(_a = definitions === null || definitions === void 0 ? void 0 : definitions.customFieldDefinitions) === null || _a === void 0 ? void 0 : _a.edges]);
2231
+ }, [definitions?.customFieldDefinitions?.edges]);
2234
2232
  const filteredDefinitions = react.useMemo(() => {
2235
2233
  return definitionsArray
2236
2234
  .filter(sharedUtils.nonNullable)
2237
- .filter(def => { var _a; return (owners && ((_a = def.owner) === null || _a === void 0 ? void 0 : _a.ownerType) ? owners.includes(def.owner.ownerType) : true); })
2235
+ .filter(def => (owners && def.owner?.ownerType ? owners.includes(def.owner.ownerType) : true))
2238
2236
  .filter(def => (onlyEditable ? def.uiEditable : true))
2239
- .filter(def => { var _a; return (filterQuery ? (_a = def.title) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(filterQuery.toLowerCase()) : true); });
2237
+ .filter(def => (filterQuery ? def.title?.toLowerCase().includes(filterQuery.toLowerCase()) : true));
2240
2238
  }, [definitionsArray, filterQuery, owners, onlyEditable]);
2241
2239
  const appNameFromId = react.useCallback((appId) => {
2242
- var _a, _b, _c, _d;
2243
2240
  if (!appId) {
2244
2241
  return undefined;
2245
2242
  }
2246
- const matching = filteredDefinitions.find(definition => { var _a; return ((_a = definition.owner) === null || _a === void 0 ? void 0 : _a.irisAppId) === appId; });
2243
+ const matching = filteredDefinitions.find(definition => definition.owner?.irisAppId === appId);
2247
2244
  if (!matching) {
2248
2245
  return undefined;
2249
2246
  }
2250
- return (_c = (_b = (_a = matching.owner) === null || _a === void 0 ? void 0 : _a.marketplaceEntry) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : (_d = matching.owner) === null || _d === void 0 ? void 0 : _d.irisAppId;
2247
+ return matching.owner?.marketplaceEntry?.name ?? matching.owner?.irisAppId;
2251
2248
  }, [filteredDefinitions]);
2252
2249
  return react.useMemo(() => ({ definitions: filteredDefinitions, loading, appNameFromId }), [filteredDefinitions, loading, appNameFromId]);
2253
2250
  };
@@ -2271,7 +2268,6 @@ const getAllCustomFieldValueAndDefinitionFromRelevantNode = (node) => getFragmen
2271
2268
  * @returns {UseAllCustomFieldsValueAndDefinitionReturnValue} An object containing a loading state and an array of custom fields and definitions.
2272
2269
  */
2273
2270
  const useAllCustomFieldsValueAndDefinition = ({ entityId, entityType, systemOfMeasurement, }) => {
2274
- var _a, _b, _c, _d;
2275
2271
  const { data: assetFields, loading: loadingAssetFields, refetch: refetchAssetFields, } = client.useQuery(GetCustomFieldsForAssetDocument, {
2276
2272
  variables: {
2277
2273
  // eslint-disable-next-line local-rules/no-typescript-assertion
@@ -2299,16 +2295,15 @@ const useAllCustomFieldsValueAndDefinition = ({ entityId, entityType, systemOfMe
2299
2295
  },
2300
2296
  });
2301
2297
  const fields = react.useMemo(() => {
2302
- var _a, _b, _c, _d, _e, _f;
2303
2298
  switch (entityType) {
2304
2299
  case "ASSET":
2305
- return (((_c = (_b = (_a = assetFields === null || assetFields === void 0 ? void 0 : assetFields.asset) === null || _a === void 0 ? void 0 : _a.customFields) === null || _b === void 0 ? void 0 : _b.edges) === null || _c === void 0 ? void 0 : _c.map(edge => getAllCustomFieldValueAndDefinitionFromRelevantNode(edge === null || edge === void 0 ? void 0 : edge.node))) || []);
2300
+ return (assetFields?.asset?.customFields?.edges?.map(edge => getAllCustomFieldValueAndDefinitionFromRelevantNode(edge?.node)) || []);
2306
2301
  case "SITE":
2307
- return (((_f = (_e = (_d = siteFields === null || siteFields === void 0 ? void 0 : siteFields.site) === null || _d === void 0 ? void 0 : _d.customFields) === null || _e === void 0 ? void 0 : _e.edges) === null || _f === void 0 ? void 0 : _f.map(edge => getAllCustomFieldValueAndDefinitionFromRelevantNode(edge === null || edge === void 0 ? void 0 : edge.node))) || []);
2302
+ return (siteFields?.site?.customFields?.edges?.map(edge => getAllCustomFieldValueAndDefinitionFromRelevantNode(edge?.node)) || []);
2308
2303
  default:
2309
2304
  return [];
2310
2305
  }
2311
- }, [(_b = (_a = assetFields === null || assetFields === void 0 ? void 0 : assetFields.asset) === null || _a === void 0 ? void 0 : _a.customFields) === null || _b === void 0 ? void 0 : _b.edges, entityType, (_d = (_c = siteFields === null || siteFields === void 0 ? void 0 : siteFields.site) === null || _c === void 0 ? void 0 : _c.customFields) === null || _d === void 0 ? void 0 : _d.edges]);
2306
+ }, [assetFields?.asset?.customFields?.edges, entityType, siteFields?.site?.customFields?.edges]);
2312
2307
  const loading = react.useMemo(() => loadingAssetFields || loadingSiteFields, [loadingAssetFields, loadingSiteFields]);
2313
2308
  const noneNullableFields = react.useMemo(() => fields.filter(sharedUtils.nonNullable), [fields]);
2314
2309
  const refetch = react.useCallback(async () => {
@@ -2381,7 +2376,6 @@ const getCustomFieldDefinitionFromRelevantNode = (node) => getFragmentData(Custo
2381
2376
  * @returns {UseCustomFieldDefinitionsReturnValue} An object containing a loading state and an array of custom field definitions.
2382
2377
  */
2383
2378
  const useCustomFieldDefinitions = ({ entityType, filterQuery, owners, systemOfMeasurement, onlyEditable, }) => {
2384
- var _a;
2385
2379
  const { irisAppId } = reactCoreHooks.useIrisAppId();
2386
2380
  const { data: definitions, loading } = client.useQuery(GetCustomFieldDefinitionsForIrisAppDocument, {
2387
2381
  variables: {
@@ -2398,32 +2392,27 @@ const useCustomFieldDefinitions = ({ entityType, filterQuery, owners, systemOfMe
2398
2392
  });
2399
2393
  const { language } = reactCoreHooks.useCurrentUserLanguage();
2400
2394
  const definitionsArray = react.useMemo(() => {
2401
- var _a, _b;
2402
- return (((_b = (_a = definitions === null || definitions === void 0 ? void 0 : definitions.customFieldDefinitions) === null || _a === void 0 ? void 0 : _a.edges) === null || _b === void 0 ? void 0 : _b.map(edge => getCustomFieldDefinitionFromRelevantNode(edge === null || edge === void 0 ? void 0 : edge.node))) ||
2395
+ return (definitions?.customFieldDefinitions?.edges?.map(edge => getCustomFieldDefinitionFromRelevantNode(edge?.node)) ||
2403
2396
  []);
2404
- }, [(_a = definitions === null || definitions === void 0 ? void 0 : definitions.customFieldDefinitions) === null || _a === void 0 ? void 0 : _a.edges]);
2397
+ }, [definitions?.customFieldDefinitions?.edges]);
2405
2398
  const filteredDefinitions = react.useMemo(() => definitionsArray
2406
2399
  .filter(sharedUtils.nonNullable)
2407
- .filter(def => { var _a; return (owners && ((_a = def.owner) === null || _a === void 0 ? void 0 : _a.ownerType) ? owners.includes(def.owner.ownerType) : true); })
2400
+ .filter(def => (owners && def.owner?.ownerType ? owners.includes(def.owner.ownerType) : true))
2408
2401
  .filter(def => (onlyEditable ? def.uiEditable : true))
2409
- .map(def => {
2410
- var _a, _b, _c;
2411
- return ({
2412
- ...def,
2413
- title: (_c = (_b = (_a = def.translations) === null || _a === void 0 ? void 0 : _a.find(t => (t === null || t === void 0 ? void 0 : t.language) === language || (t === null || t === void 0 ? void 0 : t.language) === "en")) === null || _b === void 0 ? void 0 : _b.title) !== null && _c !== void 0 ? _c : "",
2414
- });
2415
- })
2402
+ .map(def => ({
2403
+ ...def,
2404
+ title: def.translations?.find(t => t?.language === language || t?.language === "en")?.title ?? "",
2405
+ }))
2416
2406
  .filter(def => (filterQuery ? def.title.toLowerCase().includes(filterQuery.toLowerCase()) : true)), [definitionsArray, filterQuery, language, owners, onlyEditable]);
2417
2407
  const appNameFromId = react.useCallback((appId) => {
2418
- var _a, _b, _c, _d;
2419
2408
  if (!appId) {
2420
2409
  return undefined;
2421
2410
  }
2422
- const matching = filteredDefinitions.find(definition => { var _a; return ((_a = definition.owner) === null || _a === void 0 ? void 0 : _a.irisAppId) === appId; });
2411
+ const matching = filteredDefinitions.find(definition => definition.owner?.irisAppId === appId);
2423
2412
  if (!matching) {
2424
2413
  return undefined;
2425
2414
  }
2426
- return (_c = (_b = (_a = matching.owner) === null || _a === void 0 ? void 0 : _a.marketplaceEntry) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : (_d = matching.owner) === null || _d === void 0 ? void 0 : _d.irisAppId;
2415
+ return matching.owner?.marketplaceEntry?.name ?? matching.owner?.irisAppId;
2427
2416
  }, [filteredDefinitions]);
2428
2417
  return react.useMemo(() => ({ definitions: filteredDefinitions, loading, appNameFromId }), [filteredDefinitions, loading, appNameFromId]);
2429
2418
  };
@@ -2448,7 +2437,6 @@ const getCustomFieldValueAndDefinitionFromRelevantNode = (node) => getFragmentDa
2448
2437
  * @returns {UseCustomFieldsValueAndDefinitionReturnValue} An object containing a loading state and an array of custom fields and definitions.
2449
2438
  */
2450
2439
  const useCustomFieldsValueAndDefinition = ({ entityId, entityType, systemOfMeasurement, }) => {
2451
- var _a, _b, _c, _d;
2452
2440
  const { irisAppId } = reactCoreHooks.useIrisAppId();
2453
2441
  const { data: assetFields, loading: loadingAssetFields } = client.useQuery(GetCustomFieldsForAssetForIrisAppDocument, {
2454
2442
  variables: {
@@ -2481,16 +2469,15 @@ const useCustomFieldsValueAndDefinition = ({ entityId, entityType, systemOfMeasu
2481
2469
  },
2482
2470
  });
2483
2471
  const fields = react.useMemo(() => {
2484
- var _a, _b, _c, _d, _e, _f;
2485
2472
  switch (entityType) {
2486
2473
  case "ASSET":
2487
- return (((_c = (_b = (_a = assetFields === null || assetFields === void 0 ? void 0 : assetFields.asset) === null || _a === void 0 ? void 0 : _a.customFields) === null || _b === void 0 ? void 0 : _b.edges) === null || _c === void 0 ? void 0 : _c.map(edge => getCustomFieldValueAndDefinitionFromRelevantNode(edge === null || edge === void 0 ? void 0 : edge.node))) || []);
2474
+ return (assetFields?.asset?.customFields?.edges?.map(edge => getCustomFieldValueAndDefinitionFromRelevantNode(edge?.node)) || []);
2488
2475
  case "SITE":
2489
- return (((_f = (_e = (_d = siteFields === null || siteFields === void 0 ? void 0 : siteFields.site) === null || _d === void 0 ? void 0 : _d.customFields) === null || _e === void 0 ? void 0 : _e.edges) === null || _f === void 0 ? void 0 : _f.map(edge => getCustomFieldValueAndDefinitionFromRelevantNode(edge === null || edge === void 0 ? void 0 : edge.node))) || []);
2476
+ return (siteFields?.site?.customFields?.edges?.map(edge => getCustomFieldValueAndDefinitionFromRelevantNode(edge?.node)) || []);
2490
2477
  default:
2491
2478
  return [];
2492
2479
  }
2493
- }, [(_b = (_a = assetFields === null || assetFields === void 0 ? void 0 : assetFields.asset) === null || _a === void 0 ? void 0 : _a.customFields) === null || _b === void 0 ? void 0 : _b.edges, entityType, (_d = (_c = siteFields === null || siteFields === void 0 ? void 0 : siteFields.site) === null || _c === void 0 ? void 0 : _c.customFields) === null || _d === void 0 ? void 0 : _d.edges]);
2480
+ }, [assetFields?.asset?.customFields?.edges, entityType, siteFields?.site?.customFields?.edges]);
2494
2481
  const loading = react.useMemo(() => loadingAssetFields || loadingSiteFields, [loadingAssetFields, loadingSiteFields]);
2495
2482
  const noneNullableFields = react.useMemo(() => fields.filter(sharedUtils.nonNullable), [fields]);
2496
2483
  return react.useMemo(() => ({ fields: noneNullableFields, loading }), [noneNullableFields, loading]);
@@ -2551,14 +2538,13 @@ const useUpdateCustomFieldValues = (entityId, entityType, customFields, systemOf
2551
2538
  // Transform data to custom field updates
2552
2539
  const fieldUpdates = sharedUtils.objectKeys(data)
2553
2540
  .map(fieldId => {
2554
- var _a, _b;
2555
2541
  const originalField = customFieldsMap[fieldId];
2556
- const definition = originalField === null || originalField === void 0 ? void 0 : originalField.definition;
2542
+ const definition = originalField?.definition;
2557
2543
  return {
2558
2544
  id: fieldId,
2559
2545
  value: data[fieldId],
2560
2546
  definition,
2561
- editable: (_b = (_a = originalField === null || originalField === void 0 ? void 0 : originalField.valueEditable) !== null && _a !== void 0 ? _a : definition === null || definition === void 0 ? void 0 : definition.uiEditable) !== null && _b !== void 0 ? _b : true,
2547
+ editable: originalField?.valueEditable ?? definition?.uiEditable ?? true,
2562
2548
  };
2563
2549
  })
2564
2550
  .filter(({ editable }) => editable)
package/index.esm.js CHANGED
@@ -2212,7 +2212,6 @@ const getCustomFieldDefinitionFromRelevantNode$1 = (node) => getFragmentData(Cus
2212
2212
  * @returns {UseAllCustomFieldDefinitionsReturnValue} An object containing a loading state and an array of custom field definitions.
2213
2213
  */
2214
2214
  const useAllCustomFieldDefinitions = ({ entityType, filterQuery, owners, systemOfMeasurement, onlyEditable, }) => {
2215
- var _a;
2216
2215
  const { data: definitions, loading } = useQuery(GetCustomFieldDefinitionsDocument, {
2217
2216
  variables: {
2218
2217
  entityType,
@@ -2225,27 +2224,25 @@ const useAllCustomFieldDefinitions = ({ entityType, filterQuery, owners, systemO
2225
2224
  },
2226
2225
  });
2227
2226
  const definitionsArray = useMemo(() => {
2228
- var _a, _b;
2229
- return (((_b = (_a = definitions === null || definitions === void 0 ? void 0 : definitions.customFieldDefinitions) === null || _a === void 0 ? void 0 : _a.edges) === null || _b === void 0 ? void 0 : _b.map(edge => getCustomFieldDefinitionFromRelevantNode$1(edge === null || edge === void 0 ? void 0 : edge.node))) ||
2227
+ return (definitions?.customFieldDefinitions?.edges?.map(edge => getCustomFieldDefinitionFromRelevantNode$1(edge?.node)) ||
2230
2228
  []);
2231
- }, [(_a = definitions === null || definitions === void 0 ? void 0 : definitions.customFieldDefinitions) === null || _a === void 0 ? void 0 : _a.edges]);
2229
+ }, [definitions?.customFieldDefinitions?.edges]);
2232
2230
  const filteredDefinitions = useMemo(() => {
2233
2231
  return definitionsArray
2234
2232
  .filter(nonNullable)
2235
- .filter(def => { var _a; return (owners && ((_a = def.owner) === null || _a === void 0 ? void 0 : _a.ownerType) ? owners.includes(def.owner.ownerType) : true); })
2233
+ .filter(def => (owners && def.owner?.ownerType ? owners.includes(def.owner.ownerType) : true))
2236
2234
  .filter(def => (onlyEditable ? def.uiEditable : true))
2237
- .filter(def => { var _a; return (filterQuery ? (_a = def.title) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(filterQuery.toLowerCase()) : true); });
2235
+ .filter(def => (filterQuery ? def.title?.toLowerCase().includes(filterQuery.toLowerCase()) : true));
2238
2236
  }, [definitionsArray, filterQuery, owners, onlyEditable]);
2239
2237
  const appNameFromId = useCallback((appId) => {
2240
- var _a, _b, _c, _d;
2241
2238
  if (!appId) {
2242
2239
  return undefined;
2243
2240
  }
2244
- const matching = filteredDefinitions.find(definition => { var _a; return ((_a = definition.owner) === null || _a === void 0 ? void 0 : _a.irisAppId) === appId; });
2241
+ const matching = filteredDefinitions.find(definition => definition.owner?.irisAppId === appId);
2245
2242
  if (!matching) {
2246
2243
  return undefined;
2247
2244
  }
2248
- return (_c = (_b = (_a = matching.owner) === null || _a === void 0 ? void 0 : _a.marketplaceEntry) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : (_d = matching.owner) === null || _d === void 0 ? void 0 : _d.irisAppId;
2245
+ return matching.owner?.marketplaceEntry?.name ?? matching.owner?.irisAppId;
2249
2246
  }, [filteredDefinitions]);
2250
2247
  return useMemo(() => ({ definitions: filteredDefinitions, loading, appNameFromId }), [filteredDefinitions, loading, appNameFromId]);
2251
2248
  };
@@ -2269,7 +2266,6 @@ const getAllCustomFieldValueAndDefinitionFromRelevantNode = (node) => getFragmen
2269
2266
  * @returns {UseAllCustomFieldsValueAndDefinitionReturnValue} An object containing a loading state and an array of custom fields and definitions.
2270
2267
  */
2271
2268
  const useAllCustomFieldsValueAndDefinition = ({ entityId, entityType, systemOfMeasurement, }) => {
2272
- var _a, _b, _c, _d;
2273
2269
  const { data: assetFields, loading: loadingAssetFields, refetch: refetchAssetFields, } = useQuery(GetCustomFieldsForAssetDocument, {
2274
2270
  variables: {
2275
2271
  // eslint-disable-next-line local-rules/no-typescript-assertion
@@ -2297,16 +2293,15 @@ const useAllCustomFieldsValueAndDefinition = ({ entityId, entityType, systemOfMe
2297
2293
  },
2298
2294
  });
2299
2295
  const fields = useMemo(() => {
2300
- var _a, _b, _c, _d, _e, _f;
2301
2296
  switch (entityType) {
2302
2297
  case "ASSET":
2303
- return (((_c = (_b = (_a = assetFields === null || assetFields === void 0 ? void 0 : assetFields.asset) === null || _a === void 0 ? void 0 : _a.customFields) === null || _b === void 0 ? void 0 : _b.edges) === null || _c === void 0 ? void 0 : _c.map(edge => getAllCustomFieldValueAndDefinitionFromRelevantNode(edge === null || edge === void 0 ? void 0 : edge.node))) || []);
2298
+ return (assetFields?.asset?.customFields?.edges?.map(edge => getAllCustomFieldValueAndDefinitionFromRelevantNode(edge?.node)) || []);
2304
2299
  case "SITE":
2305
- return (((_f = (_e = (_d = siteFields === null || siteFields === void 0 ? void 0 : siteFields.site) === null || _d === void 0 ? void 0 : _d.customFields) === null || _e === void 0 ? void 0 : _e.edges) === null || _f === void 0 ? void 0 : _f.map(edge => getAllCustomFieldValueAndDefinitionFromRelevantNode(edge === null || edge === void 0 ? void 0 : edge.node))) || []);
2300
+ return (siteFields?.site?.customFields?.edges?.map(edge => getAllCustomFieldValueAndDefinitionFromRelevantNode(edge?.node)) || []);
2306
2301
  default:
2307
2302
  return [];
2308
2303
  }
2309
- }, [(_b = (_a = assetFields === null || assetFields === void 0 ? void 0 : assetFields.asset) === null || _a === void 0 ? void 0 : _a.customFields) === null || _b === void 0 ? void 0 : _b.edges, entityType, (_d = (_c = siteFields === null || siteFields === void 0 ? void 0 : siteFields.site) === null || _c === void 0 ? void 0 : _c.customFields) === null || _d === void 0 ? void 0 : _d.edges]);
2304
+ }, [assetFields?.asset?.customFields?.edges, entityType, siteFields?.site?.customFields?.edges]);
2310
2305
  const loading = useMemo(() => loadingAssetFields || loadingSiteFields, [loadingAssetFields, loadingSiteFields]);
2311
2306
  const noneNullableFields = useMemo(() => fields.filter(nonNullable), [fields]);
2312
2307
  const refetch = useCallback(async () => {
@@ -2379,7 +2374,6 @@ const getCustomFieldDefinitionFromRelevantNode = (node) => getFragmentData(Custo
2379
2374
  * @returns {UseCustomFieldDefinitionsReturnValue} An object containing a loading state and an array of custom field definitions.
2380
2375
  */
2381
2376
  const useCustomFieldDefinitions = ({ entityType, filterQuery, owners, systemOfMeasurement, onlyEditable, }) => {
2382
- var _a;
2383
2377
  const { irisAppId } = useIrisAppId();
2384
2378
  const { data: definitions, loading } = useQuery(GetCustomFieldDefinitionsForIrisAppDocument, {
2385
2379
  variables: {
@@ -2396,32 +2390,27 @@ const useCustomFieldDefinitions = ({ entityType, filterQuery, owners, systemOfMe
2396
2390
  });
2397
2391
  const { language } = useCurrentUserLanguage();
2398
2392
  const definitionsArray = useMemo(() => {
2399
- var _a, _b;
2400
- return (((_b = (_a = definitions === null || definitions === void 0 ? void 0 : definitions.customFieldDefinitions) === null || _a === void 0 ? void 0 : _a.edges) === null || _b === void 0 ? void 0 : _b.map(edge => getCustomFieldDefinitionFromRelevantNode(edge === null || edge === void 0 ? void 0 : edge.node))) ||
2393
+ return (definitions?.customFieldDefinitions?.edges?.map(edge => getCustomFieldDefinitionFromRelevantNode(edge?.node)) ||
2401
2394
  []);
2402
- }, [(_a = definitions === null || definitions === void 0 ? void 0 : definitions.customFieldDefinitions) === null || _a === void 0 ? void 0 : _a.edges]);
2395
+ }, [definitions?.customFieldDefinitions?.edges]);
2403
2396
  const filteredDefinitions = useMemo(() => definitionsArray
2404
2397
  .filter(nonNullable)
2405
- .filter(def => { var _a; return (owners && ((_a = def.owner) === null || _a === void 0 ? void 0 : _a.ownerType) ? owners.includes(def.owner.ownerType) : true); })
2398
+ .filter(def => (owners && def.owner?.ownerType ? owners.includes(def.owner.ownerType) : true))
2406
2399
  .filter(def => (onlyEditable ? def.uiEditable : true))
2407
- .map(def => {
2408
- var _a, _b, _c;
2409
- return ({
2410
- ...def,
2411
- title: (_c = (_b = (_a = def.translations) === null || _a === void 0 ? void 0 : _a.find(t => (t === null || t === void 0 ? void 0 : t.language) === language || (t === null || t === void 0 ? void 0 : t.language) === "en")) === null || _b === void 0 ? void 0 : _b.title) !== null && _c !== void 0 ? _c : "",
2412
- });
2413
- })
2400
+ .map(def => ({
2401
+ ...def,
2402
+ title: def.translations?.find(t => t?.language === language || t?.language === "en")?.title ?? "",
2403
+ }))
2414
2404
  .filter(def => (filterQuery ? def.title.toLowerCase().includes(filterQuery.toLowerCase()) : true)), [definitionsArray, filterQuery, language, owners, onlyEditable]);
2415
2405
  const appNameFromId = useCallback((appId) => {
2416
- var _a, _b, _c, _d;
2417
2406
  if (!appId) {
2418
2407
  return undefined;
2419
2408
  }
2420
- const matching = filteredDefinitions.find(definition => { var _a; return ((_a = definition.owner) === null || _a === void 0 ? void 0 : _a.irisAppId) === appId; });
2409
+ const matching = filteredDefinitions.find(definition => definition.owner?.irisAppId === appId);
2421
2410
  if (!matching) {
2422
2411
  return undefined;
2423
2412
  }
2424
- return (_c = (_b = (_a = matching.owner) === null || _a === void 0 ? void 0 : _a.marketplaceEntry) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : (_d = matching.owner) === null || _d === void 0 ? void 0 : _d.irisAppId;
2413
+ return matching.owner?.marketplaceEntry?.name ?? matching.owner?.irisAppId;
2425
2414
  }, [filteredDefinitions]);
2426
2415
  return useMemo(() => ({ definitions: filteredDefinitions, loading, appNameFromId }), [filteredDefinitions, loading, appNameFromId]);
2427
2416
  };
@@ -2446,7 +2435,6 @@ const getCustomFieldValueAndDefinitionFromRelevantNode = (node) => getFragmentDa
2446
2435
  * @returns {UseCustomFieldsValueAndDefinitionReturnValue} An object containing a loading state and an array of custom fields and definitions.
2447
2436
  */
2448
2437
  const useCustomFieldsValueAndDefinition = ({ entityId, entityType, systemOfMeasurement, }) => {
2449
- var _a, _b, _c, _d;
2450
2438
  const { irisAppId } = useIrisAppId();
2451
2439
  const { data: assetFields, loading: loadingAssetFields } = useQuery(GetCustomFieldsForAssetForIrisAppDocument, {
2452
2440
  variables: {
@@ -2479,16 +2467,15 @@ const useCustomFieldsValueAndDefinition = ({ entityId, entityType, systemOfMeasu
2479
2467
  },
2480
2468
  });
2481
2469
  const fields = useMemo(() => {
2482
- var _a, _b, _c, _d, _e, _f;
2483
2470
  switch (entityType) {
2484
2471
  case "ASSET":
2485
- return (((_c = (_b = (_a = assetFields === null || assetFields === void 0 ? void 0 : assetFields.asset) === null || _a === void 0 ? void 0 : _a.customFields) === null || _b === void 0 ? void 0 : _b.edges) === null || _c === void 0 ? void 0 : _c.map(edge => getCustomFieldValueAndDefinitionFromRelevantNode(edge === null || edge === void 0 ? void 0 : edge.node))) || []);
2472
+ return (assetFields?.asset?.customFields?.edges?.map(edge => getCustomFieldValueAndDefinitionFromRelevantNode(edge?.node)) || []);
2486
2473
  case "SITE":
2487
- return (((_f = (_e = (_d = siteFields === null || siteFields === void 0 ? void 0 : siteFields.site) === null || _d === void 0 ? void 0 : _d.customFields) === null || _e === void 0 ? void 0 : _e.edges) === null || _f === void 0 ? void 0 : _f.map(edge => getCustomFieldValueAndDefinitionFromRelevantNode(edge === null || edge === void 0 ? void 0 : edge.node))) || []);
2474
+ return (siteFields?.site?.customFields?.edges?.map(edge => getCustomFieldValueAndDefinitionFromRelevantNode(edge?.node)) || []);
2488
2475
  default:
2489
2476
  return [];
2490
2477
  }
2491
- }, [(_b = (_a = assetFields === null || assetFields === void 0 ? void 0 : assetFields.asset) === null || _a === void 0 ? void 0 : _a.customFields) === null || _b === void 0 ? void 0 : _b.edges, entityType, (_d = (_c = siteFields === null || siteFields === void 0 ? void 0 : siteFields.site) === null || _c === void 0 ? void 0 : _c.customFields) === null || _d === void 0 ? void 0 : _d.edges]);
2478
+ }, [assetFields?.asset?.customFields?.edges, entityType, siteFields?.site?.customFields?.edges]);
2492
2479
  const loading = useMemo(() => loadingAssetFields || loadingSiteFields, [loadingAssetFields, loadingSiteFields]);
2493
2480
  const noneNullableFields = useMemo(() => fields.filter(nonNullable), [fields]);
2494
2481
  return useMemo(() => ({ fields: noneNullableFields, loading }), [noneNullableFields, loading]);
@@ -2549,14 +2536,13 @@ const useUpdateCustomFieldValues = (entityId, entityType, customFields, systemOf
2549
2536
  // Transform data to custom field updates
2550
2537
  const fieldUpdates = objectKeys(data)
2551
2538
  .map(fieldId => {
2552
- var _a, _b;
2553
2539
  const originalField = customFieldsMap[fieldId];
2554
- const definition = originalField === null || originalField === void 0 ? void 0 : originalField.definition;
2540
+ const definition = originalField?.definition;
2555
2541
  return {
2556
2542
  id: fieldId,
2557
2543
  value: data[fieldId],
2558
2544
  definition,
2559
- editable: (_b = (_a = originalField === null || originalField === void 0 ? void 0 : originalField.valueEditable) !== null && _a !== void 0 ? _a : definition === null || definition === void 0 ? void 0 : definition.uiEditable) !== null && _b !== void 0 ? _b : true,
2545
+ editable: originalField?.valueEditable ?? definition?.uiEditable ?? true,
2560
2546
  };
2561
2547
  })
2562
2548
  .filter(({ editable }) => editable)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/custom-field-api",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "engines": {
5
5
  "node": ">=20.x"
6
6
  },
@@ -12,7 +12,7 @@
12
12
  "graphql": "^16.9.0",
13
13
  "@apollo/client": "3.10.4",
14
14
  "react": "18.3.1",
15
- "@trackunit/iris-app-build-utilities": "^1.0.4",
15
+ "@trackunit/iris-app-build-utilities": "^1.0.5",
16
16
  "@trackunit/iris-app-api": "^1.0.4",
17
17
  "@trackunit/react-core-contexts-test": "^1.0.5",
18
18
  "@trackunit/shared-utils": "^1.0.3",