@jahia/data-helper 1.1.10 → 1.1.11
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/.history/package_20230529180804.json +27 -0
- package/.history/package_20230530113600.json +27 -0
- package/CHANGELOG.md +14 -0
- package/dist/esm/hooks/useNodeInfo/useNodeInfo.js +31 -5
- package/dist/esm/hooks/useNodeInfo/useNodeInfo.js.map +1 -1
- package/dist/js/hooks/useNodeInfo/useNodeInfo.js +31 -5
- package/dist/js/hooks/useNodeInfo/useNodeInfo.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jahia/data-helper",
|
|
3
|
+
"version": "1.1.3",
|
|
4
|
+
"scripts": {
|
|
5
|
+
"compile:js": "node ./build.mjs",
|
|
6
|
+
"build": "yarn tsc && yarn compile:js",
|
|
7
|
+
"lint": "eslint --ext js,jsx,ts,tsx src",
|
|
8
|
+
"lint:fix": "yarn lint --fix",
|
|
9
|
+
"publish-script": "jahia-publish",
|
|
10
|
+
"test": "jest --coverage"
|
|
11
|
+
},
|
|
12
|
+
"main": "dist/js/index.js",
|
|
13
|
+
"module": "dist/esm/index.js",
|
|
14
|
+
"types": "dist/types/index.d.ts",
|
|
15
|
+
"browser": "lib/react-apollo.umd.min.js",
|
|
16
|
+
"sideEffects": false,
|
|
17
|
+
"license": "SEE LICENSE IN ../../LICENSE.txt FILE",
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"@apollo/client": "^3.7.14",
|
|
20
|
+
"@apollo/react-components": "^4.0.0",
|
|
21
|
+
"fast-deep-equal": "^3.1.1",
|
|
22
|
+
"graphql": "^15.4.0",
|
|
23
|
+
"graphql-tag": "^2.11.0",
|
|
24
|
+
"react": "^16.12.0",
|
|
25
|
+
"rfdc": "^1.3.0"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jahia/data-helper",
|
|
3
|
+
"version": "1.1.4",
|
|
4
|
+
"scripts": {
|
|
5
|
+
"compile:js": "node ./build.mjs",
|
|
6
|
+
"build": "yarn tsc && yarn compile:js",
|
|
7
|
+
"lint": "eslint --ext js,jsx,ts,tsx src",
|
|
8
|
+
"lint:fix": "yarn lint --fix",
|
|
9
|
+
"publish-script": "jahia-publish",
|
|
10
|
+
"test": "jest --coverage"
|
|
11
|
+
},
|
|
12
|
+
"main": "dist/js/index.js",
|
|
13
|
+
"module": "dist/esm/index.js",
|
|
14
|
+
"types": "dist/types/index.d.ts",
|
|
15
|
+
"browser": "lib/react-apollo.umd.min.js",
|
|
16
|
+
"sideEffects": false,
|
|
17
|
+
"license": "SEE LICENSE IN ../../LICENSE.txt FILE",
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"@apollo/client": "^3.7.14",
|
|
20
|
+
"@apollo/react-components": "^4.0.0",
|
|
21
|
+
"fast-deep-equal": "^3.1.1",
|
|
22
|
+
"graphql": "^15.4.0",
|
|
23
|
+
"graphql-tag": "^2.11.0",
|
|
24
|
+
"react": "^16.12.0",
|
|
25
|
+
"rfdc": "^1.3.0"
|
|
26
|
+
}
|
|
27
|
+
}
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
# (Thu Feb 08 2024)
|
|
2
|
+
|
|
3
|
+
#### 🐛 Bug Fix
|
|
4
|
+
|
|
5
|
+
- Revert data-helper version [#259](https://github.com/Jahia/javascript-components/pull/259) ([@gflores-jahia](https://github.com/gflores-jahia))
|
|
6
|
+
- SUP-383 Fail useNodeInfo gracefully, propagate error message [#258](https://github.com/Jahia/javascript-components/pull/258) ([@AKarmanov](https://github.com/AKarmanov))
|
|
7
|
+
|
|
8
|
+
#### Authors: 2
|
|
9
|
+
|
|
10
|
+
- Alex Karmanov ([@AKarmanov](https://github.com/AKarmanov))
|
|
11
|
+
- Geofrey Flores ([@gflores-jahia](https://github.com/gflores-jahia))
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
1
15
|
# (Tue Dec 19 2023)
|
|
2
16
|
|
|
3
17
|
#### 🐛 Bug Fix
|
|
@@ -59,10 +59,25 @@ var timeoutHandler = function timeoutHandler(client) {
|
|
|
59
59
|
queryOptions = mergedRequest.queryOptions,
|
|
60
60
|
options = mergedRequest.options,
|
|
61
61
|
originals = mergedRequest.originals;
|
|
62
|
-
var
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
var query;
|
|
63
|
+
var generatedVariables;
|
|
64
|
+
var skip;
|
|
65
|
+
try {
|
|
66
|
+
var r = getQuery(variables, schemaResult, options);
|
|
67
|
+
query = r.query;
|
|
68
|
+
generatedVariables = r.generatedVariables;
|
|
69
|
+
skip = r.skip;
|
|
70
|
+
} catch (e) {
|
|
71
|
+
var error = {
|
|
72
|
+
message: "One of the batched queries resulted in error: ".concat(e.message)
|
|
73
|
+
};
|
|
74
|
+
originals.forEach(function (request) {
|
|
75
|
+
request.setResult({
|
|
76
|
+
loading: false,
|
|
77
|
+
error: error
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
}
|
|
66
81
|
if (skip) {
|
|
67
82
|
// No query to execute
|
|
68
83
|
originals.forEach(function (request) {
|
|
@@ -130,7 +145,18 @@ export var useNodeInfo = function useNodeInfo(variables, options, queryOptions)
|
|
|
130
145
|
};
|
|
131
146
|
}, [client, currentRequest]);
|
|
132
147
|
if (queryHasChanged && (queryOptions === null || queryOptions === void 0 ? void 0 : queryOptions.fetchPolicy) !== 'no-cache' && (queryOptions === null || queryOptions === void 0 ? void 0 : queryOptions.fetchPolicy) !== 'network-only') {
|
|
133
|
-
var infoQuery
|
|
148
|
+
var infoQuery;
|
|
149
|
+
try {
|
|
150
|
+
infoQuery = getQuery(currentRequest.variables, schemaResult, currentRequest.options);
|
|
151
|
+
} catch (e) {
|
|
152
|
+
var error = {
|
|
153
|
+
message: e.message
|
|
154
|
+
};
|
|
155
|
+
return {
|
|
156
|
+
loading: false,
|
|
157
|
+
error: error
|
|
158
|
+
};
|
|
159
|
+
}
|
|
134
160
|
var res = client.readQuery({
|
|
135
161
|
query: infoQuery.query,
|
|
136
162
|
variables: infoQuery.generatedVariables
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useState","useApolloClient","getQuery","getEncodedPermissionName","getEncodedNodeTypeName","SCHEMA_FIELDS_QUERY","isSubset","merge","useMemoRequest","deepEquals","getEncodedSubNodesCountName","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","getSubNodesCount","_res$pageInfo","pageInfo","totalCount"],"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';\nimport {getEncodedSubNodesCountName} from '../../fragments/getSubNodesCountFragment';\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 && 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 if (queryHasChanged && !result.loading) {\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 if (options.getSubNodesCount) {\n options.getSubNodesCount.forEach(name => {\n const res = node[getEncodedSubNodesCountName(name)];\n delete node[getEncodedSubNodesCountName(name)];\n node['subNodesCount_' + name] = res?.pageInfo?.totalCount;\n });\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","getEncodedSubNodesCountName","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","query","generatedVariables","skip","r","e","error","message","concat","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","getSubNodesCount","_res$pageInfo","pageInfo","totalCount"],"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';\nimport {getEncodedSubNodesCountName} from '../../fragments/getSubNodesCountFragment';\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 let query: any;\n let generatedVariables: any;\n let skip;\n\n try {\n const r = getQuery(variables, schemaResult, options);\n query = r.query;\n generatedVariables = r.generatedVariables;\n skip = r.skip;\n } catch (e) {\n const error = {message: `One of the batched queries resulted in error: ${e.message}`} as ApolloError;\n originals.forEach(request => {\n request.setResult({\n loading: false,\n error\n });\n });\n }\n\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 && queryOptions?.fetchPolicy !== 'no-cache' && queryOptions?.fetchPolicy !== 'network-only') {\n let infoQuery;\n\n try {\n infoQuery = getQuery(currentRequest.variables, schemaResult, currentRequest.options);\n } catch (e) {\n const error = {message: e.message} as ApolloError;\n return {loading: false, error};\n }\n\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 if (queryHasChanged && !result.loading) {\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 if (options.getSubNodesCount) {\n options.getSubNodesCount.forEach(name => {\n const res = node[getEncodedSubNodesCountName(name)];\n delete node[getEncodedSubNodesCountName(name)];\n node['subNodesCount_' + name] = res?.pageInfo?.totalCount;\n });\n }\n }\n\n return node;\n};\n"],"mappings":";;;;;;AAAA,SAAQA,SAAS,EAAEC,QAAQ,QAAO,OAAO;AACzC,SAAkDC,eAAe,QAA0B,gBAAgB;AAC3G,SAAQC,QAAQ;AAChB,SAAQC,wBAAwB;AAChC,SAAQC,sBAAsB;AAC9B,SAAQC,mBAAmB;AAC3B,SAAQC,QAAQ,EAAEC,KAAK;AACvB,SAAQC,cAAc;AACtB,OAAOC,UAAU,MAAM,iBAAiB;AAExC,SAAQC,2BAA2B;AA2BnC,IAAMC,KAAsB,GAAG,EAAE;AACjC,IAAIC,YAAiB;AACrB,IAAIC,OAAe;AACnB,IAAIC,eAA8C,GAAG,EAAE;AAEvD,SAASC,aAAaA,CAACC,MAA4B,EAAE;EACjD,IAAI,CAACH,OAAO,IAAID,YAAY,EAAE;IAC1BC,OAAO,GAAGI,MAAM,CAACC,UAAU,CAAC,YAAM;MAC9BC,cAAc,CAACH,MAAM,CAAC;MACtBI,YAAY,CAACP,OAAO,CAAC;MACrBA,OAAO,GAAG,IAAI;IAClB,CAAC,EAAE,CAAC,CAAC;EACT;AACJ;AAEA,IAAMM,cAAc,GAAG,SAAjBA,cAAcA,CAAIH,MAA4B,EAAK;EACrD,IAAMK,WAA4B,GAAG,EAAE;EAEvCV,KAAK,CAACW,OAAO,CAAC,UAAAC,OAAO,EAAI;IACrB,IAAMC,QAAQ,GAAG;MACbC,SAAS,EAAEF,OAAO,CAACE,SAAS;MAC5BC,YAAY,EAAEH,OAAO,CAACG,YAAY;MAClCC,OAAO,EAAEJ,OAAO,CAACI,OAAO;MACxBC,SAAS,EAAE,CAACL,OAAO;IACvB,CAAC;IAED,IAAMM,SAAS,GAAGR,WAAW,CAACS,IAAI,CAAC,UAAAC,CAAC;MAAA,OAAIC,IAAI,CAACC,SAAS,CAACF,CAAC,CAACL,YAAY,CAAC,KAAKM,IAAI,CAACC,SAAS,CAACT,QAAQ,CAACE,YAAY,CAAC,KAAKpB,QAAQ,CAACyB,CAAC,CAACN,SAAS,EAAED,QAAQ,CAACC,SAAS,CAAC,IAAInB,QAAQ,CAACkB,QAAQ,CAACC,SAAS,EAAEM,CAAC,CAACN,SAAS,CAAC,CAAC;IAAA,EAAC;IAE7M,IAAII,SAAS,EAAE;MACXtB,KAAK,CAACsB,SAAS,EAAEL,QAAQ,CAAC;IAC9B,CAAC,MAAM;MACHH,WAAW,CAACa,IAAI,CAAC;QACbT,SAAS,EAAED,QAAQ,CAACC,SAAS,IAAAU,aAAA,KAAQX,QAAQ,CAACC,SAAS,CAAC;QACxDC,YAAY,EAAEF,QAAQ,CAACE,YAAY,IAAAS,aAAA,KAAQX,QAAQ,CAACE,YAAY,CAAC;QACjEC,OAAO,EAAEH,QAAQ,CAACG,OAAO,IAAAQ,aAAA,KAAQX,QAAQ,CAACG,OAAO,CAAC;QAClDC,SAAS,EAAEJ,QAAQ,CAACI;MACxB,CAAC,CAAC;IACN;EACJ,CAAC,CAAC;EAEFd,eAAe,CAACQ,OAAO,CAAC,UAAAc,GAAG;IAAA,OAAIA,GAAG,CAACC,WAAW,CAAC,CAAC;EAAA,EAAC;EACjDvB,eAAe,GAAG,EAAE;EAEpBO,WAAW,CAACC,OAAO,CAAC,UAAAgB,aAAa,EAAI;IACjC,IAAOb,SAAS,GAAsCa,aAAa,CAA5Db,SAAS;MAAEC,YAAY,GAAwBY,aAAa,CAAjDZ,YAAY;MAAEC,OAAO,GAAeW,aAAa,CAAnCX,OAAO;MAAEC,SAAS,GAAIU,aAAa,CAA1BV,SAAS;IAClD,IAAIW,KAAU;IACd,IAAIC,kBAAuB;IAC3B,IAAIC,IAAI;IAER,IAAI;MACA,IAAMC,CAAC,GAAGxC,QAAQ,CAACuB,SAAS,EAAEb,YAAY,EAAEe,OAAO,CAAC;MACpDY,KAAK,GAAGG,CAAC,CAACH,KAAK;MACfC,kBAAkB,GAAGE,CAAC,CAACF,kBAAkB;MACzCC,IAAI,GAAGC,CAAC,CAACD,IAAI;IACjB,CAAC,CAAC,OAAOE,CAAC,EAAE;MACR,IAAMC,KAAK,GAAG;QAACC,OAAO,mDAAAC,MAAA,CAAmDH,CAAC,CAACE,OAAO;MAAE,CAAgB;MACpGjB,SAAS,CAACN,OAAO,CAAC,UAAAC,OAAO,EAAI;QACzBA,OAAO,CAACwB,SAAS,CAAC;UACdC,OAAO,EAAE,KAAK;UACdJ,KAAK,EAALA;QACJ,CAAC,CAAC;MACN,CAAC,CAAC;IACN;IAEA,IAAIH,IAAI,EAAE;MACN;MACAb,SAAS,CAACN,OAAO,CAAC,UAAAC,OAAO,EAAI;QACzBA,OAAO,CAACwB,SAAS,CAAC;UACdC,OAAO,EAAE;QACb,CAAC,CAAC;MACN,CAAC,CAAC;IACN,CAAC,MAAM;MACH,IAAMC,eAAe,GAAGjC,MAAM,CAACkC,UAAU,CAAAf,aAAA,CAAAA,aAAA;QAAEI,KAAK,EAALA,KAAK;QAAEY,WAAW,EAAE;MAAQ,GAAKzB,YAAY;QAAED,SAAS,EAAEe;MAAkB,EAAC,CAAC;MACzH,IAAMY,YAAY,GAAGH,eAAe,CAACI,SAAS,CAAC,UAAAC,IAAA,EAAuB;QAAA,IAArBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;UAAKC,MAAM,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;QAC5D,IAAMC,MAAM,GAAGC,SAAS,CAACL,IAAI,EAAEC,MAAM,EAAE7B,OAAO,EAAEY,KAAK,EAAEC,kBAAkB,CAAC;QAC1EZ,SAAS,CAACN,OAAO,CAAC,UAAAC,OAAO,EAAI;UACzB,IAAI,CAACd,UAAU,CAACc,OAAO,CAACoC,MAAM,EAAEA,MAAM,CAAC,EAAE;YACrCpC,OAAO,CAACoC,MAAM,GAAGA,MAAM;YACvBpC,OAAO,CAACwB,SAAS,CAAAZ,aAAA,CAAAA,aAAA,KACVwB,MAAM;cACTE,OAAO,WAAAA,QAAA,EAAG;gBACN,OAAOZ,eAAe,CAACY,OAAO,CAACrB,kBAAkB,CAAC;cACtD;YAAC,EACJ,CAAC;UACN;QACJ,CAAC,CAAC;MACN,CAAC,CAAC;MACF1B,eAAe,CAACoB,IAAI,CAACkB,YAAY,CAAC;IACtC;EACJ,CAAC,CAAC;AACN,CAAC;AAED,OAAO,IAAMU,WAAW,GAAG,SAAdA,WAAWA,CAAIrC,SAAkC,EAAEE,OAAyB,EAAED,YAAyC,EAAK;EACrI,IAAAqC,SAAA,GAA4B/D,QAAQ,CAAiB;MACjDgD,OAAO,EAAE;IACb,CAAC,CAAC;IAAAgB,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAFKJ,MAAM,GAAAK,UAAA;IAAEjB,SAAS,GAAAiB,UAAA;EAIxB,IAAMhD,MAAM,GAAGf,eAAe,CAAC,CAAC;EAEhC,IAAI,CAACW,YAAY,EAAE;IACfI,MAAM,CAACuB,KAAK,CAAC;MAACA,KAAK,EAAElC,mBAAmB;MAAEoB,SAAS,EAAE;QAACyC,IAAI,EAAE;MAAoB;IAAC,CAAC,CAAC,CAACC,IAAI,CAAC,UAAAC,KAAA,EAAyB;MAAA,IAAvBb,IAAI,GAAAa,KAAA,CAAJb,IAAI;MAC3F3C,YAAY,GAAG2C,IAAI;MACnBxC,aAAa,CAACC,MAAM,CAAC;IACzB,CAAC,CAAC;EACN;;EAEA;EACA,IAAAqD,eAAA,GAA0C7D,cAAc,CAACiB,SAAS,EAAEC,YAAY,EAAEC,OAAO,EAAEoB,SAAS,CAAC;IAAAuB,gBAAA,GAAAL,cAAA,CAAAI,eAAA;IAA9FE,cAAc,GAAAD,gBAAA;IAAEE,eAAe,GAAAF,gBAAA;EACtCvE,SAAS,CAAC,YAAM;IACZY,KAAK,CAACuB,IAAI,CAACqC,cAAc,CAAC;IAC1BxD,aAAa,CAACC,MAAM,CAAC;IAErB,OAAO,YAAM;MACTL,KAAK,CAAC8D,MAAM,CAAC9D,KAAK,CAAC+D,OAAO,CAACH,cAAc,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;EACL,CAAC,EAAE,CAACvD,MAAM,EAAEuD,cAAc,CAAC,CAAC;EAE5B,IAAIC,eAAe,IAAI,CAAA9C,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEiD,WAAW,MAAK,UAAU,IAAI,CAAAjD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEiD,WAAW,MAAK,cAAc,EAAE;IAC7G,IAAIC,SAAS;IAEb,IAAI;MACAA,SAAS,GAAG1E,QAAQ,CAACqE,cAAc,CAAC9C,SAAS,EAAEb,YAAY,EAAE2D,cAAc,CAAC5C,OAAO,CAAC;IACxF,CAAC,CAAC,OAAOgB,CAAC,EAAE;MACR,IAAMC,KAAK,GAAG;QAACC,OAAO,EAAEF,CAAC,CAACE;MAAO,CAAgB;MACjD,OAAO;QAACG,OAAO,EAAE,KAAK;QAAEJ,KAAK,EAALA;MAAK,CAAC;IAClC;IAEA,IAAMiC,GAAG,GAAG7D,MAAM,CAAC8D,SAAS,CAAC;MAACvC,KAAK,EAAEqC,SAAS,CAACrC,KAAK;MAAEd,SAAS,EAAEmD,SAAS,CAACpC;IAAkB,CAAC,CAAC;IAC/F,IAAIqC,GAAG,EAAE;MACL,IAAMlB,OAAM,GAAGC,SAAS,CAACiB,GAAG,EAAE,CAAC,CAAC,EAAEN,cAAc,CAAC5C,OAAO,EAAEiD,SAAS,CAACrC,KAAK,EAAEqC,SAAS,CAACpC,kBAAkB,CAAC;MACxGO,SAAS,CAACY,OAAM,CAAC;MACjB,OAAOA,OAAM;IACjB;EACJ;EAEA,IAAIa,eAAe,IAAI,CAACb,MAAM,CAACX,OAAO,EAAE;IACpCD,SAAS,CAAC;MACNC,OAAO,EAAE;IACb,CAAC,CAAC;IACF,OAAO;MAACA,OAAO,EAAE;IAAI,CAAC;EAC1B;EAEA,OAAOW,MAAM;AACjB,CAAC;AAED,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAIL,IAAS,EAAEC,MAAsB,EAAE7B,OAAwB,EAAEY,KAAmB,EAAEC,kBAA2C,EAAK;EACjJ,IAAMuC,IAAY,GAAIxB,IAAI,IAAIA,IAAI,CAACyB,GAAG,KAAKzB,IAAI,CAACyB,GAAG,CAACC,UAAU,IAAI1B,IAAI,CAACyB,GAAG,CAACE,QAAQ,CAAC,IAAK,IAAI;EAC7F,IAAMC,KAAe,GAAI5B,IAAI,IAAIA,IAAI,CAACyB,GAAG,KAAKzB,IAAI,CAACyB,GAAG,CAACI,WAAW,IAAI7B,IAAI,CAACyB,GAAG,CAACK,SAAS,CAAC,IAAK,IAAI;EAClG,IAAI1B,MAAM,GAAGH,MAAM;EAEnB,IAAIuB,IAAI,EAAE;IACNpB,MAAM,GAAAxB,aAAA,CAAAA,aAAA;MACF4C,IAAI,EAAEO,YAAY,CAACP,IAAI,EAAEpD,OAAO;IAAC,GAC9B6B,MAAM;MACTjB,KAAK,EAALA,KAAK;MACLd,SAAS,EAAEe;IAAkB,EAChC;EACL;EAEA,IAAI2C,KAAK,EAAE;IACPxB,MAAM,GAAAxB,aAAA,CAAAA,aAAA;MACFgD,KAAK,EAAEA,KAAK,CAACI,GAAG,CAAC,UAAAC,CAAC;QAAA,OAAIF,YAAY,CAACE,CAAC,EAAE7D,OAAO,CAAC;MAAA;IAAC,GAC5C6B,MAAM;MACTjB,KAAK,EAALA,KAAK;MACLd,SAAS,EAAEe;IAAkB,EAChC;EACL;EAEA,OAAOmB,MAAM;AACjB,CAAC;AAED,IAAM2B,YAAY,GAAG,SAAfA,YAAYA,CAAIG,QAAa,EAAE9D,OAAwB,EAAK;EAC9D,IAAMoD,IAAI,GAAA5C,aAAA,KAAOsD,QAAQ,CAAC;EAC1B,IAAIV,IAAI,CAACW,IAAI,EAAE;IACXX,IAAI,CAACW,IAAI,GAAAvD,aAAA,KAAO4C,IAAI,CAACW,IAAI,CAAC;EAC9B;EAEA,IAAIX,IAAI,IAAIpD,OAAO,EAAE;IACjB,IAAIA,OAAO,CAACgE,cAAc,EAAE;MACxBhE,OAAO,CAACgE,cAAc,CAACrE,OAAO,CAAC,UAAAsE,IAAI,EAAI;QACnC,IAAMf,GAAG,GAAGE,IAAI,CAAC5E,wBAAwB,CAACyF,IAAI,CAAC,CAAC;QAChD,OAAOb,IAAI,CAAC5E,wBAAwB,CAACyF,IAAI,CAAC,CAAC;QAC3Cb,IAAI,CAACa,IAAI,CAAC,GAAGf,GAAG;MACpB,CAAC,CAAC;IACN;IAEA,IAAIlD,OAAO,CAACkE,kBAAkB,EAAE;MAC5BlE,OAAO,CAACkE,kBAAkB,CAACvE,OAAO,CAAC,UAAAsE,IAAI,EAAI;QACvC,IAAMf,GAAG,GAAGE,IAAI,CAACW,IAAI,CAACvF,wBAAwB,CAACyF,IAAI,CAAC,CAAC;QACrD,OAAOb,IAAI,CAACW,IAAI,CAACvF,wBAAwB,CAACyF,IAAI,CAAC,CAAC;QAChDb,IAAI,CAACW,IAAI,CAACE,IAAI,CAAC,GAAGf,GAAG;MACzB,CAAC,CAAC;IACN;IAEA,IAAIlD,OAAO,CAACmE,cAAc,EAAE;MACxBnE,OAAO,CAACmE,cAAc,CAACxE,OAAO,CAAC,UAAAsE,IAAI,EAAI;QACnC,IAAMf,GAAG,GAAGE,IAAI,CAAC3E,sBAAsB,CAACwF,IAAI,CAAC,CAAC;QAC9C,OAAOb,IAAI,CAAC3E,sBAAsB,CAACwF,IAAI,CAAC,CAAC;QACzCb,IAAI,CAACa,IAAI,CAAC,GAAGf,GAAG;MACpB,CAAC,CAAC;IACN;IAEA,IAAIlD,OAAO,CAACoE,WAAW,EAAE;MACrB,IAAOZ,KAAK,GAAIJ,IAAI,CAACiB,gBAAgB,CAA9Bb,KAAK;MACZJ,IAAI,CAACkB,QAAQ,GAAId,KAAK,CAACe,MAAM,KAAK,CAAC,IAAIf,KAAK,CAAC,CAAC,CAAC,CAACc,QAAQ,CAACE,KAAK,IAAK,IAAI;MACvE,OAAOpB,IAAI,CAACiB,gBAAgB;IAChC;IAEA,IAAIrE,OAAO,CAACyE,gBAAgB,EAAE;MAC1BzE,OAAO,CAACyE,gBAAgB,CAAC9E,OAAO,CAAC,UAAAsE,IAAI,EAAI;QAAA,IAAAS,aAAA;QACrC,IAAMxB,GAAG,GAAGE,IAAI,CAACrE,2BAA2B,CAACkF,IAAI,CAAC,CAAC;QACnD,OAAOb,IAAI,CAACrE,2BAA2B,CAACkF,IAAI,CAAC,CAAC;QAC9Cb,IAAI,CAAC,gBAAgB,GAAGa,IAAI,CAAC,GAAGf,GAAG,aAAHA,GAAG,gBAAAwB,aAAA,GAAHxB,GAAG,CAAEyB,QAAQ,cAAAD,aAAA,uBAAbA,aAAA,CAAeE,UAAU;MAC7D,CAAC,CAAC;IACN;EACJ;EAEA,OAAOxB,IAAI;AACf,CAAC"}
|
|
@@ -66,10 +66,25 @@ var timeoutHandler = function timeoutHandler(client) {
|
|
|
66
66
|
queryOptions = mergedRequest.queryOptions,
|
|
67
67
|
options = mergedRequest.options,
|
|
68
68
|
originals = mergedRequest.originals;
|
|
69
|
-
var
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
var query;
|
|
70
|
+
var generatedVariables;
|
|
71
|
+
var skip;
|
|
72
|
+
try {
|
|
73
|
+
var r = (0, _useNodeInfo.getQuery)(variables, schemaResult, options);
|
|
74
|
+
query = r.query;
|
|
75
|
+
generatedVariables = r.generatedVariables;
|
|
76
|
+
skip = r.skip;
|
|
77
|
+
} catch (e) {
|
|
78
|
+
var error = {
|
|
79
|
+
message: "One of the batched queries resulted in error: ".concat(e.message)
|
|
80
|
+
};
|
|
81
|
+
originals.forEach(function (request) {
|
|
82
|
+
request.setResult({
|
|
83
|
+
loading: false,
|
|
84
|
+
error: error
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
}
|
|
73
88
|
if (skip) {
|
|
74
89
|
// No query to execute
|
|
75
90
|
originals.forEach(function (request) {
|
|
@@ -137,7 +152,18 @@ var useNodeInfo = function useNodeInfo(variables, options, queryOptions) {
|
|
|
137
152
|
};
|
|
138
153
|
}, [client, currentRequest]);
|
|
139
154
|
if (queryHasChanged && (queryOptions === null || queryOptions === void 0 ? void 0 : queryOptions.fetchPolicy) !== 'no-cache' && (queryOptions === null || queryOptions === void 0 ? void 0 : queryOptions.fetchPolicy) !== 'network-only') {
|
|
140
|
-
var infoQuery
|
|
155
|
+
var infoQuery;
|
|
156
|
+
try {
|
|
157
|
+
infoQuery = (0, _useNodeInfo.getQuery)(currentRequest.variables, schemaResult, currentRequest.options);
|
|
158
|
+
} catch (e) {
|
|
159
|
+
var error = {
|
|
160
|
+
message: e.message
|
|
161
|
+
};
|
|
162
|
+
return {
|
|
163
|
+
loading: false,
|
|
164
|
+
error: error
|
|
165
|
+
};
|
|
166
|
+
}
|
|
141
167
|
var res = client.readQuery({
|
|
142
168
|
query: infoQuery.query,
|
|
143
169
|
variables: infoQuery.generatedVariables
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_client","_useNodeInfo","_getPermissionFragment","_getIsNodeTypeFragment","_useSchemaFields","_useNodeInfo2","_useMemoRequest3","_fastDeepEqual","_interopRequireDefault","_getSubNodesCountFragment","_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","getSubNodesCount","_res$pageInfo","getEncodedSubNodesCountName","pageInfo","totalCount"],"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';\nimport {getEncodedSubNodesCountName} from '../../fragments/getSubNodesCountFragment';\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 && 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 if (queryHasChanged && !result.loading) {\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 if (options.getSubNodesCount) {\n options.getSubNodesCount.forEach(name => {\n const res = node[getEncodedSubNodesCountName(name)];\n delete node[getEncodedSubNodesCountName(name)];\n node['subNodesCount_' + name] = res?.pageInfo?.totalCount;\n });\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","_getSubNodesCountFragment","_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","query","generatedVariables","skip","r","getQuery","e","error","message","concat","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","getSubNodesCount","_res$pageInfo","getEncodedSubNodesCountName","pageInfo","totalCount"],"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';\nimport {getEncodedSubNodesCountName} from '../../fragments/getSubNodesCountFragment';\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 let query: any;\n let generatedVariables: any;\n let skip;\n\n try {\n const r = getQuery(variables, schemaResult, options);\n query = r.query;\n generatedVariables = r.generatedVariables;\n skip = r.skip;\n } catch (e) {\n const error = {message: `One of the batched queries resulted in error: ${e.message}`} as ApolloError;\n originals.forEach(request => {\n request.setResult({\n loading: false,\n error\n });\n });\n }\n\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 && queryOptions?.fetchPolicy !== 'no-cache' && queryOptions?.fetchPolicy !== 'network-only') {\n let infoQuery;\n\n try {\n infoQuery = getQuery(currentRequest.variables, schemaResult, currentRequest.options);\n } catch (e) {\n const error = {message: e.message} as ApolloError;\n return {loading: false, error};\n }\n\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 if (queryHasChanged && !result.loading) {\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 if (options.getSubNodesCount) {\n options.getSubNodesCount.forEach(name => {\n const res = node[getEncodedSubNodesCountName(name)];\n delete node[getEncodedSubNodesCountName(name)];\n node['subNodesCount_' + name] = res?.pageInfo?.totalCount;\n });\n }\n }\n\n return node;\n};\n"],"mappings":"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"}
|