@trackunit/custom-field-api 0.1.92 → 0.1.96

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
@@ -6,6 +6,8 @@ var client = require('@apollo/client');
6
6
  var reactCoreHooks = require('@trackunit/react-core-hooks');
7
7
  var sharedUtils = require('@trackunit/shared-utils');
8
8
  var react = require('react');
9
+ var irisAppRuntimeCore = require('@trackunit/iris-app-runtime-core');
10
+ var reactCoreContextsApi = require('@trackunit/react-core-contexts-api');
9
11
 
10
12
  function getFragmentData(_documentNode, fragmentType) {
11
13
  return fragmentType;
@@ -1142,6 +1144,104 @@ const GetCustomFieldDefinitionsDocument = {
1142
1144
  },
1143
1145
  ],
1144
1146
  };
1147
+ const UpdateCustomFieldValuesDocument = {
1148
+ kind: "Document",
1149
+ definitions: [
1150
+ {
1151
+ kind: "OperationDefinition",
1152
+ operation: "mutation",
1153
+ name: { kind: "Name", value: "UpdateCustomFieldValues" },
1154
+ variableDefinitions: [
1155
+ {
1156
+ kind: "VariableDefinition",
1157
+ variable: { kind: "Variable", name: { kind: "Name", value: "customFields" } },
1158
+ type: {
1159
+ kind: "NonNullType",
1160
+ type: {
1161
+ kind: "ListType",
1162
+ type: {
1163
+ kind: "NonNullType",
1164
+ type: { kind: "NamedType", name: { kind: "Name", value: "SetCustomFieldValueInput" } },
1165
+ },
1166
+ },
1167
+ },
1168
+ },
1169
+ {
1170
+ kind: "VariableDefinition",
1171
+ variable: { kind: "Variable", name: { kind: "Name", value: "entityId" } },
1172
+ type: { kind: "NonNullType", type: { kind: "NamedType", name: { kind: "Name", value: "ID" } } },
1173
+ },
1174
+ {
1175
+ kind: "VariableDefinition",
1176
+ variable: { kind: "Variable", name: { kind: "Name", value: "entityType" } },
1177
+ type: {
1178
+ kind: "NonNullType",
1179
+ type: { kind: "NamedType", name: { kind: "Name", value: "CustomFieldEntityType" } },
1180
+ },
1181
+ },
1182
+ {
1183
+ kind: "VariableDefinition",
1184
+ variable: { kind: "Variable", name: { kind: "Name", value: "systemOfMeasurement" } },
1185
+ type: { kind: "NamedType", name: { kind: "Name", value: "SystemOfMeasurement" } },
1186
+ },
1187
+ ],
1188
+ selectionSet: {
1189
+ kind: "SelectionSet",
1190
+ selections: [
1191
+ {
1192
+ kind: "Field",
1193
+ name: { kind: "Name", value: "customFieldSetValues" },
1194
+ arguments: [
1195
+ {
1196
+ kind: "Argument",
1197
+ name: { kind: "Name", value: "input" },
1198
+ value: {
1199
+ kind: "ObjectValue",
1200
+ fields: [
1201
+ {
1202
+ kind: "ObjectField",
1203
+ name: { kind: "Name", value: "entityId" },
1204
+ value: { kind: "Variable", name: { kind: "Name", value: "entityId" } },
1205
+ },
1206
+ {
1207
+ kind: "ObjectField",
1208
+ name: { kind: "Name", value: "entityType" },
1209
+ value: { kind: "Variable", name: { kind: "Name", value: "entityType" } },
1210
+ },
1211
+ {
1212
+ kind: "ObjectField",
1213
+ name: { kind: "Name", value: "values" },
1214
+ value: { kind: "Variable", name: { kind: "Name", value: "customFields" } },
1215
+ },
1216
+ ],
1217
+ },
1218
+ },
1219
+ {
1220
+ kind: "Argument",
1221
+ name: { kind: "Name", value: "systemOfMeasurement" },
1222
+ value: { kind: "Variable", name: { kind: "Name", value: "systemOfMeasurement" } },
1223
+ },
1224
+ ],
1225
+ selectionSet: {
1226
+ kind: "SelectionSet",
1227
+ selections: [
1228
+ { kind: "Field", name: { kind: "Name", value: "success" } },
1229
+ {
1230
+ kind: "Field",
1231
+ name: { kind: "Name", value: "fieldsWithInvalidValues" },
1232
+ selectionSet: {
1233
+ kind: "SelectionSet",
1234
+ selections: [{ kind: "Field", name: { kind: "Name", value: "definitionId" } }],
1235
+ },
1236
+ },
1237
+ ],
1238
+ },
1239
+ },
1240
+ ],
1241
+ },
1242
+ },
1243
+ ],
1244
+ };
1145
1245
 
1146
1246
  const getCustomFieldDefinitionFromRelevantNode = (node) => getFragmentData(CustomFieldDefinitionFragmentDoc, node);
1147
1247
  /**
@@ -1295,6 +1395,93 @@ const customFieldHasValue = (field) => {
1295
1395
  }
1296
1396
  };
1297
1397
 
1398
+ /******************************************************************************
1399
+ Copyright (c) Microsoft Corporation.
1400
+
1401
+ Permission to use, copy, modify, and/or distribute this software for any
1402
+ purpose with or without fee is hereby granted.
1403
+
1404
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
1405
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1406
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
1407
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1408
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
1409
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1410
+ PERFORMANCE OF THIS SOFTWARE.
1411
+ ***************************************************************************** */
1412
+
1413
+ function __rest(s, e) {
1414
+ var t = {};
1415
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
1416
+ t[p] = s[p];
1417
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
1418
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
1419
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
1420
+ t[p[i]] = s[p[i]];
1421
+ }
1422
+ return t;
1423
+ }
1424
+
1425
+ function __awaiter(thisArg, _arguments, P, generator) {
1426
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1427
+ return new (P || (P = Promise))(function (resolve, reject) {
1428
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
1429
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
1430
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
1431
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
1432
+ });
1433
+ }
1434
+
1435
+ /**
1436
+ * Execute custom fields update from form data
1437
+ */
1438
+ const useUpdateCustomFieldValues = (entityId, entityType, customFields, systemOfMeasurement = reactCoreContextsApi.SystemOfMeasurement.Si) => {
1439
+ const [setCustomFieldValues, { data: saveResult, loading: savingCustomFields }] = client.useMutation(UpdateCustomFieldValuesDocument, { refetchQueries: ["GetCustomFieldsForAsset"] });
1440
+ const customFieldsMap = react.useMemo(() => customFields.reduce((acc, current) => (Object.assign(Object.assign({}, acc), { [current.definition.id]: current })), {}), [customFields]);
1441
+ const updateCustomFields = react.useCallback((data) => __awaiter(void 0, void 0, void 0, function* () {
1442
+ // Transform data to custom field updates
1443
+ const fieldUpdates = sharedUtils.objectKeys(data)
1444
+ .map(fieldId => {
1445
+ var _a, _b;
1446
+ const originalField = customFieldsMap[fieldId];
1447
+ const definition = originalField === null || originalField === void 0 ? void 0 : originalField.definition;
1448
+ return {
1449
+ id: fieldId,
1450
+ value: data[fieldId],
1451
+ definition,
1452
+ 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,
1453
+ };
1454
+ })
1455
+ .filter(({ editable }) => editable)
1456
+ .map(({ id, value, definition }) => {
1457
+ if (definition && irisAppRuntimeCore.isValidCustomFieldValue(value)) {
1458
+ const _a = irisAppRuntimeCore.getCustomFieldValueToSaveFromRawValue(definition, value), newValue = __rest(_a, ["type"]);
1459
+ return {
1460
+ definitionId: id,
1461
+ value: Object.assign({}, newValue),
1462
+ };
1463
+ }
1464
+ return null;
1465
+ })
1466
+ .filter(sharedUtils.nonNullable);
1467
+ // execute update
1468
+ const customFieldsUpdateResponse = yield setCustomFieldValues({
1469
+ variables: {
1470
+ entityId,
1471
+ entityType,
1472
+ customFields: fieldUpdates,
1473
+ systemOfMeasurement,
1474
+ },
1475
+ });
1476
+ return customFieldsUpdateResponse;
1477
+ }), [customFieldsMap, entityId, entityType, setCustomFieldValues, systemOfMeasurement]);
1478
+ return react.useMemo(() => ({
1479
+ updateCustomFields,
1480
+ result: saveResult,
1481
+ inProgress: savingCustomFields,
1482
+ }), [updateCustomFields, saveResult, savingCustomFields]);
1483
+ };
1484
+
1298
1485
  exports.GetCustomFieldDefinitionsDocument = GetCustomFieldDefinitionsDocument;
1299
1486
  exports.GetCustomFieldsForAssetDocument = GetCustomFieldsForAssetDocument;
1300
1487
  exports.GetCustomFieldsForSiteDocument = GetCustomFieldsForSiteDocument;
@@ -1302,3 +1489,4 @@ exports.customFieldHasValue = customFieldHasValue;
1302
1489
  exports.getCustomFieldValueAndDefinitionFromRelevantNode = getCustomFieldValueAndDefinitionFromRelevantNode;
1303
1490
  exports.useCustomFieldDefinitions = useCustomFieldDefinitions;
1304
1491
  exports.useCustomFieldsValueAndDefinition = useCustomFieldsValueAndDefinition;
1492
+ exports.useUpdateCustomFieldValues = useUpdateCustomFieldValues;
package/index.esm.js CHANGED
@@ -1,7 +1,9 @@
1
- import { useQuery } from '@apollo/client';
1
+ import { useQuery, useMutation } from '@apollo/client';
2
2
  import { useCurrentUserLanguage } from '@trackunit/react-core-hooks';
3
- import { nonNullable, exhaustiveCheck } from '@trackunit/shared-utils';
3
+ import { nonNullable, exhaustiveCheck, objectKeys } from '@trackunit/shared-utils';
4
4
  import { useMemo, useCallback } from 'react';
5
+ import { isValidCustomFieldValue, getCustomFieldValueToSaveFromRawValue } from '@trackunit/iris-app-runtime-core';
6
+ import { SystemOfMeasurement } from '@trackunit/react-core-contexts-api';
5
7
 
6
8
  function getFragmentData(_documentNode, fragmentType) {
7
9
  return fragmentType;
@@ -1138,6 +1140,104 @@ const GetCustomFieldDefinitionsDocument = {
1138
1140
  },
1139
1141
  ],
1140
1142
  };
1143
+ const UpdateCustomFieldValuesDocument = {
1144
+ kind: "Document",
1145
+ definitions: [
1146
+ {
1147
+ kind: "OperationDefinition",
1148
+ operation: "mutation",
1149
+ name: { kind: "Name", value: "UpdateCustomFieldValues" },
1150
+ variableDefinitions: [
1151
+ {
1152
+ kind: "VariableDefinition",
1153
+ variable: { kind: "Variable", name: { kind: "Name", value: "customFields" } },
1154
+ type: {
1155
+ kind: "NonNullType",
1156
+ type: {
1157
+ kind: "ListType",
1158
+ type: {
1159
+ kind: "NonNullType",
1160
+ type: { kind: "NamedType", name: { kind: "Name", value: "SetCustomFieldValueInput" } },
1161
+ },
1162
+ },
1163
+ },
1164
+ },
1165
+ {
1166
+ kind: "VariableDefinition",
1167
+ variable: { kind: "Variable", name: { kind: "Name", value: "entityId" } },
1168
+ type: { kind: "NonNullType", type: { kind: "NamedType", name: { kind: "Name", value: "ID" } } },
1169
+ },
1170
+ {
1171
+ kind: "VariableDefinition",
1172
+ variable: { kind: "Variable", name: { kind: "Name", value: "entityType" } },
1173
+ type: {
1174
+ kind: "NonNullType",
1175
+ type: { kind: "NamedType", name: { kind: "Name", value: "CustomFieldEntityType" } },
1176
+ },
1177
+ },
1178
+ {
1179
+ kind: "VariableDefinition",
1180
+ variable: { kind: "Variable", name: { kind: "Name", value: "systemOfMeasurement" } },
1181
+ type: { kind: "NamedType", name: { kind: "Name", value: "SystemOfMeasurement" } },
1182
+ },
1183
+ ],
1184
+ selectionSet: {
1185
+ kind: "SelectionSet",
1186
+ selections: [
1187
+ {
1188
+ kind: "Field",
1189
+ name: { kind: "Name", value: "customFieldSetValues" },
1190
+ arguments: [
1191
+ {
1192
+ kind: "Argument",
1193
+ name: { kind: "Name", value: "input" },
1194
+ value: {
1195
+ kind: "ObjectValue",
1196
+ fields: [
1197
+ {
1198
+ kind: "ObjectField",
1199
+ name: { kind: "Name", value: "entityId" },
1200
+ value: { kind: "Variable", name: { kind: "Name", value: "entityId" } },
1201
+ },
1202
+ {
1203
+ kind: "ObjectField",
1204
+ name: { kind: "Name", value: "entityType" },
1205
+ value: { kind: "Variable", name: { kind: "Name", value: "entityType" } },
1206
+ },
1207
+ {
1208
+ kind: "ObjectField",
1209
+ name: { kind: "Name", value: "values" },
1210
+ value: { kind: "Variable", name: { kind: "Name", value: "customFields" } },
1211
+ },
1212
+ ],
1213
+ },
1214
+ },
1215
+ {
1216
+ kind: "Argument",
1217
+ name: { kind: "Name", value: "systemOfMeasurement" },
1218
+ value: { kind: "Variable", name: { kind: "Name", value: "systemOfMeasurement" } },
1219
+ },
1220
+ ],
1221
+ selectionSet: {
1222
+ kind: "SelectionSet",
1223
+ selections: [
1224
+ { kind: "Field", name: { kind: "Name", value: "success" } },
1225
+ {
1226
+ kind: "Field",
1227
+ name: { kind: "Name", value: "fieldsWithInvalidValues" },
1228
+ selectionSet: {
1229
+ kind: "SelectionSet",
1230
+ selections: [{ kind: "Field", name: { kind: "Name", value: "definitionId" } }],
1231
+ },
1232
+ },
1233
+ ],
1234
+ },
1235
+ },
1236
+ ],
1237
+ },
1238
+ },
1239
+ ],
1240
+ };
1141
1241
 
1142
1242
  const getCustomFieldDefinitionFromRelevantNode = (node) => getFragmentData(CustomFieldDefinitionFragmentDoc, node);
1143
1243
  /**
@@ -1291,4 +1391,91 @@ const customFieldHasValue = (field) => {
1291
1391
  }
1292
1392
  };
1293
1393
 
1294
- export { GetCustomFieldDefinitionsDocument, GetCustomFieldsForAssetDocument, GetCustomFieldsForSiteDocument, customFieldHasValue, getCustomFieldValueAndDefinitionFromRelevantNode, useCustomFieldDefinitions, useCustomFieldsValueAndDefinition };
1394
+ /******************************************************************************
1395
+ Copyright (c) Microsoft Corporation.
1396
+
1397
+ Permission to use, copy, modify, and/or distribute this software for any
1398
+ purpose with or without fee is hereby granted.
1399
+
1400
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
1401
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1402
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
1403
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1404
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
1405
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1406
+ PERFORMANCE OF THIS SOFTWARE.
1407
+ ***************************************************************************** */
1408
+
1409
+ function __rest(s, e) {
1410
+ var t = {};
1411
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
1412
+ t[p] = s[p];
1413
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
1414
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
1415
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
1416
+ t[p[i]] = s[p[i]];
1417
+ }
1418
+ return t;
1419
+ }
1420
+
1421
+ function __awaiter(thisArg, _arguments, P, generator) {
1422
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1423
+ return new (P || (P = Promise))(function (resolve, reject) {
1424
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
1425
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
1426
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
1427
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
1428
+ });
1429
+ }
1430
+
1431
+ /**
1432
+ * Execute custom fields update from form data
1433
+ */
1434
+ const useUpdateCustomFieldValues = (entityId, entityType, customFields, systemOfMeasurement = SystemOfMeasurement.Si) => {
1435
+ const [setCustomFieldValues, { data: saveResult, loading: savingCustomFields }] = useMutation(UpdateCustomFieldValuesDocument, { refetchQueries: ["GetCustomFieldsForAsset"] });
1436
+ const customFieldsMap = useMemo(() => customFields.reduce((acc, current) => (Object.assign(Object.assign({}, acc), { [current.definition.id]: current })), {}), [customFields]);
1437
+ const updateCustomFields = useCallback((data) => __awaiter(void 0, void 0, void 0, function* () {
1438
+ // Transform data to custom field updates
1439
+ const fieldUpdates = objectKeys(data)
1440
+ .map(fieldId => {
1441
+ var _a, _b;
1442
+ const originalField = customFieldsMap[fieldId];
1443
+ const definition = originalField === null || originalField === void 0 ? void 0 : originalField.definition;
1444
+ return {
1445
+ id: fieldId,
1446
+ value: data[fieldId],
1447
+ definition,
1448
+ 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,
1449
+ };
1450
+ })
1451
+ .filter(({ editable }) => editable)
1452
+ .map(({ id, value, definition }) => {
1453
+ if (definition && isValidCustomFieldValue(value)) {
1454
+ const _a = getCustomFieldValueToSaveFromRawValue(definition, value), newValue = __rest(_a, ["type"]);
1455
+ return {
1456
+ definitionId: id,
1457
+ value: Object.assign({}, newValue),
1458
+ };
1459
+ }
1460
+ return null;
1461
+ })
1462
+ .filter(nonNullable);
1463
+ // execute update
1464
+ const customFieldsUpdateResponse = yield setCustomFieldValues({
1465
+ variables: {
1466
+ entityId,
1467
+ entityType,
1468
+ customFields: fieldUpdates,
1469
+ systemOfMeasurement,
1470
+ },
1471
+ });
1472
+ return customFieldsUpdateResponse;
1473
+ }), [customFieldsMap, entityId, entityType, setCustomFieldValues, systemOfMeasurement]);
1474
+ return useMemo(() => ({
1475
+ updateCustomFields,
1476
+ result: saveResult,
1477
+ inProgress: savingCustomFields,
1478
+ }), [updateCustomFields, saveResult, savingCustomFields]);
1479
+ };
1480
+
1481
+ export { GetCustomFieldDefinitionsDocument, GetCustomFieldsForAssetDocument, GetCustomFieldsForSiteDocument, customFieldHasValue, getCustomFieldValueAndDefinitionFromRelevantNode, useCustomFieldDefinitions, useCustomFieldsValueAndDefinition, useUpdateCustomFieldValues };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/custom-field-api",
3
- "version": "0.1.92",
3
+ "version": "0.1.96",
4
4
  "engines": {
5
5
  "node": ">=18.x"
6
6
  },
@@ -16,7 +16,9 @@
16
16
  "@trackunit/react-core-contexts-test": "*",
17
17
  "react": "^18.2.0",
18
18
  "@trackunit/shared-utils": "*",
19
- "@trackunit/react-core-hooks": "*"
19
+ "@trackunit/react-core-hooks": "*",
20
+ "@trackunit/iris-app-runtime-core": "*",
21
+ "@trackunit/react-core-contexts-api": "*"
20
22
  },
21
23
  "module": "./index.esm.js",
22
24
  "main": "./index.cjs.js"
@@ -11,7 +11,7 @@ import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/
11
11
  * Therefore it is highly recommended to use the babel or swc plugin for production.
12
12
  */
13
13
  declare const documents: {
14
- "query GetCustomFieldsForAsset($entityId: ID!, $systemOfMeasurement: SystemOfMeasurement) {\n asset(id: $entityId) {\n customFields {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nquery GetCustomFieldsForSite($entityId: ID!, $systemOfMeasurement: SystemOfMeasurement) {\n site(id: $entityId) {\n customFields {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nfragment CustomFieldValueAndDefinition on CustomFieldValueAndDefinition {\n __typename\n definition {\n __typename\n description\n entityType\n id\n key\n owner {\n irisAppId\n marketplaceEntry {\n name\n }\n ownerType\n }\n title\n translations {\n description\n title\n language\n }\n type\n uiEditable\n uiVisible\n ... on DropDownFieldDefinition {\n allValues\n multiSelect\n }\n ... on NumberFieldDefinition {\n isInteger\n maximumNumber(systemOfMeasurement: $systemOfMeasurement)\n minimumNumber(systemOfMeasurement: $systemOfMeasurement)\n unitSi\n unitUs\n }\n ... on MonetaryFieldDefinition {\n currency\n maximumNumber\n minimumNumber\n }\n ... on StringFieldDefinition {\n maximumLength\n minimumLength\n pattern\n }\n }\n valueEditable\n ... on BooleanFieldValueAndDefinition {\n booleanValue\n }\n ... on DateFieldValueAndDefinition {\n dateValue\n }\n ... on DropDownFieldValueAndDefinition {\n stringArrayValue\n }\n ... on EmailFieldValueAndDefinition {\n stringValue\n }\n ... on JsonFieldValueAndDefinition {\n jsonValue\n }\n ... on NumberFieldValueAndDefinition {\n numberValue(systemOfMeasurement: $systemOfMeasurement)\n }\n ... on MonetaryFieldValueAndDefinition {\n numberValue\n }\n ... on PhoneNumberFieldValueAndDefinition {\n stringValue\n }\n ... on StringFieldValueAndDefinition {\n stringValue\n }\n ... on WebAddressFieldValueAndDefinition {\n stringValue\n }\n}\n\nquery GetCustomFieldDefinitions($entityType: CustomFieldEntityType = ASSET, $systemOfMeasurement: SystemOfMeasurement) {\n customFieldDefinitions(uiVisible: true, first: 100, entityType: $entityType) {\n edges {\n node {\n ...CustomFieldDefinition\n }\n }\n }\n}\n\nfragment CustomFieldDefinition on CustomFieldDefinition {\n __typename\n description\n entityType\n id\n key\n owner {\n irisAppId\n marketplaceEntry {\n name\n }\n ownerType\n }\n title\n translations {\n description\n title\n language\n }\n type\n uiEditable\n uiVisible\n ... on DropDownFieldDefinition {\n allValues\n multiSelect\n }\n ... on NumberFieldDefinition {\n isInteger\n maximumNumber(systemOfMeasurement: $systemOfMeasurement)\n minimumNumber(systemOfMeasurement: $systemOfMeasurement)\n unitSi\n unitUs\n }\n ... on MonetaryFieldDefinition {\n currency\n maximumNumber\n minimumNumber\n }\n ... on StringFieldDefinition {\n maximumLength\n minimumLength\n pattern\n }\n}": DocumentNode<types.GetCustomFieldsForAssetQuery, types.Exact<{
14
+ "query GetCustomFieldsForAsset($entityId: ID!, $systemOfMeasurement: SystemOfMeasurement) {\n asset(id: $entityId) {\n customFields {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nquery GetCustomFieldsForSite($entityId: ID!, $systemOfMeasurement: SystemOfMeasurement) {\n site(id: $entityId) {\n customFields {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nfragment CustomFieldValueAndDefinition on CustomFieldValueAndDefinition {\n __typename\n definition {\n __typename\n description\n entityType\n id\n key\n owner {\n irisAppId\n marketplaceEntry {\n name\n }\n ownerType\n }\n title\n translations {\n description\n title\n language\n }\n type\n uiEditable\n uiVisible\n ... on DropDownFieldDefinition {\n allValues\n multiSelect\n }\n ... on NumberFieldDefinition {\n isInteger\n maximumNumber(systemOfMeasurement: $systemOfMeasurement)\n minimumNumber(systemOfMeasurement: $systemOfMeasurement)\n unitSi\n unitUs\n }\n ... on MonetaryFieldDefinition {\n currency\n maximumNumber\n minimumNumber\n }\n ... on StringFieldDefinition {\n maximumLength\n minimumLength\n pattern\n }\n }\n valueEditable\n ... on BooleanFieldValueAndDefinition {\n booleanValue\n }\n ... on DateFieldValueAndDefinition {\n dateValue\n }\n ... on DropDownFieldValueAndDefinition {\n stringArrayValue\n }\n ... on EmailFieldValueAndDefinition {\n stringValue\n }\n ... on JsonFieldValueAndDefinition {\n jsonValue\n }\n ... on NumberFieldValueAndDefinition {\n numberValue(systemOfMeasurement: $systemOfMeasurement)\n }\n ... on MonetaryFieldValueAndDefinition {\n numberValue\n }\n ... on PhoneNumberFieldValueAndDefinition {\n stringValue\n }\n ... on StringFieldValueAndDefinition {\n stringValue\n }\n ... on WebAddressFieldValueAndDefinition {\n stringValue\n }\n}\n\nquery GetCustomFieldDefinitions($entityType: CustomFieldEntityType = ASSET, $systemOfMeasurement: SystemOfMeasurement) {\n customFieldDefinitions(uiVisible: true, first: 100, entityType: $entityType) {\n edges {\n node {\n ...CustomFieldDefinition\n }\n }\n }\n}\n\nfragment CustomFieldDefinition on CustomFieldDefinition {\n __typename\n description\n entityType\n id\n key\n owner {\n irisAppId\n marketplaceEntry {\n name\n }\n ownerType\n }\n title\n translations {\n description\n title\n language\n }\n type\n uiEditable\n uiVisible\n ... on DropDownFieldDefinition {\n allValues\n multiSelect\n }\n ... on NumberFieldDefinition {\n isInteger\n maximumNumber(systemOfMeasurement: $systemOfMeasurement)\n minimumNumber(systemOfMeasurement: $systemOfMeasurement)\n unitSi\n unitUs\n }\n ... on MonetaryFieldDefinition {\n currency\n maximumNumber\n minimumNumber\n }\n ... on StringFieldDefinition {\n maximumLength\n minimumLength\n pattern\n }\n}\n\nmutation UpdateCustomFieldValues($customFields: [SetCustomFieldValueInput!]!, $entityId: ID!, $entityType: CustomFieldEntityType!, $systemOfMeasurement: SystemOfMeasurement) {\n customFieldSetValues(\n input: {entityId: $entityId, entityType: $entityType, values: $customFields}\n systemOfMeasurement: $systemOfMeasurement\n ) {\n success\n fieldsWithInvalidValues {\n definitionId\n }\n }\n}": DocumentNode<types.GetCustomFieldsForAssetQuery, types.Exact<{
15
15
  entityId: string;
16
16
  systemOfMeasurement: types.InputMaybe<types.SystemOfMeasurement>;
17
17
  }>>;
@@ -32,6 +32,6 @@ export declare function graphql(source: string): unknown;
32
32
  /**
33
33
  * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
34
34
  */
35
- export declare function graphql(source: "query GetCustomFieldsForAsset($entityId: ID!, $systemOfMeasurement: SystemOfMeasurement) {\n asset(id: $entityId) {\n customFields {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nquery GetCustomFieldsForSite($entityId: ID!, $systemOfMeasurement: SystemOfMeasurement) {\n site(id: $entityId) {\n customFields {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nfragment CustomFieldValueAndDefinition on CustomFieldValueAndDefinition {\n __typename\n definition {\n __typename\n description\n entityType\n id\n key\n owner {\n irisAppId\n marketplaceEntry {\n name\n }\n ownerType\n }\n title\n translations {\n description\n title\n language\n }\n type\n uiEditable\n uiVisible\n ... on DropDownFieldDefinition {\n allValues\n multiSelect\n }\n ... on NumberFieldDefinition {\n isInteger\n maximumNumber(systemOfMeasurement: $systemOfMeasurement)\n minimumNumber(systemOfMeasurement: $systemOfMeasurement)\n unitSi\n unitUs\n }\n ... on MonetaryFieldDefinition {\n currency\n maximumNumber\n minimumNumber\n }\n ... on StringFieldDefinition {\n maximumLength\n minimumLength\n pattern\n }\n }\n valueEditable\n ... on BooleanFieldValueAndDefinition {\n booleanValue\n }\n ... on DateFieldValueAndDefinition {\n dateValue\n }\n ... on DropDownFieldValueAndDefinition {\n stringArrayValue\n }\n ... on EmailFieldValueAndDefinition {\n stringValue\n }\n ... on JsonFieldValueAndDefinition {\n jsonValue\n }\n ... on NumberFieldValueAndDefinition {\n numberValue(systemOfMeasurement: $systemOfMeasurement)\n }\n ... on MonetaryFieldValueAndDefinition {\n numberValue\n }\n ... on PhoneNumberFieldValueAndDefinition {\n stringValue\n }\n ... on StringFieldValueAndDefinition {\n stringValue\n }\n ... on WebAddressFieldValueAndDefinition {\n stringValue\n }\n}\n\nquery GetCustomFieldDefinitions($entityType: CustomFieldEntityType = ASSET, $systemOfMeasurement: SystemOfMeasurement) {\n customFieldDefinitions(uiVisible: true, first: 100, entityType: $entityType) {\n edges {\n node {\n ...CustomFieldDefinition\n }\n }\n }\n}\n\nfragment CustomFieldDefinition on CustomFieldDefinition {\n __typename\n description\n entityType\n id\n key\n owner {\n irisAppId\n marketplaceEntry {\n name\n }\n ownerType\n }\n title\n translations {\n description\n title\n language\n }\n type\n uiEditable\n uiVisible\n ... on DropDownFieldDefinition {\n allValues\n multiSelect\n }\n ... on NumberFieldDefinition {\n isInteger\n maximumNumber(systemOfMeasurement: $systemOfMeasurement)\n minimumNumber(systemOfMeasurement: $systemOfMeasurement)\n unitSi\n unitUs\n }\n ... on MonetaryFieldDefinition {\n currency\n maximumNumber\n minimumNumber\n }\n ... on StringFieldDefinition {\n maximumLength\n minimumLength\n pattern\n }\n}"): (typeof documents)["query GetCustomFieldsForAsset($entityId: ID!, $systemOfMeasurement: SystemOfMeasurement) {\n asset(id: $entityId) {\n customFields {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nquery GetCustomFieldsForSite($entityId: ID!, $systemOfMeasurement: SystemOfMeasurement) {\n site(id: $entityId) {\n customFields {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nfragment CustomFieldValueAndDefinition on CustomFieldValueAndDefinition {\n __typename\n definition {\n __typename\n description\n entityType\n id\n key\n owner {\n irisAppId\n marketplaceEntry {\n name\n }\n ownerType\n }\n title\n translations {\n description\n title\n language\n }\n type\n uiEditable\n uiVisible\n ... on DropDownFieldDefinition {\n allValues\n multiSelect\n }\n ... on NumberFieldDefinition {\n isInteger\n maximumNumber(systemOfMeasurement: $systemOfMeasurement)\n minimumNumber(systemOfMeasurement: $systemOfMeasurement)\n unitSi\n unitUs\n }\n ... on MonetaryFieldDefinition {\n currency\n maximumNumber\n minimumNumber\n }\n ... on StringFieldDefinition {\n maximumLength\n minimumLength\n pattern\n }\n }\n valueEditable\n ... on BooleanFieldValueAndDefinition {\n booleanValue\n }\n ... on DateFieldValueAndDefinition {\n dateValue\n }\n ... on DropDownFieldValueAndDefinition {\n stringArrayValue\n }\n ... on EmailFieldValueAndDefinition {\n stringValue\n }\n ... on JsonFieldValueAndDefinition {\n jsonValue\n }\n ... on NumberFieldValueAndDefinition {\n numberValue(systemOfMeasurement: $systemOfMeasurement)\n }\n ... on MonetaryFieldValueAndDefinition {\n numberValue\n }\n ... on PhoneNumberFieldValueAndDefinition {\n stringValue\n }\n ... on StringFieldValueAndDefinition {\n stringValue\n }\n ... on WebAddressFieldValueAndDefinition {\n stringValue\n }\n}\n\nquery GetCustomFieldDefinitions($entityType: CustomFieldEntityType = ASSET, $systemOfMeasurement: SystemOfMeasurement) {\n customFieldDefinitions(uiVisible: true, first: 100, entityType: $entityType) {\n edges {\n node {\n ...CustomFieldDefinition\n }\n }\n }\n}\n\nfragment CustomFieldDefinition on CustomFieldDefinition {\n __typename\n description\n entityType\n id\n key\n owner {\n irisAppId\n marketplaceEntry {\n name\n }\n ownerType\n }\n title\n translations {\n description\n title\n language\n }\n type\n uiEditable\n uiVisible\n ... on DropDownFieldDefinition {\n allValues\n multiSelect\n }\n ... on NumberFieldDefinition {\n isInteger\n maximumNumber(systemOfMeasurement: $systemOfMeasurement)\n minimumNumber(systemOfMeasurement: $systemOfMeasurement)\n unitSi\n unitUs\n }\n ... on MonetaryFieldDefinition {\n currency\n maximumNumber\n minimumNumber\n }\n ... on StringFieldDefinition {\n maximumLength\n minimumLength\n pattern\n }\n}"];
35
+ export declare function graphql(source: "query GetCustomFieldsForAsset($entityId: ID!, $systemOfMeasurement: SystemOfMeasurement) {\n asset(id: $entityId) {\n customFields {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nquery GetCustomFieldsForSite($entityId: ID!, $systemOfMeasurement: SystemOfMeasurement) {\n site(id: $entityId) {\n customFields {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nfragment CustomFieldValueAndDefinition on CustomFieldValueAndDefinition {\n __typename\n definition {\n __typename\n description\n entityType\n id\n key\n owner {\n irisAppId\n marketplaceEntry {\n name\n }\n ownerType\n }\n title\n translations {\n description\n title\n language\n }\n type\n uiEditable\n uiVisible\n ... on DropDownFieldDefinition {\n allValues\n multiSelect\n }\n ... on NumberFieldDefinition {\n isInteger\n maximumNumber(systemOfMeasurement: $systemOfMeasurement)\n minimumNumber(systemOfMeasurement: $systemOfMeasurement)\n unitSi\n unitUs\n }\n ... on MonetaryFieldDefinition {\n currency\n maximumNumber\n minimumNumber\n }\n ... on StringFieldDefinition {\n maximumLength\n minimumLength\n pattern\n }\n }\n valueEditable\n ... on BooleanFieldValueAndDefinition {\n booleanValue\n }\n ... on DateFieldValueAndDefinition {\n dateValue\n }\n ... on DropDownFieldValueAndDefinition {\n stringArrayValue\n }\n ... on EmailFieldValueAndDefinition {\n stringValue\n }\n ... on JsonFieldValueAndDefinition {\n jsonValue\n }\n ... on NumberFieldValueAndDefinition {\n numberValue(systemOfMeasurement: $systemOfMeasurement)\n }\n ... on MonetaryFieldValueAndDefinition {\n numberValue\n }\n ... on PhoneNumberFieldValueAndDefinition {\n stringValue\n }\n ... on StringFieldValueAndDefinition {\n stringValue\n }\n ... on WebAddressFieldValueAndDefinition {\n stringValue\n }\n}\n\nquery GetCustomFieldDefinitions($entityType: CustomFieldEntityType = ASSET, $systemOfMeasurement: SystemOfMeasurement) {\n customFieldDefinitions(uiVisible: true, first: 100, entityType: $entityType) {\n edges {\n node {\n ...CustomFieldDefinition\n }\n }\n }\n}\n\nfragment CustomFieldDefinition on CustomFieldDefinition {\n __typename\n description\n entityType\n id\n key\n owner {\n irisAppId\n marketplaceEntry {\n name\n }\n ownerType\n }\n title\n translations {\n description\n title\n language\n }\n type\n uiEditable\n uiVisible\n ... on DropDownFieldDefinition {\n allValues\n multiSelect\n }\n ... on NumberFieldDefinition {\n isInteger\n maximumNumber(systemOfMeasurement: $systemOfMeasurement)\n minimumNumber(systemOfMeasurement: $systemOfMeasurement)\n unitSi\n unitUs\n }\n ... on MonetaryFieldDefinition {\n currency\n maximumNumber\n minimumNumber\n }\n ... on StringFieldDefinition {\n maximumLength\n minimumLength\n pattern\n }\n}\n\nmutation UpdateCustomFieldValues($customFields: [SetCustomFieldValueInput!]!, $entityId: ID!, $entityType: CustomFieldEntityType!, $systemOfMeasurement: SystemOfMeasurement) {\n customFieldSetValues(\n input: {entityId: $entityId, entityType: $entityType, values: $customFields}\n systemOfMeasurement: $systemOfMeasurement\n ) {\n success\n fieldsWithInvalidValues {\n definitionId\n }\n }\n}"): (typeof documents)["query GetCustomFieldsForAsset($entityId: ID!, $systemOfMeasurement: SystemOfMeasurement) {\n asset(id: $entityId) {\n customFields {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nquery GetCustomFieldsForSite($entityId: ID!, $systemOfMeasurement: SystemOfMeasurement) {\n site(id: $entityId) {\n customFields {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nfragment CustomFieldValueAndDefinition on CustomFieldValueAndDefinition {\n __typename\n definition {\n __typename\n description\n entityType\n id\n key\n owner {\n irisAppId\n marketplaceEntry {\n name\n }\n ownerType\n }\n title\n translations {\n description\n title\n language\n }\n type\n uiEditable\n uiVisible\n ... on DropDownFieldDefinition {\n allValues\n multiSelect\n }\n ... on NumberFieldDefinition {\n isInteger\n maximumNumber(systemOfMeasurement: $systemOfMeasurement)\n minimumNumber(systemOfMeasurement: $systemOfMeasurement)\n unitSi\n unitUs\n }\n ... on MonetaryFieldDefinition {\n currency\n maximumNumber\n minimumNumber\n }\n ... on StringFieldDefinition {\n maximumLength\n minimumLength\n pattern\n }\n }\n valueEditable\n ... on BooleanFieldValueAndDefinition {\n booleanValue\n }\n ... on DateFieldValueAndDefinition {\n dateValue\n }\n ... on DropDownFieldValueAndDefinition {\n stringArrayValue\n }\n ... on EmailFieldValueAndDefinition {\n stringValue\n }\n ... on JsonFieldValueAndDefinition {\n jsonValue\n }\n ... on NumberFieldValueAndDefinition {\n numberValue(systemOfMeasurement: $systemOfMeasurement)\n }\n ... on MonetaryFieldValueAndDefinition {\n numberValue\n }\n ... on PhoneNumberFieldValueAndDefinition {\n stringValue\n }\n ... on StringFieldValueAndDefinition {\n stringValue\n }\n ... on WebAddressFieldValueAndDefinition {\n stringValue\n }\n}\n\nquery GetCustomFieldDefinitions($entityType: CustomFieldEntityType = ASSET, $systemOfMeasurement: SystemOfMeasurement) {\n customFieldDefinitions(uiVisible: true, first: 100, entityType: $entityType) {\n edges {\n node {\n ...CustomFieldDefinition\n }\n }\n }\n}\n\nfragment CustomFieldDefinition on CustomFieldDefinition {\n __typename\n description\n entityType\n id\n key\n owner {\n irisAppId\n marketplaceEntry {\n name\n }\n ownerType\n }\n title\n translations {\n description\n title\n language\n }\n type\n uiEditable\n uiVisible\n ... on DropDownFieldDefinition {\n allValues\n multiSelect\n }\n ... on NumberFieldDefinition {\n isInteger\n maximumNumber(systemOfMeasurement: $systemOfMeasurement)\n minimumNumber(systemOfMeasurement: $systemOfMeasurement)\n unitSi\n unitUs\n }\n ... on MonetaryFieldDefinition {\n currency\n maximumNumber\n minimumNumber\n }\n ... on StringFieldDefinition {\n maximumLength\n minimumLength\n pattern\n }\n}\n\nmutation UpdateCustomFieldValues($customFields: [SetCustomFieldValueInput!]!, $entityId: ID!, $entityType: CustomFieldEntityType!, $systemOfMeasurement: SystemOfMeasurement) {\n customFieldSetValues(\n input: {entityId: $entityId, entityType: $entityType, values: $customFields}\n systemOfMeasurement: $systemOfMeasurement\n ) {\n success\n fieldsWithInvalidValues {\n definitionId\n }\n }\n}"];
36
36
  export type DocumentType<TDocumentNode extends DocumentNode<any, any>> = TDocumentNode extends DocumentNode<infer TType, any> ? TType : never;
37
37
  export {};
@@ -189,6 +189,60 @@ export declare const unitUs: {
189
189
  readonly yard: "yard";
190
190
  };
191
191
  export type UnitUs = (typeof unitUs)[keyof typeof unitUs];
192
+ export type CustomFieldOwnerInput = {
193
+ /** The iris app ID of the custom field owner input. */
194
+ irisAppId?: InputMaybe<Scalars["String"]["input"]>;
195
+ /** The owner type of the custom field owner input. */
196
+ ownerType: CustomFieldOwnerType;
197
+ };
198
+ export type CustomFieldValueInput = {
199
+ /** The value if the definition is a boolean field. */
200
+ booleanValue?: InputMaybe<Scalars["Boolean"]["input"]>;
201
+ /** The value in ISO 8601 format if the definition is a date field. */
202
+ dateValue?: InputMaybe<Scalars["Date"]["input"]>;
203
+ /** The value if the definition is a email field. */
204
+ emailValue?: InputMaybe<Scalars["EmailAddress"]["input"]>;
205
+ /** The value if the definition is a json field. */
206
+ jsonValue?: InputMaybe<Scalars["JSON"]["input"]>;
207
+ /** The value if the definition is a monetary field. */
208
+ monetaryValue?: InputMaybe<Scalars["Float"]["input"]>;
209
+ /** The value if the definition is a numeric field. */
210
+ numberValue?: InputMaybe<Scalars["Float"]["input"]>;
211
+ /** The value if the definition is a phone number field. */
212
+ phoneNumberValue?: InputMaybe<Scalars["PhoneNumber"]["input"]>;
213
+ /** The value if the definition is a dropdown field. */
214
+ stringArrayValue?: InputMaybe<Array<Scalars["String"]["input"]>>;
215
+ /** The value if the definition is a string field. */
216
+ stringValue?: InputMaybe<Scalars["String"]["input"]>;
217
+ /** The value if the definition is a webaddress field. */
218
+ webAddressValue?: InputMaybe<Scalars["Url"]["input"]>;
219
+ };
220
+ export type SetCustomFieldValueInput = {
221
+ /**
222
+ * The ID of the definition this custom field value should use.
223
+ *
224
+ * This is required unless `owner` and `definitionKey` is supplied.
225
+ */
226
+ definitionId?: InputMaybe<Scalars["ID"]["input"]>;
227
+ /**
228
+ * The key of the definition this custom field value should use.
229
+ *
230
+ * This is required together with `owner` unless `definitionId` is supplied.
231
+ */
232
+ definitionKey?: InputMaybe<Scalars["String"]["input"]>;
233
+ /**
234
+ * The definition owner.
235
+ *
236
+ * Used together with `definitionKey`.
237
+ */
238
+ owner?: InputMaybe<CustomFieldOwnerInput>;
239
+ /**
240
+ * The new value for the custom field.
241
+ *
242
+ * Set to null to delete the value.
243
+ */
244
+ value?: InputMaybe<CustomFieldValueInput>;
245
+ };
192
246
  type CustomFieldValueAndDefinition_BooleanFieldValueAndDefinition_Fragment = {
193
247
  __typename: "BooleanFieldValueAndDefinition";
194
248
  booleanValue: boolean | null;
@@ -1055,6 +1109,23 @@ export type GetCustomFieldDefinitionsQuery = {
1055
1109
  } | null;
1056
1110
  };
1057
1111
  export type CustomFieldDefinitionFragment = CustomFieldDefinition_BooleanFieldDefinition_Fragment | CustomFieldDefinition_DateFieldDefinition_Fragment | CustomFieldDefinition_DropDownFieldDefinition_Fragment | CustomFieldDefinition_EmailFieldDefinition_Fragment | CustomFieldDefinition_JsonFieldDefinition_Fragment | CustomFieldDefinition_MonetaryFieldDefinition_Fragment | CustomFieldDefinition_NumberFieldDefinition_Fragment | CustomFieldDefinition_PhoneNumberFieldDefinition_Fragment | CustomFieldDefinition_StringFieldDefinition_Fragment | CustomFieldDefinition_WebAddressFieldDefinition_Fragment;
1112
+ export type UpdateCustomFieldValuesMutationVariables = Exact<{
1113
+ customFields: Array<SetCustomFieldValueInput> | SetCustomFieldValueInput;
1114
+ entityId: Scalars["ID"]["input"];
1115
+ entityType: CustomFieldEntityType;
1116
+ systemOfMeasurement: InputMaybe<SystemOfMeasurement>;
1117
+ }>;
1118
+ export type UpdateCustomFieldValuesMutation = {
1119
+ __typename?: "Mutation";
1120
+ customFieldSetValues: {
1121
+ __typename?: "CustomFieldSetValuesResponse";
1122
+ success: boolean;
1123
+ fieldsWithInvalidValues: Array<{
1124
+ __typename?: "FieldValidationResult";
1125
+ definitionId: string | null;
1126
+ }> | null;
1127
+ };
1128
+ };
1058
1129
  export declare const CustomFieldValueAndDefinitionFragmentDoc: DocumentNode<CustomFieldValueAndDefinitionFragment, unknown>;
1059
1130
  export declare const CustomFieldDefinitionFragmentDoc: DocumentNode<CustomFieldDefinitionFragment, unknown>;
1060
1131
  export declare const GetCustomFieldsForAssetDocument: DocumentNode<GetCustomFieldsForAssetQuery, Exact<{
@@ -1069,4 +1140,10 @@ export declare const GetCustomFieldDefinitionsDocument: DocumentNode<GetCustomFi
1069
1140
  entityType?: InputMaybe<CustomFieldEntityType>;
1070
1141
  systemOfMeasurement: InputMaybe<SystemOfMeasurement>;
1071
1142
  }>>;
1143
+ export declare const UpdateCustomFieldValuesDocument: DocumentNode<UpdateCustomFieldValuesMutation, Exact<{
1144
+ customFields: Array<SetCustomFieldValueInput> | SetCustomFieldValueInput;
1145
+ entityId: Scalars["ID"]["input"];
1146
+ entityType: CustomFieldEntityType;
1147
+ systemOfMeasurement: InputMaybe<SystemOfMeasurement>;
1148
+ }>>;
1072
1149
  export {};
@@ -9,3 +9,6 @@ export declare const mockForGetCustomFieldsForSiteQuery: (variables: gql.GetCust
9
9
  export declare const mockForGetCustomFieldDefinitionsQuery: (variables: gql.GetCustomFieldDefinitionsQueryVariables, data?: DeepPartialNullable<gql.GetCustomFieldDefinitionsQuery>) => import("@apollo/client/testing").MockedResponse<gql.GetCustomFieldDefinitionsQuery, Record<string, any>> & {
10
10
  data: gql.GetCustomFieldDefinitionsQuery;
11
11
  };
12
+ export declare const mockForUpdateCustomFieldValuesMutation: (variables: gql.UpdateCustomFieldValuesMutationVariables, data?: DeepPartialNullable<gql.UpdateCustomFieldValuesMutation>) => import("@apollo/client/testing").MockedResponse<gql.UpdateCustomFieldValuesMutation, Record<string, any>> & {
13
+ data: gql.UpdateCustomFieldValuesMutation;
14
+ };
package/src/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from "./useCustomFieldDefinitions";
2
2
  export * from "./useCustomFieldsValueAndDefinition";
3
+ export * from "./useUpdateCustomFieldValues";
3
4
  export { GetCustomFieldDefinitionsDocument, GetCustomFieldsForAssetDocument, GetCustomFieldsForSiteDocument, type GetCustomFieldsForAssetQuery, type GetCustomFieldsForAssetQueryVariables, } from "./generated/graphql-api/graphql";
@@ -0,0 +1,11 @@
1
+ import { EntityType } from "@trackunit/iris-app-api";
2
+ import { SystemOfMeasurementType } from "@trackunit/react-core-contexts-api";
3
+ import { CustomFieldValueAndDefinition } from "./useCustomFieldsValueAndDefinition";
4
+ /**
5
+ * Execute custom fields update from form data
6
+ */
7
+ export declare const useUpdateCustomFieldValues: (entityId: string, entityType: EntityType, customFields: CustomFieldValueAndDefinition[], systemOfMeasurement?: SystemOfMeasurementType) => {
8
+ updateCustomFields: (data: Record<string, unknown>) => Promise<import("@apollo/client").FetchResult<import("./generated/graphql-api/graphql").UpdateCustomFieldValuesMutation>>;
9
+ result: import("./generated/graphql-api/graphql").UpdateCustomFieldValuesMutation | null | undefined;
10
+ inProgress: boolean;
11
+ };