@jahia/data-helper 1.1.4 → 1.1.6

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/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ # (Fri Nov 17 2023)
2
+
3
+ #### 🐛 Bug Fix
4
+
5
+ - BACKLOG-20677: return languages in their own locale, displayLanguage or newly added uiLanguage if requested [#253](https://github.com/Jahia/javascript-components/pull/253) ([@cedmail](https://github.com/cedmail))
6
+
7
+ #### Authors: 1
8
+
9
+ - Cedric Mailleux ([@cedmail](https://github.com/cedmail))
10
+
11
+ ---
12
+
13
+ # (Tue Sep 12 2023)
14
+
15
+ #### 🐛 Bug Fix
16
+
17
+ - BACKLOG-21525: fixed query refetch [#252](https://github.com/Jahia/javascript-components/pull/252) ([@tdraier](https://github.com/tdraier))
18
+
19
+ #### Authors: 1
20
+
21
+ - Thomas Draier ([@tdraier](https://github.com/tdraier))
22
+
23
+ ---
24
+
1
25
  # (Tue May 30 2023)
2
26
 
3
27
  #### 🐛 Bug Fix
@@ -70,12 +70,13 @@ var timeoutHandler = function timeoutHandler(client) {
70
70
  });
71
71
  });
72
72
  } else {
73
- var watchedQuery = client.watchQuery(_objectSpread(_objectSpread({
73
+ var observableQuery = client.watchQuery(_objectSpread(_objectSpread({
74
74
  query: query,
75
75
  errorPolicy: 'ignore'
76
76
  }, queryOptions), {}, {
77
77
  variables: generatedVariables
78
- })).subscribe(function (_ref) {
78
+ }));
79
+ var subscription = observableQuery.subscribe(function (_ref) {
79
80
  var data = _ref.data,
80
81
  others = _objectWithoutProperties(_ref, _excluded);
81
82
  var result = getResult(data, others, options, query, generatedVariables);
@@ -84,15 +85,13 @@ var timeoutHandler = function timeoutHandler(client) {
84
85
  request.result = result;
85
86
  request.setResult(_objectSpread(_objectSpread({}, result), {}, {
86
87
  refetch: function refetch() {
87
- client.refetchQueries({
88
- include: [query]
89
- });
88
+ return observableQuery.refetch(generatedVariables);
90
89
  }
91
90
  }));
92
91
  }
93
92
  });
94
93
  });
95
- observedQueries.push(watchedQuery);
94
+ observedQueries.push(subscription);
96
95
  }
97
96
  });
98
97
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useState","useApolloClient","getQuery","getEncodedPermissionName","getEncodedNodeTypeName","SCHEMA_FIELDS_QUERY","isSubset","merge","useMemoRequest","deepEquals","queue","schemaResult","timeout","observedQueries","scheduleQueue","client","window","setTimeout","timeoutHandler","clearTimeout","mergedQueue","forEach","request","toInsert","variables","queryOptions","options","originals","mergeable","find","q","JSON","stringify","push","_objectSpread","obs","unsubscribe","mergedRequest","_getQuery","query","generatedVariables","skip","setResult","loading","watchedQuery","watchQuery","errorPolicy","subscribe","_ref","data","others","_objectWithoutProperties","_excluded","result","getResult","refetch","refetchQueries","include","useNodeInfo","_useState","_useState2","_slicedToArray","type","then","_ref2","_useMemoRequest","_useMemoRequest2","currentRequest","queryHasChanged","splice","indexOf","fetchPolicy","infoQuery","res","readQuery","node","jcr","nodeByPath","nodeById","nodes","nodesByPath","nodesById","decodeResult","map","n","nodeOrig","site","getPermissions","name","getSitePermissions","getIsNodeTypes","getMimeType","resourceChildren","mimeType","length","value"],"sources":["useNodeInfo.ts"],"sourcesContent":["import {useEffect, useState} from 'react';\nimport {ApolloClient, ApolloError, NetworkStatus, useApolloClient, WatchQueryOptions} from '@apollo/client';\nimport {getQuery, NodeInfoOptions} from './useNodeInfo.gql-queries';\nimport {getEncodedPermissionName} from '../../fragments/getPermissionFragment';\nimport {getEncodedNodeTypeName} from '../../fragments/getIsNodeTypeFragment';\nimport {SCHEMA_FIELDS_QUERY} from '../useSchemaFields/useSchemaFields.gql-queries';\nimport {isSubset, merge} from './useNodeInfo.utils';\nimport {useMemoRequest} from './useMemoRequest';\nimport deepEquals from 'fast-deep-equal';\nimport {DocumentNode, GraphQLError} from 'graphql';\n\nexport type Request = {\n variables:{[key:string]: any},\n options: NodeInfoOptions,\n queryOptions: Partial<WatchQueryOptions>,\n}\n\nexport type QueuedRequest = Request & {\n result?: any,\n setResult: (data: any) => void\n}\n\nexport type MergedRequest = Request & { originals: QueuedRequest[] };\n\nexport type NodeInfoResult = {\n node?: any,\n nodes?: any[],\n errors?: readonly GraphQLError[],\n error?: ApolloError,\n loading?: boolean,\n networkStatus?: NetworkStatus,\n partial?: boolean,\n query?: DocumentNode,\n variables?: {[key:string]: any}\n}\n\nconst queue: QueuedRequest[] = [];\nlet schemaResult: any;\nlet timeout: number;\nlet observedQueries: { unsubscribe: () => void }[] = [];\n\nfunction scheduleQueue(client: ApolloClient<object>) {\n if (!timeout && schemaResult) {\n timeout = window.setTimeout(() => {\n timeoutHandler(client);\n clearTimeout(timeout);\n timeout = null;\n }, 0);\n }\n}\n\nconst timeoutHandler = (client: ApolloClient<object>) => {\n const mergedQueue: MergedRequest[] = [];\n\n queue.forEach(request => {\n const toInsert = {\n variables: request.variables,\n queryOptions: request.queryOptions,\n options: request.options,\n originals: [request]\n };\n\n const mergeable = mergedQueue.find(q => JSON.stringify(q.queryOptions) === JSON.stringify(toInsert.queryOptions) && (isSubset(q.variables, toInsert.variables) || isSubset(toInsert.variables, q.variables)));\n\n if (mergeable) {\n merge(mergeable, toInsert);\n } else {\n mergedQueue.push({\n variables: toInsert.variables && {...toInsert.variables},\n queryOptions: toInsert.queryOptions && {...toInsert.queryOptions},\n options: toInsert.options && {...toInsert.options},\n originals: toInsert.originals\n });\n }\n });\n\n observedQueries.forEach(obs => obs.unsubscribe());\n observedQueries = [];\n\n mergedQueue.forEach(mergedRequest => {\n const {variables, queryOptions, options, originals} = mergedRequest;\n const {query, generatedVariables, skip} = getQuery(variables, schemaResult, options);\n if (skip) {\n // No query to execute\n originals.forEach(request => {\n request.setResult({\n loading: false\n });\n });\n } else {\n const watchedQuery = client.watchQuery({query, errorPolicy: 'ignore', ...queryOptions, variables: generatedVariables}).subscribe(({data, ...others}) => {\n const result = getResult(data, others, options, query, generatedVariables);\n\n originals.forEach(request => {\n if (!deepEquals(request.result, result)) {\n request.result = result;\n request.setResult({\n ...result,\n refetch() {\n client.refetchQueries({include: [query]});\n }\n });\n }\n });\n });\n observedQueries.push(watchedQuery);\n }\n });\n};\n\nexport const useNodeInfo = (variables: {[key:string]: unknown}, options?: NodeInfoOptions, queryOptions?: Partial<WatchQueryOptions>) => {\n const [result, setResult] = useState<NodeInfoResult>({\n loading: true\n });\n\n const client = useApolloClient();\n\n if (!schemaResult) {\n client.query({query: SCHEMA_FIELDS_QUERY, variables: {type: 'GqlPublicationInfo'}}).then(({data}: {data: any}) => {\n schemaResult = data;\n scheduleQueue(client);\n });\n }\n\n // Normalize and memoize request\n const [currentRequest, queryHasChanged] = useMemoRequest(variables, queryOptions, options, setResult);\n useEffect(() => {\n queue.push(currentRequest);\n scheduleQueue(client);\n\n return () => {\n queue.splice(queue.indexOf(currentRequest), 1);\n };\n }, [client, currentRequest]);\n\n if (queryHasChanged && !result.loading) {\n if (queryOptions?.fetchPolicy !== 'no-cache' && queryOptions?.fetchPolicy !== 'network-only') {\n const infoQuery = getQuery(currentRequest.variables, schemaResult, currentRequest.options);\n const res = client.readQuery({query: infoQuery.query, variables: infoQuery.generatedVariables});\n if (res) {\n const result = getResult(res, {}, currentRequest.options, infoQuery.query, infoQuery.generatedVariables);\n setResult(result);\n return result;\n }\n }\n\n setResult({\n loading: true\n });\n return {loading: true};\n }\n\n return result;\n};\n\nconst getResult = (data: any, others: NodeInfoResult, options: NodeInfoOptions, query: DocumentNode, generatedVariables: {[key:string]: unknown}) => {\n const node: object = (data && data.jcr && (data.jcr.nodeByPath || data.jcr.nodeById)) || null;\n const nodes: object[] = (data && data.jcr && (data.jcr.nodesByPath || data.jcr.nodesById)) || null;\n let result = others;\n\n if (node) {\n result = {\n node: decodeResult(node, options),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n if (nodes) {\n result = {\n nodes: nodes.map(n => decodeResult(n, options)),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n return result;\n};\n\nconst decodeResult = (nodeOrig: any, options: NodeInfoOptions) => {\n const node = {...nodeOrig};\n if (node.site) {\n node.site = {...node.site};\n }\n\n if (node && options) {\n if (options.getPermissions) {\n options.getPermissions.forEach(name => {\n const res = node[getEncodedPermissionName(name)];\n delete node[getEncodedPermissionName(name)];\n node[name] = res;\n });\n }\n\n if (options.getSitePermissions) {\n options.getSitePermissions.forEach(name => {\n const res = node.site[getEncodedPermissionName(name)];\n delete node.site[getEncodedPermissionName(name)];\n node.site[name] = res;\n });\n }\n\n if (options.getIsNodeTypes) {\n options.getIsNodeTypes.forEach(name => {\n const res = node[getEncodedNodeTypeName(name)];\n delete node[getEncodedNodeTypeName(name)];\n node[name] = res;\n });\n }\n\n if (options.getMimeType) {\n const {nodes} = node.resourceChildren;\n node.mimeType = (nodes.length !== 0 && nodes[0].mimeType.value) || null;\n delete node.resourceChildren;\n }\n }\n\n return node;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["useEffect","useState","useApolloClient","getQuery","getEncodedPermissionName","getEncodedNodeTypeName","SCHEMA_FIELDS_QUERY","isSubset","merge","useMemoRequest","deepEquals","queue","schemaResult","timeout","observedQueries","scheduleQueue","client","window","setTimeout","timeoutHandler","clearTimeout","mergedQueue","forEach","request","toInsert","variables","queryOptions","options","originals","mergeable","find","q","JSON","stringify","push","_objectSpread","obs","unsubscribe","mergedRequest","_getQuery","query","generatedVariables","skip","setResult","loading","observableQuery","watchQuery","errorPolicy","subscription","subscribe","_ref","data","others","_objectWithoutProperties","_excluded","result","getResult","refetch","useNodeInfo","_useState","_useState2","_slicedToArray","type","then","_ref2","_useMemoRequest","_useMemoRequest2","currentRequest","queryHasChanged","splice","indexOf","fetchPolicy","infoQuery","res","readQuery","node","jcr","nodeByPath","nodeById","nodes","nodesByPath","nodesById","decodeResult","map","n","nodeOrig","site","getPermissions","name","getSitePermissions","getIsNodeTypes","getMimeType","resourceChildren","mimeType","length","value"],"sources":["useNodeInfo.ts"],"sourcesContent":["import {useEffect, useState} from 'react';\nimport {ApolloClient, ApolloError, NetworkStatus, useApolloClient, WatchQueryOptions} from '@apollo/client';\nimport {getQuery, NodeInfoOptions} from './useNodeInfo.gql-queries';\nimport {getEncodedPermissionName} from '../../fragments/getPermissionFragment';\nimport {getEncodedNodeTypeName} from '../../fragments/getIsNodeTypeFragment';\nimport {SCHEMA_FIELDS_QUERY} from '../useSchemaFields/useSchemaFields.gql-queries';\nimport {isSubset, merge} from './useNodeInfo.utils';\nimport {useMemoRequest} from './useMemoRequest';\nimport deepEquals from 'fast-deep-equal';\nimport {DocumentNode, GraphQLError} from 'graphql';\n\nexport type Request = {\n variables:{[key:string]: any},\n options: NodeInfoOptions,\n queryOptions: Partial<WatchQueryOptions>,\n}\n\nexport type QueuedRequest = Request & {\n result?: any,\n setResult: (data: any) => void\n}\n\nexport type MergedRequest = Request & { originals: QueuedRequest[] };\n\nexport type NodeInfoResult = {\n node?: any,\n nodes?: any[],\n errors?: readonly GraphQLError[],\n error?: ApolloError,\n loading?: boolean,\n networkStatus?: NetworkStatus,\n partial?: boolean,\n query?: DocumentNode,\n variables?: {[key:string]: any}\n}\n\nconst queue: QueuedRequest[] = [];\nlet schemaResult: any;\nlet timeout: number;\nlet observedQueries: { unsubscribe: () => void }[] = [];\n\nfunction scheduleQueue(client: ApolloClient<object>) {\n if (!timeout && schemaResult) {\n timeout = window.setTimeout(() => {\n timeoutHandler(client);\n clearTimeout(timeout);\n timeout = null;\n }, 0);\n }\n}\n\nconst timeoutHandler = (client: ApolloClient<object>) => {\n const mergedQueue: MergedRequest[] = [];\n\n queue.forEach(request => {\n const toInsert = {\n variables: request.variables,\n queryOptions: request.queryOptions,\n options: request.options,\n originals: [request]\n };\n\n const mergeable = mergedQueue.find(q => JSON.stringify(q.queryOptions) === JSON.stringify(toInsert.queryOptions) && (isSubset(q.variables, toInsert.variables) || isSubset(toInsert.variables, q.variables)));\n\n if (mergeable) {\n merge(mergeable, toInsert);\n } else {\n mergedQueue.push({\n variables: toInsert.variables && {...toInsert.variables},\n queryOptions: toInsert.queryOptions && {...toInsert.queryOptions},\n options: toInsert.options && {...toInsert.options},\n originals: toInsert.originals\n });\n }\n });\n\n observedQueries.forEach(obs => obs.unsubscribe());\n observedQueries = [];\n\n mergedQueue.forEach(mergedRequest => {\n const {variables, queryOptions, options, originals} = mergedRequest;\n const {query, generatedVariables, skip} = getQuery(variables, schemaResult, options);\n if (skip) {\n // No query to execute\n originals.forEach(request => {\n request.setResult({\n loading: false\n });\n });\n } else {\n const observableQuery = client.watchQuery({query, errorPolicy: 'ignore', ...queryOptions, variables: generatedVariables});\n const subscription = observableQuery.subscribe(({data, ...others}) => {\n const result = getResult(data, others, options, query, generatedVariables);\n originals.forEach(request => {\n if (!deepEquals(request.result, result)) {\n request.result = result;\n request.setResult({\n ...result,\n refetch() {\n return observableQuery.refetch(generatedVariables);\n }\n });\n }\n });\n });\n observedQueries.push(subscription);\n }\n });\n};\n\nexport const useNodeInfo = (variables: {[key:string]: unknown}, options?: NodeInfoOptions, queryOptions?: Partial<WatchQueryOptions>) => {\n const [result, setResult] = useState<NodeInfoResult>({\n loading: true\n });\n\n const client = useApolloClient();\n\n if (!schemaResult) {\n client.query({query: SCHEMA_FIELDS_QUERY, variables: {type: 'GqlPublicationInfo'}}).then(({data}: {data: any}) => {\n schemaResult = data;\n scheduleQueue(client);\n });\n }\n\n // Normalize and memoize request\n const [currentRequest, queryHasChanged] = useMemoRequest(variables, queryOptions, options, setResult);\n useEffect(() => {\n queue.push(currentRequest);\n scheduleQueue(client);\n\n return () => {\n queue.splice(queue.indexOf(currentRequest), 1);\n };\n }, [client, currentRequest]);\n\n if (queryHasChanged && !result.loading) {\n if (queryOptions?.fetchPolicy !== 'no-cache' && queryOptions?.fetchPolicy !== 'network-only') {\n const infoQuery = getQuery(currentRequest.variables, schemaResult, currentRequest.options);\n const res = client.readQuery({query: infoQuery.query, variables: infoQuery.generatedVariables});\n if (res) {\n const result = getResult(res, {}, currentRequest.options, infoQuery.query, infoQuery.generatedVariables);\n setResult(result);\n return result;\n }\n }\n\n setResult({\n loading: true\n });\n return {loading: true};\n }\n\n return result;\n};\n\nconst getResult = (data: any, others: NodeInfoResult, options: NodeInfoOptions, query: DocumentNode, generatedVariables: {[key:string]: unknown}) => {\n const node: object = (data && data.jcr && (data.jcr.nodeByPath || data.jcr.nodeById)) || null;\n const nodes: object[] = (data && data.jcr && (data.jcr.nodesByPath || data.jcr.nodesById)) || null;\n let result = others;\n\n if (node) {\n result = {\n node: decodeResult(node, options),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n if (nodes) {\n result = {\n nodes: nodes.map(n => decodeResult(n, options)),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n return result;\n};\n\nconst decodeResult = (nodeOrig: any, options: NodeInfoOptions) => {\n const node = {...nodeOrig};\n if (node.site) {\n node.site = {...node.site};\n }\n\n if (node && options) {\n if (options.getPermissions) {\n options.getPermissions.forEach(name => {\n const res = node[getEncodedPermissionName(name)];\n delete node[getEncodedPermissionName(name)];\n node[name] = res;\n });\n }\n\n if (options.getSitePermissions) {\n options.getSitePermissions.forEach(name => {\n const res = node.site[getEncodedPermissionName(name)];\n delete node.site[getEncodedPermissionName(name)];\n node.site[name] = res;\n });\n }\n\n if (options.getIsNodeTypes) {\n options.getIsNodeTypes.forEach(name => {\n const res = node[getEncodedNodeTypeName(name)];\n delete node[getEncodedNodeTypeName(name)];\n node[name] = res;\n });\n }\n\n if (options.getMimeType) {\n const {nodes} = node.resourceChildren;\n node.mimeType = (nodes.length !== 0 && nodes[0].mimeType.value) || null;\n delete node.resourceChildren;\n }\n }\n\n return node;\n};\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
2
  var _templateObject;
3
3
  import gql from 'graphql-tag';
4
- import { nodeCacheRequiredFields } from "../../fragments/PredefinedFragments";
5
- export var SITE_INFO_QUERY = gql(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query siteInfo($path: String!, $displayLanguage:String!) {\n jcr(workspace: LIVE) {\n result:nodeByPath(path: $path) {\n site {\n ...SiteInfo\n ...NodeCacheRequiredFields\n }\n ...NodeCacheRequiredFields\n }\n }\n wsDefault:jcr {\n result:nodeByPath(path: $path) {\n site {\n ...SiteInfo\n ...NodeCacheRequiredFields\n }\n ...NodeCacheRequiredFields\n }\n }\n }\n fragment SiteInfo on JCRSite {\n displayName(language: $displayLanguage)\n defaultLanguage\n serverName\n description\n languages {\n displayName\n language\n activeInEdit\n }\n }\n ", "\n"])), nodeCacheRequiredFields.gql);
4
+ import { nodeCacheRequiredFields } from "../../fragments";
5
+ export var SITE_INFO_QUERY = gql(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query siteInfo($path: String!, $displayLanguage:String!, $uiLanguage:String, $skipUILanguage:Boolean!) {\n jcr(workspace: LIVE) {\n result:nodeByPath(path: $path) {\n site {\n ...SiteInfo\n ...NodeCacheRequiredFields\n }\n ...NodeCacheRequiredFields\n }\n }\n wsDefault:jcr {\n result:nodeByPath(path: $path) {\n site {\n ...SiteInfo\n ...NodeCacheRequiredFields\n }\n ...NodeCacheRequiredFields\n }\n }\n }\n fragment SiteInfo on JCRSite {\n displayName(language: $displayLanguage)\n defaultLanguage\n serverName\n description\n languages {\n displayName\n localizedDisplayName: displayName(language: $displayLanguage)\n uiLanguageDisplayName: displayName(language: $uiLanguage) @skip(if: $skipUILanguage)\n language\n activeInEdit\n }\n }\n ", "\n"])), nodeCacheRequiredFields.gql);
6
6
  //# sourceMappingURL=useSiteInfo.gql-queries.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["gql","nodeCacheRequiredFields","SITE_INFO_QUERY","_templateObject","_taggedTemplateLiteral"],"sources":["useSiteInfo.gql-queries.ts"],"sourcesContent":["import gql from 'graphql-tag';\nimport {nodeCacheRequiredFields} from '../../fragments/PredefinedFragments';\n\nexport const SITE_INFO_QUERY = gql`\n query siteInfo($path: String!, $displayLanguage:String!) {\n jcr(workspace: LIVE) {\n result:nodeByPath(path: $path) {\n site {\n ...SiteInfo\n ...NodeCacheRequiredFields\n }\n ...NodeCacheRequiredFields\n }\n }\n wsDefault:jcr {\n result:nodeByPath(path: $path) {\n site {\n ...SiteInfo\n ...NodeCacheRequiredFields\n }\n ...NodeCacheRequiredFields\n }\n }\n }\n fragment SiteInfo on JCRSite {\n displayName(language: $displayLanguage)\n defaultLanguage\n serverName\n description\n languages {\n displayName\n language\n activeInEdit\n }\n }\n ${nodeCacheRequiredFields.gql}\n`;\n"],"mappings":";;AAAA,OAAOA,GAAG,MAAM,aAAa;AAC7B,SAAQC,uBAAuB;AAE/B,OAAO,IAAMC,eAAe,GAAGF,GAAG,CAAAG,eAAA,KAAAA,eAAA,GAAAC,sBAAA,43BAgC5BH,uBAAuB,CAACD,GAAG,CAChC"}
1
+ {"version":3,"names":["gql","nodeCacheRequiredFields","SITE_INFO_QUERY","_templateObject","_taggedTemplateLiteral"],"sources":["useSiteInfo.gql-queries.ts"],"sourcesContent":["import gql from 'graphql-tag';\nimport {nodeCacheRequiredFields} from '~/fragments';\n\nexport const SITE_INFO_QUERY = gql`\n query siteInfo($path: String!, $displayLanguage:String!, $uiLanguage:String, $skipUILanguage:Boolean!) {\n jcr(workspace: LIVE) {\n result:nodeByPath(path: $path) {\n site {\n ...SiteInfo\n ...NodeCacheRequiredFields\n }\n ...NodeCacheRequiredFields\n }\n }\n wsDefault:jcr {\n result:nodeByPath(path: $path) {\n site {\n ...SiteInfo\n ...NodeCacheRequiredFields\n }\n ...NodeCacheRequiredFields\n }\n }\n }\n fragment SiteInfo on JCRSite {\n displayName(language: $displayLanguage)\n defaultLanguage\n serverName\n description\n languages {\n displayName\n localizedDisplayName: displayName(language: $displayLanguage)\n uiLanguageDisplayName: displayName(language: $uiLanguage) @skip(if: $skipUILanguage)\n language\n activeInEdit\n }\n }\n ${nodeCacheRequiredFields.gql}\n`;\n"],"mappings":";;AAAA,OAAOA,GAAG,MAAM,aAAa;AAC7B,SAAQC,uBAAuB;AAE/B,OAAO,IAAMC,eAAe,GAAGF,GAAG,CAAAG,eAAA,KAAAA,eAAA,GAAAC,sBAAA,ulCAkC5BH,uBAAuB,CAACD,GAAG,CAChC"}
@@ -16,11 +16,18 @@ var adaptSiteInfo = function adaptSiteInfo(data) {
16
16
  };
17
17
  export var useSiteInfo = function useSiteInfo(_ref) {
18
18
  var siteKey = _ref.siteKey,
19
- displayLanguage = _ref.displayLanguage;
19
+ displayLanguage = _ref.displayLanguage,
20
+ uiLanguage = _ref.uiLanguage;
20
21
  var variables = {
21
22
  path: '/sites/' + siteKey,
22
- displayLanguage: displayLanguage
23
+ displayLanguage: displayLanguage,
24
+ skipUILanguage: true,
25
+ uiLanguage: ''
23
26
  };
27
+ if (uiLanguage !== undefined) {
28
+ variables.skipUILanguage = false;
29
+ variables.uiLanguage = uiLanguage;
30
+ }
24
31
  var res = useQuery(SITE_INFO_QUERY, {
25
32
  variables: variables,
26
33
  errorPolicy: 'ignore'
@@ -1 +1 @@
1
- {"version":3,"names":["useQuery","SITE_INFO_QUERY","adaptSiteInfo","data","jcr","wsDefault","res","result","_objectSpread","site","languages","useSiteInfo","_ref","siteKey","displayLanguage","variables","path","errorPolicy","siteInfo"],"sources":["useSiteInfo.ts"],"sourcesContent":["import {useQuery} from '@apollo/client';\nimport {SITE_INFO_QUERY} from './useSiteInfo.gql-queries';\n\nconst adaptSiteInfo = (data: any) => {\n if (data && (data.jcr || data.wsDefault)) {\n const res = data.jcr ? data.jcr.result : data.wsDefault.result;\n if (res) {\n return {...res.site};\n }\n }\n\n return {\n languages: []\n };\n};\n\nexport const useSiteInfo = ({siteKey, displayLanguage}: {siteKey: string, displayLanguage: string}) => {\n const variables = {\n path: '/sites/' + siteKey,\n displayLanguage\n };\n\n const res = useQuery(SITE_INFO_QUERY, {variables, errorPolicy: 'ignore'});\n\n return {\n ...res,\n siteInfo: adaptSiteInfo(res.data)\n };\n};\n"],"mappings":";;;AAAA,SAAQA,QAAQ,QAAO,gBAAgB;AACvC,SAAQC,eAAe;AAEvB,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,IAAS,EAAK;EACjC,IAAIA,IAAI,KAAKA,IAAI,CAACC,GAAG,IAAID,IAAI,CAACE,SAAS,CAAC,EAAE;IACtC,IAAMC,GAAG,GAAGH,IAAI,CAACC,GAAG,GAAGD,IAAI,CAACC,GAAG,CAACG,MAAM,GAAGJ,IAAI,CAACE,SAAS,CAACE,MAAM;IAC9D,IAAID,GAAG,EAAE;MACL,OAAAE,aAAA,KAAWF,GAAG,CAACG,IAAI;IACvB;EACJ;EAEA,OAAO;IACHC,SAAS,EAAE;EACf,CAAC;AACL,CAAC;AAED,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAA+E;EAAA,IAA1EC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,eAAe,GAAAF,IAAA,CAAfE,eAAe;EACjD,IAAMC,SAAS,GAAG;IACdC,IAAI,EAAE,SAAS,GAAGH,OAAO;IACzBC,eAAe,EAAfA;EACJ,CAAC;EAED,IAAMR,GAAG,GAAGN,QAAQ,CAACC,eAAe,EAAE;IAACc,SAAS,EAATA,SAAS;IAAEE,WAAW,EAAE;EAAQ,CAAC,CAAC;EAEzE,OAAAT,aAAA,CAAAA,aAAA,KACOF,GAAG;IACNY,QAAQ,EAAEhB,aAAa,CAACI,GAAG,CAACH,IAAI;EAAC;AAEzC,CAAC"}
1
+ {"version":3,"names":["useQuery","SITE_INFO_QUERY","adaptSiteInfo","data","jcr","wsDefault","res","result","_objectSpread","site","languages","useSiteInfo","_ref","siteKey","displayLanguage","uiLanguage","variables","path","skipUILanguage","undefined","errorPolicy","siteInfo"],"sources":["useSiteInfo.ts"],"sourcesContent":["import {useQuery} from '@apollo/client';\nimport {SITE_INFO_QUERY} from './useSiteInfo.gql-queries';\n\nconst adaptSiteInfo = (data: any) => {\n if (data && (data.jcr || data.wsDefault)) {\n const res = data.jcr ? data.jcr.result : data.wsDefault.result;\n if (res) {\n return {...res.site};\n }\n }\n\n return {\n languages: []\n };\n};\n\nexport const useSiteInfo = ({siteKey, displayLanguage, uiLanguage}: {siteKey: string, displayLanguage: string, uiLanguage: string}) => {\n const variables = {\n path: '/sites/' + siteKey,\n displayLanguage,\n skipUILanguage: true,\n uiLanguage: ''\n };\n\n if (uiLanguage !== undefined) {\n variables.skipUILanguage = false;\n variables.uiLanguage = uiLanguage;\n }\n\n const res = useQuery(SITE_INFO_QUERY, {variables, errorPolicy: 'ignore'});\n\n return {\n ...res,\n siteInfo: adaptSiteInfo(res.data)\n };\n};\n"],"mappings":";;;AAAA,SAAQA,QAAQ,QAAO,gBAAgB;AACvC,SAAQC,eAAe;AAEvB,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,IAAS,EAAK;EACjC,IAAIA,IAAI,KAAKA,IAAI,CAACC,GAAG,IAAID,IAAI,CAACE,SAAS,CAAC,EAAE;IACtC,IAAMC,GAAG,GAAGH,IAAI,CAACC,GAAG,GAAGD,IAAI,CAACC,GAAG,CAACG,MAAM,GAAGJ,IAAI,CAACE,SAAS,CAACE,MAAM;IAC9D,IAAID,GAAG,EAAE;MACL,OAAAE,aAAA,KAAWF,GAAG,CAACG,IAAI;IACvB;EACJ;EAEA,OAAO;IACHC,SAAS,EAAE;EACf,CAAC;AACL,CAAC;AAED,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAA+G;EAAA,IAA1GC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,eAAe,GAAAF,IAAA,CAAfE,eAAe;IAAEC,UAAU,GAAAH,IAAA,CAAVG,UAAU;EAC7D,IAAMC,SAAS,GAAG;IACdC,IAAI,EAAE,SAAS,GAAGJ,OAAO;IACzBC,eAAe,EAAfA,eAAe;IACfI,cAAc,EAAE,IAAI;IACpBH,UAAU,EAAE;EAChB,CAAC;EAED,IAAIA,UAAU,KAAKI,SAAS,EAAE;IAC1BH,SAAS,CAACE,cAAc,GAAG,KAAK;IAChCF,SAAS,CAACD,UAAU,GAAGA,UAAU;EACrC;EAEA,IAAMT,GAAG,GAAGN,QAAQ,CAACC,eAAe,EAAE;IAACe,SAAS,EAATA,SAAS;IAAEI,WAAW,EAAE;EAAQ,CAAC,CAAC;EAEzE,OAAAZ,aAAA,CAAAA,aAAA,KACOF,GAAG;IACNe,QAAQ,EAAEnB,aAAa,CAACI,GAAG,CAACH,IAAI;EAAC;AAEzC,CAAC"}
@@ -77,12 +77,13 @@ var timeoutHandler = function timeoutHandler(client) {
77
77
  });
78
78
  });
79
79
  } else {
80
- var watchedQuery = client.watchQuery(_objectSpread(_objectSpread({
80
+ var observableQuery = client.watchQuery(_objectSpread(_objectSpread({
81
81
  query: query,
82
82
  errorPolicy: 'ignore'
83
83
  }, queryOptions), {}, {
84
84
  variables: generatedVariables
85
- })).subscribe(function (_ref) {
85
+ }));
86
+ var subscription = observableQuery.subscribe(function (_ref) {
86
87
  var data = _ref.data,
87
88
  others = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
88
89
  var result = getResult(data, others, options, query, generatedVariables);
@@ -91,15 +92,13 @@ var timeoutHandler = function timeoutHandler(client) {
91
92
  request.result = result;
92
93
  request.setResult(_objectSpread(_objectSpread({}, result), {}, {
93
94
  refetch: function refetch() {
94
- client.refetchQueries({
95
- include: [query]
96
- });
95
+ return observableQuery.refetch(generatedVariables);
97
96
  }
98
97
  }));
99
98
  }
100
99
  });
101
100
  });
102
- observedQueries.push(watchedQuery);
101
+ observedQueries.push(subscription);
103
102
  }
104
103
  });
105
104
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_client","_useNodeInfo","_getPermissionFragment","_getIsNodeTypeFragment","_useSchemaFields","_useNodeInfo2","_useMemoRequest3","_fastDeepEqual","_interopRequireDefault","_excluded","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","queue","schemaResult","timeout","observedQueries","scheduleQueue","client","window","setTimeout","timeoutHandler","clearTimeout","mergedQueue","request","toInsert","variables","queryOptions","options","originals","mergeable","find","q","JSON","stringify","isSubset","merge","obs","unsubscribe","mergedRequest","_getQuery","getQuery","query","generatedVariables","skip","setResult","loading","watchedQuery","watchQuery","errorPolicy","subscribe","_ref","data","others","_objectWithoutProperties2","result","getResult","deepEquals","refetch","refetchQueries","include","useNodeInfo","_useState","useState","_useState2","_slicedToArray2","useApolloClient","SCHEMA_FIELDS_QUERY","type","then","_ref2","_useMemoRequest","useMemoRequest","_useMemoRequest2","currentRequest","queryHasChanged","useEffect","splice","indexOf","fetchPolicy","infoQuery","res","readQuery","exports","node","jcr","nodeByPath","nodeById","nodes","nodesByPath","nodesById","decodeResult","map","n","nodeOrig","site","getPermissions","name","getEncodedPermissionName","getSitePermissions","getIsNodeTypes","getEncodedNodeTypeName","getMimeType","resourceChildren","mimeType","value"],"sources":["useNodeInfo.ts"],"sourcesContent":["import {useEffect, useState} from 'react';\nimport {ApolloClient, ApolloError, NetworkStatus, useApolloClient, WatchQueryOptions} from '@apollo/client';\nimport {getQuery, NodeInfoOptions} from './useNodeInfo.gql-queries';\nimport {getEncodedPermissionName} from '../../fragments/getPermissionFragment';\nimport {getEncodedNodeTypeName} from '../../fragments/getIsNodeTypeFragment';\nimport {SCHEMA_FIELDS_QUERY} from '../useSchemaFields/useSchemaFields.gql-queries';\nimport {isSubset, merge} from './useNodeInfo.utils';\nimport {useMemoRequest} from './useMemoRequest';\nimport deepEquals from 'fast-deep-equal';\nimport {DocumentNode, GraphQLError} from 'graphql';\n\nexport type Request = {\n variables:{[key:string]: any},\n options: NodeInfoOptions,\n queryOptions: Partial<WatchQueryOptions>,\n}\n\nexport type QueuedRequest = Request & {\n result?: any,\n setResult: (data: any) => void\n}\n\nexport type MergedRequest = Request & { originals: QueuedRequest[] };\n\nexport type NodeInfoResult = {\n node?: any,\n nodes?: any[],\n errors?: readonly GraphQLError[],\n error?: ApolloError,\n loading?: boolean,\n networkStatus?: NetworkStatus,\n partial?: boolean,\n query?: DocumentNode,\n variables?: {[key:string]: any}\n}\n\nconst queue: QueuedRequest[] = [];\nlet schemaResult: any;\nlet timeout: number;\nlet observedQueries: { unsubscribe: () => void }[] = [];\n\nfunction scheduleQueue(client: ApolloClient<object>) {\n if (!timeout && schemaResult) {\n timeout = window.setTimeout(() => {\n timeoutHandler(client);\n clearTimeout(timeout);\n timeout = null;\n }, 0);\n }\n}\n\nconst timeoutHandler = (client: ApolloClient<object>) => {\n const mergedQueue: MergedRequest[] = [];\n\n queue.forEach(request => {\n const toInsert = {\n variables: request.variables,\n queryOptions: request.queryOptions,\n options: request.options,\n originals: [request]\n };\n\n const mergeable = mergedQueue.find(q => JSON.stringify(q.queryOptions) === JSON.stringify(toInsert.queryOptions) && (isSubset(q.variables, toInsert.variables) || isSubset(toInsert.variables, q.variables)));\n\n if (mergeable) {\n merge(mergeable, toInsert);\n } else {\n mergedQueue.push({\n variables: toInsert.variables && {...toInsert.variables},\n queryOptions: toInsert.queryOptions && {...toInsert.queryOptions},\n options: toInsert.options && {...toInsert.options},\n originals: toInsert.originals\n });\n }\n });\n\n observedQueries.forEach(obs => obs.unsubscribe());\n observedQueries = [];\n\n mergedQueue.forEach(mergedRequest => {\n const {variables, queryOptions, options, originals} = mergedRequest;\n const {query, generatedVariables, skip} = getQuery(variables, schemaResult, options);\n if (skip) {\n // No query to execute\n originals.forEach(request => {\n request.setResult({\n loading: false\n });\n });\n } else {\n const watchedQuery = client.watchQuery({query, errorPolicy: 'ignore', ...queryOptions, variables: generatedVariables}).subscribe(({data, ...others}) => {\n const result = getResult(data, others, options, query, generatedVariables);\n\n originals.forEach(request => {\n if (!deepEquals(request.result, result)) {\n request.result = result;\n request.setResult({\n ...result,\n refetch() {\n client.refetchQueries({include: [query]});\n }\n });\n }\n });\n });\n observedQueries.push(watchedQuery);\n }\n });\n};\n\nexport const useNodeInfo = (variables: {[key:string]: unknown}, options?: NodeInfoOptions, queryOptions?: Partial<WatchQueryOptions>) => {\n const [result, setResult] = useState<NodeInfoResult>({\n loading: true\n });\n\n const client = useApolloClient();\n\n if (!schemaResult) {\n client.query({query: SCHEMA_FIELDS_QUERY, variables: {type: 'GqlPublicationInfo'}}).then(({data}: {data: any}) => {\n schemaResult = data;\n scheduleQueue(client);\n });\n }\n\n // Normalize and memoize request\n const [currentRequest, queryHasChanged] = useMemoRequest(variables, queryOptions, options, setResult);\n useEffect(() => {\n queue.push(currentRequest);\n scheduleQueue(client);\n\n return () => {\n queue.splice(queue.indexOf(currentRequest), 1);\n };\n }, [client, currentRequest]);\n\n if (queryHasChanged && !result.loading) {\n if (queryOptions?.fetchPolicy !== 'no-cache' && queryOptions?.fetchPolicy !== 'network-only') {\n const infoQuery = getQuery(currentRequest.variables, schemaResult, currentRequest.options);\n const res = client.readQuery({query: infoQuery.query, variables: infoQuery.generatedVariables});\n if (res) {\n const result = getResult(res, {}, currentRequest.options, infoQuery.query, infoQuery.generatedVariables);\n setResult(result);\n return result;\n }\n }\n\n setResult({\n loading: true\n });\n return {loading: true};\n }\n\n return result;\n};\n\nconst getResult = (data: any, others: NodeInfoResult, options: NodeInfoOptions, query: DocumentNode, generatedVariables: {[key:string]: unknown}) => {\n const node: object = (data && data.jcr && (data.jcr.nodeByPath || data.jcr.nodeById)) || null;\n const nodes: object[] = (data && data.jcr && (data.jcr.nodesByPath || data.jcr.nodesById)) || null;\n let result = others;\n\n if (node) {\n result = {\n node: decodeResult(node, options),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n if (nodes) {\n result = {\n nodes: nodes.map(n => decodeResult(n, options)),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n return result;\n};\n\nconst decodeResult = (nodeOrig: any, options: NodeInfoOptions) => {\n const node = {...nodeOrig};\n if (node.site) {\n node.site = {...node.site};\n }\n\n if (node && options) {\n if (options.getPermissions) {\n options.getPermissions.forEach(name => {\n const res = node[getEncodedPermissionName(name)];\n delete node[getEncodedPermissionName(name)];\n node[name] = res;\n });\n }\n\n if (options.getSitePermissions) {\n options.getSitePermissions.forEach(name => {\n const res = node.site[getEncodedPermissionName(name)];\n delete node.site[getEncodedPermissionName(name)];\n node.site[name] = res;\n });\n }\n\n if (options.getIsNodeTypes) {\n options.getIsNodeTypes.forEach(name => {\n const res = node[getEncodedNodeTypeName(name)];\n delete node[getEncodedNodeTypeName(name)];\n node[name] = res;\n });\n }\n\n if (options.getMimeType) {\n const {nodes} = node.resourceChildren;\n node.mimeType = (nodes.length !== 0 && nodes[0].mimeType.value) || null;\n delete node.resourceChildren;\n }\n }\n\n return node;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","require","_client","_useNodeInfo","_getPermissionFragment","_getIsNodeTypeFragment","_useSchemaFields","_useNodeInfo2","_useMemoRequest3","_fastDeepEqual","_interopRequireDefault","_excluded","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","queue","schemaResult","timeout","observedQueries","scheduleQueue","client","window","setTimeout","timeoutHandler","clearTimeout","mergedQueue","request","toInsert","variables","queryOptions","options","originals","mergeable","find","q","JSON","stringify","isSubset","merge","obs","unsubscribe","mergedRequest","_getQuery","getQuery","query","generatedVariables","skip","setResult","loading","observableQuery","watchQuery","errorPolicy","subscription","subscribe","_ref","data","others","_objectWithoutProperties2","result","getResult","deepEquals","refetch","useNodeInfo","_useState","useState","_useState2","_slicedToArray2","useApolloClient","SCHEMA_FIELDS_QUERY","type","then","_ref2","_useMemoRequest","useMemoRequest","_useMemoRequest2","currentRequest","queryHasChanged","useEffect","splice","indexOf","fetchPolicy","infoQuery","res","readQuery","exports","node","jcr","nodeByPath","nodeById","nodes","nodesByPath","nodesById","decodeResult","map","n","nodeOrig","site","getPermissions","name","getEncodedPermissionName","getSitePermissions","getIsNodeTypes","getEncodedNodeTypeName","getMimeType","resourceChildren","mimeType","value"],"sources":["useNodeInfo.ts"],"sourcesContent":["import {useEffect, useState} from 'react';\nimport {ApolloClient, ApolloError, NetworkStatus, useApolloClient, WatchQueryOptions} from '@apollo/client';\nimport {getQuery, NodeInfoOptions} from './useNodeInfo.gql-queries';\nimport {getEncodedPermissionName} from '../../fragments/getPermissionFragment';\nimport {getEncodedNodeTypeName} from '../../fragments/getIsNodeTypeFragment';\nimport {SCHEMA_FIELDS_QUERY} from '../useSchemaFields/useSchemaFields.gql-queries';\nimport {isSubset, merge} from './useNodeInfo.utils';\nimport {useMemoRequest} from './useMemoRequest';\nimport deepEquals from 'fast-deep-equal';\nimport {DocumentNode, GraphQLError} from 'graphql';\n\nexport type Request = {\n variables:{[key:string]: any},\n options: NodeInfoOptions,\n queryOptions: Partial<WatchQueryOptions>,\n}\n\nexport type QueuedRequest = Request & {\n result?: any,\n setResult: (data: any) => void\n}\n\nexport type MergedRequest = Request & { originals: QueuedRequest[] };\n\nexport type NodeInfoResult = {\n node?: any,\n nodes?: any[],\n errors?: readonly GraphQLError[],\n error?: ApolloError,\n loading?: boolean,\n networkStatus?: NetworkStatus,\n partial?: boolean,\n query?: DocumentNode,\n variables?: {[key:string]: any}\n}\n\nconst queue: QueuedRequest[] = [];\nlet schemaResult: any;\nlet timeout: number;\nlet observedQueries: { unsubscribe: () => void }[] = [];\n\nfunction scheduleQueue(client: ApolloClient<object>) {\n if (!timeout && schemaResult) {\n timeout = window.setTimeout(() => {\n timeoutHandler(client);\n clearTimeout(timeout);\n timeout = null;\n }, 0);\n }\n}\n\nconst timeoutHandler = (client: ApolloClient<object>) => {\n const mergedQueue: MergedRequest[] = [];\n\n queue.forEach(request => {\n const toInsert = {\n variables: request.variables,\n queryOptions: request.queryOptions,\n options: request.options,\n originals: [request]\n };\n\n const mergeable = mergedQueue.find(q => JSON.stringify(q.queryOptions) === JSON.stringify(toInsert.queryOptions) && (isSubset(q.variables, toInsert.variables) || isSubset(toInsert.variables, q.variables)));\n\n if (mergeable) {\n merge(mergeable, toInsert);\n } else {\n mergedQueue.push({\n variables: toInsert.variables && {...toInsert.variables},\n queryOptions: toInsert.queryOptions && {...toInsert.queryOptions},\n options: toInsert.options && {...toInsert.options},\n originals: toInsert.originals\n });\n }\n });\n\n observedQueries.forEach(obs => obs.unsubscribe());\n observedQueries = [];\n\n mergedQueue.forEach(mergedRequest => {\n const {variables, queryOptions, options, originals} = mergedRequest;\n const {query, generatedVariables, skip} = getQuery(variables, schemaResult, options);\n if (skip) {\n // No query to execute\n originals.forEach(request => {\n request.setResult({\n loading: false\n });\n });\n } else {\n const observableQuery = client.watchQuery({query, errorPolicy: 'ignore', ...queryOptions, variables: generatedVariables});\n const subscription = observableQuery.subscribe(({data, ...others}) => {\n const result = getResult(data, others, options, query, generatedVariables);\n originals.forEach(request => {\n if (!deepEquals(request.result, result)) {\n request.result = result;\n request.setResult({\n ...result,\n refetch() {\n return observableQuery.refetch(generatedVariables);\n }\n });\n }\n });\n });\n observedQueries.push(subscription);\n }\n });\n};\n\nexport const useNodeInfo = (variables: {[key:string]: unknown}, options?: NodeInfoOptions, queryOptions?: Partial<WatchQueryOptions>) => {\n const [result, setResult] = useState<NodeInfoResult>({\n loading: true\n });\n\n const client = useApolloClient();\n\n if (!schemaResult) {\n client.query({query: SCHEMA_FIELDS_QUERY, variables: {type: 'GqlPublicationInfo'}}).then(({data}: {data: any}) => {\n schemaResult = data;\n scheduleQueue(client);\n });\n }\n\n // Normalize and memoize request\n const [currentRequest, queryHasChanged] = useMemoRequest(variables, queryOptions, options, setResult);\n useEffect(() => {\n queue.push(currentRequest);\n scheduleQueue(client);\n\n return () => {\n queue.splice(queue.indexOf(currentRequest), 1);\n };\n }, [client, currentRequest]);\n\n if (queryHasChanged && !result.loading) {\n if (queryOptions?.fetchPolicy !== 'no-cache' && queryOptions?.fetchPolicy !== 'network-only') {\n const infoQuery = getQuery(currentRequest.variables, schemaResult, currentRequest.options);\n const res = client.readQuery({query: infoQuery.query, variables: infoQuery.generatedVariables});\n if (res) {\n const result = getResult(res, {}, currentRequest.options, infoQuery.query, infoQuery.generatedVariables);\n setResult(result);\n return result;\n }\n }\n\n setResult({\n loading: true\n });\n return {loading: true};\n }\n\n return result;\n};\n\nconst getResult = (data: any, others: NodeInfoResult, options: NodeInfoOptions, query: DocumentNode, generatedVariables: {[key:string]: unknown}) => {\n const node: object = (data && data.jcr && (data.jcr.nodeByPath || data.jcr.nodeById)) || null;\n const nodes: object[] = (data && data.jcr && (data.jcr.nodesByPath || data.jcr.nodesById)) || null;\n let result = others;\n\n if (node) {\n result = {\n node: decodeResult(node, options),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n if (nodes) {\n result = {\n nodes: nodes.map(n => decodeResult(n, options)),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n return result;\n};\n\nconst decodeResult = (nodeOrig: any, options: NodeInfoOptions) => {\n const node = {...nodeOrig};\n if (node.site) {\n node.site = {...node.site};\n }\n\n if (node && options) {\n if (options.getPermissions) {\n options.getPermissions.forEach(name => {\n const res = node[getEncodedPermissionName(name)];\n delete node[getEncodedPermissionName(name)];\n node[name] = res;\n });\n }\n\n if (options.getSitePermissions) {\n options.getSitePermissions.forEach(name => {\n const res = node.site[getEncodedPermissionName(name)];\n delete node.site[getEncodedPermissionName(name)];\n node.site[name] = res;\n });\n }\n\n if (options.getIsNodeTypes) {\n options.getIsNodeTypes.forEach(name => {\n const res = node[getEncodedNodeTypeName(name)];\n delete node[getEncodedNodeTypeName(name)];\n node[name] = res;\n });\n }\n\n if (options.getMimeType) {\n const {nodes} = node.resourceChildren;\n node.mimeType = (nodes.length !== 0 && nodes[0].mimeType.value) || null;\n delete node.resourceChildren;\n }\n }\n\n return node;\n};\n"],"mappings":"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"}
@@ -7,8 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.SITE_INFO_QUERY = void 0;
8
8
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
9
  var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
10
- var _PredefinedFragments = require("../../fragments/PredefinedFragments");
10
+ var _fragments = require("../../fragments");
11
11
  var _templateObject;
12
- var SITE_INFO_QUERY = (0, _graphqlTag["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n query siteInfo($path: String!, $displayLanguage:String!) {\n jcr(workspace: LIVE) {\n result:nodeByPath(path: $path) {\n site {\n ...SiteInfo\n ...NodeCacheRequiredFields\n }\n ...NodeCacheRequiredFields\n }\n }\n wsDefault:jcr {\n result:nodeByPath(path: $path) {\n site {\n ...SiteInfo\n ...NodeCacheRequiredFields\n }\n ...NodeCacheRequiredFields\n }\n }\n }\n fragment SiteInfo on JCRSite {\n displayName(language: $displayLanguage)\n defaultLanguage\n serverName\n description\n languages {\n displayName\n language\n activeInEdit\n }\n }\n ", "\n"])), _PredefinedFragments.nodeCacheRequiredFields.gql);
12
+ var SITE_INFO_QUERY = (0, _graphqlTag["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n query siteInfo($path: String!, $displayLanguage:String!, $uiLanguage:String, $skipUILanguage:Boolean!) {\n jcr(workspace: LIVE) {\n result:nodeByPath(path: $path) {\n site {\n ...SiteInfo\n ...NodeCacheRequiredFields\n }\n ...NodeCacheRequiredFields\n }\n }\n wsDefault:jcr {\n result:nodeByPath(path: $path) {\n site {\n ...SiteInfo\n ...NodeCacheRequiredFields\n }\n ...NodeCacheRequiredFields\n }\n }\n }\n fragment SiteInfo on JCRSite {\n displayName(language: $displayLanguage)\n defaultLanguage\n serverName\n description\n languages {\n displayName\n localizedDisplayName: displayName(language: $displayLanguage)\n uiLanguageDisplayName: displayName(language: $uiLanguage) @skip(if: $skipUILanguage)\n language\n activeInEdit\n }\n }\n ", "\n"])), _fragments.nodeCacheRequiredFields.gql);
13
13
  exports.SITE_INFO_QUERY = SITE_INFO_QUERY;
14
14
  //# sourceMappingURL=useSiteInfo.gql-queries.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_graphqlTag","_interopRequireDefault","require","_PredefinedFragments","_templateObject","SITE_INFO_QUERY","gql","_taggedTemplateLiteral2","nodeCacheRequiredFields","exports"],"sources":["useSiteInfo.gql-queries.ts"],"sourcesContent":["import gql from 'graphql-tag';\nimport {nodeCacheRequiredFields} from '../../fragments/PredefinedFragments';\n\nexport const SITE_INFO_QUERY = gql`\n query siteInfo($path: String!, $displayLanguage:String!) {\n jcr(workspace: LIVE) {\n result:nodeByPath(path: $path) {\n site {\n ...SiteInfo\n ...NodeCacheRequiredFields\n }\n ...NodeCacheRequiredFields\n }\n }\n wsDefault:jcr {\n result:nodeByPath(path: $path) {\n site {\n ...SiteInfo\n ...NodeCacheRequiredFields\n }\n ...NodeCacheRequiredFields\n }\n }\n }\n fragment SiteInfo on JCRSite {\n displayName(language: $displayLanguage)\n defaultLanguage\n serverName\n description\n languages {\n displayName\n language\n activeInEdit\n }\n }\n ${nodeCacheRequiredFields.gql}\n`;\n"],"mappings":";;;;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAD,OAAA;AAA4E,IAAAE,eAAA;AAErE,IAAMC,eAAe,OAAGC,sBAAG,EAAAF,eAAA,KAAAA,eAAA,OAAAG,uBAAA,w4BAgC5BC,4CAAuB,CAACF,GAAG,CAChC;AAACG,OAAA,CAAAJ,eAAA,GAAAA,eAAA"}
1
+ {"version":3,"names":["_graphqlTag","_interopRequireDefault","require","_fragments","_templateObject","SITE_INFO_QUERY","gql","_taggedTemplateLiteral2","nodeCacheRequiredFields","exports"],"sources":["useSiteInfo.gql-queries.ts"],"sourcesContent":["import gql from 'graphql-tag';\nimport {nodeCacheRequiredFields} from '~/fragments';\n\nexport const SITE_INFO_QUERY = gql`\n query siteInfo($path: String!, $displayLanguage:String!, $uiLanguage:String, $skipUILanguage:Boolean!) {\n jcr(workspace: LIVE) {\n result:nodeByPath(path: $path) {\n site {\n ...SiteInfo\n ...NodeCacheRequiredFields\n }\n ...NodeCacheRequiredFields\n }\n }\n wsDefault:jcr {\n result:nodeByPath(path: $path) {\n site {\n ...SiteInfo\n ...NodeCacheRequiredFields\n }\n ...NodeCacheRequiredFields\n }\n }\n }\n fragment SiteInfo on JCRSite {\n displayName(language: $displayLanguage)\n defaultLanguage\n serverName\n description\n languages {\n displayName\n localizedDisplayName: displayName(language: $displayLanguage)\n uiLanguageDisplayName: displayName(language: $uiLanguage) @skip(if: $skipUILanguage)\n language\n activeInEdit\n }\n }\n ${nodeCacheRequiredFields.gql}\n`;\n"],"mappings":";;;;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAAoD,IAAAE,eAAA;AAE7C,IAAMC,eAAe,OAAGC,sBAAG,EAAAF,eAAA,KAAAA,eAAA,OAAAG,uBAAA,mmCAkC5BC,kCAAuB,CAACF,GAAG,CAChC;AAACG,OAAA,CAAAJ,eAAA,GAAAA,eAAA"}
@@ -23,11 +23,18 @@ var adaptSiteInfo = function adaptSiteInfo(data) {
23
23
  };
24
24
  var useSiteInfo = function useSiteInfo(_ref) {
25
25
  var siteKey = _ref.siteKey,
26
- displayLanguage = _ref.displayLanguage;
26
+ displayLanguage = _ref.displayLanguage,
27
+ uiLanguage = _ref.uiLanguage;
27
28
  var variables = {
28
29
  path: '/sites/' + siteKey,
29
- displayLanguage: displayLanguage
30
+ displayLanguage: displayLanguage,
31
+ skipUILanguage: true,
32
+ uiLanguage: ''
30
33
  };
34
+ if (uiLanguage !== undefined) {
35
+ variables.skipUILanguage = false;
36
+ variables.uiLanguage = uiLanguage;
37
+ }
31
38
  var res = (0, _client.useQuery)(_useSiteInfo.SITE_INFO_QUERY, {
32
39
  variables: variables,
33
40
  errorPolicy: 'ignore'
@@ -1 +1 @@
1
- {"version":3,"names":["_client","require","_useSiteInfo","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","adaptSiteInfo","data","jcr","wsDefault","res","result","site","languages","useSiteInfo","_ref","siteKey","displayLanguage","variables","path","useQuery","SITE_INFO_QUERY","errorPolicy","siteInfo","exports"],"sources":["useSiteInfo.ts"],"sourcesContent":["import {useQuery} from '@apollo/client';\nimport {SITE_INFO_QUERY} from './useSiteInfo.gql-queries';\n\nconst adaptSiteInfo = (data: any) => {\n if (data && (data.jcr || data.wsDefault)) {\n const res = data.jcr ? data.jcr.result : data.wsDefault.result;\n if (res) {\n return {...res.site};\n }\n }\n\n return {\n languages: []\n };\n};\n\nexport const useSiteInfo = ({siteKey, displayLanguage}: {siteKey: string, displayLanguage: string}) => {\n const variables = {\n path: '/sites/' + siteKey,\n displayLanguage\n };\n\n const res = useQuery(SITE_INFO_QUERY, {variables, errorPolicy: 'ignore'});\n\n return {\n ...res,\n siteInfo: adaptSiteInfo(res.data)\n };\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAA0D,SAAAE,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,aAAAP,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAE1D,IAAMW,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,IAAS,EAAK;EACjC,IAAIA,IAAI,KAAKA,IAAI,CAACC,GAAG,IAAID,IAAI,CAACE,SAAS,CAAC,EAAE;IACtC,IAAMC,GAAG,GAAGH,IAAI,CAACC,GAAG,GAAGD,IAAI,CAACC,GAAG,CAACG,MAAM,GAAGJ,IAAI,CAACE,SAAS,CAACE,MAAM;IAC9D,IAAID,GAAG,EAAE;MACL,OAAAhB,aAAA,KAAWgB,GAAG,CAACE,IAAI;IACvB;EACJ;EAEA,OAAO;IACHC,SAAS,EAAE;EACf,CAAC;AACL,CAAC;AAEM,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAA+E;EAAA,IAA1EC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,eAAe,GAAAF,IAAA,CAAfE,eAAe;EACjD,IAAMC,SAAS,GAAG;IACdC,IAAI,EAAE,SAAS,GAAGH,OAAO;IACzBC,eAAe,EAAfA;EACJ,CAAC;EAED,IAAMP,GAAG,GAAG,IAAAU,gBAAQ,EAACC,4BAAe,EAAE;IAACH,SAAS,EAATA,SAAS;IAAEI,WAAW,EAAE;EAAQ,CAAC,CAAC;EAEzE,OAAA5B,aAAA,CAAAA,aAAA,KACOgB,GAAG;IACNa,QAAQ,EAAEjB,aAAa,CAACI,GAAG,CAACH,IAAI;EAAC;AAEzC,CAAC;AAACiB,OAAA,CAAAV,WAAA,GAAAA,WAAA"}
1
+ {"version":3,"names":["_client","require","_useSiteInfo","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","adaptSiteInfo","data","jcr","wsDefault","res","result","site","languages","useSiteInfo","_ref","siteKey","displayLanguage","uiLanguage","variables","path","skipUILanguage","undefined","useQuery","SITE_INFO_QUERY","errorPolicy","siteInfo","exports"],"sources":["useSiteInfo.ts"],"sourcesContent":["import {useQuery} from '@apollo/client';\nimport {SITE_INFO_QUERY} from './useSiteInfo.gql-queries';\n\nconst adaptSiteInfo = (data: any) => {\n if (data && (data.jcr || data.wsDefault)) {\n const res = data.jcr ? data.jcr.result : data.wsDefault.result;\n if (res) {\n return {...res.site};\n }\n }\n\n return {\n languages: []\n };\n};\n\nexport const useSiteInfo = ({siteKey, displayLanguage, uiLanguage}: {siteKey: string, displayLanguage: string, uiLanguage: string}) => {\n const variables = {\n path: '/sites/' + siteKey,\n displayLanguage,\n skipUILanguage: true,\n uiLanguage: ''\n };\n\n if (uiLanguage !== undefined) {\n variables.skipUILanguage = false;\n variables.uiLanguage = uiLanguage;\n }\n\n const res = useQuery(SITE_INFO_QUERY, {variables, errorPolicy: 'ignore'});\n\n return {\n ...res,\n siteInfo: adaptSiteInfo(res.data)\n };\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAA0D,SAAAE,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,aAAAP,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAE1D,IAAMW,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,IAAS,EAAK;EACjC,IAAIA,IAAI,KAAKA,IAAI,CAACC,GAAG,IAAID,IAAI,CAACE,SAAS,CAAC,EAAE;IACtC,IAAMC,GAAG,GAAGH,IAAI,CAACC,GAAG,GAAGD,IAAI,CAACC,GAAG,CAACG,MAAM,GAAGJ,IAAI,CAACE,SAAS,CAACE,MAAM;IAC9D,IAAID,GAAG,EAAE;MACL,OAAAhB,aAAA,KAAWgB,GAAG,CAACE,IAAI;IACvB;EACJ;EAEA,OAAO;IACHC,SAAS,EAAE;EACf,CAAC;AACL,CAAC;AAEM,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAA+G;EAAA,IAA1GC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,eAAe,GAAAF,IAAA,CAAfE,eAAe;IAAEC,UAAU,GAAAH,IAAA,CAAVG,UAAU;EAC7D,IAAMC,SAAS,GAAG;IACdC,IAAI,EAAE,SAAS,GAAGJ,OAAO;IACzBC,eAAe,EAAfA,eAAe;IACfI,cAAc,EAAE,IAAI;IACpBH,UAAU,EAAE;EAChB,CAAC;EAED,IAAIA,UAAU,KAAKI,SAAS,EAAE;IAC1BH,SAAS,CAACE,cAAc,GAAG,KAAK;IAChCF,SAAS,CAACD,UAAU,GAAGA,UAAU;EACrC;EAEA,IAAMR,GAAG,GAAG,IAAAa,gBAAQ,EAACC,4BAAe,EAAE;IAACL,SAAS,EAATA,SAAS;IAAEM,WAAW,EAAE;EAAQ,CAAC,CAAC;EAEzE,OAAA/B,aAAA,CAAAA,aAAA,KACOgB,GAAG;IACNgB,QAAQ,EAAEpB,aAAa,CAACI,GAAG,CAACH,IAAI;EAAC;AAEzC,CAAC;AAACoB,OAAA,CAAAb,WAAA,GAAAA,WAAA"}
@@ -1,12 +1,15 @@
1
- export declare const useSiteInfo: ({ siteKey, displayLanguage }: {
1
+ export declare const useSiteInfo: ({ siteKey, displayLanguage, uiLanguage }: {
2
2
  siteKey: string;
3
3
  displayLanguage: string;
4
+ uiLanguage: string;
4
5
  }) => {
5
6
  siteInfo: any;
6
7
  client: import("@apollo/client").ApolloClient<any>;
7
8
  observable: import("@apollo/client").ObservableQuery<any, {
8
9
  path: string;
9
10
  displayLanguage: string;
11
+ skipUILanguage: boolean;
12
+ uiLanguage: string;
10
13
  }>;
11
14
  data: any;
12
15
  previousData?: any;
@@ -17,28 +20,40 @@ export declare const useSiteInfo: ({ siteKey, displayLanguage }: {
17
20
  variables: {
18
21
  path: string;
19
22
  displayLanguage: string;
23
+ skipUILanguage: boolean;
24
+ uiLanguage: string;
20
25
  };
21
26
  startPolling: (pollInterval: number) => void;
22
27
  stopPolling: () => void;
23
28
  subscribeToMore: <TSubscriptionData = any, TSubscriptionVariables extends import("@apollo/client").OperationVariables = {
24
29
  path: string;
25
30
  displayLanguage: string;
31
+ skipUILanguage: boolean;
32
+ uiLanguage: string;
26
33
  }>(options: import("@apollo/client").SubscribeToMoreOptions<any, TSubscriptionVariables, TSubscriptionData>) => () => void;
27
34
  updateQuery: <TVars extends import("@apollo/client").OperationVariables = {
28
35
  path: string;
29
36
  displayLanguage: string;
37
+ skipUILanguage: boolean;
38
+ uiLanguage: string;
30
39
  }>(mapFn: (previousQueryResult: any, options: Pick<import("@apollo/client").WatchQueryOptions<TVars, any>, "variables">) => any) => void;
31
40
  refetch: (variables?: Partial<{
32
41
  path: string;
33
42
  displayLanguage: string;
43
+ skipUILanguage: boolean;
44
+ uiLanguage: string;
34
45
  }>) => Promise<import("@apollo/client").ApolloQueryResult<any>>;
35
46
  reobserve: (newOptions?: Partial<import("@apollo/client").WatchQueryOptions<{
36
47
  path: string;
37
48
  displayLanguage: string;
49
+ skipUILanguage: boolean;
50
+ uiLanguage: string;
38
51
  }, any>>, newNetworkStatus?: import("@apollo/client").NetworkStatus) => Promise<import("@apollo/client").ApolloQueryResult<any>>;
39
52
  fetchMore: <TFetchData = any, TFetchVars extends import("@apollo/client").OperationVariables = {
40
53
  path: string;
41
54
  displayLanguage: string;
55
+ skipUILanguage: boolean;
56
+ uiLanguage: string;
42
57
  }>(fetchMoreOptions: import("@apollo/client").FetchMoreQueryOptions<TFetchVars, TFetchData> & {
43
58
  updateQuery?: (previousQueryResult: any, options: {
44
59
  fetchMoreResult: TFetchData;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jahia/data-helper",
3
- "version": "1.1.4",
3
+ "version": "1.1.6",
4
4
  "scripts": {
5
5
  "compile:js": "node ./build.mjs",
6
6
  "build": "yarn tsc && yarn compile:js",