@trackunit/custom-field-api 0.1.12 → 0.1.14

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/package.json CHANGED
@@ -1,12 +1,23 @@
1
1
  {
2
2
  "name": "@trackunit/custom-field-api",
3
- "version": "0.1.12",
3
+ "version": "0.1.14",
4
4
  "engines": {
5
5
  "node": ">=18.x"
6
6
  },
7
7
  "repository": "https://github.com/Trackunit/manager",
8
8
  "license": "SEE LICENSE IN LICENSE.txt",
9
- "dependencies": {},
9
+ "dependencies": {
10
+ "@graphql-codegen/cli": "^5.0.0",
11
+ "@trackunit/iris-app-build-utilities": "*",
12
+ "@graphql-typed-document-node/core": "^3.2.0",
13
+ "graphql": "^15.8.0",
14
+ "@trackunit/iris-app-api": "*",
15
+ "@apollo/client": "^3.7.10",
16
+ "@trackunit/react-core-contexts-test": "*",
17
+ "react": "^18.2.0",
18
+ "@trackunit/shared-utils": "*",
19
+ "@trackunit/react-core-hooks": "*"
20
+ },
10
21
  "module": "./index.esm.js",
11
22
  "main": "./index.cjs.js"
12
23
  }
@@ -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 {};