@jahia/data-helper 1.1.6 → 1.1.7
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 +12 -0
- package/dist/esm/fragments/getSubNodesCountFragment.js +24 -0
- package/dist/esm/fragments/getSubNodesCountFragment.js.map +1 -0
- package/dist/esm/hooks/useNodeChecks/useNodeChecks.js.map +1 -1
- package/dist/esm/hooks/useNodeInfo/useNodeInfo.gql-queries.js +9 -3
- package/dist/esm/hooks/useNodeInfo/useNodeInfo.gql-queries.js.map +1 -1
- package/dist/esm/hooks/useNodeInfo/useNodeInfo.js +21 -12
- package/dist/esm/hooks/useNodeInfo/useNodeInfo.js.map +1 -1
- package/dist/js/fragments/getSubNodesCountFragment.js +33 -0
- package/dist/js/fragments/getSubNodesCountFragment.js.map +1 -0
- package/dist/js/hooks/useNodeChecks/useNodeChecks.js.map +1 -1
- package/dist/js/hooks/useNodeInfo/useNodeInfo.gql-queries.js +8 -2
- package/dist/js/hooks/useNodeInfo/useNodeInfo.gql-queries.js.map +1 -1
- package/dist/js/hooks/useNodeInfo/useNodeInfo.js +21 -12
- package/dist/js/hooks/useNodeInfo/useNodeInfo.js.map +1 -1
- package/dist/types/fragments/getSubNodesCountFragment.d.ts +8 -0
- package/dist/types/hooks/useNodeChecks/useNodeChecks.d.ts +2 -2
- package/dist/types/hooks/useNodeInfo/useNodeInfo.gql-queries.d.ts +1 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
# (Mon Nov 27 2023)
|
|
2
|
+
|
|
3
|
+
#### 🐛 Bug Fix
|
|
4
|
+
|
|
5
|
+
- BACKLOG-21921: Fixed invalid merge with subNodesCount [#254](https://github.com/Jahia/javascript-components/pull/254) ([@tdraier](https://github.com/tdraier))
|
|
6
|
+
|
|
7
|
+
#### Authors: 1
|
|
8
|
+
|
|
9
|
+
- Thomas Draier ([@tdraier](https://github.com/tdraier))
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
1
13
|
# (Fri Nov 17 2023)
|
|
2
14
|
|
|
3
15
|
#### 🐛 Bug Fix
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
var _templateObject;
|
|
4
|
+
import gql from 'graphql-tag';
|
|
5
|
+
import { encodeName } from "./encodeName";
|
|
6
|
+
var fragments = {};
|
|
7
|
+
export var getSubNodesCountFragment = function getSubNodesCountFragment(name) {
|
|
8
|
+
var encodedName = getEncodedSubNodesCountName(name);
|
|
9
|
+
if (!fragments[encodedName]) {
|
|
10
|
+
fragments[encodedName] = {
|
|
11
|
+
applyFor: 'node',
|
|
12
|
+
variables: _defineProperty({}, encodedName, '[String!]!'),
|
|
13
|
+
gql: gql(_templateObject || (_templateObject = _taggedTemplateLiteral(["fragment SubNodesCount_", " on JCRNode {\n ", ": children(typesFilter: {types: $", "}) {\n pageInfo {\n totalCount\n }\n }\n }"])), encodedName, encodedName, encodedName)
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
fragment: fragments[encodedName],
|
|
18
|
+
variables: _defineProperty({}, encodedName, [name])
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export var getEncodedSubNodesCountName = function getEncodedSubNodesCountName(name) {
|
|
22
|
+
return 'subNodesCount_' + encodeName(name);
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=getSubNodesCountFragment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["gql","encodeName","fragments","getSubNodesCountFragment","name","encodedName","getEncodedSubNodesCountName","applyFor","variables","_defineProperty","_templateObject","_taggedTemplateLiteral","fragment"],"sources":["getSubNodesCountFragment.ts"],"sourcesContent":["import gql from 'graphql-tag';\nimport {encodeName} from './encodeName';\nimport {Fragment} from '~/fragments/PredefinedFragments';\n\nconst fragments:{[key:string]: Fragment} = {};\n\nexport const getSubNodesCountFragment = (name: string) => {\n const encodedName = getEncodedSubNodesCountName(name);\n if (!fragments[encodedName]) {\n fragments[encodedName] = {\n applyFor: 'node',\n variables: {\n [encodedName]: '[String!]!'\n },\n gql: gql`fragment SubNodesCount_${encodedName} on JCRNode {\n ${encodedName}: children(typesFilter: {types: $${encodedName}}) {\n pageInfo {\n totalCount\n }\n }\n }`\n };\n }\n\n return {\n fragment: fragments[encodedName],\n variables: {\n [encodedName]: [name]\n }\n };\n};\n\nexport const getEncodedSubNodesCountName = (name:string) => 'subNodesCount_' + encodeName(name);\n"],"mappings":";;;AAAA,OAAOA,GAAG,MAAM,aAAa;AAC7B,SAAQC,UAAU;AAGlB,IAAMC,SAAkC,GAAG,CAAC,CAAC;AAE7C,OAAO,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAIC,IAAY,EAAK;EACtD,IAAMC,WAAW,GAAGC,2BAA2B,CAACF,IAAI,CAAC;EACrD,IAAI,CAACF,SAAS,CAACG,WAAW,CAAC,EAAE;IACzBH,SAAS,CAACG,WAAW,CAAC,GAAG;MACrBE,QAAQ,EAAE,MAAM;MAChBC,SAAS,EAAAC,eAAA,KACJJ,WAAW,EAAG,YAAY,CAC9B;MACDL,GAAG,EAAEA,GAAG,CAAAU,eAAA,KAAAA,eAAA,GAAAC,sBAAA,6OAA0BN,WAAW,EACvCA,WAAW,EAAoCA,WAAW;IAMpE,CAAC;EACL;EAEA,OAAO;IACHO,QAAQ,EAAEV,SAAS,CAACG,WAAW,CAAC;IAChCG,SAAS,EAAAC,eAAA,KACJJ,WAAW,EAAG,CAACD,IAAI,CAAC;EAE7B,CAAC;AACL,CAAC;AAED,OAAO,IAAME,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAIF,IAAW;EAAA,OAAK,gBAAgB,GAAGH,UAAU,CAACG,IAAI,CAAC;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useNodeInfo","evaluateVisibilityPaths","visible","visibilityPaths","nodePath","i","length","RegExp","test","addArrayOptionValues","newValue","useNodeInfoOptions","useNodeInfoKey","concat","filter","item","indexOf","useNodeChecks","variables","options","queryOptions","requiredPermission","requiredSitePermission","showOnNodeTypes","hideOnNodeTypes","requireModuleInstalledOnSite","showForPaths","hideForPaths","othersOptions","_objectWithoutProperties","_excluded","_objectSpread","requiredPermissions","requiredSitePermissions","getSiteInstalledModules","_useNodeInfo","node","nodes","loading","othersResults","_excluded2","checksResult","doNodeCheck","currentNode","reduce","acc","val","site","installedModulesWithAllDependencies","includes","path","result"],"sources":["useNodeChecks.ts"],"sourcesContent":["import {NodeInfoResult, useNodeInfo} from '../useNodeInfo';\nimport {NodeInfoOptions} from '
|
|
1
|
+
{"version":3,"names":["useNodeInfo","evaluateVisibilityPaths","visible","visibilityPaths","nodePath","i","length","RegExp","test","addArrayOptionValues","newValue","useNodeInfoOptions","useNodeInfoKey","concat","filter","item","indexOf","useNodeChecks","variables","options","queryOptions","requiredPermission","requiredSitePermission","showOnNodeTypes","hideOnNodeTypes","requireModuleInstalledOnSite","showForPaths","hideForPaths","othersOptions","_objectWithoutProperties","_excluded","_objectSpread","requiredPermissions","requiredSitePermissions","getSiteInstalledModules","_useNodeInfo","node","nodes","loading","othersResults","_excluded2","checksResult","doNodeCheck","currentNode","reduce","acc","val","site","installedModulesWithAllDependencies","includes","path","result"],"sources":["useNodeChecks.ts"],"sourcesContent":["import {NodeInfoResult, useNodeInfo} from '../useNodeInfo';\nimport {NodeInfoOptions} from '../useNodeInfo/useNodeInfo.gql-queries';\nimport {WatchQueryOptions} from '@apollo/client';\n\nexport type NodeCheckOptions = NodeInfoOptions & Partial<{\n requiredPermission: string | string[],\n requiredSitePermission: string | string[],\n showOnNodeTypes: string[],\n hideOnNodeTypes: string[],\n requireModuleInstalledOnSite: string[],\n showForPaths: string[],\n hideForPaths: string[],\n}>\n\nexport type NodeCheckResult = NodeInfoResult & Partial<{\n checksResult: boolean,\n}>\n\nconst evaluateVisibilityPaths = (visible: boolean, visibilityPaths: string[], nodePath: string) => {\n for (let i = 0; i < visibilityPaths.length; i++) {\n if (new RegExp(visibilityPaths[i]).test(nodePath)) {\n return visible;\n }\n }\n\n return !visible;\n};\n\nfunction addArrayOptionValues(newValue: string[], useNodeInfoOptions: NodeInfoOptions, useNodeInfoKey: 'getPermissions' | 'getSitePermissions' |'getIsNodeTypes'| 'getProperties') {\n if (newValue) {\n useNodeInfoOptions[useNodeInfoKey] = useNodeInfoOptions[useNodeInfoKey] || [];\n useNodeInfoOptions[useNodeInfoKey] = useNodeInfoOptions[useNodeInfoKey].concat(newValue.filter(item => useNodeInfoOptions[useNodeInfoKey].indexOf(item) < 0));\n }\n}\n\nexport const useNodeChecks = (variables: {[key:string]: any}, options?: NodeCheckOptions, queryOptions?: WatchQueryOptions): NodeCheckResult => {\n const {requiredPermission, requiredSitePermission, showOnNodeTypes, hideOnNodeTypes, requireModuleInstalledOnSite, showForPaths, hideForPaths, ...othersOptions} = options;\n const useNodeInfoOptions = {...othersOptions};\n\n const requiredPermissions = (typeof requiredPermission === 'string') ? [requiredPermission] : requiredPermission;\n const requiredSitePermissions = (typeof requiredSitePermission === 'string') ? [requiredSitePermission] : requiredSitePermission;\n\n addArrayOptionValues(requiredPermissions, useNodeInfoOptions, 'getPermissions');\n addArrayOptionValues(requiredSitePermissions, useNodeInfoOptions, 'getSitePermissions');\n addArrayOptionValues(showOnNodeTypes, useNodeInfoOptions, 'getIsNodeTypes');\n addArrayOptionValues(hideOnNodeTypes, useNodeInfoOptions, 'getIsNodeTypes');\n\n if (requireModuleInstalledOnSite) {\n useNodeInfoOptions.getSiteInstalledModules = true;\n }\n\n const {node, nodes, loading, ...othersResults} = useNodeInfo(variables, useNodeInfoOptions, queryOptions);\n\n if (loading) {\n return {loading, ...othersResults};\n }\n\n if (!node && !nodes) {\n return {checksResult: false, loading, ...othersResults};\n }\n\n const doNodeCheck = (currentNode: any) =>\n (!requiredPermissions || requiredPermissions.reduce((acc, val) => acc || currentNode[val], false)) &&\n (!requiredSitePermissions || requiredSitePermissions.reduce((acc, val) => acc || currentNode.site[val], false)) &&\n (!showOnNodeTypes || showOnNodeTypes.reduce((acc, val) => acc || currentNode[val], false)) &&\n (!hideOnNodeTypes || !hideOnNodeTypes.reduce((acc, val) => acc || currentNode[val], false)) &&\n (!requireModuleInstalledOnSite || requireModuleInstalledOnSite.reduce((acc, val) => acc && currentNode.site.installedModulesWithAllDependencies.includes(val), true)) &&\n (!hideForPaths || evaluateVisibilityPaths(false, hideForPaths, currentNode.path || variables.path)) &&\n (!showForPaths || evaluateVisibilityPaths(true, showForPaths, currentNode.path || variables.path));\n\n const result = node ? doNodeCheck(node) : nodes.reduce((acc, val) => acc && doNodeCheck(val), true);\n\n return {node, nodes, checksResult: result, loading, ...othersResults};\n};\n"],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
2
2
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
3
3
|
import gql from 'graphql-tag';
|
|
4
|
-
import { aggregatedPublicationInfo, aggregatedPublicationInfoWithExistInLive, childNodeTypes, contentRestrictions, displayableNode, displayName, getProperties, installedModules, lockInfo, mimeTypes, nodeCacheRequiredFields, operationSupport, parentNode, primaryNodeType, replaceFragmentsInDocument, siteLanguages
|
|
4
|
+
import { aggregatedPublicationInfo, aggregatedPublicationInfoWithExistInLive, childNodeTypes, contentRestrictions, displayableNode, displayName, getProperties, installedModules, lockInfo, mimeTypes, nodeCacheRequiredFields, operationSupport, parentNode, primaryNodeType, replaceFragmentsInDocument, siteLanguages } from "../../fragments";
|
|
5
5
|
import { getPermissionFragment, getSitePermissionFragment } from "../../fragments/getPermissionFragment";
|
|
6
6
|
import { getNodeTypeFragment } from "../../fragments/getIsNodeTypeFragment";
|
|
7
|
+
import { getSubNodesCountFragment } from "../../fragments/getSubNodesCountFragment";
|
|
7
8
|
var getBaseQueryAndVariables = function getBaseQueryAndVariables(variables) {
|
|
8
9
|
if (variables.paths) {
|
|
9
10
|
return {
|
|
@@ -142,8 +143,13 @@ export var getQuery = function getQuery(variables, schemaResult) {
|
|
|
142
143
|
fragments.push(contentRestrictions);
|
|
143
144
|
}
|
|
144
145
|
if (options.getSubNodesCount) {
|
|
145
|
-
|
|
146
|
-
|
|
146
|
+
options.getSubNodesCount.forEach(function (name) {
|
|
147
|
+
var _getSubNodesCountFrag = getSubNodesCountFragment(name),
|
|
148
|
+
fragment = _getSubNodesCountFrag.fragment,
|
|
149
|
+
fragmentVariables = _getSubNodesCountFrag.variables;
|
|
150
|
+
fragments.push(fragment);
|
|
151
|
+
Object.assign(generatedVariables, fragmentVariables);
|
|
152
|
+
});
|
|
147
153
|
}
|
|
148
154
|
if (options.getMimeType) {
|
|
149
155
|
fragments.push(mimeTypes);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["gql","aggregatedPublicationInfo","aggregatedPublicationInfoWithExistInLive","childNodeTypes","contentRestrictions","displayableNode","displayName","getProperties","installedModules","lockInfo","mimeTypes","nodeCacheRequiredFields","operationSupport","parentNode","primaryNodeType","replaceFragmentsInDocument","siteLanguages","subNodesCount","getPermissionFragment","getSitePermissionFragment","getNodeTypeFragment","getBaseQueryAndVariables","variables","paths","baseQuery","_templateObject","_taggedTemplateLiteral","generatedVariables","skip","uuid","length","_templateObject2","uuids","_templateObject3","_templateObject4","path","validOptions","getQuery","schemaResult","options","arguments","undefined","fragments","_getBaseQueryAndVaria","getDisplayName","push","language","Error","getPrimaryNodeType","displayLanguage","displayLanguageSet","getParent","getAggregatedPublicationInfo","supportsExistsInLive","__type","fields","find","field","name","aggregatedPublicationInfoSubNodes","Boolean","subNodes","aggregatedPublicationInfoIncludeReference","reference","getOperationSupport","getPermissions","forEach","_getPermissionFragmen","fragment","fragmentVariables","Object","assign","getSitePermissions","_getSitePermissionFra","getIsNodeTypes","_getNodeTypeFragment","getPropertiesNames","getSiteInstalledModules","getSiteLanguages","getDisplayableNodePath","getLockInfo","getChildNodeTypes","getContributeTypesRestrictions","getSubNodesCount","subNodesCountTypes","types","getMimeType","query"],"sources":["useNodeInfo.gql-queries.ts"],"sourcesContent":["import gql from 'graphql-tag';\nimport {\n aggregatedPublicationInfo,\n aggregatedPublicationInfoWithExistInLive,\n childNodeTypes,\n contentRestrictions,\n displayableNode,\n displayName,\n getProperties,\n installedModules,\n lockInfo,\n mimeTypes,\n nodeCacheRequiredFields,\n operationSupport,\n parentNode,\n primaryNodeType,\n replaceFragmentsInDocument,\n siteLanguages,\n subNodesCount\n} from '../../fragments';\nimport {getPermissionFragment, getSitePermissionFragment} from '../../fragments/getPermissionFragment';\nimport {getNodeTypeFragment} from '../../fragments/getIsNodeTypeFragment';\nimport {DocumentNode} from 'graphql';\n\nconst getBaseQueryAndVariables = (variables: {[key:string]: any}): {\n baseQuery: DocumentNode,\n generatedVariables:{[key:string]: unknown},\n skip: boolean\n} => {\n if (variables.paths) {\n return {\n baseQuery: gql`\n query NodesByPathInfoQuery($paths:[String!]!) {\n jcr {\n nodesByPath(paths:$paths) {\n name\n ...node\n ...NodeCacheRequiredFields\n }\n }\n }\n ${nodeCacheRequiredFields.gql}\n `,\n generatedVariables: {\n paths: variables.paths\n },\n skip: false\n };\n }\n\n if (variables.uuid && variables.uuid.length > 0) {\n return {\n baseQuery: gql`\n query NodeByUuidInfoQuery($uuid:String!) {\n jcr {\n nodeById(uuid:$uuid) {\n name\n ...node\n ...NodeCacheRequiredFields\n }\n }\n }\n ${nodeCacheRequiredFields.gql}\n `,\n generatedVariables: {\n uuid: variables.uuid\n },\n skip: false\n };\n }\n\n if (variables.uuids) {\n return {\n baseQuery: gql`\n query NodesByUuidInfoQuery($uuids:[String!]!) {\n jcr {\n nodesById(uuids:$uuids) {\n name\n ...node\n ...NodeCacheRequiredFields\n }\n }\n }\n ${nodeCacheRequiredFields.gql}\n `,\n generatedVariables: {\n uuids: variables.uuids\n },\n skip: false\n };\n }\n\n return {\n baseQuery: gql`\n query NodeByPathInfoQuery($path:String!) {\n jcr {\n nodeByPath(path:$path) {\n name\n ...node\n ...NodeCacheRequiredFields\n }\n }\n }\n ${nodeCacheRequiredFields.gql}\n `,\n generatedVariables: {\n path: variables.path\n },\n skip: !variables.path || variables.path.length === 0\n };\n};\n\nexport type NodeInfoOptions = Partial<{\n getDisplayName: boolean,\n getPrimaryNodeType: boolean,\n getParent: boolean,\n getAggregatedPublicationInfo: {\n subNodes: boolean, reference: boolean\n },\n getOperationSupport: boolean,\n getPermissions: string[],\n getSitePermissions: string[],\n getIsNodeTypes: string[],\n getProperties: string[],\n getSiteInstalledModules: boolean,\n getSiteLanguages: boolean,\n getDisplayableNodePath: boolean,\n getLockInfo: boolean,\n getChildNodeTypes: boolean,\n getContributeTypesRestrictions: boolean,\n getSubNodesCount: {\n types?: string[]\n },\n getMimeType: boolean,\n}>;\n\nexport const validOptions = [\n 'getDisplayName',\n 'getPrimaryNodeType',\n 'getParent',\n 'getAggregatedPublicationInfo',\n 'getOperationSupport',\n 'getPermissions',\n 'getSitePermissions',\n 'getIsNodeTypes',\n 'getProperties',\n 'getSiteInstalledModules',\n 'getSiteLanguages',\n 'getDisplayableNodePath',\n 'getLockInfo',\n 'getChildNodeTypes',\n 'getContributeTypesRestrictions',\n 'getSubNodesCount',\n 'getMimeType'\n];\n\nexport const getQuery = (variables: {[key:string]: any}, schemaResult: any, options: NodeInfoOptions = {}) => {\n const fragments = [];\n\n const {baseQuery, generatedVariables, skip} = getBaseQueryAndVariables(variables);\n\n if (!skip) {\n if (options.getDisplayName) {\n fragments.push(displayName);\n if (!variables.language) {\n throw Error('language is required');\n }\n\n generatedVariables.language = variables.language;\n }\n\n if (options.getPrimaryNodeType) {\n fragments.push(primaryNodeType);\n if (variables.displayLanguage) {\n generatedVariables.displayLanguageSet = true;\n generatedVariables.displayLanguage = variables.displayLanguage;\n } else {\n generatedVariables.displayLanguageSet = false;\n generatedVariables.displayLanguage = '';\n }\n }\n\n if (options.getParent) {\n fragments.push(parentNode);\n }\n\n if (options.getAggregatedPublicationInfo) {\n const supportsExistsInLive = schemaResult && schemaResult.__type && schemaResult.__type.fields && schemaResult.__type.fields.find((field: any) => field.name === 'existsInLive') !== undefined;\n if (supportsExistsInLive) {\n fragments.push(aggregatedPublicationInfoWithExistInLive);\n } else {\n fragments.push(aggregatedPublicationInfo);\n }\n\n if (!variables.language) {\n throw Error('language is required');\n }\n\n generatedVariables.language = variables.language;\n generatedVariables.aggregatedPublicationInfoSubNodes = Boolean(options.getAggregatedPublicationInfo.subNodes);\n generatedVariables.aggregatedPublicationInfoIncludeReference = Boolean(options.getAggregatedPublicationInfo.reference);\n }\n\n if (options.getOperationSupport) {\n fragments.push(operationSupport);\n }\n\n if (options.getPermissions) {\n options.getPermissions.forEach(name => {\n const {fragment, variables: fragmentVariables} = getPermissionFragment(name);\n fragments.push(fragment);\n Object.assign(generatedVariables, fragmentVariables);\n });\n }\n\n if (options.getSitePermissions) {\n options.getSitePermissions.forEach(name => {\n const {fragment, variables: fragmentVariables} = getSitePermissionFragment(name);\n fragments.push(fragment);\n Object.assign(generatedVariables, fragmentVariables);\n });\n }\n\n if (options.getIsNodeTypes) {\n options.getIsNodeTypes.forEach(name => {\n const {fragment, variables: fragmentVariables} = getNodeTypeFragment(name);\n fragments.push(fragment);\n Object.assign(generatedVariables, fragmentVariables);\n });\n }\n\n if (options.getProperties) {\n fragments.push(getProperties);\n generatedVariables.getPropertiesNames = options.getProperties;\n\n if (!variables.language) {\n throw Error('language is required');\n }\n\n generatedVariables.language = variables.language;\n }\n\n if (options.getSiteInstalledModules) {\n fragments.push(installedModules);\n }\n\n if (options.getSiteLanguages) {\n fragments.push(siteLanguages);\n }\n\n if (options.getDisplayableNodePath) {\n fragments.push(displayableNode);\n }\n\n if (options.getLockInfo) {\n fragments.push(lockInfo);\n }\n\n if (options.getChildNodeTypes) {\n fragments.push(childNodeTypes);\n }\n\n if (options.getContributeTypesRestrictions) {\n fragments.push(contentRestrictions);\n }\n\n if (options.getSubNodesCount) {\n fragments.push(subNodesCount);\n generatedVariables.subNodesCountTypes = options.getSubNodesCount.types ? options.getSubNodesCount.types : ['nt:base'];\n }\n\n if (options.getMimeType) {\n fragments.push(mimeTypes);\n }\n }\n\n return {\n query: replaceFragmentsInDocument(baseQuery, fragments),\n generatedVariables,\n skip\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["gql","aggregatedPublicationInfo","aggregatedPublicationInfoWithExistInLive","childNodeTypes","contentRestrictions","displayableNode","displayName","getProperties","installedModules","lockInfo","mimeTypes","nodeCacheRequiredFields","operationSupport","parentNode","primaryNodeType","replaceFragmentsInDocument","siteLanguages","getPermissionFragment","getSitePermissionFragment","getNodeTypeFragment","getSubNodesCountFragment","getBaseQueryAndVariables","variables","paths","baseQuery","_templateObject","_taggedTemplateLiteral","generatedVariables","skip","uuid","length","_templateObject2","uuids","_templateObject3","_templateObject4","path","validOptions","getQuery","schemaResult","options","arguments","undefined","fragments","_getBaseQueryAndVaria","getDisplayName","push","language","Error","getPrimaryNodeType","displayLanguage","displayLanguageSet","getParent","getAggregatedPublicationInfo","supportsExistsInLive","__type","fields","find","field","name","aggregatedPublicationInfoSubNodes","Boolean","subNodes","aggregatedPublicationInfoIncludeReference","reference","getOperationSupport","getPermissions","forEach","_getPermissionFragmen","fragment","fragmentVariables","Object","assign","getSitePermissions","_getSitePermissionFra","getIsNodeTypes","_getNodeTypeFragment","getPropertiesNames","getSiteInstalledModules","getSiteLanguages","getDisplayableNodePath","getLockInfo","getChildNodeTypes","getContributeTypesRestrictions","getSubNodesCount","_getSubNodesCountFrag","getMimeType","query"],"sources":["useNodeInfo.gql-queries.ts"],"sourcesContent":["import gql from 'graphql-tag';\nimport {\n aggregatedPublicationInfo,\n aggregatedPublicationInfoWithExistInLive,\n childNodeTypes,\n contentRestrictions,\n displayableNode,\n displayName,\n getProperties,\n installedModules,\n lockInfo,\n mimeTypes,\n nodeCacheRequiredFields,\n operationSupport,\n parentNode,\n primaryNodeType,\n replaceFragmentsInDocument,\n siteLanguages,\n subNodesCount\n} from '../../fragments';\nimport {getPermissionFragment, getSitePermissionFragment} from '../../fragments/getPermissionFragment';\nimport {getNodeTypeFragment} from '../../fragments/getIsNodeTypeFragment';\nimport {DocumentNode} from 'graphql';\nimport {getSubNodesCountFragment} from '~/fragments/getSubNodesCountFragment';\n\nconst getBaseQueryAndVariables = (variables: {[key:string]: any}): {\n baseQuery: DocumentNode,\n generatedVariables:{[key:string]: unknown},\n skip: boolean\n} => {\n if (variables.paths) {\n return {\n baseQuery: gql`\n query NodesByPathInfoQuery($paths:[String!]!) {\n jcr {\n nodesByPath(paths:$paths) {\n name\n ...node\n ...NodeCacheRequiredFields\n }\n }\n }\n ${nodeCacheRequiredFields.gql}\n `,\n generatedVariables: {\n paths: variables.paths\n },\n skip: false\n };\n }\n\n if (variables.uuid && variables.uuid.length > 0) {\n return {\n baseQuery: gql`\n query NodeByUuidInfoQuery($uuid:String!) {\n jcr {\n nodeById(uuid:$uuid) {\n name\n ...node\n ...NodeCacheRequiredFields\n }\n }\n }\n ${nodeCacheRequiredFields.gql}\n `,\n generatedVariables: {\n uuid: variables.uuid\n },\n skip: false\n };\n }\n\n if (variables.uuids) {\n return {\n baseQuery: gql`\n query NodesByUuidInfoQuery($uuids:[String!]!) {\n jcr {\n nodesById(uuids:$uuids) {\n name\n ...node\n ...NodeCacheRequiredFields\n }\n }\n }\n ${nodeCacheRequiredFields.gql}\n `,\n generatedVariables: {\n uuids: variables.uuids\n },\n skip: false\n };\n }\n\n return {\n baseQuery: gql`\n query NodeByPathInfoQuery($path:String!) {\n jcr {\n nodeByPath(path:$path) {\n name\n ...node\n ...NodeCacheRequiredFields\n }\n }\n }\n ${nodeCacheRequiredFields.gql}\n `,\n generatedVariables: {\n path: variables.path\n },\n skip: !variables.path || variables.path.length === 0\n };\n};\n\nexport type NodeInfoOptions = Partial<{\n getDisplayName: boolean,\n getPrimaryNodeType: boolean,\n getParent: boolean,\n getAggregatedPublicationInfo: {\n subNodes: boolean, reference: boolean\n },\n getOperationSupport: boolean,\n getPermissions: string[],\n getSitePermissions: string[],\n getIsNodeTypes: string[],\n getProperties: string[],\n getSiteInstalledModules: boolean,\n getSiteLanguages: boolean,\n getDisplayableNodePath: boolean,\n getLockInfo: boolean,\n getChildNodeTypes: boolean,\n getContributeTypesRestrictions: boolean,\n getSubNodesCount: string[],\n getMimeType: boolean,\n}>;\n\nexport const validOptions = [\n 'getDisplayName',\n 'getPrimaryNodeType',\n 'getParent',\n 'getAggregatedPublicationInfo',\n 'getOperationSupport',\n 'getPermissions',\n 'getSitePermissions',\n 'getIsNodeTypes',\n 'getProperties',\n 'getSiteInstalledModules',\n 'getSiteLanguages',\n 'getDisplayableNodePath',\n 'getLockInfo',\n 'getChildNodeTypes',\n 'getContributeTypesRestrictions',\n 'getSubNodesCount',\n 'getMimeType'\n];\n\nexport const getQuery = (variables: {[key:string]: any}, schemaResult: any, options: NodeInfoOptions = {}) => {\n const fragments = [];\n\n const {baseQuery, generatedVariables, skip} = getBaseQueryAndVariables(variables);\n\n if (!skip) {\n if (options.getDisplayName) {\n fragments.push(displayName);\n if (!variables.language) {\n throw Error('language is required');\n }\n\n generatedVariables.language = variables.language;\n }\n\n if (options.getPrimaryNodeType) {\n fragments.push(primaryNodeType);\n if (variables.displayLanguage) {\n generatedVariables.displayLanguageSet = true;\n generatedVariables.displayLanguage = variables.displayLanguage;\n } else {\n generatedVariables.displayLanguageSet = false;\n generatedVariables.displayLanguage = '';\n }\n }\n\n if (options.getParent) {\n fragments.push(parentNode);\n }\n\n if (options.getAggregatedPublicationInfo) {\n const supportsExistsInLive = schemaResult && schemaResult.__type && schemaResult.__type.fields && schemaResult.__type.fields.find((field: any) => field.name === 'existsInLive') !== undefined;\n if (supportsExistsInLive) {\n fragments.push(aggregatedPublicationInfoWithExistInLive);\n } else {\n fragments.push(aggregatedPublicationInfo);\n }\n\n if (!variables.language) {\n throw Error('language is required');\n }\n\n generatedVariables.language = variables.language;\n generatedVariables.aggregatedPublicationInfoSubNodes = Boolean(options.getAggregatedPublicationInfo.subNodes);\n generatedVariables.aggregatedPublicationInfoIncludeReference = Boolean(options.getAggregatedPublicationInfo.reference);\n }\n\n if (options.getOperationSupport) {\n fragments.push(operationSupport);\n }\n\n if (options.getPermissions) {\n options.getPermissions.forEach(name => {\n const {fragment, variables: fragmentVariables} = getPermissionFragment(name);\n fragments.push(fragment);\n Object.assign(generatedVariables, fragmentVariables);\n });\n }\n\n if (options.getSitePermissions) {\n options.getSitePermissions.forEach(name => {\n const {fragment, variables: fragmentVariables} = getSitePermissionFragment(name);\n fragments.push(fragment);\n Object.assign(generatedVariables, fragmentVariables);\n });\n }\n\n if (options.getIsNodeTypes) {\n options.getIsNodeTypes.forEach(name => {\n const {fragment, variables: fragmentVariables} = getNodeTypeFragment(name);\n fragments.push(fragment);\n Object.assign(generatedVariables, fragmentVariables);\n });\n }\n\n if (options.getProperties) {\n fragments.push(getProperties);\n generatedVariables.getPropertiesNames = options.getProperties;\n\n if (!variables.language) {\n throw Error('language is required');\n }\n\n generatedVariables.language = variables.language;\n }\n\n if (options.getSiteInstalledModules) {\n fragments.push(installedModules);\n }\n\n if (options.getSiteLanguages) {\n fragments.push(siteLanguages);\n }\n\n if (options.getDisplayableNodePath) {\n fragments.push(displayableNode);\n }\n\n if (options.getLockInfo) {\n fragments.push(lockInfo);\n }\n\n if (options.getChildNodeTypes) {\n fragments.push(childNodeTypes);\n }\n\n if (options.getContributeTypesRestrictions) {\n fragments.push(contentRestrictions);\n }\n\n if (options.getSubNodesCount) {\n options.getSubNodesCount.forEach(name => {\n const {fragment, variables: fragmentVariables} = getSubNodesCountFragment(name);\n fragments.push(fragment);\n Object.assign(generatedVariables, fragmentVariables);\n });\n }\n\n if (options.getMimeType) {\n fragments.push(mimeTypes);\n }\n }\n\n return {\n query: replaceFragmentsInDocument(baseQuery, fragments),\n generatedVariables,\n skip\n };\n};\n"],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ import { SCHEMA_FIELDS_QUERY } from "../useSchemaFields/useSchemaFields.gql-quer
|
|
|
13
13
|
import { isSubset, merge } from "./useNodeInfo.utils";
|
|
14
14
|
import { useMemoRequest } from "./useMemoRequest";
|
|
15
15
|
import deepEquals from 'fast-deep-equal';
|
|
16
|
+
import { getEncodedSubNodesCountName } from "../../fragments/getSubNodesCountFragment";
|
|
16
17
|
var queue = [];
|
|
17
18
|
var schemaResult;
|
|
18
19
|
var timeout;
|
|
@@ -128,19 +129,19 @@ export var useNodeInfo = function useNodeInfo(variables, options, queryOptions)
|
|
|
128
129
|
queue.splice(queue.indexOf(currentRequest), 1);
|
|
129
130
|
};
|
|
130
131
|
}, [client, currentRequest]);
|
|
131
|
-
if (queryHasChanged &&
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
return _result;
|
|
142
|
-
}
|
|
132
|
+
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 = getQuery(currentRequest.variables, schemaResult, currentRequest.options);
|
|
134
|
+
var res = client.readQuery({
|
|
135
|
+
query: infoQuery.query,
|
|
136
|
+
variables: infoQuery.generatedVariables
|
|
137
|
+
});
|
|
138
|
+
if (res) {
|
|
139
|
+
var _result = getResult(res, {}, currentRequest.options, infoQuery.query, infoQuery.generatedVariables);
|
|
140
|
+
setResult(_result);
|
|
141
|
+
return _result;
|
|
143
142
|
}
|
|
143
|
+
}
|
|
144
|
+
if (queryHasChanged && !result.loading) {
|
|
144
145
|
setResult({
|
|
145
146
|
loading: true
|
|
146
147
|
});
|
|
@@ -206,6 +207,14 @@ var decodeResult = function decodeResult(nodeOrig, options) {
|
|
|
206
207
|
node.mimeType = nodes.length !== 0 && nodes[0].mimeType.value || null;
|
|
207
208
|
delete node.resourceChildren;
|
|
208
209
|
}
|
|
210
|
+
if (options.getSubNodesCount) {
|
|
211
|
+
options.getSubNodesCount.forEach(function (name) {
|
|
212
|
+
var _res$pageInfo;
|
|
213
|
+
var res = node[getEncodedSubNodesCountName(name)];
|
|
214
|
+
delete node[getEncodedSubNodesCountName(name)];
|
|
215
|
+
node['subNodesCount_' + name] = res === null || res === void 0 ? void 0 : (_res$pageInfo = res.pageInfo) === null || _res$pageInfo === void 0 ? void 0 : _res$pageInfo.totalCount;
|
|
216
|
+
});
|
|
217
|
+
}
|
|
209
218
|
}
|
|
210
219
|
return node;
|
|
211
220
|
};
|
|
@@ -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","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
|
+
{"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":";;;;;;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,IAAAW,SAAA,GAA0CrC,QAAQ,CAACuB,SAAS,EAAEb,YAAY,EAAEe,OAAO,CAAC;MAA7Ea,KAAK,GAAAD,SAAA,CAALC,KAAK;MAAEC,kBAAkB,GAAAF,SAAA,CAAlBE,kBAAkB;MAAEC,IAAI,GAAAH,SAAA,CAAJG,IAAI;IACtC,IAAIA,IAAI,EAAE;MACN;MACAd,SAAS,CAACN,OAAO,CAAC,UAAAC,OAAO,EAAI;QACzBA,OAAO,CAACoB,SAAS,CAAC;UACdC,OAAO,EAAE;QACb,CAAC,CAAC;MACN,CAAC,CAAC;IACN,CAAC,MAAM;MACH,IAAMC,eAAe,GAAG7B,MAAM,CAAC8B,UAAU,CAAAX,aAAA,CAAAA,aAAA;QAAEK,KAAK,EAALA,KAAK;QAAEO,WAAW,EAAE;MAAQ,GAAKrB,YAAY;QAAED,SAAS,EAAEgB;MAAkB,EAAC,CAAC;MACzH,IAAMO,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,EAAEzB,OAAO,EAAEa,KAAK,EAAEC,kBAAkB,CAAC;QAC1Eb,SAAS,CAACN,OAAO,CAAC,UAAAC,OAAO,EAAI;UACzB,IAAI,CAACd,UAAU,CAACc,OAAO,CAACgC,MAAM,EAAEA,MAAM,CAAC,EAAE;YACrChC,OAAO,CAACgC,MAAM,GAAGA,MAAM;YACvBhC,OAAO,CAACoB,SAAS,CAAAR,aAAA,CAAAA,aAAA,KACVoB,MAAM;cACTE,OAAO,WAAAA,QAAA,EAAG;gBACN,OAAOZ,eAAe,CAACY,OAAO,CAAChB,kBAAkB,CAAC;cACtD;YAAC,EACJ,CAAC;UACN;QACJ,CAAC,CAAC;MACN,CAAC,CAAC;MACF3B,eAAe,CAACoB,IAAI,CAACc,YAAY,CAAC;IACtC;EACJ,CAAC,CAAC;AACN,CAAC;AAED,OAAO,IAAMU,WAAW,GAAG,SAAdA,WAAWA,CAAIjC,SAAkC,EAAEE,OAAyB,EAAED,YAAyC,EAAK;EACrI,IAAAiC,SAAA,GAA4B3D,QAAQ,CAAiB;MACjD4C,OAAO,EAAE;IACb,CAAC,CAAC;IAAAgB,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAFKJ,MAAM,GAAAK,UAAA;IAAEjB,SAAS,GAAAiB,UAAA;EAIxB,IAAM5C,MAAM,GAAGf,eAAe,CAAC,CAAC;EAEhC,IAAI,CAACW,YAAY,EAAE;IACfI,MAAM,CAACwB,KAAK,CAAC;MAACA,KAAK,EAAEnC,mBAAmB;MAAEoB,SAAS,EAAE;QAACqC,IAAI,EAAE;MAAoB;IAAC,CAAC,CAAC,CAACC,IAAI,CAAC,UAAAC,KAAA,EAAyB;MAAA,IAAvBb,IAAI,GAAAa,KAAA,CAAJb,IAAI;MAC3FvC,YAAY,GAAGuC,IAAI;MACnBpC,aAAa,CAACC,MAAM,CAAC;IACzB,CAAC,CAAC;EACN;;EAEA;EACA,IAAAiD,eAAA,GAA0CzD,cAAc,CAACiB,SAAS,EAAEC,YAAY,EAAEC,OAAO,EAAEgB,SAAS,CAAC;IAAAuB,gBAAA,GAAAL,cAAA,CAAAI,eAAA;IAA9FE,cAAc,GAAAD,gBAAA;IAAEE,eAAe,GAAAF,gBAAA;EACtCnE,SAAS,CAAC,YAAM;IACZY,KAAK,CAACuB,IAAI,CAACiC,cAAc,CAAC;IAC1BpD,aAAa,CAACC,MAAM,CAAC;IAErB,OAAO,YAAM;MACTL,KAAK,CAAC0D,MAAM,CAAC1D,KAAK,CAAC2D,OAAO,CAACH,cAAc,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;EACL,CAAC,EAAE,CAACnD,MAAM,EAAEmD,cAAc,CAAC,CAAC;EAE5B,IAAIC,eAAe,IAAI,CAAA1C,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE6C,WAAW,MAAK,UAAU,IAAI,CAAA7C,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE6C,WAAW,MAAK,cAAc,EAAE;IAC7G,IAAMC,SAAS,GAAGtE,QAAQ,CAACiE,cAAc,CAAC1C,SAAS,EAAEb,YAAY,EAAEuD,cAAc,CAACxC,OAAO,CAAC;IAC1F,IAAM8C,GAAG,GAAGzD,MAAM,CAAC0D,SAAS,CAAC;MAAClC,KAAK,EAAEgC,SAAS,CAAChC,KAAK;MAAEf,SAAS,EAAE+C,SAAS,CAAC/B;IAAkB,CAAC,CAAC;IAC/F,IAAIgC,GAAG,EAAE;MACL,IAAMlB,OAAM,GAAGC,SAAS,CAACiB,GAAG,EAAE,CAAC,CAAC,EAAEN,cAAc,CAACxC,OAAO,EAAE6C,SAAS,CAAChC,KAAK,EAAEgC,SAAS,CAAC/B,kBAAkB,CAAC;MACxGE,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,EAAEzB,OAAwB,EAAEa,KAAmB,EAAEC,kBAA2C,EAAK;EACjJ,IAAMkC,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,GAAApB,aAAA,CAAAA,aAAA;MACFwC,IAAI,EAAEO,YAAY,CAACP,IAAI,EAAEhD,OAAO;IAAC,GAC9ByB,MAAM;MACTZ,KAAK,EAALA,KAAK;MACLf,SAAS,EAAEgB;IAAkB,EAChC;EACL;EAEA,IAAIsC,KAAK,EAAE;IACPxB,MAAM,GAAApB,aAAA,CAAAA,aAAA;MACF4C,KAAK,EAAEA,KAAK,CAACI,GAAG,CAAC,UAAAC,CAAC;QAAA,OAAIF,YAAY,CAACE,CAAC,EAAEzD,OAAO,CAAC;MAAA;IAAC,GAC5CyB,MAAM;MACTZ,KAAK,EAALA,KAAK;MACLf,SAAS,EAAEgB;IAAkB,EAChC;EACL;EAEA,OAAOc,MAAM;AACjB,CAAC;AAED,IAAM2B,YAAY,GAAG,SAAfA,YAAYA,CAAIG,QAAa,EAAE1D,OAAwB,EAAK;EAC9D,IAAMgD,IAAI,GAAAxC,aAAA,KAAOkD,QAAQ,CAAC;EAC1B,IAAIV,IAAI,CAACW,IAAI,EAAE;IACXX,IAAI,CAACW,IAAI,GAAAnD,aAAA,KAAOwC,IAAI,CAACW,IAAI,CAAC;EAC9B;EAEA,IAAIX,IAAI,IAAIhD,OAAO,EAAE;IACjB,IAAIA,OAAO,CAAC4D,cAAc,EAAE;MACxB5D,OAAO,CAAC4D,cAAc,CAACjE,OAAO,CAAC,UAAAkE,IAAI,EAAI;QACnC,IAAMf,GAAG,GAAGE,IAAI,CAACxE,wBAAwB,CAACqF,IAAI,CAAC,CAAC;QAChD,OAAOb,IAAI,CAACxE,wBAAwB,CAACqF,IAAI,CAAC,CAAC;QAC3Cb,IAAI,CAACa,IAAI,CAAC,GAAGf,GAAG;MACpB,CAAC,CAAC;IACN;IAEA,IAAI9C,OAAO,CAAC8D,kBAAkB,EAAE;MAC5B9D,OAAO,CAAC8D,kBAAkB,CAACnE,OAAO,CAAC,UAAAkE,IAAI,EAAI;QACvC,IAAMf,GAAG,GAAGE,IAAI,CAACW,IAAI,CAACnF,wBAAwB,CAACqF,IAAI,CAAC,CAAC;QACrD,OAAOb,IAAI,CAACW,IAAI,CAACnF,wBAAwB,CAACqF,IAAI,CAAC,CAAC;QAChDb,IAAI,CAACW,IAAI,CAACE,IAAI,CAAC,GAAGf,GAAG;MACzB,CAAC,CAAC;IACN;IAEA,IAAI9C,OAAO,CAAC+D,cAAc,EAAE;MACxB/D,OAAO,CAAC+D,cAAc,CAACpE,OAAO,CAAC,UAAAkE,IAAI,EAAI;QACnC,IAAMf,GAAG,GAAGE,IAAI,CAACvE,sBAAsB,CAACoF,IAAI,CAAC,CAAC;QAC9C,OAAOb,IAAI,CAACvE,sBAAsB,CAACoF,IAAI,CAAC,CAAC;QACzCb,IAAI,CAACa,IAAI,CAAC,GAAGf,GAAG;MACpB,CAAC,CAAC;IACN;IAEA,IAAI9C,OAAO,CAACgE,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,IAAIjE,OAAO,CAACqE,gBAAgB,EAAE;MAC1BrE,OAAO,CAACqE,gBAAgB,CAAC1E,OAAO,CAAC,UAAAkE,IAAI,EAAI;QAAA,IAAAS,aAAA;QACrC,IAAMxB,GAAG,GAAGE,IAAI,CAACjE,2BAA2B,CAAC8E,IAAI,CAAC,CAAC;QACnD,OAAOb,IAAI,CAACjE,2BAA2B,CAAC8E,IAAI,CAAC,CAAC;QAC9Cb,IAAI,CAAC,gBAAgB,GAAGa,IAAI,CAAC,GAAGf,GAAG,aAAHA,GAAG,wBAAAwB,aAAA,GAAHxB,GAAG,CAAEyB,QAAQ,cAAAD,aAAA,uBAAbA,aAAA,CAAeE,UAAU;MAC7D,CAAC,CAAC;IACN;EACJ;EAEA,OAAOxB,IAAI;AACf,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getSubNodesCountFragment = exports.getEncodedSubNodesCountName = void 0;
|
|
8
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
|
|
11
|
+
var _encodeName = require("./encodeName");
|
|
12
|
+
var _templateObject;
|
|
13
|
+
var fragments = {};
|
|
14
|
+
var getSubNodesCountFragment = function getSubNodesCountFragment(name) {
|
|
15
|
+
var encodedName = getEncodedSubNodesCountName(name);
|
|
16
|
+
if (!fragments[encodedName]) {
|
|
17
|
+
fragments[encodedName] = {
|
|
18
|
+
applyFor: 'node',
|
|
19
|
+
variables: (0, _defineProperty2["default"])({}, encodedName, '[String!]!'),
|
|
20
|
+
gql: (0, _graphqlTag["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["fragment SubNodesCount_", " on JCRNode {\n ", ": children(typesFilter: {types: $", "}) {\n pageInfo {\n totalCount\n }\n }\n }"])), encodedName, encodedName, encodedName)
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
fragment: fragments[encodedName],
|
|
25
|
+
variables: (0, _defineProperty2["default"])({}, encodedName, [name])
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
exports.getSubNodesCountFragment = getSubNodesCountFragment;
|
|
29
|
+
var getEncodedSubNodesCountName = function getEncodedSubNodesCountName(name) {
|
|
30
|
+
return 'subNodesCount_' + (0, _encodeName.encodeName)(name);
|
|
31
|
+
};
|
|
32
|
+
exports.getEncodedSubNodesCountName = getEncodedSubNodesCountName;
|
|
33
|
+
//# sourceMappingURL=getSubNodesCountFragment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_graphqlTag","_interopRequireDefault","require","_encodeName","_templateObject","fragments","getSubNodesCountFragment","name","encodedName","getEncodedSubNodesCountName","applyFor","variables","_defineProperty2","gql","_taggedTemplateLiteral2","fragment","exports","encodeName"],"sources":["getSubNodesCountFragment.ts"],"sourcesContent":["import gql from 'graphql-tag';\nimport {encodeName} from './encodeName';\nimport {Fragment} from '~/fragments/PredefinedFragments';\n\nconst fragments:{[key:string]: Fragment} = {};\n\nexport const getSubNodesCountFragment = (name: string) => {\n const encodedName = getEncodedSubNodesCountName(name);\n if (!fragments[encodedName]) {\n fragments[encodedName] = {\n applyFor: 'node',\n variables: {\n [encodedName]: '[String!]!'\n },\n gql: gql`fragment SubNodesCount_${encodedName} on JCRNode {\n ${encodedName}: children(typesFilter: {types: $${encodedName}}) {\n pageInfo {\n totalCount\n }\n }\n }`\n };\n }\n\n return {\n fragment: fragments[encodedName],\n variables: {\n [encodedName]: [name]\n }\n };\n};\n\nexport const getEncodedSubNodesCountName = (name:string) => 'subNodesCount_' + encodeName(name);\n"],"mappings":";;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAAwC,IAAAE,eAAA;AAGxC,IAAMC,SAAkC,GAAG,CAAC,CAAC;AAEtC,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAIC,IAAY,EAAK;EACtD,IAAMC,WAAW,GAAGC,2BAA2B,CAACF,IAAI,CAAC;EACrD,IAAI,CAACF,SAAS,CAACG,WAAW,CAAC,EAAE;IACzBH,SAAS,CAACG,WAAW,CAAC,GAAG;MACrBE,QAAQ,EAAE,MAAM;MAChBC,SAAS,MAAAC,gBAAA,iBACJJ,WAAW,EAAG,YAAY,CAC9B;MACDK,GAAG,MAAEA,sBAAG,EAAAT,eAAA,KAAAA,eAAA,OAAAU,uBAAA,yPAA0BN,WAAW,EACvCA,WAAW,EAAoCA,WAAW;IAMpE,CAAC;EACL;EAEA,OAAO;IACHO,QAAQ,EAAEV,SAAS,CAACG,WAAW,CAAC;IAChCG,SAAS,MAAAC,gBAAA,iBACJJ,WAAW,EAAG,CAACD,IAAI,CAAC;EAE7B,CAAC;AACL,CAAC;AAACS,OAAA,CAAAV,wBAAA,GAAAA,wBAAA;AAEK,IAAMG,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAIF,IAAW;EAAA,OAAK,gBAAgB,GAAG,IAAAU,sBAAU,EAACV,IAAI,CAAC;AAAA;AAACS,OAAA,CAAAP,2BAAA,GAAAA,2BAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_useNodeInfo2","require","_excluded","_excluded2","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","evaluateVisibilityPaths","visible","visibilityPaths","nodePath","RegExp","test","addArrayOptionValues","newValue","useNodeInfoOptions","useNodeInfoKey","concat","item","indexOf","useNodeChecks","variables","options","queryOptions","requiredPermission","requiredSitePermission","showOnNodeTypes","hideOnNodeTypes","requireModuleInstalledOnSite","showForPaths","hideForPaths","othersOptions","_objectWithoutProperties2","requiredPermissions","requiredSitePermissions","getSiteInstalledModules","_useNodeInfo","useNodeInfo","node","nodes","loading","othersResults","checksResult","doNodeCheck","currentNode","reduce","acc","val","site","installedModulesWithAllDependencies","includes","path","result","exports"],"sources":["useNodeChecks.ts"],"sourcesContent":["import {NodeInfoResult, useNodeInfo} from '../useNodeInfo';\nimport {NodeInfoOptions} from '
|
|
1
|
+
{"version":3,"names":["_useNodeInfo2","require","_excluded","_excluded2","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","evaluateVisibilityPaths","visible","visibilityPaths","nodePath","RegExp","test","addArrayOptionValues","newValue","useNodeInfoOptions","useNodeInfoKey","concat","item","indexOf","useNodeChecks","variables","options","queryOptions","requiredPermission","requiredSitePermission","showOnNodeTypes","hideOnNodeTypes","requireModuleInstalledOnSite","showForPaths","hideForPaths","othersOptions","_objectWithoutProperties2","requiredPermissions","requiredSitePermissions","getSiteInstalledModules","_useNodeInfo","useNodeInfo","node","nodes","loading","othersResults","checksResult","doNodeCheck","currentNode","reduce","acc","val","site","installedModulesWithAllDependencies","includes","path","result","exports"],"sources":["useNodeChecks.ts"],"sourcesContent":["import {NodeInfoResult, useNodeInfo} from '../useNodeInfo';\nimport {NodeInfoOptions} from '../useNodeInfo/useNodeInfo.gql-queries';\nimport {WatchQueryOptions} from '@apollo/client';\n\nexport type NodeCheckOptions = NodeInfoOptions & Partial<{\n requiredPermission: string | string[],\n requiredSitePermission: string | string[],\n showOnNodeTypes: string[],\n hideOnNodeTypes: string[],\n requireModuleInstalledOnSite: string[],\n showForPaths: string[],\n hideForPaths: string[],\n}>\n\nexport type NodeCheckResult = NodeInfoResult & Partial<{\n checksResult: boolean,\n}>\n\nconst evaluateVisibilityPaths = (visible: boolean, visibilityPaths: string[], nodePath: string) => {\n for (let i = 0; i < visibilityPaths.length; i++) {\n if (new RegExp(visibilityPaths[i]).test(nodePath)) {\n return visible;\n }\n }\n\n return !visible;\n};\n\nfunction addArrayOptionValues(newValue: string[], useNodeInfoOptions: NodeInfoOptions, useNodeInfoKey: 'getPermissions' | 'getSitePermissions' |'getIsNodeTypes'| 'getProperties') {\n if (newValue) {\n useNodeInfoOptions[useNodeInfoKey] = useNodeInfoOptions[useNodeInfoKey] || [];\n useNodeInfoOptions[useNodeInfoKey] = useNodeInfoOptions[useNodeInfoKey].concat(newValue.filter(item => useNodeInfoOptions[useNodeInfoKey].indexOf(item) < 0));\n }\n}\n\nexport const useNodeChecks = (variables: {[key:string]: any}, options?: NodeCheckOptions, queryOptions?: WatchQueryOptions): NodeCheckResult => {\n const {requiredPermission, requiredSitePermission, showOnNodeTypes, hideOnNodeTypes, requireModuleInstalledOnSite, showForPaths, hideForPaths, ...othersOptions} = options;\n const useNodeInfoOptions = {...othersOptions};\n\n const requiredPermissions = (typeof requiredPermission === 'string') ? [requiredPermission] : requiredPermission;\n const requiredSitePermissions = (typeof requiredSitePermission === 'string') ? [requiredSitePermission] : requiredSitePermission;\n\n addArrayOptionValues(requiredPermissions, useNodeInfoOptions, 'getPermissions');\n addArrayOptionValues(requiredSitePermissions, useNodeInfoOptions, 'getSitePermissions');\n addArrayOptionValues(showOnNodeTypes, useNodeInfoOptions, 'getIsNodeTypes');\n addArrayOptionValues(hideOnNodeTypes, useNodeInfoOptions, 'getIsNodeTypes');\n\n if (requireModuleInstalledOnSite) {\n useNodeInfoOptions.getSiteInstalledModules = true;\n }\n\n const {node, nodes, loading, ...othersResults} = useNodeInfo(variables, useNodeInfoOptions, queryOptions);\n\n if (loading) {\n return {loading, ...othersResults};\n }\n\n if (!node && !nodes) {\n return {checksResult: false, loading, ...othersResults};\n }\n\n const doNodeCheck = (currentNode: any) =>\n (!requiredPermissions || requiredPermissions.reduce((acc, val) => acc || currentNode[val], false)) &&\n (!requiredSitePermissions || requiredSitePermissions.reduce((acc, val) => acc || currentNode.site[val], false)) &&\n (!showOnNodeTypes || showOnNodeTypes.reduce((acc, val) => acc || currentNode[val], false)) &&\n (!hideOnNodeTypes || !hideOnNodeTypes.reduce((acc, val) => acc || currentNode[val], false)) &&\n (!requireModuleInstalledOnSite || requireModuleInstalledOnSite.reduce((acc, val) => acc && currentNode.site.installedModulesWithAllDependencies.includes(val), true)) &&\n (!hideForPaths || evaluateVisibilityPaths(false, hideForPaths, currentNode.path || variables.path)) &&\n (!showForPaths || evaluateVisibilityPaths(true, showForPaths, currentNode.path || variables.path));\n\n const result = node ? doNodeCheck(node) : nodes.reduce((acc, val) => acc && doNodeCheck(val), true);\n\n return {node, nodes, checksResult: result, loading, ...othersResults};\n};\n"],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
|
|
|
10
10
|
var _fragments = require("../../fragments");
|
|
11
11
|
var _getPermissionFragment = require("../../fragments/getPermissionFragment");
|
|
12
12
|
var _getIsNodeTypeFragment = require("../../fragments/getIsNodeTypeFragment");
|
|
13
|
+
var _getSubNodesCountFragment = require("../../fragments/getSubNodesCountFragment");
|
|
13
14
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
14
15
|
var getBaseQueryAndVariables = function getBaseQueryAndVariables(variables) {
|
|
15
16
|
if (variables.paths) {
|
|
@@ -150,8 +151,13 @@ var getQuery = function getQuery(variables, schemaResult) {
|
|
|
150
151
|
fragments.push(_fragments.contentRestrictions);
|
|
151
152
|
}
|
|
152
153
|
if (options.getSubNodesCount) {
|
|
153
|
-
|
|
154
|
-
|
|
154
|
+
options.getSubNodesCount.forEach(function (name) {
|
|
155
|
+
var _getSubNodesCountFrag = (0, _getSubNodesCountFragment.getSubNodesCountFragment)(name),
|
|
156
|
+
fragment = _getSubNodesCountFrag.fragment,
|
|
157
|
+
fragmentVariables = _getSubNodesCountFrag.variables;
|
|
158
|
+
fragments.push(fragment);
|
|
159
|
+
Object.assign(generatedVariables, fragmentVariables);
|
|
160
|
+
});
|
|
155
161
|
}
|
|
156
162
|
if (options.getMimeType) {
|
|
157
163
|
fragments.push(_fragments.mimeTypes);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_graphqlTag","_interopRequireDefault","require","_fragments","_getPermissionFragment","_getIsNodeTypeFragment","_templateObject","_templateObject2","_templateObject3","_templateObject4","getBaseQueryAndVariables","variables","paths","baseQuery","gql","_taggedTemplateLiteral2","nodeCacheRequiredFields","generatedVariables","skip","uuid","length","uuids","path","validOptions","exports","getQuery","schemaResult","options","arguments","undefined","fragments","_getBaseQueryAndVaria","getDisplayName","push","displayName","language","Error","getPrimaryNodeType","primaryNodeType","displayLanguage","displayLanguageSet","getParent","parentNode","getAggregatedPublicationInfo","supportsExistsInLive","__type","fields","find","field","name","aggregatedPublicationInfoWithExistInLive","aggregatedPublicationInfo","aggregatedPublicationInfoSubNodes","Boolean","subNodes","aggregatedPublicationInfoIncludeReference","reference","getOperationSupport","operationSupport","getPermissions","forEach","_getPermissionFragmen","getPermissionFragment","fragment","fragmentVariables","Object","assign","getSitePermissions","_getSitePermissionFra","getSitePermissionFragment","getIsNodeTypes","_getNodeTypeFragment","getNodeTypeFragment","getProperties","getPropertiesNames","getSiteInstalledModules","installedModules","getSiteLanguages","siteLanguages","getDisplayableNodePath","displayableNode","getLockInfo","lockInfo","getChildNodeTypes","childNodeTypes","getContributeTypesRestrictions","contentRestrictions","getSubNodesCount","subNodesCount","subNodesCountTypes","types","getMimeType","mimeTypes","query","replaceFragmentsInDocument"],"sources":["useNodeInfo.gql-queries.ts"],"sourcesContent":["import gql from 'graphql-tag';\nimport {\n aggregatedPublicationInfo,\n aggregatedPublicationInfoWithExistInLive,\n childNodeTypes,\n contentRestrictions,\n displayableNode,\n displayName,\n getProperties,\n installedModules,\n lockInfo,\n mimeTypes,\n nodeCacheRequiredFields,\n operationSupport,\n parentNode,\n primaryNodeType,\n replaceFragmentsInDocument,\n siteLanguages,\n subNodesCount\n} from '../../fragments';\nimport {getPermissionFragment, getSitePermissionFragment} from '../../fragments/getPermissionFragment';\nimport {getNodeTypeFragment} from '../../fragments/getIsNodeTypeFragment';\nimport {DocumentNode} from 'graphql';\n\nconst getBaseQueryAndVariables = (variables: {[key:string]: any}): {\n baseQuery: DocumentNode,\n generatedVariables:{[key:string]: unknown},\n skip: boolean\n} => {\n if (variables.paths) {\n return {\n baseQuery: gql`\n query NodesByPathInfoQuery($paths:[String!]!) {\n jcr {\n nodesByPath(paths:$paths) {\n name\n ...node\n ...NodeCacheRequiredFields\n }\n }\n }\n ${nodeCacheRequiredFields.gql}\n `,\n generatedVariables: {\n paths: variables.paths\n },\n skip: false\n };\n }\n\n if (variables.uuid && variables.uuid.length > 0) {\n return {\n baseQuery: gql`\n query NodeByUuidInfoQuery($uuid:String!) {\n jcr {\n nodeById(uuid:$uuid) {\n name\n ...node\n ...NodeCacheRequiredFields\n }\n }\n }\n ${nodeCacheRequiredFields.gql}\n `,\n generatedVariables: {\n uuid: variables.uuid\n },\n skip: false\n };\n }\n\n if (variables.uuids) {\n return {\n baseQuery: gql`\n query NodesByUuidInfoQuery($uuids:[String!]!) {\n jcr {\n nodesById(uuids:$uuids) {\n name\n ...node\n ...NodeCacheRequiredFields\n }\n }\n }\n ${nodeCacheRequiredFields.gql}\n `,\n generatedVariables: {\n uuids: variables.uuids\n },\n skip: false\n };\n }\n\n return {\n baseQuery: gql`\n query NodeByPathInfoQuery($path:String!) {\n jcr {\n nodeByPath(path:$path) {\n name\n ...node\n ...NodeCacheRequiredFields\n }\n }\n }\n ${nodeCacheRequiredFields.gql}\n `,\n generatedVariables: {\n path: variables.path\n },\n skip: !variables.path || variables.path.length === 0\n };\n};\n\nexport type NodeInfoOptions = Partial<{\n getDisplayName: boolean,\n getPrimaryNodeType: boolean,\n getParent: boolean,\n getAggregatedPublicationInfo: {\n subNodes: boolean, reference: boolean\n },\n getOperationSupport: boolean,\n getPermissions: string[],\n getSitePermissions: string[],\n getIsNodeTypes: string[],\n getProperties: string[],\n getSiteInstalledModules: boolean,\n getSiteLanguages: boolean,\n getDisplayableNodePath: boolean,\n getLockInfo: boolean,\n getChildNodeTypes: boolean,\n getContributeTypesRestrictions: boolean,\n getSubNodesCount: {\n types?: string[]\n },\n getMimeType: boolean,\n}>;\n\nexport const validOptions = [\n 'getDisplayName',\n 'getPrimaryNodeType',\n 'getParent',\n 'getAggregatedPublicationInfo',\n 'getOperationSupport',\n 'getPermissions',\n 'getSitePermissions',\n 'getIsNodeTypes',\n 'getProperties',\n 'getSiteInstalledModules',\n 'getSiteLanguages',\n 'getDisplayableNodePath',\n 'getLockInfo',\n 'getChildNodeTypes',\n 'getContributeTypesRestrictions',\n 'getSubNodesCount',\n 'getMimeType'\n];\n\nexport const getQuery = (variables: {[key:string]: any}, schemaResult: any, options: NodeInfoOptions = {}) => {\n const fragments = [];\n\n const {baseQuery, generatedVariables, skip} = getBaseQueryAndVariables(variables);\n\n if (!skip) {\n if (options.getDisplayName) {\n fragments.push(displayName);\n if (!variables.language) {\n throw Error('language is required');\n }\n\n generatedVariables.language = variables.language;\n }\n\n if (options.getPrimaryNodeType) {\n fragments.push(primaryNodeType);\n if (variables.displayLanguage) {\n generatedVariables.displayLanguageSet = true;\n generatedVariables.displayLanguage = variables.displayLanguage;\n } else {\n generatedVariables.displayLanguageSet = false;\n generatedVariables.displayLanguage = '';\n }\n }\n\n if (options.getParent) {\n fragments.push(parentNode);\n }\n\n if (options.getAggregatedPublicationInfo) {\n const supportsExistsInLive = schemaResult && schemaResult.__type && schemaResult.__type.fields && schemaResult.__type.fields.find((field: any) => field.name === 'existsInLive') !== undefined;\n if (supportsExistsInLive) {\n fragments.push(aggregatedPublicationInfoWithExistInLive);\n } else {\n fragments.push(aggregatedPublicationInfo);\n }\n\n if (!variables.language) {\n throw Error('language is required');\n }\n\n generatedVariables.language = variables.language;\n generatedVariables.aggregatedPublicationInfoSubNodes = Boolean(options.getAggregatedPublicationInfo.subNodes);\n generatedVariables.aggregatedPublicationInfoIncludeReference = Boolean(options.getAggregatedPublicationInfo.reference);\n }\n\n if (options.getOperationSupport) {\n fragments.push(operationSupport);\n }\n\n if (options.getPermissions) {\n options.getPermissions.forEach(name => {\n const {fragment, variables: fragmentVariables} = getPermissionFragment(name);\n fragments.push(fragment);\n Object.assign(generatedVariables, fragmentVariables);\n });\n }\n\n if (options.getSitePermissions) {\n options.getSitePermissions.forEach(name => {\n const {fragment, variables: fragmentVariables} = getSitePermissionFragment(name);\n fragments.push(fragment);\n Object.assign(generatedVariables, fragmentVariables);\n });\n }\n\n if (options.getIsNodeTypes) {\n options.getIsNodeTypes.forEach(name => {\n const {fragment, variables: fragmentVariables} = getNodeTypeFragment(name);\n fragments.push(fragment);\n Object.assign(generatedVariables, fragmentVariables);\n });\n }\n\n if (options.getProperties) {\n fragments.push(getProperties);\n generatedVariables.getPropertiesNames = options.getProperties;\n\n if (!variables.language) {\n throw Error('language is required');\n }\n\n generatedVariables.language = variables.language;\n }\n\n if (options.getSiteInstalledModules) {\n fragments.push(installedModules);\n }\n\n if (options.getSiteLanguages) {\n fragments.push(siteLanguages);\n }\n\n if (options.getDisplayableNodePath) {\n fragments.push(displayableNode);\n }\n\n if (options.getLockInfo) {\n fragments.push(lockInfo);\n }\n\n if (options.getChildNodeTypes) {\n fragments.push(childNodeTypes);\n }\n\n if (options.getContributeTypesRestrictions) {\n fragments.push(contentRestrictions);\n }\n\n if (options.getSubNodesCount) {\n fragments.push(subNodesCount);\n generatedVariables.subNodesCountTypes = options.getSubNodesCount.types ? options.getSubNodesCount.types : ['nt:base'];\n }\n\n if (options.getMimeType) {\n fragments.push(mimeTypes);\n }\n }\n\n return {\n query: replaceFragmentsInDocument(baseQuery, fragments),\n generatedVariables,\n skip\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_graphqlTag","_interopRequireDefault","require","_fragments","_getPermissionFragment","_getIsNodeTypeFragment","_getSubNodesCountFragment","_templateObject","_templateObject2","_templateObject3","_templateObject4","getBaseQueryAndVariables","variables","paths","baseQuery","gql","_taggedTemplateLiteral2","nodeCacheRequiredFields","generatedVariables","skip","uuid","length","uuids","path","validOptions","exports","getQuery","schemaResult","options","arguments","undefined","fragments","_getBaseQueryAndVaria","getDisplayName","push","displayName","language","Error","getPrimaryNodeType","primaryNodeType","displayLanguage","displayLanguageSet","getParent","parentNode","getAggregatedPublicationInfo","supportsExistsInLive","__type","fields","find","field","name","aggregatedPublicationInfoWithExistInLive","aggregatedPublicationInfo","aggregatedPublicationInfoSubNodes","Boolean","subNodes","aggregatedPublicationInfoIncludeReference","reference","getOperationSupport","operationSupport","getPermissions","forEach","_getPermissionFragmen","getPermissionFragment","fragment","fragmentVariables","Object","assign","getSitePermissions","_getSitePermissionFra","getSitePermissionFragment","getIsNodeTypes","_getNodeTypeFragment","getNodeTypeFragment","getProperties","getPropertiesNames","getSiteInstalledModules","installedModules","getSiteLanguages","siteLanguages","getDisplayableNodePath","displayableNode","getLockInfo","lockInfo","getChildNodeTypes","childNodeTypes","getContributeTypesRestrictions","contentRestrictions","getSubNodesCount","_getSubNodesCountFrag","getSubNodesCountFragment","getMimeType","mimeTypes","query","replaceFragmentsInDocument"],"sources":["useNodeInfo.gql-queries.ts"],"sourcesContent":["import gql from 'graphql-tag';\nimport {\n aggregatedPublicationInfo,\n aggregatedPublicationInfoWithExistInLive,\n childNodeTypes,\n contentRestrictions,\n displayableNode,\n displayName,\n getProperties,\n installedModules,\n lockInfo,\n mimeTypes,\n nodeCacheRequiredFields,\n operationSupport,\n parentNode,\n primaryNodeType,\n replaceFragmentsInDocument,\n siteLanguages,\n subNodesCount\n} from '../../fragments';\nimport {getPermissionFragment, getSitePermissionFragment} from '../../fragments/getPermissionFragment';\nimport {getNodeTypeFragment} from '../../fragments/getIsNodeTypeFragment';\nimport {DocumentNode} from 'graphql';\nimport {getSubNodesCountFragment} from '~/fragments/getSubNodesCountFragment';\n\nconst getBaseQueryAndVariables = (variables: {[key:string]: any}): {\n baseQuery: DocumentNode,\n generatedVariables:{[key:string]: unknown},\n skip: boolean\n} => {\n if (variables.paths) {\n return {\n baseQuery: gql`\n query NodesByPathInfoQuery($paths:[String!]!) {\n jcr {\n nodesByPath(paths:$paths) {\n name\n ...node\n ...NodeCacheRequiredFields\n }\n }\n }\n ${nodeCacheRequiredFields.gql}\n `,\n generatedVariables: {\n paths: variables.paths\n },\n skip: false\n };\n }\n\n if (variables.uuid && variables.uuid.length > 0) {\n return {\n baseQuery: gql`\n query NodeByUuidInfoQuery($uuid:String!) {\n jcr {\n nodeById(uuid:$uuid) {\n name\n ...node\n ...NodeCacheRequiredFields\n }\n }\n }\n ${nodeCacheRequiredFields.gql}\n `,\n generatedVariables: {\n uuid: variables.uuid\n },\n skip: false\n };\n }\n\n if (variables.uuids) {\n return {\n baseQuery: gql`\n query NodesByUuidInfoQuery($uuids:[String!]!) {\n jcr {\n nodesById(uuids:$uuids) {\n name\n ...node\n ...NodeCacheRequiredFields\n }\n }\n }\n ${nodeCacheRequiredFields.gql}\n `,\n generatedVariables: {\n uuids: variables.uuids\n },\n skip: false\n };\n }\n\n return {\n baseQuery: gql`\n query NodeByPathInfoQuery($path:String!) {\n jcr {\n nodeByPath(path:$path) {\n name\n ...node\n ...NodeCacheRequiredFields\n }\n }\n }\n ${nodeCacheRequiredFields.gql}\n `,\n generatedVariables: {\n path: variables.path\n },\n skip: !variables.path || variables.path.length === 0\n };\n};\n\nexport type NodeInfoOptions = Partial<{\n getDisplayName: boolean,\n getPrimaryNodeType: boolean,\n getParent: boolean,\n getAggregatedPublicationInfo: {\n subNodes: boolean, reference: boolean\n },\n getOperationSupport: boolean,\n getPermissions: string[],\n getSitePermissions: string[],\n getIsNodeTypes: string[],\n getProperties: string[],\n getSiteInstalledModules: boolean,\n getSiteLanguages: boolean,\n getDisplayableNodePath: boolean,\n getLockInfo: boolean,\n getChildNodeTypes: boolean,\n getContributeTypesRestrictions: boolean,\n getSubNodesCount: string[],\n getMimeType: boolean,\n}>;\n\nexport const validOptions = [\n 'getDisplayName',\n 'getPrimaryNodeType',\n 'getParent',\n 'getAggregatedPublicationInfo',\n 'getOperationSupport',\n 'getPermissions',\n 'getSitePermissions',\n 'getIsNodeTypes',\n 'getProperties',\n 'getSiteInstalledModules',\n 'getSiteLanguages',\n 'getDisplayableNodePath',\n 'getLockInfo',\n 'getChildNodeTypes',\n 'getContributeTypesRestrictions',\n 'getSubNodesCount',\n 'getMimeType'\n];\n\nexport const getQuery = (variables: {[key:string]: any}, schemaResult: any, options: NodeInfoOptions = {}) => {\n const fragments = [];\n\n const {baseQuery, generatedVariables, skip} = getBaseQueryAndVariables(variables);\n\n if (!skip) {\n if (options.getDisplayName) {\n fragments.push(displayName);\n if (!variables.language) {\n throw Error('language is required');\n }\n\n generatedVariables.language = variables.language;\n }\n\n if (options.getPrimaryNodeType) {\n fragments.push(primaryNodeType);\n if (variables.displayLanguage) {\n generatedVariables.displayLanguageSet = true;\n generatedVariables.displayLanguage = variables.displayLanguage;\n } else {\n generatedVariables.displayLanguageSet = false;\n generatedVariables.displayLanguage = '';\n }\n }\n\n if (options.getParent) {\n fragments.push(parentNode);\n }\n\n if (options.getAggregatedPublicationInfo) {\n const supportsExistsInLive = schemaResult && schemaResult.__type && schemaResult.__type.fields && schemaResult.__type.fields.find((field: any) => field.name === 'existsInLive') !== undefined;\n if (supportsExistsInLive) {\n fragments.push(aggregatedPublicationInfoWithExistInLive);\n } else {\n fragments.push(aggregatedPublicationInfo);\n }\n\n if (!variables.language) {\n throw Error('language is required');\n }\n\n generatedVariables.language = variables.language;\n generatedVariables.aggregatedPublicationInfoSubNodes = Boolean(options.getAggregatedPublicationInfo.subNodes);\n generatedVariables.aggregatedPublicationInfoIncludeReference = Boolean(options.getAggregatedPublicationInfo.reference);\n }\n\n if (options.getOperationSupport) {\n fragments.push(operationSupport);\n }\n\n if (options.getPermissions) {\n options.getPermissions.forEach(name => {\n const {fragment, variables: fragmentVariables} = getPermissionFragment(name);\n fragments.push(fragment);\n Object.assign(generatedVariables, fragmentVariables);\n });\n }\n\n if (options.getSitePermissions) {\n options.getSitePermissions.forEach(name => {\n const {fragment, variables: fragmentVariables} = getSitePermissionFragment(name);\n fragments.push(fragment);\n Object.assign(generatedVariables, fragmentVariables);\n });\n }\n\n if (options.getIsNodeTypes) {\n options.getIsNodeTypes.forEach(name => {\n const {fragment, variables: fragmentVariables} = getNodeTypeFragment(name);\n fragments.push(fragment);\n Object.assign(generatedVariables, fragmentVariables);\n });\n }\n\n if (options.getProperties) {\n fragments.push(getProperties);\n generatedVariables.getPropertiesNames = options.getProperties;\n\n if (!variables.language) {\n throw Error('language is required');\n }\n\n generatedVariables.language = variables.language;\n }\n\n if (options.getSiteInstalledModules) {\n fragments.push(installedModules);\n }\n\n if (options.getSiteLanguages) {\n fragments.push(siteLanguages);\n }\n\n if (options.getDisplayableNodePath) {\n fragments.push(displayableNode);\n }\n\n if (options.getLockInfo) {\n fragments.push(lockInfo);\n }\n\n if (options.getChildNodeTypes) {\n fragments.push(childNodeTypes);\n }\n\n if (options.getContributeTypesRestrictions) {\n fragments.push(contentRestrictions);\n }\n\n if (options.getSubNodesCount) {\n options.getSubNodesCount.forEach(name => {\n const {fragment, variables: fragmentVariables} = getSubNodesCountFragment(name);\n fragments.push(fragment);\n Object.assign(generatedVariables, fragmentVariables);\n });\n }\n\n if (options.getMimeType) {\n fragments.push(mimeTypes);\n }\n }\n\n return {\n query: replaceFragmentsInDocument(baseQuery, fragments),\n generatedVariables,\n skip\n };\n};\n"],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ var _useSchemaFields = require("../useSchemaFields/useSchemaFields.gql-queries")
|
|
|
17
17
|
var _useNodeInfo2 = require("./useNodeInfo.utils");
|
|
18
18
|
var _useMemoRequest3 = require("./useMemoRequest");
|
|
19
19
|
var _fastDeepEqual = _interopRequireDefault(require("fast-deep-equal"));
|
|
20
|
+
var _getSubNodesCountFragment = require("../../fragments/getSubNodesCountFragment");
|
|
20
21
|
var _excluded = ["data"];
|
|
21
22
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
22
23
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -135,19 +136,19 @@ var useNodeInfo = function useNodeInfo(variables, options, queryOptions) {
|
|
|
135
136
|
queue.splice(queue.indexOf(currentRequest), 1);
|
|
136
137
|
};
|
|
137
138
|
}, [client, currentRequest]);
|
|
138
|
-
if (queryHasChanged &&
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
return _result;
|
|
149
|
-
}
|
|
139
|
+
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 = (0, _useNodeInfo.getQuery)(currentRequest.variables, schemaResult, currentRequest.options);
|
|
141
|
+
var res = client.readQuery({
|
|
142
|
+
query: infoQuery.query,
|
|
143
|
+
variables: infoQuery.generatedVariables
|
|
144
|
+
});
|
|
145
|
+
if (res) {
|
|
146
|
+
var _result = getResult(res, {}, currentRequest.options, infoQuery.query, infoQuery.generatedVariables);
|
|
147
|
+
setResult(_result);
|
|
148
|
+
return _result;
|
|
150
149
|
}
|
|
150
|
+
}
|
|
151
|
+
if (queryHasChanged && !result.loading) {
|
|
151
152
|
setResult({
|
|
152
153
|
loading: true
|
|
153
154
|
});
|
|
@@ -214,6 +215,14 @@ var decodeResult = function decodeResult(nodeOrig, options) {
|
|
|
214
215
|
node.mimeType = nodes.length !== 0 && nodes[0].mimeType.value || null;
|
|
215
216
|
delete node.resourceChildren;
|
|
216
217
|
}
|
|
218
|
+
if (options.getSubNodesCount) {
|
|
219
|
+
options.getSubNodesCount.forEach(function (name) {
|
|
220
|
+
var _res$pageInfo;
|
|
221
|
+
var res = node[(0, _getSubNodesCountFragment.getEncodedSubNodesCountName)(name)];
|
|
222
|
+
delete node[(0, _getSubNodesCountFragment.getEncodedSubNodesCountName)(name)];
|
|
223
|
+
node['subNodesCount_' + name] = res === null || res === void 0 ? void 0 : (_res$pageInfo = res.pageInfo) === null || _res$pageInfo === void 0 ? void 0 : _res$pageInfo.totalCount;
|
|
224
|
+
});
|
|
225
|
+
}
|
|
217
226
|
}
|
|
218
227
|
return node;
|
|
219
228
|
};
|
|
@@ -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","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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"}
|
|
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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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Fragment } from '~/fragments/PredefinedFragments';
|
|
2
|
+
export declare const getSubNodesCountFragment: (name: string) => {
|
|
3
|
+
fragment: Fragment;
|
|
4
|
+
variables: {
|
|
5
|
+
[x: string]: string[];
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
export declare const getEncodedSubNodesCountName: (name: string) => string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NodeInfoResult } from '../useNodeInfo';
|
|
2
|
-
import { NodeInfoOptions } from '
|
|
2
|
+
import { NodeInfoOptions } from '../useNodeInfo/useNodeInfo.gql-queries';
|
|
3
3
|
import { WatchQueryOptions } from '@apollo/client';
|
|
4
4
|
export type NodeCheckOptions = NodeInfoOptions & Partial<{
|
|
5
5
|
requiredPermission: string | string[];
|
|
@@ -15,4 +15,4 @@ export type NodeCheckResult = NodeInfoResult & Partial<{
|
|
|
15
15
|
}>;
|
|
16
16
|
export declare const useNodeChecks: (variables: {
|
|
17
17
|
[key: string]: any;
|
|
18
|
-
}, options
|
|
18
|
+
}, options?: NodeCheckOptions, queryOptions?: WatchQueryOptions) => NodeCheckResult;
|
|
@@ -18,9 +18,7 @@ export type NodeInfoOptions = Partial<{
|
|
|
18
18
|
getLockInfo: boolean;
|
|
19
19
|
getChildNodeTypes: boolean;
|
|
20
20
|
getContributeTypesRestrictions: boolean;
|
|
21
|
-
getSubNodesCount:
|
|
22
|
-
types?: string[];
|
|
23
|
-
};
|
|
21
|
+
getSubNodesCount: string[];
|
|
24
22
|
getMimeType: boolean;
|
|
25
23
|
}>;
|
|
26
24
|
export declare const validOptions: string[];
|