@trackunit/custom-field-api 0.1.12 → 0.1.13

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
@@ -2,6 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var reactCoreHooks = require('@trackunit/react-core-hooks');
5
6
  var sharedUtils = require('@trackunit/shared-utils');
6
7
 
7
8
  function _mergeNamespaces(n, m) {
@@ -3936,6 +3937,10 @@ var InternalState = (function () {
3936
3937
  return InternalState;
3937
3938
  }());
3938
3939
 
3940
+ function getFragmentData(_documentNode, fragmentType) {
3941
+ return fragmentType;
3942
+ }
3943
+
3939
3944
  const CustomFieldValueAndDefinitionFragmentDoc = {
3940
3945
  kind: "Document",
3941
3946
  definitions: [
@@ -4124,6 +4129,43 @@ const CustomFieldValueAndDefinitionFragmentDoc = {
4124
4129
  },
4125
4130
  ],
4126
4131
  };
4132
+ const CustomFieldDefinitionFragmentDoc = {
4133
+ kind: "Document",
4134
+ definitions: [
4135
+ {
4136
+ kind: "FragmentDefinition",
4137
+ name: { kind: "Name", value: "CustomFieldDefinition" },
4138
+ typeCondition: { kind: "NamedType", name: { kind: "Name", value: "CustomFieldDefinition" } },
4139
+ selectionSet: {
4140
+ kind: "SelectionSet",
4141
+ selections: [
4142
+ { kind: "Field", name: { kind: "Name", value: "definitionId" } },
4143
+ {
4144
+ kind: "Field",
4145
+ name: { kind: "Name", value: "translations" },
4146
+ selectionSet: {
4147
+ kind: "SelectionSet",
4148
+ selections: [
4149
+ { kind: "Field", name: { kind: "Name", value: "description" } },
4150
+ { kind: "Field", name: { kind: "Name", value: "title" } },
4151
+ { kind: "Field", name: { kind: "Name", value: "language" } },
4152
+ ],
4153
+ },
4154
+ },
4155
+ {
4156
+ kind: "Field",
4157
+ name: { kind: "Name", value: "owner" },
4158
+ selectionSet: {
4159
+ kind: "SelectionSet",
4160
+ selections: [{ kind: "Field", name: { kind: "Name", value: "ownerType" } }],
4161
+ },
4162
+ },
4163
+ { kind: "Field", name: { kind: "Name", value: "type" } },
4164
+ ],
4165
+ },
4166
+ },
4167
+ ],
4168
+ };
4127
4169
  const GetCustomFieldsForAssetDocument = {
4128
4170
  kind: "Document",
4129
4171
  definitions: [
@@ -4652,10 +4694,158 @@ const GetCustomFieldsForSiteDocument = {
4652
4694
  },
4653
4695
  ],
4654
4696
  };
4697
+ const GetCustomFieldDefinitionsDocument = {
4698
+ kind: "Document",
4699
+ definitions: [
4700
+ {
4701
+ kind: "OperationDefinition",
4702
+ operation: "query",
4703
+ name: { kind: "Name", value: "GetCustomFieldDefinitions" },
4704
+ variableDefinitions: [
4705
+ {
4706
+ kind: "VariableDefinition",
4707
+ variable: { kind: "Variable", name: { kind: "Name", value: "entityType" } },
4708
+ type: { kind: "NamedType", name: { kind: "Name", value: "CustomFieldEntityType" } },
4709
+ defaultValue: { kind: "EnumValue", value: "ASSET" },
4710
+ },
4711
+ ],
4712
+ selectionSet: {
4713
+ kind: "SelectionSet",
4714
+ selections: [
4715
+ {
4716
+ kind: "Field",
4717
+ name: { kind: "Name", value: "customFieldDefinitions" },
4718
+ arguments: [
4719
+ {
4720
+ kind: "Argument",
4721
+ name: { kind: "Name", value: "uiVisible" },
4722
+ value: { kind: "BooleanValue", value: true },
4723
+ },
4724
+ { kind: "Argument", name: { kind: "Name", value: "first" }, value: { kind: "IntValue", value: "100" } },
4725
+ {
4726
+ kind: "Argument",
4727
+ name: { kind: "Name", value: "entityType" },
4728
+ value: { kind: "Variable", name: { kind: "Name", value: "entityType" } },
4729
+ },
4730
+ ],
4731
+ selectionSet: {
4732
+ kind: "SelectionSet",
4733
+ selections: [
4734
+ {
4735
+ kind: "Field",
4736
+ name: { kind: "Name", value: "edges" },
4737
+ selectionSet: {
4738
+ kind: "SelectionSet",
4739
+ selections: [
4740
+ {
4741
+ kind: "Field",
4742
+ name: { kind: "Name", value: "node" },
4743
+ selectionSet: {
4744
+ kind: "SelectionSet",
4745
+ selections: [
4746
+ { kind: "FragmentSpread", name: { kind: "Name", value: "CustomFieldDefinition" } },
4747
+ ],
4748
+ },
4749
+ },
4750
+ ],
4751
+ },
4752
+ },
4753
+ {
4754
+ kind: "Field",
4755
+ name: { kind: "Name", value: "pageInfo" },
4756
+ selectionSet: {
4757
+ kind: "SelectionSet",
4758
+ selections: [
4759
+ { kind: "Field", name: { kind: "Name", value: "count" } },
4760
+ { kind: "Field", name: { kind: "Name", value: "endCursor" } },
4761
+ { kind: "Field", name: { kind: "Name", value: "hasNextPage" } },
4762
+ { kind: "Field", name: { kind: "Name", value: "hasPreviousPage" } },
4763
+ { kind: "Field", name: { kind: "Name", value: "startCursor" } },
4764
+ ],
4765
+ },
4766
+ },
4767
+ ],
4768
+ },
4769
+ },
4770
+ ],
4771
+ },
4772
+ },
4773
+ {
4774
+ kind: "FragmentDefinition",
4775
+ name: { kind: "Name", value: "CustomFieldDefinition" },
4776
+ typeCondition: { kind: "NamedType", name: { kind: "Name", value: "CustomFieldDefinition" } },
4777
+ selectionSet: {
4778
+ kind: "SelectionSet",
4779
+ selections: [
4780
+ { kind: "Field", name: { kind: "Name", value: "definitionId" } },
4781
+ {
4782
+ kind: "Field",
4783
+ name: { kind: "Name", value: "translations" },
4784
+ selectionSet: {
4785
+ kind: "SelectionSet",
4786
+ selections: [
4787
+ { kind: "Field", name: { kind: "Name", value: "description" } },
4788
+ { kind: "Field", name: { kind: "Name", value: "title" } },
4789
+ { kind: "Field", name: { kind: "Name", value: "language" } },
4790
+ ],
4791
+ },
4792
+ },
4793
+ {
4794
+ kind: "Field",
4795
+ name: { kind: "Name", value: "owner" },
4796
+ selectionSet: {
4797
+ kind: "SelectionSet",
4798
+ selections: [{ kind: "Field", name: { kind: "Name", value: "ownerType" } }],
4799
+ },
4800
+ },
4801
+ { kind: "Field", name: { kind: "Name", value: "type" } },
4802
+ ],
4803
+ },
4804
+ },
4805
+ ],
4806
+ };
4655
4807
 
4656
- function getFragmentData(_documentNode, fragmentType) {
4657
- return fragmentType;
4658
- }
4808
+ const getCustomFieldDefinitionFromRelevantNode = (node) => getFragmentData(CustomFieldDefinitionFragmentDoc, node);
4809
+ /**
4810
+ * Custom hook to fetch custom field definitions for a specified entity type.
4811
+ *
4812
+ * @param {UseCustomFieldDefinitionsProps} props - The properties for the custom fields query.
4813
+ * @param {SupportedEntityTypes} [props.entityType] - The type of the entity (e.g., 'ASSET' or 'SITE').
4814
+ * @returns {UseCustomFieldDefinitionsReturnValue} An object containing a loading state and an array of custom field definitions.
4815
+ */
4816
+ const useCustomFieldDefinitions = ({ entityType, filterQuery, owners, }) => {
4817
+ var _a;
4818
+ const { data: definitions, loading } = useQuery(GetCustomFieldDefinitionsDocument, {
4819
+ variables: {
4820
+ entityType,
4821
+ },
4822
+ context: {
4823
+ headers: {
4824
+ "TU-PREVIEW": "JUNGLE-DIGGER",
4825
+ },
4826
+ },
4827
+ });
4828
+ const { language } = reactCoreHooks.useCurrentUserLanguage();
4829
+ const definitionsArray = react$1.exports.useMemo(() => {
4830
+ var _a, _b;
4831
+ 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))) ||
4832
+ []);
4833
+ }, [(_a = definitions === null || definitions === void 0 ? void 0 : definitions.customFieldDefinitions) === null || _a === void 0 ? void 0 : _a.edges]);
4834
+ const filteredDefinitions = react$1.exports.useMemo(() => definitionsArray
4835
+ .filter(sharedUtils.nonNullable)
4836
+ .filter(def => { var _a; return (owners && ((_a = def.owner) === null || _a === void 0 ? void 0 : _a.ownerType) ? owners.includes(def.owner.ownerType) : true); })
4837
+ .map(def => {
4838
+ var _a, _b, _c, _d;
4839
+ return ({
4840
+ id: def.definitionId,
4841
+ 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 : "",
4842
+ type: def.type,
4843
+ owner: (_d = def.owner) === null || _d === void 0 ? void 0 : _d.ownerType,
4844
+ });
4845
+ })
4846
+ .filter(def => (filterQuery ? def.title.toLowerCase().includes(filterQuery.toLowerCase()) : true)), [definitionsArray, filterQuery, language, owners]);
4847
+ return react$1.exports.useMemo(() => ({ definitions: filteredDefinitions, loading }), [filteredDefinitions, loading]);
4848
+ };
4659
4849
 
4660
4850
  /**
4661
4851
  * A function used to get the CustomFieldValueAndDefinition from a node of CustomFieldValueAndDefinition.
@@ -4720,4 +4910,5 @@ const useCustomFieldsValueAndDefinition = ({ entityId, entityType, systemOfMeasu
4720
4910
  exports.GetCustomFieldsForAssetDocument = GetCustomFieldsForAssetDocument;
4721
4911
  exports.GetCustomFieldsForSiteDocument = GetCustomFieldsForSiteDocument;
4722
4912
  exports.getCustomFieldValueAndDefinitionFromRelevantNode = getCustomFieldValueAndDefinitionFromRelevantNode;
4913
+ exports.useCustomFieldDefinitions = useCustomFieldDefinitions;
4723
4914
  exports.useCustomFieldsValueAndDefinition = useCustomFieldsValueAndDefinition;
package/index.esm.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { useCurrentUserLanguage } from '@trackunit/react-core-hooks';
1
2
  import { nonNullable } from '@trackunit/shared-utils';
2
3
 
3
4
  function _mergeNamespaces(n, m) {
@@ -3932,6 +3933,10 @@ var InternalState = (function () {
3932
3933
  return InternalState;
3933
3934
  }());
3934
3935
 
3936
+ function getFragmentData(_documentNode, fragmentType) {
3937
+ return fragmentType;
3938
+ }
3939
+
3935
3940
  const CustomFieldValueAndDefinitionFragmentDoc = {
3936
3941
  kind: "Document",
3937
3942
  definitions: [
@@ -4120,6 +4125,43 @@ const CustomFieldValueAndDefinitionFragmentDoc = {
4120
4125
  },
4121
4126
  ],
4122
4127
  };
4128
+ const CustomFieldDefinitionFragmentDoc = {
4129
+ kind: "Document",
4130
+ definitions: [
4131
+ {
4132
+ kind: "FragmentDefinition",
4133
+ name: { kind: "Name", value: "CustomFieldDefinition" },
4134
+ typeCondition: { kind: "NamedType", name: { kind: "Name", value: "CustomFieldDefinition" } },
4135
+ selectionSet: {
4136
+ kind: "SelectionSet",
4137
+ selections: [
4138
+ { kind: "Field", name: { kind: "Name", value: "definitionId" } },
4139
+ {
4140
+ kind: "Field",
4141
+ name: { kind: "Name", value: "translations" },
4142
+ selectionSet: {
4143
+ kind: "SelectionSet",
4144
+ selections: [
4145
+ { kind: "Field", name: { kind: "Name", value: "description" } },
4146
+ { kind: "Field", name: { kind: "Name", value: "title" } },
4147
+ { kind: "Field", name: { kind: "Name", value: "language" } },
4148
+ ],
4149
+ },
4150
+ },
4151
+ {
4152
+ kind: "Field",
4153
+ name: { kind: "Name", value: "owner" },
4154
+ selectionSet: {
4155
+ kind: "SelectionSet",
4156
+ selections: [{ kind: "Field", name: { kind: "Name", value: "ownerType" } }],
4157
+ },
4158
+ },
4159
+ { kind: "Field", name: { kind: "Name", value: "type" } },
4160
+ ],
4161
+ },
4162
+ },
4163
+ ],
4164
+ };
4123
4165
  const GetCustomFieldsForAssetDocument = {
4124
4166
  kind: "Document",
4125
4167
  definitions: [
@@ -4648,10 +4690,158 @@ const GetCustomFieldsForSiteDocument = {
4648
4690
  },
4649
4691
  ],
4650
4692
  };
4693
+ const GetCustomFieldDefinitionsDocument = {
4694
+ kind: "Document",
4695
+ definitions: [
4696
+ {
4697
+ kind: "OperationDefinition",
4698
+ operation: "query",
4699
+ name: { kind: "Name", value: "GetCustomFieldDefinitions" },
4700
+ variableDefinitions: [
4701
+ {
4702
+ kind: "VariableDefinition",
4703
+ variable: { kind: "Variable", name: { kind: "Name", value: "entityType" } },
4704
+ type: { kind: "NamedType", name: { kind: "Name", value: "CustomFieldEntityType" } },
4705
+ defaultValue: { kind: "EnumValue", value: "ASSET" },
4706
+ },
4707
+ ],
4708
+ selectionSet: {
4709
+ kind: "SelectionSet",
4710
+ selections: [
4711
+ {
4712
+ kind: "Field",
4713
+ name: { kind: "Name", value: "customFieldDefinitions" },
4714
+ arguments: [
4715
+ {
4716
+ kind: "Argument",
4717
+ name: { kind: "Name", value: "uiVisible" },
4718
+ value: { kind: "BooleanValue", value: true },
4719
+ },
4720
+ { kind: "Argument", name: { kind: "Name", value: "first" }, value: { kind: "IntValue", value: "100" } },
4721
+ {
4722
+ kind: "Argument",
4723
+ name: { kind: "Name", value: "entityType" },
4724
+ value: { kind: "Variable", name: { kind: "Name", value: "entityType" } },
4725
+ },
4726
+ ],
4727
+ selectionSet: {
4728
+ kind: "SelectionSet",
4729
+ selections: [
4730
+ {
4731
+ kind: "Field",
4732
+ name: { kind: "Name", value: "edges" },
4733
+ selectionSet: {
4734
+ kind: "SelectionSet",
4735
+ selections: [
4736
+ {
4737
+ kind: "Field",
4738
+ name: { kind: "Name", value: "node" },
4739
+ selectionSet: {
4740
+ kind: "SelectionSet",
4741
+ selections: [
4742
+ { kind: "FragmentSpread", name: { kind: "Name", value: "CustomFieldDefinition" } },
4743
+ ],
4744
+ },
4745
+ },
4746
+ ],
4747
+ },
4748
+ },
4749
+ {
4750
+ kind: "Field",
4751
+ name: { kind: "Name", value: "pageInfo" },
4752
+ selectionSet: {
4753
+ kind: "SelectionSet",
4754
+ selections: [
4755
+ { kind: "Field", name: { kind: "Name", value: "count" } },
4756
+ { kind: "Field", name: { kind: "Name", value: "endCursor" } },
4757
+ { kind: "Field", name: { kind: "Name", value: "hasNextPage" } },
4758
+ { kind: "Field", name: { kind: "Name", value: "hasPreviousPage" } },
4759
+ { kind: "Field", name: { kind: "Name", value: "startCursor" } },
4760
+ ],
4761
+ },
4762
+ },
4763
+ ],
4764
+ },
4765
+ },
4766
+ ],
4767
+ },
4768
+ },
4769
+ {
4770
+ kind: "FragmentDefinition",
4771
+ name: { kind: "Name", value: "CustomFieldDefinition" },
4772
+ typeCondition: { kind: "NamedType", name: { kind: "Name", value: "CustomFieldDefinition" } },
4773
+ selectionSet: {
4774
+ kind: "SelectionSet",
4775
+ selections: [
4776
+ { kind: "Field", name: { kind: "Name", value: "definitionId" } },
4777
+ {
4778
+ kind: "Field",
4779
+ name: { kind: "Name", value: "translations" },
4780
+ selectionSet: {
4781
+ kind: "SelectionSet",
4782
+ selections: [
4783
+ { kind: "Field", name: { kind: "Name", value: "description" } },
4784
+ { kind: "Field", name: { kind: "Name", value: "title" } },
4785
+ { kind: "Field", name: { kind: "Name", value: "language" } },
4786
+ ],
4787
+ },
4788
+ },
4789
+ {
4790
+ kind: "Field",
4791
+ name: { kind: "Name", value: "owner" },
4792
+ selectionSet: {
4793
+ kind: "SelectionSet",
4794
+ selections: [{ kind: "Field", name: { kind: "Name", value: "ownerType" } }],
4795
+ },
4796
+ },
4797
+ { kind: "Field", name: { kind: "Name", value: "type" } },
4798
+ ],
4799
+ },
4800
+ },
4801
+ ],
4802
+ };
4651
4803
 
4652
- function getFragmentData(_documentNode, fragmentType) {
4653
- return fragmentType;
4654
- }
4804
+ const getCustomFieldDefinitionFromRelevantNode = (node) => getFragmentData(CustomFieldDefinitionFragmentDoc, node);
4805
+ /**
4806
+ * Custom hook to fetch custom field definitions for a specified entity type.
4807
+ *
4808
+ * @param {UseCustomFieldDefinitionsProps} props - The properties for the custom fields query.
4809
+ * @param {SupportedEntityTypes} [props.entityType] - The type of the entity (e.g., 'ASSET' or 'SITE').
4810
+ * @returns {UseCustomFieldDefinitionsReturnValue} An object containing a loading state and an array of custom field definitions.
4811
+ */
4812
+ const useCustomFieldDefinitions = ({ entityType, filterQuery, owners, }) => {
4813
+ var _a;
4814
+ const { data: definitions, loading } = useQuery(GetCustomFieldDefinitionsDocument, {
4815
+ variables: {
4816
+ entityType,
4817
+ },
4818
+ context: {
4819
+ headers: {
4820
+ "TU-PREVIEW": "JUNGLE-DIGGER",
4821
+ },
4822
+ },
4823
+ });
4824
+ const { language } = useCurrentUserLanguage();
4825
+ const definitionsArray = react$1.exports.useMemo(() => {
4826
+ var _a, _b;
4827
+ 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))) ||
4828
+ []);
4829
+ }, [(_a = definitions === null || definitions === void 0 ? void 0 : definitions.customFieldDefinitions) === null || _a === void 0 ? void 0 : _a.edges]);
4830
+ const filteredDefinitions = react$1.exports.useMemo(() => definitionsArray
4831
+ .filter(nonNullable)
4832
+ .filter(def => { var _a; return (owners && ((_a = def.owner) === null || _a === void 0 ? void 0 : _a.ownerType) ? owners.includes(def.owner.ownerType) : true); })
4833
+ .map(def => {
4834
+ var _a, _b, _c, _d;
4835
+ return ({
4836
+ id: def.definitionId,
4837
+ 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 : "",
4838
+ type: def.type,
4839
+ owner: (_d = def.owner) === null || _d === void 0 ? void 0 : _d.ownerType,
4840
+ });
4841
+ })
4842
+ .filter(def => (filterQuery ? def.title.toLowerCase().includes(filterQuery.toLowerCase()) : true)), [definitionsArray, filterQuery, language, owners]);
4843
+ return react$1.exports.useMemo(() => ({ definitions: filteredDefinitions, loading }), [filteredDefinitions, loading]);
4844
+ };
4655
4845
 
4656
4846
  /**
4657
4847
  * A function used to get the CustomFieldValueAndDefinition from a node of CustomFieldValueAndDefinition.
@@ -4713,4 +4903,4 @@ const useCustomFieldsValueAndDefinition = ({ entityId, entityType, systemOfMeasu
4713
4903
  return react$1.exports.useMemo(() => ({ fields: noneNullableFields, loading }), [noneNullableFields, loading]);
4714
4904
  };
4715
4905
 
4716
- export { GetCustomFieldsForAssetDocument, GetCustomFieldsForSiteDocument, getCustomFieldValueAndDefinitionFromRelevantNode, useCustomFieldsValueAndDefinition };
4906
+ export { GetCustomFieldsForAssetDocument, GetCustomFieldsForSiteDocument, getCustomFieldValueAndDefinitionFromRelevantNode, useCustomFieldDefinitions, useCustomFieldsValueAndDefinition };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/custom-field-api",
3
- "version": "0.1.12",
3
+ "version": "0.1.13",
4
4
  "engines": {
5
5
  "node": ">=18.x"
6
6
  },
@@ -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: String!, $systemOfMeasurement: SystemOfMeasurement) {\n asset(id: $entityId) {\n customFields(systemOfMeasurement: $systemOfMeasurement) {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nquery GetCustomFieldsForSite($entityId: ID!, $systemOfMeasurement: SystemOfMeasurement) {\n site(id: $entityId) {\n customFields(systemOfMeasurement: $systemOfMeasurement) {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nfragment CustomFieldValueAndDefinition on CustomFieldValueAndDefinition {\n __typename\n type\n definition {\n definitionId\n owner {\n irisAppId\n marketplaceEntry {\n name\n }\n }\n entityType\n title\n description\n uiVisible\n uiEditable\n key\n }\n ... on BooleanFieldValueAndDefinition {\n booleanValue\n }\n ... on DateFieldValueAndDefinition {\n dateValue\n }\n ... on DropDownFieldValueAndDefinition {\n stringArrayValue\n definition {\n allValues\n multiSelect\n }\n }\n ... on EmailFieldValueAndDefinition {\n stringValue\n }\n ... on JsonFieldValueAndDefinition {\n jsonValue\n }\n ... on NumberFieldValueAndDefinition {\n numberValue\n definition {\n minimumNumber\n maximumNumber\n unitSi\n unitUs\n isInteger\n }\n }\n ... on MonetaryFieldValueAndDefinition {\n numberValue\n definition {\n minimumNumber\n maximumNumber\n currency\n }\n }\n ... on PhoneNumberFieldValueAndDefinition {\n stringValue\n }\n ... on StringFieldValueAndDefinition {\n stringValue\n definition {\n maximumLength\n minimumLength\n pattern\n }\n }\n ... on WebAddressFieldValueAndDefinition {\n stringValue\n }\n}": DocumentNode<types.GetCustomFieldsForAssetQuery, types.Exact<{
14
+ "query GetCustomFieldsForAsset($entityId: String!, $systemOfMeasurement: SystemOfMeasurement) {\n asset(id: $entityId) {\n customFields(systemOfMeasurement: $systemOfMeasurement) {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nquery GetCustomFieldsForSite($entityId: ID!, $systemOfMeasurement: SystemOfMeasurement) {\n site(id: $entityId) {\n customFields(systemOfMeasurement: $systemOfMeasurement) {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nfragment CustomFieldValueAndDefinition on CustomFieldValueAndDefinition {\n __typename\n type\n definition {\n definitionId\n owner {\n irisAppId\n marketplaceEntry {\n name\n }\n }\n entityType\n title\n description\n uiVisible\n uiEditable\n key\n }\n ... on BooleanFieldValueAndDefinition {\n booleanValue\n }\n ... on DateFieldValueAndDefinition {\n dateValue\n }\n ... on DropDownFieldValueAndDefinition {\n stringArrayValue\n definition {\n allValues\n multiSelect\n }\n }\n ... on EmailFieldValueAndDefinition {\n stringValue\n }\n ... on JsonFieldValueAndDefinition {\n jsonValue\n }\n ... on NumberFieldValueAndDefinition {\n numberValue\n definition {\n minimumNumber\n maximumNumber\n unitSi\n unitUs\n isInteger\n }\n }\n ... on MonetaryFieldValueAndDefinition {\n numberValue\n definition {\n minimumNumber\n maximumNumber\n currency\n }\n }\n ... on PhoneNumberFieldValueAndDefinition {\n stringValue\n }\n ... on StringFieldValueAndDefinition {\n stringValue\n definition {\n maximumLength\n minimumLength\n pattern\n }\n }\n ... on WebAddressFieldValueAndDefinition {\n stringValue\n }\n}\n\nquery GetCustomFieldDefinitions($entityType: CustomFieldEntityType = ASSET) {\n customFieldDefinitions(uiVisible: true, first: 100, entityType: $entityType) {\n edges {\n node {\n ...CustomFieldDefinition\n }\n }\n pageInfo {\n count\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n}\n\nfragment CustomFieldDefinition on CustomFieldDefinition {\n definitionId\n translations {\n description\n title\n language\n }\n owner {\n ownerType\n }\n type\n}": DocumentNode<types.GetCustomFieldsForAssetQuery, types.Exact<{
15
15
  entityId: string;
16
16
  systemOfMeasurement?: types.InputMaybe<types.SystemOfMeasurement> | undefined;
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: String!, $systemOfMeasurement: SystemOfMeasurement) {\n asset(id: $entityId) {\n customFields(systemOfMeasurement: $systemOfMeasurement) {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nquery GetCustomFieldsForSite($entityId: ID!, $systemOfMeasurement: SystemOfMeasurement) {\n site(id: $entityId) {\n customFields(systemOfMeasurement: $systemOfMeasurement) {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nfragment CustomFieldValueAndDefinition on CustomFieldValueAndDefinition {\n __typename\n type\n definition {\n definitionId\n owner {\n irisAppId\n marketplaceEntry {\n name\n }\n }\n entityType\n title\n description\n uiVisible\n uiEditable\n key\n }\n ... on BooleanFieldValueAndDefinition {\n booleanValue\n }\n ... on DateFieldValueAndDefinition {\n dateValue\n }\n ... on DropDownFieldValueAndDefinition {\n stringArrayValue\n definition {\n allValues\n multiSelect\n }\n }\n ... on EmailFieldValueAndDefinition {\n stringValue\n }\n ... on JsonFieldValueAndDefinition {\n jsonValue\n }\n ... on NumberFieldValueAndDefinition {\n numberValue\n definition {\n minimumNumber\n maximumNumber\n unitSi\n unitUs\n isInteger\n }\n }\n ... on MonetaryFieldValueAndDefinition {\n numberValue\n definition {\n minimumNumber\n maximumNumber\n currency\n }\n }\n ... on PhoneNumberFieldValueAndDefinition {\n stringValue\n }\n ... on StringFieldValueAndDefinition {\n stringValue\n definition {\n maximumLength\n minimumLength\n pattern\n }\n }\n ... on WebAddressFieldValueAndDefinition {\n stringValue\n }\n}"): (typeof documents)["query GetCustomFieldsForAsset($entityId: String!, $systemOfMeasurement: SystemOfMeasurement) {\n asset(id: $entityId) {\n customFields(systemOfMeasurement: $systemOfMeasurement) {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nquery GetCustomFieldsForSite($entityId: ID!, $systemOfMeasurement: SystemOfMeasurement) {\n site(id: $entityId) {\n customFields(systemOfMeasurement: $systemOfMeasurement) {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nfragment CustomFieldValueAndDefinition on CustomFieldValueAndDefinition {\n __typename\n type\n definition {\n definitionId\n owner {\n irisAppId\n marketplaceEntry {\n name\n }\n }\n entityType\n title\n description\n uiVisible\n uiEditable\n key\n }\n ... on BooleanFieldValueAndDefinition {\n booleanValue\n }\n ... on DateFieldValueAndDefinition {\n dateValue\n }\n ... on DropDownFieldValueAndDefinition {\n stringArrayValue\n definition {\n allValues\n multiSelect\n }\n }\n ... on EmailFieldValueAndDefinition {\n stringValue\n }\n ... on JsonFieldValueAndDefinition {\n jsonValue\n }\n ... on NumberFieldValueAndDefinition {\n numberValue\n definition {\n minimumNumber\n maximumNumber\n unitSi\n unitUs\n isInteger\n }\n }\n ... on MonetaryFieldValueAndDefinition {\n numberValue\n definition {\n minimumNumber\n maximumNumber\n currency\n }\n }\n ... on PhoneNumberFieldValueAndDefinition {\n stringValue\n }\n ... on StringFieldValueAndDefinition {\n stringValue\n definition {\n maximumLength\n minimumLength\n pattern\n }\n }\n ... on WebAddressFieldValueAndDefinition {\n stringValue\n }\n}"];
35
+ export declare function graphql(source: "query GetCustomFieldsForAsset($entityId: String!, $systemOfMeasurement: SystemOfMeasurement) {\n asset(id: $entityId) {\n customFields(systemOfMeasurement: $systemOfMeasurement) {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nquery GetCustomFieldsForSite($entityId: ID!, $systemOfMeasurement: SystemOfMeasurement) {\n site(id: $entityId) {\n customFields(systemOfMeasurement: $systemOfMeasurement) {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nfragment CustomFieldValueAndDefinition on CustomFieldValueAndDefinition {\n __typename\n type\n definition {\n definitionId\n owner {\n irisAppId\n marketplaceEntry {\n name\n }\n }\n entityType\n title\n description\n uiVisible\n uiEditable\n key\n }\n ... on BooleanFieldValueAndDefinition {\n booleanValue\n }\n ... on DateFieldValueAndDefinition {\n dateValue\n }\n ... on DropDownFieldValueAndDefinition {\n stringArrayValue\n definition {\n allValues\n multiSelect\n }\n }\n ... on EmailFieldValueAndDefinition {\n stringValue\n }\n ... on JsonFieldValueAndDefinition {\n jsonValue\n }\n ... on NumberFieldValueAndDefinition {\n numberValue\n definition {\n minimumNumber\n maximumNumber\n unitSi\n unitUs\n isInteger\n }\n }\n ... on MonetaryFieldValueAndDefinition {\n numberValue\n definition {\n minimumNumber\n maximumNumber\n currency\n }\n }\n ... on PhoneNumberFieldValueAndDefinition {\n stringValue\n }\n ... on StringFieldValueAndDefinition {\n stringValue\n definition {\n maximumLength\n minimumLength\n pattern\n }\n }\n ... on WebAddressFieldValueAndDefinition {\n stringValue\n }\n}\n\nquery GetCustomFieldDefinitions($entityType: CustomFieldEntityType = ASSET) {\n customFieldDefinitions(uiVisible: true, first: 100, entityType: $entityType) {\n edges {\n node {\n ...CustomFieldDefinition\n }\n }\n pageInfo {\n count\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n}\n\nfragment CustomFieldDefinition on CustomFieldDefinition {\n definitionId\n translations {\n description\n title\n language\n }\n owner {\n ownerType\n }\n type\n}"): (typeof documents)["query GetCustomFieldsForAsset($entityId: String!, $systemOfMeasurement: SystemOfMeasurement) {\n asset(id: $entityId) {\n customFields(systemOfMeasurement: $systemOfMeasurement) {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nquery GetCustomFieldsForSite($entityId: ID!, $systemOfMeasurement: SystemOfMeasurement) {\n site(id: $entityId) {\n customFields(systemOfMeasurement: $systemOfMeasurement) {\n edges {\n node {\n ...CustomFieldValueAndDefinition\n }\n }\n }\n }\n}\n\nfragment CustomFieldValueAndDefinition on CustomFieldValueAndDefinition {\n __typename\n type\n definition {\n definitionId\n owner {\n irisAppId\n marketplaceEntry {\n name\n }\n }\n entityType\n title\n description\n uiVisible\n uiEditable\n key\n }\n ... on BooleanFieldValueAndDefinition {\n booleanValue\n }\n ... on DateFieldValueAndDefinition {\n dateValue\n }\n ... on DropDownFieldValueAndDefinition {\n stringArrayValue\n definition {\n allValues\n multiSelect\n }\n }\n ... on EmailFieldValueAndDefinition {\n stringValue\n }\n ... on JsonFieldValueAndDefinition {\n jsonValue\n }\n ... on NumberFieldValueAndDefinition {\n numberValue\n definition {\n minimumNumber\n maximumNumber\n unitSi\n unitUs\n isInteger\n }\n }\n ... on MonetaryFieldValueAndDefinition {\n numberValue\n definition {\n minimumNumber\n maximumNumber\n currency\n }\n }\n ... on PhoneNumberFieldValueAndDefinition {\n stringValue\n }\n ... on StringFieldValueAndDefinition {\n stringValue\n definition {\n maximumLength\n minimumLength\n pattern\n }\n }\n ... on WebAddressFieldValueAndDefinition {\n stringValue\n }\n}\n\nquery GetCustomFieldDefinitions($entityType: CustomFieldEntityType = ASSET) {\n customFieldDefinitions(uiVisible: true, first: 100, entityType: $entityType) {\n edges {\n node {\n ...CustomFieldDefinition\n }\n }\n pageInfo {\n count\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n}\n\nfragment CustomFieldDefinition on CustomFieldDefinition {\n definitionId\n translations {\n description\n title\n language\n }\n owner {\n ownerType\n }\n type\n}"];
36
36
  export type DocumentType<TDocumentNode extends DocumentNode<any, any>> = TDocumentNode extends DocumentNode<infer TType, any> ? TType : never;
37
37
  export {};
@@ -81,6 +81,12 @@ export declare const customFieldEntityType: {
81
81
  readonly Site: "SITE";
82
82
  };
83
83
  export type CustomFieldEntityType = (typeof customFieldEntityType)[keyof typeof customFieldEntityType];
84
+ export declare const customFieldOwnerType: {
85
+ readonly Account: "ACCOUNT";
86
+ readonly IrisApp: "IRIS_APP";
87
+ readonly Trackunit: "TRACKUNIT";
88
+ };
89
+ export type CustomFieldOwnerType = (typeof customFieldOwnerType)[keyof typeof customFieldOwnerType];
84
90
  export declare const customFieldType: {
85
91
  readonly Boolean: "BOOLEAN";
86
92
  readonly Date: "DATE";
@@ -563,7 +569,260 @@ export type CustomFieldValueAndDefinition_WebAddressFieldValueAndDefinition_Frag
563
569
  " $fragmentName"?: "CustomFieldValueAndDefinition_WebAddressFieldValueAndDefinition_Fragment";
564
570
  };
565
571
  export type CustomFieldValueAndDefinitionFragment = CustomFieldValueAndDefinition_BooleanFieldValueAndDefinition_Fragment | CustomFieldValueAndDefinition_DateFieldValueAndDefinition_Fragment | CustomFieldValueAndDefinition_DropDownFieldValueAndDefinition_Fragment | CustomFieldValueAndDefinition_EmailFieldValueAndDefinition_Fragment | CustomFieldValueAndDefinition_JsonFieldValueAndDefinition_Fragment | CustomFieldValueAndDefinition_MonetaryFieldValueAndDefinition_Fragment | CustomFieldValueAndDefinition_NumberFieldValueAndDefinition_Fragment | CustomFieldValueAndDefinition_PhoneNumberFieldValueAndDefinition_Fragment | CustomFieldValueAndDefinition_StringFieldValueAndDefinition_Fragment | CustomFieldValueAndDefinition_WebAddressFieldValueAndDefinition_Fragment;
572
+ export type GetCustomFieldDefinitionsQueryVariables = Exact<{
573
+ entityType?: InputMaybe<CustomFieldEntityType>;
574
+ }>;
575
+ export type GetCustomFieldDefinitionsQuery = {
576
+ __typename?: "Query";
577
+ customFieldDefinitions?: {
578
+ __typename?: "CustomFieldDefinitionConnection";
579
+ edges?: Array<{
580
+ __typename?: "CustomFieldDefinitionEdge";
581
+ node?: ({
582
+ __typename?: "BooleanFieldDefinition";
583
+ } & {
584
+ " $fragmentRefs"?: {
585
+ CustomFieldDefinition_BooleanFieldDefinition_Fragment: CustomFieldDefinition_BooleanFieldDefinition_Fragment;
586
+ };
587
+ }) | ({
588
+ __typename?: "DateFieldDefinition";
589
+ } & {
590
+ " $fragmentRefs"?: {
591
+ CustomFieldDefinition_DateFieldDefinition_Fragment: CustomFieldDefinition_DateFieldDefinition_Fragment;
592
+ };
593
+ }) | ({
594
+ __typename?: "DropDownFieldDefinition";
595
+ } & {
596
+ " $fragmentRefs"?: {
597
+ CustomFieldDefinition_DropDownFieldDefinition_Fragment: CustomFieldDefinition_DropDownFieldDefinition_Fragment;
598
+ };
599
+ }) | ({
600
+ __typename?: "EmailFieldDefinition";
601
+ } & {
602
+ " $fragmentRefs"?: {
603
+ CustomFieldDefinition_EmailFieldDefinition_Fragment: CustomFieldDefinition_EmailFieldDefinition_Fragment;
604
+ };
605
+ }) | ({
606
+ __typename?: "JsonFieldDefinition";
607
+ } & {
608
+ " $fragmentRefs"?: {
609
+ CustomFieldDefinition_JsonFieldDefinition_Fragment: CustomFieldDefinition_JsonFieldDefinition_Fragment;
610
+ };
611
+ }) | ({
612
+ __typename?: "MonetaryFieldDefinition";
613
+ } & {
614
+ " $fragmentRefs"?: {
615
+ CustomFieldDefinition_MonetaryFieldDefinition_Fragment: CustomFieldDefinition_MonetaryFieldDefinition_Fragment;
616
+ };
617
+ }) | ({
618
+ __typename?: "NumberFieldDefinition";
619
+ } & {
620
+ " $fragmentRefs"?: {
621
+ CustomFieldDefinition_NumberFieldDefinition_Fragment: CustomFieldDefinition_NumberFieldDefinition_Fragment;
622
+ };
623
+ }) | ({
624
+ __typename?: "PhoneNumberFieldDefinition";
625
+ } & {
626
+ " $fragmentRefs"?: {
627
+ CustomFieldDefinition_PhoneNumberFieldDefinition_Fragment: CustomFieldDefinition_PhoneNumberFieldDefinition_Fragment;
628
+ };
629
+ }) | ({
630
+ __typename?: "StringFieldDefinition";
631
+ } & {
632
+ " $fragmentRefs"?: {
633
+ CustomFieldDefinition_StringFieldDefinition_Fragment: CustomFieldDefinition_StringFieldDefinition_Fragment;
634
+ };
635
+ }) | ({
636
+ __typename?: "WebAddressFieldDefinition";
637
+ } & {
638
+ " $fragmentRefs"?: {
639
+ CustomFieldDefinition_WebAddressFieldDefinition_Fragment: CustomFieldDefinition_WebAddressFieldDefinition_Fragment;
640
+ };
641
+ }) | null;
642
+ } | null> | null;
643
+ pageInfo?: {
644
+ __typename?: "PageInfo";
645
+ count?: number | null;
646
+ endCursor?: string | null;
647
+ hasNextPage: boolean;
648
+ hasPreviousPage: boolean;
649
+ startCursor?: string | null;
650
+ } | null;
651
+ } | null;
652
+ };
653
+ export type CustomFieldDefinition_BooleanFieldDefinition_Fragment = {
654
+ __typename?: "BooleanFieldDefinition";
655
+ definitionId: string;
656
+ type: CustomFieldType;
657
+ translations?: Array<{
658
+ __typename?: "CustomFieldDefinitionTranslations";
659
+ description?: string | null;
660
+ title?: string | null;
661
+ language?: string | null;
662
+ } | null> | null;
663
+ owner?: {
664
+ __typename?: "CustomFieldOwner";
665
+ ownerType: CustomFieldOwnerType;
666
+ } | null;
667
+ } & {
668
+ " $fragmentName"?: "CustomFieldDefinition_BooleanFieldDefinition_Fragment";
669
+ };
670
+ export type CustomFieldDefinition_DateFieldDefinition_Fragment = {
671
+ __typename?: "DateFieldDefinition";
672
+ definitionId: string;
673
+ type: CustomFieldType;
674
+ translations?: Array<{
675
+ __typename?: "CustomFieldDefinitionTranslations";
676
+ description?: string | null;
677
+ title?: string | null;
678
+ language?: string | null;
679
+ } | null> | null;
680
+ owner?: {
681
+ __typename?: "CustomFieldOwner";
682
+ ownerType: CustomFieldOwnerType;
683
+ } | null;
684
+ } & {
685
+ " $fragmentName"?: "CustomFieldDefinition_DateFieldDefinition_Fragment";
686
+ };
687
+ export type CustomFieldDefinition_DropDownFieldDefinition_Fragment = {
688
+ __typename?: "DropDownFieldDefinition";
689
+ definitionId: string;
690
+ type: CustomFieldType;
691
+ translations?: Array<{
692
+ __typename?: "CustomFieldDefinitionTranslations";
693
+ description?: string | null;
694
+ title?: string | null;
695
+ language?: string | null;
696
+ } | null> | null;
697
+ owner?: {
698
+ __typename?: "CustomFieldOwner";
699
+ ownerType: CustomFieldOwnerType;
700
+ } | null;
701
+ } & {
702
+ " $fragmentName"?: "CustomFieldDefinition_DropDownFieldDefinition_Fragment";
703
+ };
704
+ export type CustomFieldDefinition_EmailFieldDefinition_Fragment = {
705
+ __typename?: "EmailFieldDefinition";
706
+ definitionId: string;
707
+ type: CustomFieldType;
708
+ translations?: Array<{
709
+ __typename?: "CustomFieldDefinitionTranslations";
710
+ description?: string | null;
711
+ title?: string | null;
712
+ language?: string | null;
713
+ } | null> | null;
714
+ owner?: {
715
+ __typename?: "CustomFieldOwner";
716
+ ownerType: CustomFieldOwnerType;
717
+ } | null;
718
+ } & {
719
+ " $fragmentName"?: "CustomFieldDefinition_EmailFieldDefinition_Fragment";
720
+ };
721
+ export type CustomFieldDefinition_JsonFieldDefinition_Fragment = {
722
+ __typename?: "JsonFieldDefinition";
723
+ definitionId: string;
724
+ type: CustomFieldType;
725
+ translations?: Array<{
726
+ __typename?: "CustomFieldDefinitionTranslations";
727
+ description?: string | null;
728
+ title?: string | null;
729
+ language?: string | null;
730
+ } | null> | null;
731
+ owner?: {
732
+ __typename?: "CustomFieldOwner";
733
+ ownerType: CustomFieldOwnerType;
734
+ } | null;
735
+ } & {
736
+ " $fragmentName"?: "CustomFieldDefinition_JsonFieldDefinition_Fragment";
737
+ };
738
+ export type CustomFieldDefinition_MonetaryFieldDefinition_Fragment = {
739
+ __typename?: "MonetaryFieldDefinition";
740
+ definitionId: string;
741
+ type: CustomFieldType;
742
+ translations?: Array<{
743
+ __typename?: "CustomFieldDefinitionTranslations";
744
+ description?: string | null;
745
+ title?: string | null;
746
+ language?: string | null;
747
+ } | null> | null;
748
+ owner?: {
749
+ __typename?: "CustomFieldOwner";
750
+ ownerType: CustomFieldOwnerType;
751
+ } | null;
752
+ } & {
753
+ " $fragmentName"?: "CustomFieldDefinition_MonetaryFieldDefinition_Fragment";
754
+ };
755
+ export type CustomFieldDefinition_NumberFieldDefinition_Fragment = {
756
+ __typename?: "NumberFieldDefinition";
757
+ definitionId: string;
758
+ type: CustomFieldType;
759
+ translations?: Array<{
760
+ __typename?: "CustomFieldDefinitionTranslations";
761
+ description?: string | null;
762
+ title?: string | null;
763
+ language?: string | null;
764
+ } | null> | null;
765
+ owner?: {
766
+ __typename?: "CustomFieldOwner";
767
+ ownerType: CustomFieldOwnerType;
768
+ } | null;
769
+ } & {
770
+ " $fragmentName"?: "CustomFieldDefinition_NumberFieldDefinition_Fragment";
771
+ };
772
+ export type CustomFieldDefinition_PhoneNumberFieldDefinition_Fragment = {
773
+ __typename?: "PhoneNumberFieldDefinition";
774
+ definitionId: string;
775
+ type: CustomFieldType;
776
+ translations?: Array<{
777
+ __typename?: "CustomFieldDefinitionTranslations";
778
+ description?: string | null;
779
+ title?: string | null;
780
+ language?: string | null;
781
+ } | null> | null;
782
+ owner?: {
783
+ __typename?: "CustomFieldOwner";
784
+ ownerType: CustomFieldOwnerType;
785
+ } | null;
786
+ } & {
787
+ " $fragmentName"?: "CustomFieldDefinition_PhoneNumberFieldDefinition_Fragment";
788
+ };
789
+ export type CustomFieldDefinition_StringFieldDefinition_Fragment = {
790
+ __typename?: "StringFieldDefinition";
791
+ definitionId: string;
792
+ type: CustomFieldType;
793
+ translations?: Array<{
794
+ __typename?: "CustomFieldDefinitionTranslations";
795
+ description?: string | null;
796
+ title?: string | null;
797
+ language?: string | null;
798
+ } | null> | null;
799
+ owner?: {
800
+ __typename?: "CustomFieldOwner";
801
+ ownerType: CustomFieldOwnerType;
802
+ } | null;
803
+ } & {
804
+ " $fragmentName"?: "CustomFieldDefinition_StringFieldDefinition_Fragment";
805
+ };
806
+ export type CustomFieldDefinition_WebAddressFieldDefinition_Fragment = {
807
+ __typename?: "WebAddressFieldDefinition";
808
+ definitionId: string;
809
+ type: CustomFieldType;
810
+ translations?: Array<{
811
+ __typename?: "CustomFieldDefinitionTranslations";
812
+ description?: string | null;
813
+ title?: string | null;
814
+ language?: string | null;
815
+ } | null> | null;
816
+ owner?: {
817
+ __typename?: "CustomFieldOwner";
818
+ ownerType: CustomFieldOwnerType;
819
+ } | null;
820
+ } & {
821
+ " $fragmentName"?: "CustomFieldDefinition_WebAddressFieldDefinition_Fragment";
822
+ };
823
+ 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;
566
824
  export declare const CustomFieldValueAndDefinitionFragmentDoc: DocumentNode<CustomFieldValueAndDefinitionFragment, unknown>;
825
+ export declare const CustomFieldDefinitionFragmentDoc: DocumentNode<CustomFieldDefinitionFragment, unknown>;
567
826
  export declare const GetCustomFieldsForAssetDocument: DocumentNode<GetCustomFieldsForAssetQuery, Exact<{
568
827
  entityId: Scalars["String"]["input"];
569
828
  systemOfMeasurement?: InputMaybe<SystemOfMeasurement> | undefined;
@@ -572,3 +831,6 @@ export declare const GetCustomFieldsForSiteDocument: DocumentNode<GetCustomField
572
831
  entityId: Scalars["ID"]["input"];
573
832
  systemOfMeasurement?: InputMaybe<SystemOfMeasurement> | undefined;
574
833
  }>>;
834
+ export declare const GetCustomFieldDefinitionsDocument: DocumentNode<GetCustomFieldDefinitionsQuery, Exact<{
835
+ entityType?: InputMaybe<CustomFieldEntityType> | undefined;
836
+ }>>;
@@ -6,3 +6,6 @@ export declare const mockForGetCustomFieldsForAssetQuery: (variables: gql.GetCus
6
6
  export declare const mockForGetCustomFieldsForSiteQuery: (variables: gql.GetCustomFieldsForSiteQueryVariables, data?: DeepPartialNullable<gql.GetCustomFieldsForSiteQuery>) => import("@apollo/client/testing").MockedResponse<gql.GetCustomFieldsForSiteQuery, Record<string, any>> & {
7
7
  data: gql.GetCustomFieldsForSiteQuery;
8
8
  };
9
+ export declare const mockForGetCustomFieldDefinitionsQuery: (variables: gql.GetCustomFieldDefinitionsQueryVariables, data?: DeepPartialNullable<gql.GetCustomFieldDefinitionsQuery>) => import("@apollo/client/testing").MockedResponse<gql.GetCustomFieldDefinitionsQuery, Record<string, any>> & {
10
+ data: gql.GetCustomFieldDefinitionsQuery;
11
+ };
package/src/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
+ export * from "./useCustomFieldDefinitions";
1
2
  export * from "./useCustomFieldsValueAndDefinition";
2
- export { GetCustomFieldsForAssetDocument, type GetCustomFieldsForAssetQuery, type GetCustomFieldsForAssetQueryVariables, GetCustomFieldsForSiteDocument } from "./generated/graphql-api/graphql";
3
+ export { GetCustomFieldsForAssetDocument, GetCustomFieldsForSiteDocument, type GetCustomFieldsForAssetQuery, type GetCustomFieldsForAssetQueryVariables, } from "./generated/graphql-api/graphql";
@@ -0,0 +1,27 @@
1
+ import { EntityType } from "@trackunit/iris-app-api";
2
+ import { CustomFieldOwnerType, CustomFieldType } from "./generated/graphql-api/graphql";
3
+ type SupportedEntityTypes = Extract<EntityType, "ASSET" | "SITE">;
4
+ export interface CustomFieldDefinition {
5
+ id: string;
6
+ title: string;
7
+ type: CustomFieldType;
8
+ owner?: CustomFieldOwnerType | null;
9
+ }
10
+ interface UseCustomFieldDefinitionsProps {
11
+ entityType?: SupportedEntityTypes;
12
+ filterQuery?: string;
13
+ owners?: CustomFieldOwnerType[];
14
+ }
15
+ interface UseCustomFieldDefinitionsReturnValue {
16
+ loading: boolean;
17
+ definitions: CustomFieldDefinition[];
18
+ }
19
+ /**
20
+ * Custom hook to fetch custom field definitions for a specified entity type.
21
+ *
22
+ * @param {UseCustomFieldDefinitionsProps} props - The properties for the custom fields query.
23
+ * @param {SupportedEntityTypes} [props.entityType] - The type of the entity (e.g., 'ASSET' or 'SITE').
24
+ * @returns {UseCustomFieldDefinitionsReturnValue} An object containing a loading state and an array of custom field definitions.
25
+ */
26
+ export declare const useCustomFieldDefinitions: ({ entityType, filterQuery, owners, }: UseCustomFieldDefinitionsProps) => UseCustomFieldDefinitionsReturnValue;
27
+ export {};