@trackunit/custom-field-api 0.1.11 → 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/README.md +1 -1
- package/index.cjs.js +194 -3
- package/index.esm.js +194 -4
- package/package.json +1 -1
- package/src/generated/graphql-api/gql.d.ts +2 -2
- package/src/generated/graphql-api/graphql.d.ts +262 -0
- package/src/generated/graphql-api/mock.d.ts +3 -0
- package/src/index.d.ts +2 -1
- package/src/useCustomFieldDefinitions.d.ts +27 -0
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ This is meant to ease the use of custom fields in Iris apps.
|
|
|
9
9
|
|
|
10
10
|
This library is exposed publicly for use in the the Trackunit [Iris App SDK](https://www.npmjs.com/package/@trackunit/iris-app).
|
|
11
11
|
|
|
12
|
-
To browse all avaliable components visit our [Public Storybook](https://
|
|
12
|
+
To browse all avaliable components visit our [Public Storybook](https://apps.iris.trackunit.com/storybook/).
|
|
13
13
|
|
|
14
14
|
For more info and a full guide on Iris App SDK Development, please visit our [Developer Hub](https://developers.trackunit.com/).
|
|
15
15
|
|
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
|
-
|
|
4657
|
-
|
|
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
|
-
|
|
4653
|
-
|
|
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
|
@@ -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,
|
|
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 {};
|