@jahia/data-helper 1.1.2 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ # (Thu May 25 2023)
2
+
3
+ #### 🐛 Bug Fix
4
+
5
+ - TECH-233: Removed unused dependency [#246](https://github.com/Jahia/javascript-components/pull/246) ([@tdraier](https://github.com/tdraier))
6
+
7
+ #### Authors: 1
8
+
9
+ - Thomas Draier ([@tdraier](https://github.com/tdraier))
10
+
11
+ ---
12
+
1
13
  # (Wed May 24 2023)
2
14
 
3
15
  #### 🐛 Bug Fix
@@ -19,7 +19,7 @@ var timeout;
19
19
  var observedQueries = [];
20
20
  function scheduleQueue(client) {
21
21
  if (!timeout && schemaResult) {
22
- timeout = setTimeout(function () {
22
+ timeout = window.setTimeout(function () {
23
23
  timeoutHandler(client);
24
24
  clearTimeout(timeout);
25
25
  timeout = null;
@@ -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","setTimeout","timeoutHandler","clearTimeout","mergedQueue","forEach","request","toInsert","variables","queryOptions","options","originals","mergeable","find","q","JSON","stringify","push","_objectSpread","obs","unsubscribe","mergedRequest","_getQuery","query","generatedVariables","skip","setResult","loading","watchedQuery","watchQuery","errorPolicy","subscribe","_ref","data","others","_objectWithoutProperties","_excluded","result","getResult","refetch","refetchQueries","include","useNodeInfo","_useState","_useState2","_slicedToArray","type","then","_ref2","_useMemoRequest","_useMemoRequest2","currentRequest","queryHasChanged","splice","indexOf","fetchPolicy","infoQuery","res","readQuery","node","jcr","nodeByPath","nodeById","nodes","nodesByPath","nodesById","decodeResult","map","n","nodeOrig","site","getPermissions","name","getSitePermissions","getIsNodeTypes","getMimeType","resourceChildren","mimeType","length","value"],"sources":["useNodeInfo.ts"],"sourcesContent":["import {useEffect, useState} from 'react';\nimport {ApolloClient, ApolloError, NetworkStatus, useApolloClient, WatchQueryOptions} from '@apollo/client';\nimport {getQuery, NodeInfoOptions} from './useNodeInfo.gql-queries';\nimport {getEncodedPermissionName} from '../../fragments/getPermissionFragment';\nimport {getEncodedNodeTypeName} from '../../fragments/getIsNodeTypeFragment';\nimport {SCHEMA_FIELDS_QUERY} from '../useSchemaFields/useSchemaFields.gql-queries';\nimport {isSubset, merge} from './useNodeInfo.utils';\nimport {useMemoRequest} from './useMemoRequest';\nimport deepEquals from 'fast-deep-equal';\nimport {DocumentNode, GraphQLError} from 'graphql';\n\nexport type Request = {\n variables:{[key:string]: any},\n options: NodeInfoOptions,\n queryOptions: Partial<WatchQueryOptions>,\n}\n\nexport type QueuedRequest = Request & {\n result?: any,\n setResult: (data: any) => void\n}\n\nexport type MergedRequest = Request & { originals: QueuedRequest[] };\n\nexport type NodeInfoResult = {\n node?: any,\n nodes?: any[],\n errors?: readonly GraphQLError[],\n error?: ApolloError,\n loading?: boolean,\n networkStatus?: NetworkStatus,\n partial?: boolean,\n query?: DocumentNode,\n variables?: {[key:string]: any}\n}\n\nconst queue: QueuedRequest[] = [];\nlet schemaResult: any;\nlet timeout: number;\nlet observedQueries: { unsubscribe: () => void }[] = [];\n\nfunction scheduleQueue(client: ApolloClient<object>) {\n if (!timeout && schemaResult) {\n timeout = setTimeout(() => {\n timeoutHandler(client);\n clearTimeout(timeout);\n timeout = null;\n }, 0);\n }\n}\n\nconst timeoutHandler = (client: ApolloClient<object>) => {\n const mergedQueue: MergedRequest[] = [];\n\n queue.forEach(request => {\n const toInsert = {\n variables: request.variables,\n queryOptions: request.queryOptions,\n options: request.options,\n originals: [request]\n };\n\n const mergeable = mergedQueue.find(q => JSON.stringify(q.queryOptions) === JSON.stringify(toInsert.queryOptions) && (isSubset(q.variables, toInsert.variables) || isSubset(toInsert.variables, q.variables)));\n\n if (mergeable) {\n merge(mergeable, toInsert);\n } else {\n mergedQueue.push({\n variables: toInsert.variables && {...toInsert.variables},\n queryOptions: toInsert.queryOptions && {...toInsert.queryOptions},\n options: toInsert.options && {...toInsert.options},\n originals: toInsert.originals\n });\n }\n });\n\n observedQueries.forEach(obs => obs.unsubscribe());\n observedQueries = [];\n\n mergedQueue.forEach(mergedRequest => {\n const {variables, queryOptions, options, originals} = mergedRequest;\n const {query, generatedVariables, skip} = getQuery(variables, schemaResult, options);\n if (skip) {\n // No query to execute\n originals.forEach(request => {\n request.setResult({\n loading: false\n });\n });\n } else {\n const watchedQuery = client.watchQuery({query, errorPolicy: 'ignore', ...queryOptions, variables: generatedVariables}).subscribe(({data, ...others}) => {\n const result = getResult(data, others, options, query, generatedVariables);\n\n originals.forEach(request => {\n if (!deepEquals(request.result, result)) {\n request.result = result;\n request.setResult({\n ...result,\n refetch() {\n client.refetchQueries({include: [query]});\n }\n });\n }\n });\n });\n observedQueries.push(watchedQuery);\n }\n });\n};\n\nexport const useNodeInfo = (variables: {[key:string]: unknown}, options?: NodeInfoOptions, queryOptions?: Partial<WatchQueryOptions>) => {\n const [result, setResult] = useState<NodeInfoResult>({\n loading: true\n });\n\n const client = useApolloClient();\n\n if (!schemaResult) {\n client.query({query: SCHEMA_FIELDS_QUERY, variables: {type: 'GqlPublicationInfo'}}).then(({data}: {data: any}) => {\n schemaResult = data;\n scheduleQueue(client);\n });\n }\n\n // Normalize and memoize request\n const [currentRequest, queryHasChanged] = useMemoRequest(variables, queryOptions, options, setResult);\n useEffect(() => {\n queue.push(currentRequest);\n scheduleQueue(client);\n\n return () => {\n queue.splice(queue.indexOf(currentRequest), 1);\n };\n }, [client, currentRequest]);\n\n if (queryHasChanged && !result.loading) {\n if (queryOptions?.fetchPolicy !== 'no-cache' && queryOptions?.fetchPolicy !== 'network-only') {\n const infoQuery = getQuery(currentRequest.variables, schemaResult, currentRequest.options);\n const res = client.readQuery({query: infoQuery.query, variables: infoQuery.generatedVariables});\n if (res) {\n const result = getResult(res, {}, currentRequest.options, infoQuery.query, infoQuery.generatedVariables);\n setResult(result);\n return result;\n }\n }\n\n setResult({\n loading: true\n });\n return {loading: true};\n }\n\n return result;\n};\n\nconst getResult = (data: any, others: NodeInfoResult, options: NodeInfoOptions, query: DocumentNode, generatedVariables: {[key:string]: unknown}) => {\n const node: object = (data && data.jcr && (data.jcr.nodeByPath || data.jcr.nodeById)) || null;\n const nodes: object[] = (data && data.jcr && (data.jcr.nodesByPath || data.jcr.nodesById)) || null;\n let result = others;\n\n if (node) {\n result = {\n node: decodeResult(node, options),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n if (nodes) {\n result = {\n nodes: nodes.map(n => decodeResult(n, options)),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n return result;\n};\n\nconst decodeResult = (nodeOrig: any, options: NodeInfoOptions) => {\n const node = {...nodeOrig};\n if (node.site) {\n node.site = {...node.site};\n }\n\n if (node && options) {\n if (options.getPermissions) {\n options.getPermissions.forEach(name => {\n const res = node[getEncodedPermissionName(name)];\n delete node[getEncodedPermissionName(name)];\n node[name] = res;\n });\n }\n\n if (options.getSitePermissions) {\n options.getSitePermissions.forEach(name => {\n const res = node.site[getEncodedPermissionName(name)];\n delete node.site[getEncodedPermissionName(name)];\n node.site[name] = res;\n });\n }\n\n if (options.getIsNodeTypes) {\n options.getIsNodeTypes.forEach(name => {\n const res = node[getEncodedNodeTypeName(name)];\n delete node[getEncodedNodeTypeName(name)];\n node[name] = res;\n });\n }\n\n if (options.getMimeType) {\n const {nodes} = node.resourceChildren;\n node.mimeType = (nodes.length !== 0 && nodes[0].mimeType.value) || null;\n delete node.resourceChildren;\n }\n }\n\n return node;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["useEffect","useState","useApolloClient","getQuery","getEncodedPermissionName","getEncodedNodeTypeName","SCHEMA_FIELDS_QUERY","isSubset","merge","useMemoRequest","deepEquals","queue","schemaResult","timeout","observedQueries","scheduleQueue","client","window","setTimeout","timeoutHandler","clearTimeout","mergedQueue","forEach","request","toInsert","variables","queryOptions","options","originals","mergeable","find","q","JSON","stringify","push","_objectSpread","obs","unsubscribe","mergedRequest","_getQuery","query","generatedVariables","skip","setResult","loading","watchedQuery","watchQuery","errorPolicy","subscribe","_ref","data","others","_objectWithoutProperties","_excluded","result","getResult","refetch","refetchQueries","include","useNodeInfo","_useState","_useState2","_slicedToArray","type","then","_ref2","_useMemoRequest","_useMemoRequest2","currentRequest","queryHasChanged","splice","indexOf","fetchPolicy","infoQuery","res","readQuery","node","jcr","nodeByPath","nodeById","nodes","nodesByPath","nodesById","decodeResult","map","n","nodeOrig","site","getPermissions","name","getSitePermissions","getIsNodeTypes","getMimeType","resourceChildren","mimeType","length","value"],"sources":["useNodeInfo.ts"],"sourcesContent":["import {useEffect, useState} from 'react';\nimport {ApolloClient, ApolloError, NetworkStatus, useApolloClient, WatchQueryOptions} from '@apollo/client';\nimport {getQuery, NodeInfoOptions} from './useNodeInfo.gql-queries';\nimport {getEncodedPermissionName} from '../../fragments/getPermissionFragment';\nimport {getEncodedNodeTypeName} from '../../fragments/getIsNodeTypeFragment';\nimport {SCHEMA_FIELDS_QUERY} from '../useSchemaFields/useSchemaFields.gql-queries';\nimport {isSubset, merge} from './useNodeInfo.utils';\nimport {useMemoRequest} from './useMemoRequest';\nimport deepEquals from 'fast-deep-equal';\nimport {DocumentNode, GraphQLError} from 'graphql';\n\nexport type Request = {\n variables:{[key:string]: any},\n options: NodeInfoOptions,\n queryOptions: Partial<WatchQueryOptions>,\n}\n\nexport type QueuedRequest = Request & {\n result?: any,\n setResult: (data: any) => void\n}\n\nexport type MergedRequest = Request & { originals: QueuedRequest[] };\n\nexport type NodeInfoResult = {\n node?: any,\n nodes?: any[],\n errors?: readonly GraphQLError[],\n error?: ApolloError,\n loading?: boolean,\n networkStatus?: NetworkStatus,\n partial?: boolean,\n query?: DocumentNode,\n variables?: {[key:string]: any}\n}\n\nconst queue: QueuedRequest[] = [];\nlet schemaResult: any;\nlet timeout: number;\nlet observedQueries: { unsubscribe: () => void }[] = [];\n\nfunction scheduleQueue(client: ApolloClient<object>) {\n if (!timeout && schemaResult) {\n timeout = window.setTimeout(() => {\n timeoutHandler(client);\n clearTimeout(timeout);\n timeout = null;\n }, 0);\n }\n}\n\nconst timeoutHandler = (client: ApolloClient<object>) => {\n const mergedQueue: MergedRequest[] = [];\n\n queue.forEach(request => {\n const toInsert = {\n variables: request.variables,\n queryOptions: request.queryOptions,\n options: request.options,\n originals: [request]\n };\n\n const mergeable = mergedQueue.find(q => JSON.stringify(q.queryOptions) === JSON.stringify(toInsert.queryOptions) && (isSubset(q.variables, toInsert.variables) || isSubset(toInsert.variables, q.variables)));\n\n if (mergeable) {\n merge(mergeable, toInsert);\n } else {\n mergedQueue.push({\n variables: toInsert.variables && {...toInsert.variables},\n queryOptions: toInsert.queryOptions && {...toInsert.queryOptions},\n options: toInsert.options && {...toInsert.options},\n originals: toInsert.originals\n });\n }\n });\n\n observedQueries.forEach(obs => obs.unsubscribe());\n observedQueries = [];\n\n mergedQueue.forEach(mergedRequest => {\n const {variables, queryOptions, options, originals} = mergedRequest;\n const {query, generatedVariables, skip} = getQuery(variables, schemaResult, options);\n if (skip) {\n // No query to execute\n originals.forEach(request => {\n request.setResult({\n loading: false\n });\n });\n } else {\n const watchedQuery = client.watchQuery({query, errorPolicy: 'ignore', ...queryOptions, variables: generatedVariables}).subscribe(({data, ...others}) => {\n const result = getResult(data, others, options, query, generatedVariables);\n\n originals.forEach(request => {\n if (!deepEquals(request.result, result)) {\n request.result = result;\n request.setResult({\n ...result,\n refetch() {\n client.refetchQueries({include: [query]});\n }\n });\n }\n });\n });\n observedQueries.push(watchedQuery);\n }\n });\n};\n\nexport const useNodeInfo = (variables: {[key:string]: unknown}, options?: NodeInfoOptions, queryOptions?: Partial<WatchQueryOptions>) => {\n const [result, setResult] = useState<NodeInfoResult>({\n loading: true\n });\n\n const client = useApolloClient();\n\n if (!schemaResult) {\n client.query({query: SCHEMA_FIELDS_QUERY, variables: {type: 'GqlPublicationInfo'}}).then(({data}: {data: any}) => {\n schemaResult = data;\n scheduleQueue(client);\n });\n }\n\n // Normalize and memoize request\n const [currentRequest, queryHasChanged] = useMemoRequest(variables, queryOptions, options, setResult);\n useEffect(() => {\n queue.push(currentRequest);\n scheduleQueue(client);\n\n return () => {\n queue.splice(queue.indexOf(currentRequest), 1);\n };\n }, [client, currentRequest]);\n\n if (queryHasChanged && !result.loading) {\n if (queryOptions?.fetchPolicy !== 'no-cache' && queryOptions?.fetchPolicy !== 'network-only') {\n const infoQuery = getQuery(currentRequest.variables, schemaResult, currentRequest.options);\n const res = client.readQuery({query: infoQuery.query, variables: infoQuery.generatedVariables});\n if (res) {\n const result = getResult(res, {}, currentRequest.options, infoQuery.query, infoQuery.generatedVariables);\n setResult(result);\n return result;\n }\n }\n\n setResult({\n loading: true\n });\n return {loading: true};\n }\n\n return result;\n};\n\nconst getResult = (data: any, others: NodeInfoResult, options: NodeInfoOptions, query: DocumentNode, generatedVariables: {[key:string]: unknown}) => {\n const node: object = (data && data.jcr && (data.jcr.nodeByPath || data.jcr.nodeById)) || null;\n const nodes: object[] = (data && data.jcr && (data.jcr.nodesByPath || data.jcr.nodesById)) || null;\n let result = others;\n\n if (node) {\n result = {\n node: decodeResult(node, options),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n if (nodes) {\n result = {\n nodes: nodes.map(n => decodeResult(n, options)),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n return result;\n};\n\nconst decodeResult = (nodeOrig: any, options: NodeInfoOptions) => {\n const node = {...nodeOrig};\n if (node.site) {\n node.site = {...node.site};\n }\n\n if (node && options) {\n if (options.getPermissions) {\n options.getPermissions.forEach(name => {\n const res = node[getEncodedPermissionName(name)];\n delete node[getEncodedPermissionName(name)];\n node[name] = res;\n });\n }\n\n if (options.getSitePermissions) {\n options.getSitePermissions.forEach(name => {\n const res = node.site[getEncodedPermissionName(name)];\n delete node.site[getEncodedPermissionName(name)];\n node.site[name] = res;\n });\n }\n\n if (options.getIsNodeTypes) {\n options.getIsNodeTypes.forEach(name => {\n const res = node[getEncodedNodeTypeName(name)];\n delete node[getEncodedNodeTypeName(name)];\n node[name] = res;\n });\n }\n\n if (options.getMimeType) {\n const {nodes} = node.resourceChildren;\n node.mimeType = (nodes.length !== 0 && nodes[0].mimeType.value) || null;\n delete node.resourceChildren;\n }\n }\n\n return node;\n};\n"],"mappings":"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"}
@@ -14,6 +14,8 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
14
14
  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) { _defineProperty(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; }
15
15
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
16
16
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
17
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
18
+ // @ts-nocheck
17
19
  import React from 'react';
18
20
  import { Query } from '@apollo/react-components';
19
21
  import gql from 'graphql-tag';
@@ -1 +1 @@
1
- {"version":3,"names":["React","Query","gql","displayName","nodeCacheRequiredFields","replaceFragmentsInDocument","PickerItemsFragment","rfdc","deepEquals","clone","Picker","_React$Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","fragments","rootPaths","onOpenItem","onSelectItem","openPaths","selectedPaths","defaultSelectedPaths","onSelectionChange","defaultOpenPaths","resolvedFragments","mixinTypes","primaryNodeType","isPublished","query","_templateObject","_taggedTemplateLiteral","state","eventsHandlers","isOpenControlled","path","open","setState","prevState","concat","_toConsumableArray","filter","thispath","addPathToOpenPath","isSelectControlled","selected","multiple","newSelectedPaths","bind","_assertThisInitialized","_createClass","key","value","getVariables","_this$props","openableTypes","selectableTypes","queryVariables","vars","types","Set","selectable","openable","Object","assign","getPickerEntries","data","_this2","pickerEntries","nodesById","jcr","addNode","node","depth","index","indexOf","pickerNode","name","prefix","repeat","hidden","hasChildren","children","pageInfo","nodesCount","splice","uuid","rootNodes","forEach","rootNode","root","hideRoot","openNodes","sort","a","b","parent","parentIndex","nodes","slice","reverse","child","selectedNodes","map","s","pathsToOpen","rootFound","endsWith","_path$split","split","_path$split2","_toArray","tail","reduce","acc","it","rootPath","startsWith","includes","push","paths","_this3","Array","render","_this4","setRefetch","createElement","variables","fetchPolicy","result","error","loading","refetch","queryParams","renderProp","onLoading","previousEntries","_objectSpread","getDerivedStateFromProps","nextProps","console","warn","newState","Component","_defineProperty","_pt","array","arrayOf","string","func","isRequired","objectOf","any","bool"],"sources":["Picker.tsx"],"sourcesContent":["import React from 'react';\nimport {Query} from '@apollo/react-components';\nimport gql from 'graphql-tag';\nimport {displayName, Fragment, nodeCacheRequiredFields, replaceFragmentsInDocument} from '../fragments';\nimport {PickerItemsFragment} from './Picker.gql-fragments';\nimport {DocumentNode} from 'graphql';\nimport {QueryResult} from '@apollo/client';\nimport rfdc from 'rfdc';\nimport deepEquals from 'fast-deep-equal';\n\nconst clone = rfdc();\n\ntype PropType = {\n /**\n * Optional set of fragments to add to the graphQL query. Can be a string that identify a predefinedFragment or a fragment definition\n */\n fragments?: (string| Fragment)[],\n\n /**\n * List of root paths for the picker\n */\n rootPaths?: string[],\n\n onOpenItem?: (path:string, open:boolean) => void\n\n onSelectItem?: (path:string, selected: boolean, multiple:boolean) => void,\n\n /**\n * List of open folders in controlled mode\n */\n openPaths?: string[],\n\n /**\n * List of selected path in controlled mode\n */\n selectedPaths?: string[],\n\n /**\n * Preselected items path (uncontrolled mode)\n */\n defaultSelectedPaths?: string[],\n\n /**\n * Callback when the selection has changed\n */\n onSelectionChange?: (paths:string[]) => void,\n\n /**\n * List of folder paths that are open by default (uncontrolled mode)\n */\n defaultOpenPaths?: string[],\n\n /**\n * List of node types that can be \"opened\" (folders)\n */\n openableTypes?: string[],\n\n /**\n * List of node types that can be \"selected\" (items)\n */\n selectableTypes?: string[],\n\n onLoading: (l: boolean) => void,\n\n /**\n * Optional set of variable to pass to the graphQL query, in order to fulfill fragments needs\n */\n queryVariables?: {[key:string]: any},\n\n hideRoot?: boolean,\n\n /**\n * Optional function which receives refetch function of the Query component when the component is strapped\n */\n setRefetch: (p: any) => void,\n\n children: (p: any) => React.ReactElement\n};\n\ntype StateType = {\n isOpenControlled?: boolean,\n isSelectControlled?: boolean,\n openPaths?: string[],\n selectedPaths?: string[]\n};\n\nexport class Picker extends React.Component<PropType, StateType> {\n query: DocumentNode;\n eventsHandlers: {onOpenItem?: (path:string, open:boolean) => void, onSelectItem?: (path:string, selected: boolean, multiple:boolean) => void};\n previousEntries: any;\n\n constructor(props: PropType) {\n super(props);\n\n const {\n fragments,\n rootPaths,\n onOpenItem,\n onSelectItem,\n openPaths,\n selectedPaths,\n defaultSelectedPaths,\n onSelectionChange,\n defaultOpenPaths\n } = props;\n\n const resolvedFragments = fragments || [PickerItemsFragment.mixinTypes, PickerItemsFragment.primaryNodeType, PickerItemsFragment.isPublished, displayName];\n\n this.query = gql`\n query PickerQuery($rootPaths:[String!]!, $selectable:[String]!, $openable:[String]!, $openPaths:[String!]!, $types:[String]!) {\n jcr {\n rootNodes:nodesByPath(paths: $rootPaths) {\n name\n children(typesFilter:{types:$types}, limit:1) {\n pageInfo {\n nodesCount\n }\n }\n selectable : isNodeType(type: {types:$selectable})\n openable : isNodeType(type: {types:$openable})\n ... NodeCacheRequiredFields\n ... node\n },\n openNodes:nodesByPath(paths: $openPaths) {\n ... NodeCacheRequiredFields\n children(typesFilter:{types:$types}) {\n nodes {\n name\n children(typesFilter:{types:$types}, limit:1) {\n pageInfo {\n nodesCount\n }\n }\n selectable : isNodeType(type: {types:$selectable})\n openable : isNodeType(type: {types:$openable})\n ... NodeCacheRequiredFields\n ... node\n }\n }\n }\n }\n }\n ${nodeCacheRequiredFields.gql}`;\n this.query = replaceFragmentsInDocument(this.query, resolvedFragments);\n\n const state: StateType = {};\n\n this.eventsHandlers = {};\n\n if (openPaths === null) {\n // Uncontrolled mode\n state.isOpenControlled = false;\n state.openPaths = [];\n this.eventsHandlers.onOpenItem = (path, open) => {\n this.setState(prevState => ({\n openPaths: open ?\n [...prevState.openPaths, path] :\n prevState.openPaths.filter(thispath => thispath !== path)\n }));\n };\n\n if (defaultOpenPaths) {\n state.openPaths = this.addPathToOpenPath(defaultOpenPaths, rootPaths, state.openPaths);\n }\n } else {\n state.isOpenControlled = true;\n if (onOpenItem) {\n this.eventsHandlers.onOpenItem = onOpenItem;\n }\n }\n\n if (selectedPaths === null) {\n // Uncontrolled mode\n state.isSelectControlled = false;\n state.selectedPaths = defaultSelectedPaths ? clone(defaultSelectedPaths) : [];\n // Open selected path if open is uncontrolled\n if (defaultSelectedPaths && !state.isOpenControlled) {\n state.openPaths = this.addPathToOpenPath(defaultSelectedPaths, rootPaths, state.openPaths);\n }\n\n this.eventsHandlers.onSelectItem = (path, selected, multiple) => {\n this.setState(prevState => {\n const newSelectedPaths = selected ?\n [...(multiple ? prevState.selectedPaths : []), path] :\n prevState.selectedPaths.filter(thispath => thispath !== path);\n onSelectionChange(newSelectedPaths);\n return {\n selectedPaths: newSelectedPaths\n };\n });\n };\n } else if (onSelectItem) {\n state.isSelectControlled = true;\n if (onSelectItem) {\n this.eventsHandlers.onSelectItem = onSelectItem;\n }\n }\n\n this.state = state;\n\n // Binding\n this.openPaths = this.openPaths.bind(this);\n }\n\n static getDerivedStateFromProps(nextProps: PropType, prevState: StateType) {\n if ((prevState.isOpenControlled !== (nextProps.openPaths !== null)) || (prevState.isSelectControlled !== (nextProps.selectedPaths !== null))) {\n console.warn('Cannot change between controlled/uncontrolled modes');\n }\n\n const newState: StateType = {};\n\n if (prevState.isOpenControlled && !deepEquals(nextProps.openPaths, prevState.openPaths)) {\n newState.openPaths = nextProps.openPaths;\n }\n\n if (prevState.isSelectControlled && !deepEquals(nextProps.selectedPaths, prevState.selectedPaths)) {\n newState.selectedPaths = nextProps.selectedPaths;\n }\n\n if (newState.openPaths || newState.selectedPaths) {\n return newState;\n }\n\n return null;\n }\n\n getVariables(selectedPaths: string[], openPaths: string[]) {\n const {rootPaths, openableTypes, selectableTypes, queryVariables} = this.props;\n\n const vars = {\n rootPaths,\n types: [...new Set([...openableTypes, ...selectableTypes])],\n selectable: selectableTypes,\n openable: openableTypes,\n openPaths\n };\n\n if (queryVariables) {\n Object.assign(vars, queryVariables);\n }\n\n return vars;\n }\n\n getPickerEntries(data: any, selectedPaths: string[], openPaths: string[]) {\n let pickerEntries: any[] = [];\n const nodesById:any = {};\n const {jcr} = data;\n\n const addNode = function (node:any, depth:number, index:number) {\n let selected = false;\n if (node.selectable) {\n selected = selectedPaths.indexOf(node.path) !== -1;\n }\n\n const pickerNode = {\n name: node.name,\n path: node.path,\n open: node.openable && openPaths.indexOf(node.path) !== -1,\n selected,\n openable: node.openable,\n selectable: node.selectable,\n depth,\n prefix: '&nbsp;'.repeat(depth * 3),\n node,\n hidden: false,\n hasChildren: node.children.pageInfo.nodesCount > 0\n };\n pickerEntries.splice(index, 0, pickerNode);\n nodesById[node.uuid] = pickerNode;\n return pickerNode;\n };\n\n if (jcr) {\n if (jcr.rootNodes) {\n jcr.rootNodes.forEach((rootNode: any) => {\n const root = addNode(rootNode, 0, 0);\n root.hidden = this.props.hideRoot || false;\n });\n }\n\n if (jcr.openNodes) {\n jcr.openNodes.concat()\n .sort((a: any, b: any) => (a.path > b.path) ? 1 : ((b.path > a.path) ? -1 : 0))\n .forEach((node: any) => {\n const parent = nodesById[node.uuid];\n if (parent) {\n const parentIndex = pickerEntries.indexOf(parent);\n node.children.nodes.slice().reverse().forEach((child: any) => {\n addNode(child, parent.depth + 1, parentIndex + 1);\n });\n }\n });\n }\n }\n\n // Nodes loaded, fill selection list\n const selectedNodes = pickerEntries.filter(node => node.selected).map(node => node.node);\n\n selectedPaths = selectedNodes.map(s => s.path);\n pickerEntries = pickerEntries.filter(pickerNode => !pickerNode.hidden);\n\n return pickerEntries;\n }\n\n addPathToOpenPath(pathsToOpen: string[], rootPaths:string[], openPaths: string[]) {\n pathsToOpen.forEach(path => {\n let rootFound: false | string = false;\n if (!path.endsWith('/')) {\n path += '/';\n }\n\n const [...tail] = path.split('/');\n tail.reduce((acc, it) => {\n if (!rootFound) {\n rootPaths.forEach(rootPath => {\n rootFound = rootFound || (acc.startsWith(rootPath) && rootPath);\n });\n }\n\n if (rootFound && !openPaths.includes(acc)) {\n openPaths.push(acc);\n if (!openPaths.includes(rootFound)) {\n openPaths.push(rootFound);\n }\n }\n\n return acc + '/' + it;\n }, '');\n });\n return openPaths;\n }\n\n openPaths(paths: string[]) {\n if (!(paths instanceof Array)) {\n paths = [paths];\n }\n\n this.setState(prevState => {\n const openPaths = this.addPathToOpenPath(paths, this.props.rootPaths, prevState.openPaths);\n return {openPaths};\n });\n }\n\n render() {\n const selectedPaths = this.state.selectedPaths ? this.state.selectedPaths : this.props.selectedPaths;\n let openPaths = this.state.openPaths ? this.state.openPaths : this.props.openPaths;\n const {setRefetch} = this.props;\n\n openPaths = clone(openPaths);\n\n const vars = this.getVariables(selectedPaths, openPaths);\n\n return (\n <Query query={this.query} variables={vars} fetchPolicy=\"cache-first\">\n {(result: QueryResult): React.JSX.Element => {\n const {error, loading, data, refetch} = result;\n if (setRefetch) {\n setRefetch({\n query: this.query,\n queryParams: vars,\n refetch\n });\n }\n\n const renderProp = this.props.children;\n if (this.props.onLoading) {\n this.props.onLoading(loading);\n }\n\n if (loading) {\n if (this.previousEntries) {\n return renderProp({pickerEntries: this.previousEntries, loading, ...this.eventsHandlers});\n }\n\n return renderProp({pickerEntries: [], loading, ...this.eventsHandlers});\n }\n\n if (error) {\n return renderProp({pickerEntries: [], error, loading, ...this.eventsHandlers});\n }\n\n const pickerEntries = this.getPickerEntries(data, selectedPaths, openPaths);\n this.previousEntries = pickerEntries;\n\n return renderProp({pickerEntries, loading, ...this.eventsHandlers});\n }}\n </Query>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Query","gql","displayName","nodeCacheRequiredFields","replaceFragmentsInDocument","PickerItemsFragment","rfdc","deepEquals","clone","Picker","_React$Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","fragments","rootPaths","onOpenItem","onSelectItem","openPaths","selectedPaths","defaultSelectedPaths","onSelectionChange","defaultOpenPaths","resolvedFragments","mixinTypes","primaryNodeType","isPublished","query","_templateObject","_taggedTemplateLiteral","state","eventsHandlers","isOpenControlled","path","open","setState","prevState","concat","_toConsumableArray","filter","thispath","addPathToOpenPath","isSelectControlled","selected","multiple","newSelectedPaths","bind","_assertThisInitialized","_createClass","key","value","getVariables","_this$props","openableTypes","selectableTypes","queryVariables","vars","types","Set","selectable","openable","Object","assign","getPickerEntries","data","_this2","pickerEntries","nodesById","jcr","addNode","node","depth","index","indexOf","pickerNode","name","prefix","repeat","hidden","hasChildren","children","pageInfo","nodesCount","splice","uuid","rootNodes","forEach","rootNode","root","hideRoot","openNodes","sort","a","b","parent","parentIndex","nodes","slice","reverse","child","selectedNodes","map","s","pathsToOpen","rootFound","endsWith","_path$split","split","_path$split2","_toArray","tail","reduce","acc","it","rootPath","startsWith","includes","push","paths","_this3","Array","render","_this4","setRefetch","createElement","variables","fetchPolicy","result","error","loading","refetch","queryParams","renderProp","onLoading","previousEntries","_objectSpread","getDerivedStateFromProps","nextProps","console","warn","newState","Component","_defineProperty","_pt","array","arrayOf","string","func","isRequired","objectOf","any","bool"],"sources":["Picker.tsx"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-nocheck\nimport React from 'react';\nimport {Query} from '@apollo/react-components';\nimport gql from 'graphql-tag';\nimport {displayName, Fragment, nodeCacheRequiredFields, replaceFragmentsInDocument} from '../fragments';\nimport {PickerItemsFragment} from './Picker.gql-fragments';\nimport {DocumentNode} from 'graphql';\nimport {QueryResult} from '@apollo/client';\nimport rfdc from 'rfdc';\nimport deepEquals from 'fast-deep-equal';\n\nconst clone = rfdc();\n\ntype PropType = {\n /**\n * Optional set of fragments to add to the graphQL query. Can be a string that identify a predefinedFragment or a fragment definition\n */\n fragments?: (string| Fragment)[],\n\n /**\n * List of root paths for the picker\n */\n rootPaths?: string[],\n\n onOpenItem?: (path:string, open:boolean) => void\n\n onSelectItem?: (path:string, selected: boolean, multiple:boolean) => void,\n\n /**\n * List of open folders in controlled mode\n */\n openPaths?: string[],\n\n /**\n * List of selected path in controlled mode\n */\n selectedPaths?: string[],\n\n /**\n * Preselected items path (uncontrolled mode)\n */\n defaultSelectedPaths?: string[],\n\n /**\n * Callback when the selection has changed\n */\n onSelectionChange?: (paths:string[]) => void,\n\n /**\n * List of folder paths that are open by default (uncontrolled mode)\n */\n defaultOpenPaths?: string[],\n\n /**\n * List of node types that can be \"opened\" (folders)\n */\n openableTypes?: string[],\n\n /**\n * List of node types that can be \"selected\" (items)\n */\n selectableTypes?: string[],\n\n onLoading: (l: boolean) => void,\n\n /**\n * Optional set of variable to pass to the graphQL query, in order to fulfill fragments needs\n */\n queryVariables?: {[key:string]: any},\n\n hideRoot?: boolean,\n\n /**\n * Optional function which receives refetch function of the Query component when the component is strapped\n */\n setRefetch: (p: any) => void,\n\n children: (p: any) => React.ReactElement\n};\n\ntype StateType = {\n isOpenControlled?: boolean,\n isSelectControlled?: boolean,\n openPaths?: string[],\n selectedPaths?: string[]\n};\n\nexport class Picker extends React.Component<PropType, StateType> {\n query: DocumentNode;\n eventsHandlers: {onOpenItem?: (path:string, open:boolean) => void, onSelectItem?: (path:string, selected: boolean, multiple:boolean) => void};\n previousEntries: any;\n\n constructor(props: PropType) {\n super(props);\n\n const {\n fragments,\n rootPaths,\n onOpenItem,\n onSelectItem,\n openPaths,\n selectedPaths,\n defaultSelectedPaths,\n onSelectionChange,\n defaultOpenPaths\n } = props;\n\n const resolvedFragments = fragments || [PickerItemsFragment.mixinTypes, PickerItemsFragment.primaryNodeType, PickerItemsFragment.isPublished, displayName];\n\n this.query = gql`\n query PickerQuery($rootPaths:[String!]!, $selectable:[String]!, $openable:[String]!, $openPaths:[String!]!, $types:[String]!) {\n jcr {\n rootNodes:nodesByPath(paths: $rootPaths) {\n name\n children(typesFilter:{types:$types}, limit:1) {\n pageInfo {\n nodesCount\n }\n }\n selectable : isNodeType(type: {types:$selectable})\n openable : isNodeType(type: {types:$openable})\n ... NodeCacheRequiredFields\n ... node\n },\n openNodes:nodesByPath(paths: $openPaths) {\n ... NodeCacheRequiredFields\n children(typesFilter:{types:$types}) {\n nodes {\n name\n children(typesFilter:{types:$types}, limit:1) {\n pageInfo {\n nodesCount\n }\n }\n selectable : isNodeType(type: {types:$selectable})\n openable : isNodeType(type: {types:$openable})\n ... NodeCacheRequiredFields\n ... node\n }\n }\n }\n }\n }\n ${nodeCacheRequiredFields.gql}`;\n this.query = replaceFragmentsInDocument(this.query, resolvedFragments);\n\n const state: StateType = {};\n\n this.eventsHandlers = {};\n\n if (openPaths === null) {\n // Uncontrolled mode\n state.isOpenControlled = false;\n state.openPaths = [];\n this.eventsHandlers.onOpenItem = (path, open) => {\n this.setState(prevState => ({\n openPaths: open ?\n [...prevState.openPaths, path] :\n prevState.openPaths.filter(thispath => thispath !== path)\n }));\n };\n\n if (defaultOpenPaths) {\n state.openPaths = this.addPathToOpenPath(defaultOpenPaths, rootPaths, state.openPaths);\n }\n } else {\n state.isOpenControlled = true;\n if (onOpenItem) {\n this.eventsHandlers.onOpenItem = onOpenItem;\n }\n }\n\n if (selectedPaths === null) {\n // Uncontrolled mode\n state.isSelectControlled = false;\n state.selectedPaths = defaultSelectedPaths ? clone(defaultSelectedPaths) : [];\n // Open selected path if open is uncontrolled\n if (defaultSelectedPaths && !state.isOpenControlled) {\n state.openPaths = this.addPathToOpenPath(defaultSelectedPaths, rootPaths, state.openPaths);\n }\n\n this.eventsHandlers.onSelectItem = (path, selected, multiple) => {\n this.setState(prevState => {\n const newSelectedPaths = selected ?\n [...(multiple ? prevState.selectedPaths : []), path] :\n prevState.selectedPaths.filter(thispath => thispath !== path);\n onSelectionChange(newSelectedPaths);\n return {\n selectedPaths: newSelectedPaths\n };\n });\n };\n } else if (onSelectItem) {\n state.isSelectControlled = true;\n if (onSelectItem) {\n this.eventsHandlers.onSelectItem = onSelectItem;\n }\n }\n\n this.state = state;\n\n // Binding\n this.openPaths = this.openPaths.bind(this);\n }\n\n static getDerivedStateFromProps(nextProps: PropType, prevState: StateType) {\n if ((prevState.isOpenControlled !== (nextProps.openPaths !== null)) || (prevState.isSelectControlled !== (nextProps.selectedPaths !== null))) {\n console.warn('Cannot change between controlled/uncontrolled modes');\n }\n\n const newState: StateType = {};\n\n if (prevState.isOpenControlled && !deepEquals(nextProps.openPaths, prevState.openPaths)) {\n newState.openPaths = nextProps.openPaths;\n }\n\n if (prevState.isSelectControlled && !deepEquals(nextProps.selectedPaths, prevState.selectedPaths)) {\n newState.selectedPaths = nextProps.selectedPaths;\n }\n\n if (newState.openPaths || newState.selectedPaths) {\n return newState;\n }\n\n return null;\n }\n\n getVariables(selectedPaths: string[], openPaths: string[]) {\n const {rootPaths, openableTypes, selectableTypes, queryVariables} = this.props;\n\n const vars = {\n rootPaths,\n types: [...new Set([...openableTypes, ...selectableTypes])],\n selectable: selectableTypes,\n openable: openableTypes,\n openPaths\n };\n\n if (queryVariables) {\n Object.assign(vars, queryVariables);\n }\n\n return vars;\n }\n\n getPickerEntries(data: any, selectedPaths: string[], openPaths: string[]) {\n let pickerEntries: any[] = [];\n const nodesById:any = {};\n const {jcr} = data;\n\n const addNode = function (node:any, depth:number, index:number) {\n let selected = false;\n if (node.selectable) {\n selected = selectedPaths.indexOf(node.path) !== -1;\n }\n\n const pickerNode = {\n name: node.name,\n path: node.path,\n open: node.openable && openPaths.indexOf(node.path) !== -1,\n selected,\n openable: node.openable,\n selectable: node.selectable,\n depth,\n prefix: '&nbsp;'.repeat(depth * 3),\n node,\n hidden: false,\n hasChildren: node.children.pageInfo.nodesCount > 0\n };\n pickerEntries.splice(index, 0, pickerNode);\n nodesById[node.uuid] = pickerNode;\n return pickerNode;\n };\n\n if (jcr) {\n if (jcr.rootNodes) {\n jcr.rootNodes.forEach((rootNode: any) => {\n const root = addNode(rootNode, 0, 0);\n root.hidden = this.props.hideRoot || false;\n });\n }\n\n if (jcr.openNodes) {\n jcr.openNodes.concat()\n .sort((a: any, b: any) => (a.path > b.path) ? 1 : ((b.path > a.path) ? -1 : 0))\n .forEach((node: any) => {\n const parent = nodesById[node.uuid];\n if (parent) {\n const parentIndex = pickerEntries.indexOf(parent);\n node.children.nodes.slice().reverse().forEach((child: any) => {\n addNode(child, parent.depth + 1, parentIndex + 1);\n });\n }\n });\n }\n }\n\n // Nodes loaded, fill selection list\n const selectedNodes = pickerEntries.filter(node => node.selected).map(node => node.node);\n\n selectedPaths = selectedNodes.map(s => s.path);\n pickerEntries = pickerEntries.filter(pickerNode => !pickerNode.hidden);\n\n return pickerEntries;\n }\n\n addPathToOpenPath(pathsToOpen: string[], rootPaths:string[], openPaths: string[]) {\n pathsToOpen.forEach(path => {\n let rootFound: false | string = false;\n if (!path.endsWith('/')) {\n path += '/';\n }\n\n const [...tail] = path.split('/');\n tail.reduce((acc, it) => {\n if (!rootFound) {\n rootPaths.forEach(rootPath => {\n rootFound = rootFound || (acc.startsWith(rootPath) && rootPath);\n });\n }\n\n if (rootFound && !openPaths.includes(acc)) {\n openPaths.push(acc);\n if (!openPaths.includes(rootFound)) {\n openPaths.push(rootFound);\n }\n }\n\n return acc + '/' + it;\n }, '');\n });\n return openPaths;\n }\n\n openPaths(paths: string[]) {\n if (!(paths instanceof Array)) {\n paths = [paths];\n }\n\n this.setState(prevState => {\n const openPaths = this.addPathToOpenPath(paths, this.props.rootPaths, prevState.openPaths);\n return {openPaths};\n });\n }\n\n render() {\n const selectedPaths = this.state.selectedPaths ? this.state.selectedPaths : this.props.selectedPaths;\n let openPaths = this.state.openPaths ? this.state.openPaths : this.props.openPaths;\n const {setRefetch} = this.props;\n\n openPaths = clone(openPaths);\n\n const vars = this.getVariables(selectedPaths, openPaths);\n\n return (\n <Query query={this.query} variables={vars} fetchPolicy=\"cache-first\">\n {(result: QueryResult): React.JSX.Element => {\n const {error, loading, data, refetch} = result;\n if (setRefetch) {\n setRefetch({\n query: this.query,\n queryParams: vars,\n refetch\n });\n }\n\n const renderProp = this.props.children;\n if (this.props.onLoading) {\n this.props.onLoading(loading);\n }\n\n if (loading) {\n if (this.previousEntries) {\n return renderProp({pickerEntries: this.previousEntries, loading, ...this.eventsHandlers});\n }\n\n return renderProp({pickerEntries: [], loading, ...this.eventsHandlers});\n }\n\n if (error) {\n return renderProp({pickerEntries: [], error, loading, ...this.eventsHandlers});\n }\n\n const pickerEntries = this.getPickerEntries(data, selectedPaths, openPaths);\n this.previousEntries = pickerEntries;\n\n return renderProp({pickerEntries, loading, ...this.eventsHandlers});\n }}\n </Query>\n );\n }\n}\n"],"mappings":"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"}
@@ -26,7 +26,7 @@ var timeout;
26
26
  var observedQueries = [];
27
27
  function scheduleQueue(client) {
28
28
  if (!timeout && schemaResult) {
29
- timeout = setTimeout(function () {
29
+ timeout = window.setTimeout(function () {
30
30
  timeoutHandler(client);
31
31
  clearTimeout(timeout);
32
32
  timeout = null;
@@ -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","setTimeout","timeoutHandler","clearTimeout","mergedQueue","request","toInsert","variables","queryOptions","options","originals","mergeable","find","q","JSON","stringify","isSubset","merge","obs","unsubscribe","mergedRequest","_getQuery","getQuery","query","generatedVariables","skip","setResult","loading","watchedQuery","watchQuery","errorPolicy","subscribe","_ref","data","others","_objectWithoutProperties2","result","getResult","deepEquals","refetch","refetchQueries","include","useNodeInfo","_useState","useState","_useState2","_slicedToArray2","useApolloClient","SCHEMA_FIELDS_QUERY","type","then","_ref2","_useMemoRequest","useMemoRequest","_useMemoRequest2","currentRequest","queryHasChanged","useEffect","splice","indexOf","fetchPolicy","infoQuery","res","readQuery","exports","node","jcr","nodeByPath","nodeById","nodes","nodesByPath","nodesById","decodeResult","map","n","nodeOrig","site","getPermissions","name","getEncodedPermissionName","getSitePermissions","getIsNodeTypes","getEncodedNodeTypeName","getMimeType","resourceChildren","mimeType","value"],"sources":["useNodeInfo.ts"],"sourcesContent":["import {useEffect, useState} from 'react';\nimport {ApolloClient, ApolloError, NetworkStatus, useApolloClient, WatchQueryOptions} from '@apollo/client';\nimport {getQuery, NodeInfoOptions} from './useNodeInfo.gql-queries';\nimport {getEncodedPermissionName} from '../../fragments/getPermissionFragment';\nimport {getEncodedNodeTypeName} from '../../fragments/getIsNodeTypeFragment';\nimport {SCHEMA_FIELDS_QUERY} from '../useSchemaFields/useSchemaFields.gql-queries';\nimport {isSubset, merge} from './useNodeInfo.utils';\nimport {useMemoRequest} from './useMemoRequest';\nimport deepEquals from 'fast-deep-equal';\nimport {DocumentNode, GraphQLError} from 'graphql';\n\nexport type Request = {\n variables:{[key:string]: any},\n options: NodeInfoOptions,\n queryOptions: Partial<WatchQueryOptions>,\n}\n\nexport type QueuedRequest = Request & {\n result?: any,\n setResult: (data: any) => void\n}\n\nexport type MergedRequest = Request & { originals: QueuedRequest[] };\n\nexport type NodeInfoResult = {\n node?: any,\n nodes?: any[],\n errors?: readonly GraphQLError[],\n error?: ApolloError,\n loading?: boolean,\n networkStatus?: NetworkStatus,\n partial?: boolean,\n query?: DocumentNode,\n variables?: {[key:string]: any}\n}\n\nconst queue: QueuedRequest[] = [];\nlet schemaResult: any;\nlet timeout: number;\nlet observedQueries: { unsubscribe: () => void }[] = [];\n\nfunction scheduleQueue(client: ApolloClient<object>) {\n if (!timeout && schemaResult) {\n timeout = setTimeout(() => {\n timeoutHandler(client);\n clearTimeout(timeout);\n timeout = null;\n }, 0);\n }\n}\n\nconst timeoutHandler = (client: ApolloClient<object>) => {\n const mergedQueue: MergedRequest[] = [];\n\n queue.forEach(request => {\n const toInsert = {\n variables: request.variables,\n queryOptions: request.queryOptions,\n options: request.options,\n originals: [request]\n };\n\n const mergeable = mergedQueue.find(q => JSON.stringify(q.queryOptions) === JSON.stringify(toInsert.queryOptions) && (isSubset(q.variables, toInsert.variables) || isSubset(toInsert.variables, q.variables)));\n\n if (mergeable) {\n merge(mergeable, toInsert);\n } else {\n mergedQueue.push({\n variables: toInsert.variables && {...toInsert.variables},\n queryOptions: toInsert.queryOptions && {...toInsert.queryOptions},\n options: toInsert.options && {...toInsert.options},\n originals: toInsert.originals\n });\n }\n });\n\n observedQueries.forEach(obs => obs.unsubscribe());\n observedQueries = [];\n\n mergedQueue.forEach(mergedRequest => {\n const {variables, queryOptions, options, originals} = mergedRequest;\n const {query, generatedVariables, skip} = getQuery(variables, schemaResult, options);\n if (skip) {\n // No query to execute\n originals.forEach(request => {\n request.setResult({\n loading: false\n });\n });\n } else {\n const watchedQuery = client.watchQuery({query, errorPolicy: 'ignore', ...queryOptions, variables: generatedVariables}).subscribe(({data, ...others}) => {\n const result = getResult(data, others, options, query, generatedVariables);\n\n originals.forEach(request => {\n if (!deepEquals(request.result, result)) {\n request.result = result;\n request.setResult({\n ...result,\n refetch() {\n client.refetchQueries({include: [query]});\n }\n });\n }\n });\n });\n observedQueries.push(watchedQuery);\n }\n });\n};\n\nexport const useNodeInfo = (variables: {[key:string]: unknown}, options?: NodeInfoOptions, queryOptions?: Partial<WatchQueryOptions>) => {\n const [result, setResult] = useState<NodeInfoResult>({\n loading: true\n });\n\n const client = useApolloClient();\n\n if (!schemaResult) {\n client.query({query: SCHEMA_FIELDS_QUERY, variables: {type: 'GqlPublicationInfo'}}).then(({data}: {data: any}) => {\n schemaResult = data;\n scheduleQueue(client);\n });\n }\n\n // Normalize and memoize request\n const [currentRequest, queryHasChanged] = useMemoRequest(variables, queryOptions, options, setResult);\n useEffect(() => {\n queue.push(currentRequest);\n scheduleQueue(client);\n\n return () => {\n queue.splice(queue.indexOf(currentRequest), 1);\n };\n }, [client, currentRequest]);\n\n if (queryHasChanged && !result.loading) {\n if (queryOptions?.fetchPolicy !== 'no-cache' && queryOptions?.fetchPolicy !== 'network-only') {\n const infoQuery = getQuery(currentRequest.variables, schemaResult, currentRequest.options);\n const res = client.readQuery({query: infoQuery.query, variables: infoQuery.generatedVariables});\n if (res) {\n const result = getResult(res, {}, currentRequest.options, infoQuery.query, infoQuery.generatedVariables);\n setResult(result);\n return result;\n }\n }\n\n setResult({\n loading: true\n });\n return {loading: true};\n }\n\n return result;\n};\n\nconst getResult = (data: any, others: NodeInfoResult, options: NodeInfoOptions, query: DocumentNode, generatedVariables: {[key:string]: unknown}) => {\n const node: object = (data && data.jcr && (data.jcr.nodeByPath || data.jcr.nodeById)) || null;\n const nodes: object[] = (data && data.jcr && (data.jcr.nodesByPath || data.jcr.nodesById)) || null;\n let result = others;\n\n if (node) {\n result = {\n node: decodeResult(node, options),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n if (nodes) {\n result = {\n nodes: nodes.map(n => decodeResult(n, options)),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n return result;\n};\n\nconst decodeResult = (nodeOrig: any, options: NodeInfoOptions) => {\n const node = {...nodeOrig};\n if (node.site) {\n node.site = {...node.site};\n }\n\n if (node && options) {\n if (options.getPermissions) {\n options.getPermissions.forEach(name => {\n const res = node[getEncodedPermissionName(name)];\n delete node[getEncodedPermissionName(name)];\n node[name] = res;\n });\n }\n\n if (options.getSitePermissions) {\n options.getSitePermissions.forEach(name => {\n const res = node.site[getEncodedPermissionName(name)];\n delete node.site[getEncodedPermissionName(name)];\n node.site[name] = res;\n });\n }\n\n if (options.getIsNodeTypes) {\n options.getIsNodeTypes.forEach(name => {\n const res = node[getEncodedNodeTypeName(name)];\n delete node[getEncodedNodeTypeName(name)];\n node[name] = res;\n });\n }\n\n if (options.getMimeType) {\n const {nodes} = node.resourceChildren;\n node.mimeType = (nodes.length !== 0 && nodes[0].mimeType.value) || null;\n delete node.resourceChildren;\n }\n }\n\n return node;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","require","_client","_useNodeInfo","_getPermissionFragment","_getIsNodeTypeFragment","_useSchemaFields","_useNodeInfo2","_useMemoRequest3","_fastDeepEqual","_interopRequireDefault","_excluded","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","queue","schemaResult","timeout","observedQueries","scheduleQueue","client","window","setTimeout","timeoutHandler","clearTimeout","mergedQueue","request","toInsert","variables","queryOptions","options","originals","mergeable","find","q","JSON","stringify","isSubset","merge","obs","unsubscribe","mergedRequest","_getQuery","getQuery","query","generatedVariables","skip","setResult","loading","watchedQuery","watchQuery","errorPolicy","subscribe","_ref","data","others","_objectWithoutProperties2","result","getResult","deepEquals","refetch","refetchQueries","include","useNodeInfo","_useState","useState","_useState2","_slicedToArray2","useApolloClient","SCHEMA_FIELDS_QUERY","type","then","_ref2","_useMemoRequest","useMemoRequest","_useMemoRequest2","currentRequest","queryHasChanged","useEffect","splice","indexOf","fetchPolicy","infoQuery","res","readQuery","exports","node","jcr","nodeByPath","nodeById","nodes","nodesByPath","nodesById","decodeResult","map","n","nodeOrig","site","getPermissions","name","getEncodedPermissionName","getSitePermissions","getIsNodeTypes","getEncodedNodeTypeName","getMimeType","resourceChildren","mimeType","value"],"sources":["useNodeInfo.ts"],"sourcesContent":["import {useEffect, useState} from 'react';\nimport {ApolloClient, ApolloError, NetworkStatus, useApolloClient, WatchQueryOptions} from '@apollo/client';\nimport {getQuery, NodeInfoOptions} from './useNodeInfo.gql-queries';\nimport {getEncodedPermissionName} from '../../fragments/getPermissionFragment';\nimport {getEncodedNodeTypeName} from '../../fragments/getIsNodeTypeFragment';\nimport {SCHEMA_FIELDS_QUERY} from '../useSchemaFields/useSchemaFields.gql-queries';\nimport {isSubset, merge} from './useNodeInfo.utils';\nimport {useMemoRequest} from './useMemoRequest';\nimport deepEquals from 'fast-deep-equal';\nimport {DocumentNode, GraphQLError} from 'graphql';\n\nexport type Request = {\n variables:{[key:string]: any},\n options: NodeInfoOptions,\n queryOptions: Partial<WatchQueryOptions>,\n}\n\nexport type QueuedRequest = Request & {\n result?: any,\n setResult: (data: any) => void\n}\n\nexport type MergedRequest = Request & { originals: QueuedRequest[] };\n\nexport type NodeInfoResult = {\n node?: any,\n nodes?: any[],\n errors?: readonly GraphQLError[],\n error?: ApolloError,\n loading?: boolean,\n networkStatus?: NetworkStatus,\n partial?: boolean,\n query?: DocumentNode,\n variables?: {[key:string]: any}\n}\n\nconst queue: QueuedRequest[] = [];\nlet schemaResult: any;\nlet timeout: number;\nlet observedQueries: { unsubscribe: () => void }[] = [];\n\nfunction scheduleQueue(client: ApolloClient<object>) {\n if (!timeout && schemaResult) {\n timeout = window.setTimeout(() => {\n timeoutHandler(client);\n clearTimeout(timeout);\n timeout = null;\n }, 0);\n }\n}\n\nconst timeoutHandler = (client: ApolloClient<object>) => {\n const mergedQueue: MergedRequest[] = [];\n\n queue.forEach(request => {\n const toInsert = {\n variables: request.variables,\n queryOptions: request.queryOptions,\n options: request.options,\n originals: [request]\n };\n\n const mergeable = mergedQueue.find(q => JSON.stringify(q.queryOptions) === JSON.stringify(toInsert.queryOptions) && (isSubset(q.variables, toInsert.variables) || isSubset(toInsert.variables, q.variables)));\n\n if (mergeable) {\n merge(mergeable, toInsert);\n } else {\n mergedQueue.push({\n variables: toInsert.variables && {...toInsert.variables},\n queryOptions: toInsert.queryOptions && {...toInsert.queryOptions},\n options: toInsert.options && {...toInsert.options},\n originals: toInsert.originals\n });\n }\n });\n\n observedQueries.forEach(obs => obs.unsubscribe());\n observedQueries = [];\n\n mergedQueue.forEach(mergedRequest => {\n const {variables, queryOptions, options, originals} = mergedRequest;\n const {query, generatedVariables, skip} = getQuery(variables, schemaResult, options);\n if (skip) {\n // No query to execute\n originals.forEach(request => {\n request.setResult({\n loading: false\n });\n });\n } else {\n const watchedQuery = client.watchQuery({query, errorPolicy: 'ignore', ...queryOptions, variables: generatedVariables}).subscribe(({data, ...others}) => {\n const result = getResult(data, others, options, query, generatedVariables);\n\n originals.forEach(request => {\n if (!deepEquals(request.result, result)) {\n request.result = result;\n request.setResult({\n ...result,\n refetch() {\n client.refetchQueries({include: [query]});\n }\n });\n }\n });\n });\n observedQueries.push(watchedQuery);\n }\n });\n};\n\nexport const useNodeInfo = (variables: {[key:string]: unknown}, options?: NodeInfoOptions, queryOptions?: Partial<WatchQueryOptions>) => {\n const [result, setResult] = useState<NodeInfoResult>({\n loading: true\n });\n\n const client = useApolloClient();\n\n if (!schemaResult) {\n client.query({query: SCHEMA_FIELDS_QUERY, variables: {type: 'GqlPublicationInfo'}}).then(({data}: {data: any}) => {\n schemaResult = data;\n scheduleQueue(client);\n });\n }\n\n // Normalize and memoize request\n const [currentRequest, queryHasChanged] = useMemoRequest(variables, queryOptions, options, setResult);\n useEffect(() => {\n queue.push(currentRequest);\n scheduleQueue(client);\n\n return () => {\n queue.splice(queue.indexOf(currentRequest), 1);\n };\n }, [client, currentRequest]);\n\n if (queryHasChanged && !result.loading) {\n if (queryOptions?.fetchPolicy !== 'no-cache' && queryOptions?.fetchPolicy !== 'network-only') {\n const infoQuery = getQuery(currentRequest.variables, schemaResult, currentRequest.options);\n const res = client.readQuery({query: infoQuery.query, variables: infoQuery.generatedVariables});\n if (res) {\n const result = getResult(res, {}, currentRequest.options, infoQuery.query, infoQuery.generatedVariables);\n setResult(result);\n return result;\n }\n }\n\n setResult({\n loading: true\n });\n return {loading: true};\n }\n\n return result;\n};\n\nconst getResult = (data: any, others: NodeInfoResult, options: NodeInfoOptions, query: DocumentNode, generatedVariables: {[key:string]: unknown}) => {\n const node: object = (data && data.jcr && (data.jcr.nodeByPath || data.jcr.nodeById)) || null;\n const nodes: object[] = (data && data.jcr && (data.jcr.nodesByPath || data.jcr.nodesById)) || null;\n let result = others;\n\n if (node) {\n result = {\n node: decodeResult(node, options),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n if (nodes) {\n result = {\n nodes: nodes.map(n => decodeResult(n, options)),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n return result;\n};\n\nconst decodeResult = (nodeOrig: any, options: NodeInfoOptions) => {\n const node = {...nodeOrig};\n if (node.site) {\n node.site = {...node.site};\n }\n\n if (node && options) {\n if (options.getPermissions) {\n options.getPermissions.forEach(name => {\n const res = node[getEncodedPermissionName(name)];\n delete node[getEncodedPermissionName(name)];\n node[name] = res;\n });\n }\n\n if (options.getSitePermissions) {\n options.getSitePermissions.forEach(name => {\n const res = node.site[getEncodedPermissionName(name)];\n delete node.site[getEncodedPermissionName(name)];\n node.site[name] = res;\n });\n }\n\n if (options.getIsNodeTypes) {\n options.getIsNodeTypes.forEach(name => {\n const res = node[getEncodedNodeTypeName(name)];\n delete node[getEncodedNodeTypeName(name)];\n node[name] = res;\n });\n }\n\n if (options.getMimeType) {\n const {nodes} = node.resourceChildren;\n node.mimeType = (nodes.length !== 0 && nodes[0].mimeType.value) || null;\n delete node.resourceChildren;\n }\n }\n\n return node;\n};\n"],"mappings":"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"}
@@ -27,7 +27,8 @@ var _templateObject;
27
27
  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; }
28
28
  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; }
29
29
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
30
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
30
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } // eslint-disable-next-line @typescript-eslint/ban-ts-comment
31
+ // @ts-nocheck
31
32
  var clone = (0, _rfdc["default"])();
32
33
  var Picker = /*#__PURE__*/function (_React$Component) {
33
34
  (0, _inherits2["default"])(Picker, _React$Component);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactComponents","_graphqlTag","_fragments","_Picker","_rfdc","_fastDeepEqual","_templateObject","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","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","clone","rfdc","Picker","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","fragments","rootPaths","onOpenItem","onSelectItem","openPaths","selectedPaths","defaultSelectedPaths","onSelectionChange","defaultOpenPaths","resolvedFragments","PickerItemsFragment","mixinTypes","primaryNodeType","isPublished","displayName","query","gql","_taggedTemplateLiteral2","nodeCacheRequiredFields","replaceFragmentsInDocument","state","eventsHandlers","isOpenControlled","path","open","setState","prevState","concat","_toConsumableArray2","thispath","addPathToOpenPath","isSelectControlled","selected","multiple","newSelectedPaths","bind","_assertThisInitialized2","_createClass2","value","getVariables","_this$props","openableTypes","selectableTypes","queryVariables","vars","types","Set","selectable","openable","assign","getPickerEntries","data","_this2","pickerEntries","nodesById","jcr","addNode","node","depth","index","indexOf","pickerNode","name","prefix","repeat","hidden","hasChildren","children","pageInfo","nodesCount","splice","uuid","rootNodes","rootNode","root","hideRoot","openNodes","sort","a","b","parent","parentIndex","nodes","slice","reverse","child","selectedNodes","map","s","pathsToOpen","rootFound","endsWith","_path$split","split","_path$split2","_toArray2","tail","reduce","acc","it","rootPath","startsWith","includes","paths","_this3","Array","render","_this4","setRefetch","createElement","Query","variables","fetchPolicy","error","loading","refetch","queryParams","renderProp","onLoading","previousEntries","getDerivedStateFromProps","nextProps","console","warn","newState","deepEquals","React","Component","exports","_propTypes","array","arrayOf","string","func","isRequired","objectOf","any","bool"],"sources":["Picker.tsx"],"sourcesContent":["import React from 'react';\nimport {Query} from '@apollo/react-components';\nimport gql from 'graphql-tag';\nimport {displayName, Fragment, nodeCacheRequiredFields, replaceFragmentsInDocument} from '../fragments';\nimport {PickerItemsFragment} from './Picker.gql-fragments';\nimport {DocumentNode} from 'graphql';\nimport {QueryResult} from '@apollo/client';\nimport rfdc from 'rfdc';\nimport deepEquals from 'fast-deep-equal';\n\nconst clone = rfdc();\n\ntype PropType = {\n /**\n * Optional set of fragments to add to the graphQL query. Can be a string that identify a predefinedFragment or a fragment definition\n */\n fragments?: (string| Fragment)[],\n\n /**\n * List of root paths for the picker\n */\n rootPaths?: string[],\n\n onOpenItem?: (path:string, open:boolean) => void\n\n onSelectItem?: (path:string, selected: boolean, multiple:boolean) => void,\n\n /**\n * List of open folders in controlled mode\n */\n openPaths?: string[],\n\n /**\n * List of selected path in controlled mode\n */\n selectedPaths?: string[],\n\n /**\n * Preselected items path (uncontrolled mode)\n */\n defaultSelectedPaths?: string[],\n\n /**\n * Callback when the selection has changed\n */\n onSelectionChange?: (paths:string[]) => void,\n\n /**\n * List of folder paths that are open by default (uncontrolled mode)\n */\n defaultOpenPaths?: string[],\n\n /**\n * List of node types that can be \"opened\" (folders)\n */\n openableTypes?: string[],\n\n /**\n * List of node types that can be \"selected\" (items)\n */\n selectableTypes?: string[],\n\n onLoading: (l: boolean) => void,\n\n /**\n * Optional set of variable to pass to the graphQL query, in order to fulfill fragments needs\n */\n queryVariables?: {[key:string]: any},\n\n hideRoot?: boolean,\n\n /**\n * Optional function which receives refetch function of the Query component when the component is strapped\n */\n setRefetch: (p: any) => void,\n\n children: (p: any) => React.ReactElement\n};\n\ntype StateType = {\n isOpenControlled?: boolean,\n isSelectControlled?: boolean,\n openPaths?: string[],\n selectedPaths?: string[]\n};\n\nexport class Picker extends React.Component<PropType, StateType> {\n query: DocumentNode;\n eventsHandlers: {onOpenItem?: (path:string, open:boolean) => void, onSelectItem?: (path:string, selected: boolean, multiple:boolean) => void};\n previousEntries: any;\n\n constructor(props: PropType) {\n super(props);\n\n const {\n fragments,\n rootPaths,\n onOpenItem,\n onSelectItem,\n openPaths,\n selectedPaths,\n defaultSelectedPaths,\n onSelectionChange,\n defaultOpenPaths\n } = props;\n\n const resolvedFragments = fragments || [PickerItemsFragment.mixinTypes, PickerItemsFragment.primaryNodeType, PickerItemsFragment.isPublished, displayName];\n\n this.query = gql`\n query PickerQuery($rootPaths:[String!]!, $selectable:[String]!, $openable:[String]!, $openPaths:[String!]!, $types:[String]!) {\n jcr {\n rootNodes:nodesByPath(paths: $rootPaths) {\n name\n children(typesFilter:{types:$types}, limit:1) {\n pageInfo {\n nodesCount\n }\n }\n selectable : isNodeType(type: {types:$selectable})\n openable : isNodeType(type: {types:$openable})\n ... NodeCacheRequiredFields\n ... node\n },\n openNodes:nodesByPath(paths: $openPaths) {\n ... NodeCacheRequiredFields\n children(typesFilter:{types:$types}) {\n nodes {\n name\n children(typesFilter:{types:$types}, limit:1) {\n pageInfo {\n nodesCount\n }\n }\n selectable : isNodeType(type: {types:$selectable})\n openable : isNodeType(type: {types:$openable})\n ... NodeCacheRequiredFields\n ... node\n }\n }\n }\n }\n }\n ${nodeCacheRequiredFields.gql}`;\n this.query = replaceFragmentsInDocument(this.query, resolvedFragments);\n\n const state: StateType = {};\n\n this.eventsHandlers = {};\n\n if (openPaths === null) {\n // Uncontrolled mode\n state.isOpenControlled = false;\n state.openPaths = [];\n this.eventsHandlers.onOpenItem = (path, open) => {\n this.setState(prevState => ({\n openPaths: open ?\n [...prevState.openPaths, path] :\n prevState.openPaths.filter(thispath => thispath !== path)\n }));\n };\n\n if (defaultOpenPaths) {\n state.openPaths = this.addPathToOpenPath(defaultOpenPaths, rootPaths, state.openPaths);\n }\n } else {\n state.isOpenControlled = true;\n if (onOpenItem) {\n this.eventsHandlers.onOpenItem = onOpenItem;\n }\n }\n\n if (selectedPaths === null) {\n // Uncontrolled mode\n state.isSelectControlled = false;\n state.selectedPaths = defaultSelectedPaths ? clone(defaultSelectedPaths) : [];\n // Open selected path if open is uncontrolled\n if (defaultSelectedPaths && !state.isOpenControlled) {\n state.openPaths = this.addPathToOpenPath(defaultSelectedPaths, rootPaths, state.openPaths);\n }\n\n this.eventsHandlers.onSelectItem = (path, selected, multiple) => {\n this.setState(prevState => {\n const newSelectedPaths = selected ?\n [...(multiple ? prevState.selectedPaths : []), path] :\n prevState.selectedPaths.filter(thispath => thispath !== path);\n onSelectionChange(newSelectedPaths);\n return {\n selectedPaths: newSelectedPaths\n };\n });\n };\n } else if (onSelectItem) {\n state.isSelectControlled = true;\n if (onSelectItem) {\n this.eventsHandlers.onSelectItem = onSelectItem;\n }\n }\n\n this.state = state;\n\n // Binding\n this.openPaths = this.openPaths.bind(this);\n }\n\n static getDerivedStateFromProps(nextProps: PropType, prevState: StateType) {\n if ((prevState.isOpenControlled !== (nextProps.openPaths !== null)) || (prevState.isSelectControlled !== (nextProps.selectedPaths !== null))) {\n console.warn('Cannot change between controlled/uncontrolled modes');\n }\n\n const newState: StateType = {};\n\n if (prevState.isOpenControlled && !deepEquals(nextProps.openPaths, prevState.openPaths)) {\n newState.openPaths = nextProps.openPaths;\n }\n\n if (prevState.isSelectControlled && !deepEquals(nextProps.selectedPaths, prevState.selectedPaths)) {\n newState.selectedPaths = nextProps.selectedPaths;\n }\n\n if (newState.openPaths || newState.selectedPaths) {\n return newState;\n }\n\n return null;\n }\n\n getVariables(selectedPaths: string[], openPaths: string[]) {\n const {rootPaths, openableTypes, selectableTypes, queryVariables} = this.props;\n\n const vars = {\n rootPaths,\n types: [...new Set([...openableTypes, ...selectableTypes])],\n selectable: selectableTypes,\n openable: openableTypes,\n openPaths\n };\n\n if (queryVariables) {\n Object.assign(vars, queryVariables);\n }\n\n return vars;\n }\n\n getPickerEntries(data: any, selectedPaths: string[], openPaths: string[]) {\n let pickerEntries: any[] = [];\n const nodesById:any = {};\n const {jcr} = data;\n\n const addNode = function (node:any, depth:number, index:number) {\n let selected = false;\n if (node.selectable) {\n selected = selectedPaths.indexOf(node.path) !== -1;\n }\n\n const pickerNode = {\n name: node.name,\n path: node.path,\n open: node.openable && openPaths.indexOf(node.path) !== -1,\n selected,\n openable: node.openable,\n selectable: node.selectable,\n depth,\n prefix: '&nbsp;'.repeat(depth * 3),\n node,\n hidden: false,\n hasChildren: node.children.pageInfo.nodesCount > 0\n };\n pickerEntries.splice(index, 0, pickerNode);\n nodesById[node.uuid] = pickerNode;\n return pickerNode;\n };\n\n if (jcr) {\n if (jcr.rootNodes) {\n jcr.rootNodes.forEach((rootNode: any) => {\n const root = addNode(rootNode, 0, 0);\n root.hidden = this.props.hideRoot || false;\n });\n }\n\n if (jcr.openNodes) {\n jcr.openNodes.concat()\n .sort((a: any, b: any) => (a.path > b.path) ? 1 : ((b.path > a.path) ? -1 : 0))\n .forEach((node: any) => {\n const parent = nodesById[node.uuid];\n if (parent) {\n const parentIndex = pickerEntries.indexOf(parent);\n node.children.nodes.slice().reverse().forEach((child: any) => {\n addNode(child, parent.depth + 1, parentIndex + 1);\n });\n }\n });\n }\n }\n\n // Nodes loaded, fill selection list\n const selectedNodes = pickerEntries.filter(node => node.selected).map(node => node.node);\n\n selectedPaths = selectedNodes.map(s => s.path);\n pickerEntries = pickerEntries.filter(pickerNode => !pickerNode.hidden);\n\n return pickerEntries;\n }\n\n addPathToOpenPath(pathsToOpen: string[], rootPaths:string[], openPaths: string[]) {\n pathsToOpen.forEach(path => {\n let rootFound: false | string = false;\n if (!path.endsWith('/')) {\n path += '/';\n }\n\n const [...tail] = path.split('/');\n tail.reduce((acc, it) => {\n if (!rootFound) {\n rootPaths.forEach(rootPath => {\n rootFound = rootFound || (acc.startsWith(rootPath) && rootPath);\n });\n }\n\n if (rootFound && !openPaths.includes(acc)) {\n openPaths.push(acc);\n if (!openPaths.includes(rootFound)) {\n openPaths.push(rootFound);\n }\n }\n\n return acc + '/' + it;\n }, '');\n });\n return openPaths;\n }\n\n openPaths(paths: string[]) {\n if (!(paths instanceof Array)) {\n paths = [paths];\n }\n\n this.setState(prevState => {\n const openPaths = this.addPathToOpenPath(paths, this.props.rootPaths, prevState.openPaths);\n return {openPaths};\n });\n }\n\n render() {\n const selectedPaths = this.state.selectedPaths ? this.state.selectedPaths : this.props.selectedPaths;\n let openPaths = this.state.openPaths ? this.state.openPaths : this.props.openPaths;\n const {setRefetch} = this.props;\n\n openPaths = clone(openPaths);\n\n const vars = this.getVariables(selectedPaths, openPaths);\n\n return (\n <Query query={this.query} variables={vars} fetchPolicy=\"cache-first\">\n {(result: QueryResult): React.JSX.Element => {\n const {error, loading, data, refetch} = result;\n if (setRefetch) {\n setRefetch({\n query: this.query,\n queryParams: vars,\n refetch\n });\n }\n\n const renderProp = this.props.children;\n if (this.props.onLoading) {\n this.props.onLoading(loading);\n }\n\n if (loading) {\n if (this.previousEntries) {\n return renderProp({pickerEntries: this.previousEntries, loading, ...this.eventsHandlers});\n }\n\n return renderProp({pickerEntries: [], loading, ...this.eventsHandlers});\n }\n\n if (error) {\n return renderProp({pickerEntries: [], error, loading, ...this.eventsHandlers});\n }\n\n const pickerEntries = this.getPickerEntries(data, selectedPaths, openPaths);\n this.previousEntries = pickerEntries;\n\n return renderProp({pickerEntries, loading, ...this.eventsHandlers});\n }}\n </Query>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactComponents","_graphqlTag","_fragments","_Picker","_rfdc","_fastDeepEqual","_templateObject","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","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","clone","rfdc","Picker","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","fragments","rootPaths","onOpenItem","onSelectItem","openPaths","selectedPaths","defaultSelectedPaths","onSelectionChange","defaultOpenPaths","resolvedFragments","PickerItemsFragment","mixinTypes","primaryNodeType","isPublished","displayName","query","gql","_taggedTemplateLiteral2","nodeCacheRequiredFields","replaceFragmentsInDocument","state","eventsHandlers","isOpenControlled","path","open","setState","prevState","concat","_toConsumableArray2","thispath","addPathToOpenPath","isSelectControlled","selected","multiple","newSelectedPaths","bind","_assertThisInitialized2","_createClass2","value","getVariables","_this$props","openableTypes","selectableTypes","queryVariables","vars","types","Set","selectable","openable","assign","getPickerEntries","data","_this2","pickerEntries","nodesById","jcr","addNode","node","depth","index","indexOf","pickerNode","name","prefix","repeat","hidden","hasChildren","children","pageInfo","nodesCount","splice","uuid","rootNodes","rootNode","root","hideRoot","openNodes","sort","a","b","parent","parentIndex","nodes","slice","reverse","child","selectedNodes","map","s","pathsToOpen","rootFound","endsWith","_path$split","split","_path$split2","_toArray2","tail","reduce","acc","it","rootPath","startsWith","includes","paths","_this3","Array","render","_this4","setRefetch","createElement","Query","variables","fetchPolicy","error","loading","refetch","queryParams","renderProp","onLoading","previousEntries","getDerivedStateFromProps","nextProps","console","warn","newState","deepEquals","React","Component","exports","_propTypes","array","arrayOf","string","func","isRequired","objectOf","any","bool"],"sources":["Picker.tsx"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-nocheck\nimport React from 'react';\nimport {Query} from '@apollo/react-components';\nimport gql from 'graphql-tag';\nimport {displayName, Fragment, nodeCacheRequiredFields, replaceFragmentsInDocument} from '../fragments';\nimport {PickerItemsFragment} from './Picker.gql-fragments';\nimport {DocumentNode} from 'graphql';\nimport {QueryResult} from '@apollo/client';\nimport rfdc from 'rfdc';\nimport deepEquals from 'fast-deep-equal';\n\nconst clone = rfdc();\n\ntype PropType = {\n /**\n * Optional set of fragments to add to the graphQL query. Can be a string that identify a predefinedFragment or a fragment definition\n */\n fragments?: (string| Fragment)[],\n\n /**\n * List of root paths for the picker\n */\n rootPaths?: string[],\n\n onOpenItem?: (path:string, open:boolean) => void\n\n onSelectItem?: (path:string, selected: boolean, multiple:boolean) => void,\n\n /**\n * List of open folders in controlled mode\n */\n openPaths?: string[],\n\n /**\n * List of selected path in controlled mode\n */\n selectedPaths?: string[],\n\n /**\n * Preselected items path (uncontrolled mode)\n */\n defaultSelectedPaths?: string[],\n\n /**\n * Callback when the selection has changed\n */\n onSelectionChange?: (paths:string[]) => void,\n\n /**\n * List of folder paths that are open by default (uncontrolled mode)\n */\n defaultOpenPaths?: string[],\n\n /**\n * List of node types that can be \"opened\" (folders)\n */\n openableTypes?: string[],\n\n /**\n * List of node types that can be \"selected\" (items)\n */\n selectableTypes?: string[],\n\n onLoading: (l: boolean) => void,\n\n /**\n * Optional set of variable to pass to the graphQL query, in order to fulfill fragments needs\n */\n queryVariables?: {[key:string]: any},\n\n hideRoot?: boolean,\n\n /**\n * Optional function which receives refetch function of the Query component when the component is strapped\n */\n setRefetch: (p: any) => void,\n\n children: (p: any) => React.ReactElement\n};\n\ntype StateType = {\n isOpenControlled?: boolean,\n isSelectControlled?: boolean,\n openPaths?: string[],\n selectedPaths?: string[]\n};\n\nexport class Picker extends React.Component<PropType, StateType> {\n query: DocumentNode;\n eventsHandlers: {onOpenItem?: (path:string, open:boolean) => void, onSelectItem?: (path:string, selected: boolean, multiple:boolean) => void};\n previousEntries: any;\n\n constructor(props: PropType) {\n super(props);\n\n const {\n fragments,\n rootPaths,\n onOpenItem,\n onSelectItem,\n openPaths,\n selectedPaths,\n defaultSelectedPaths,\n onSelectionChange,\n defaultOpenPaths\n } = props;\n\n const resolvedFragments = fragments || [PickerItemsFragment.mixinTypes, PickerItemsFragment.primaryNodeType, PickerItemsFragment.isPublished, displayName];\n\n this.query = gql`\n query PickerQuery($rootPaths:[String!]!, $selectable:[String]!, $openable:[String]!, $openPaths:[String!]!, $types:[String]!) {\n jcr {\n rootNodes:nodesByPath(paths: $rootPaths) {\n name\n children(typesFilter:{types:$types}, limit:1) {\n pageInfo {\n nodesCount\n }\n }\n selectable : isNodeType(type: {types:$selectable})\n openable : isNodeType(type: {types:$openable})\n ... NodeCacheRequiredFields\n ... node\n },\n openNodes:nodesByPath(paths: $openPaths) {\n ... NodeCacheRequiredFields\n children(typesFilter:{types:$types}) {\n nodes {\n name\n children(typesFilter:{types:$types}, limit:1) {\n pageInfo {\n nodesCount\n }\n }\n selectable : isNodeType(type: {types:$selectable})\n openable : isNodeType(type: {types:$openable})\n ... NodeCacheRequiredFields\n ... node\n }\n }\n }\n }\n }\n ${nodeCacheRequiredFields.gql}`;\n this.query = replaceFragmentsInDocument(this.query, resolvedFragments);\n\n const state: StateType = {};\n\n this.eventsHandlers = {};\n\n if (openPaths === null) {\n // Uncontrolled mode\n state.isOpenControlled = false;\n state.openPaths = [];\n this.eventsHandlers.onOpenItem = (path, open) => {\n this.setState(prevState => ({\n openPaths: open ?\n [...prevState.openPaths, path] :\n prevState.openPaths.filter(thispath => thispath !== path)\n }));\n };\n\n if (defaultOpenPaths) {\n state.openPaths = this.addPathToOpenPath(defaultOpenPaths, rootPaths, state.openPaths);\n }\n } else {\n state.isOpenControlled = true;\n if (onOpenItem) {\n this.eventsHandlers.onOpenItem = onOpenItem;\n }\n }\n\n if (selectedPaths === null) {\n // Uncontrolled mode\n state.isSelectControlled = false;\n state.selectedPaths = defaultSelectedPaths ? clone(defaultSelectedPaths) : [];\n // Open selected path if open is uncontrolled\n if (defaultSelectedPaths && !state.isOpenControlled) {\n state.openPaths = this.addPathToOpenPath(defaultSelectedPaths, rootPaths, state.openPaths);\n }\n\n this.eventsHandlers.onSelectItem = (path, selected, multiple) => {\n this.setState(prevState => {\n const newSelectedPaths = selected ?\n [...(multiple ? prevState.selectedPaths : []), path] :\n prevState.selectedPaths.filter(thispath => thispath !== path);\n onSelectionChange(newSelectedPaths);\n return {\n selectedPaths: newSelectedPaths\n };\n });\n };\n } else if (onSelectItem) {\n state.isSelectControlled = true;\n if (onSelectItem) {\n this.eventsHandlers.onSelectItem = onSelectItem;\n }\n }\n\n this.state = state;\n\n // Binding\n this.openPaths = this.openPaths.bind(this);\n }\n\n static getDerivedStateFromProps(nextProps: PropType, prevState: StateType) {\n if ((prevState.isOpenControlled !== (nextProps.openPaths !== null)) || (prevState.isSelectControlled !== (nextProps.selectedPaths !== null))) {\n console.warn('Cannot change between controlled/uncontrolled modes');\n }\n\n const newState: StateType = {};\n\n if (prevState.isOpenControlled && !deepEquals(nextProps.openPaths, prevState.openPaths)) {\n newState.openPaths = nextProps.openPaths;\n }\n\n if (prevState.isSelectControlled && !deepEquals(nextProps.selectedPaths, prevState.selectedPaths)) {\n newState.selectedPaths = nextProps.selectedPaths;\n }\n\n if (newState.openPaths || newState.selectedPaths) {\n return newState;\n }\n\n return null;\n }\n\n getVariables(selectedPaths: string[], openPaths: string[]) {\n const {rootPaths, openableTypes, selectableTypes, queryVariables} = this.props;\n\n const vars = {\n rootPaths,\n types: [...new Set([...openableTypes, ...selectableTypes])],\n selectable: selectableTypes,\n openable: openableTypes,\n openPaths\n };\n\n if (queryVariables) {\n Object.assign(vars, queryVariables);\n }\n\n return vars;\n }\n\n getPickerEntries(data: any, selectedPaths: string[], openPaths: string[]) {\n let pickerEntries: any[] = [];\n const nodesById:any = {};\n const {jcr} = data;\n\n const addNode = function (node:any, depth:number, index:number) {\n let selected = false;\n if (node.selectable) {\n selected = selectedPaths.indexOf(node.path) !== -1;\n }\n\n const pickerNode = {\n name: node.name,\n path: node.path,\n open: node.openable && openPaths.indexOf(node.path) !== -1,\n selected,\n openable: node.openable,\n selectable: node.selectable,\n depth,\n prefix: '&nbsp;'.repeat(depth * 3),\n node,\n hidden: false,\n hasChildren: node.children.pageInfo.nodesCount > 0\n };\n pickerEntries.splice(index, 0, pickerNode);\n nodesById[node.uuid] = pickerNode;\n return pickerNode;\n };\n\n if (jcr) {\n if (jcr.rootNodes) {\n jcr.rootNodes.forEach((rootNode: any) => {\n const root = addNode(rootNode, 0, 0);\n root.hidden = this.props.hideRoot || false;\n });\n }\n\n if (jcr.openNodes) {\n jcr.openNodes.concat()\n .sort((a: any, b: any) => (a.path > b.path) ? 1 : ((b.path > a.path) ? -1 : 0))\n .forEach((node: any) => {\n const parent = nodesById[node.uuid];\n if (parent) {\n const parentIndex = pickerEntries.indexOf(parent);\n node.children.nodes.slice().reverse().forEach((child: any) => {\n addNode(child, parent.depth + 1, parentIndex + 1);\n });\n }\n });\n }\n }\n\n // Nodes loaded, fill selection list\n const selectedNodes = pickerEntries.filter(node => node.selected).map(node => node.node);\n\n selectedPaths = selectedNodes.map(s => s.path);\n pickerEntries = pickerEntries.filter(pickerNode => !pickerNode.hidden);\n\n return pickerEntries;\n }\n\n addPathToOpenPath(pathsToOpen: string[], rootPaths:string[], openPaths: string[]) {\n pathsToOpen.forEach(path => {\n let rootFound: false | string = false;\n if (!path.endsWith('/')) {\n path += '/';\n }\n\n const [...tail] = path.split('/');\n tail.reduce((acc, it) => {\n if (!rootFound) {\n rootPaths.forEach(rootPath => {\n rootFound = rootFound || (acc.startsWith(rootPath) && rootPath);\n });\n }\n\n if (rootFound && !openPaths.includes(acc)) {\n openPaths.push(acc);\n if (!openPaths.includes(rootFound)) {\n openPaths.push(rootFound);\n }\n }\n\n return acc + '/' + it;\n }, '');\n });\n return openPaths;\n }\n\n openPaths(paths: string[]) {\n if (!(paths instanceof Array)) {\n paths = [paths];\n }\n\n this.setState(prevState => {\n const openPaths = this.addPathToOpenPath(paths, this.props.rootPaths, prevState.openPaths);\n return {openPaths};\n });\n }\n\n render() {\n const selectedPaths = this.state.selectedPaths ? this.state.selectedPaths : this.props.selectedPaths;\n let openPaths = this.state.openPaths ? this.state.openPaths : this.props.openPaths;\n const {setRefetch} = this.props;\n\n openPaths = clone(openPaths);\n\n const vars = this.getVariables(selectedPaths, openPaths);\n\n return (\n <Query query={this.query} variables={vars} fetchPolicy=\"cache-first\">\n {(result: QueryResult): React.JSX.Element => {\n const {error, loading, data, refetch} = result;\n if (setRefetch) {\n setRefetch({\n query: this.query,\n queryParams: vars,\n refetch\n });\n }\n\n const renderProp = this.props.children;\n if (this.props.onLoading) {\n this.props.onLoading(loading);\n }\n\n if (loading) {\n if (this.previousEntries) {\n return renderProp({pickerEntries: this.previousEntries, loading, ...this.eventsHandlers});\n }\n\n return renderProp({pickerEntries: [], loading, ...this.eventsHandlers});\n }\n\n if (error) {\n return renderProp({pickerEntries: [], error, loading, ...this.eventsHandlers});\n }\n\n const pickerEntries = this.getPickerEntries(data, selectedPaths, openPaths);\n this.previousEntries = pickerEntries;\n\n return renderProp({pickerEntries, loading, ...this.eventsHandlers});\n }}\n </Query>\n );\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jahia/data-helper",
3
- "version": "1.1.2",
3
+ "version": "1.1.3",
4
4
  "scripts": {
5
5
  "compile:js": "node ./build.mjs",
6
6
  "build": "yarn tsc && yarn compile:js",
@@ -22,7 +22,6 @@
22
22
  "graphql": "^15.4.0",
23
23
  "graphql-tag": "^2.11.0",
24
24
  "react": "^16.12.0",
25
- "react-apollo": "^3.1.5",
26
25
  "rfdc": "^1.3.0"
27
26
  }
28
27
  }
package/tsconfig.json CHANGED
@@ -19,7 +19,7 @@
19
19
  "paths": {
20
20
  "~/*": ["*"]
21
21
  },
22
- "typeRoots": ["types", "node_modules/@types"],
22
+ "typeRoots": ["types", "../../node_modules/@types", "node_modules/@types"],
23
23
  "resolveJsonModule": true
24
24
  },
25
25
  "include": ["src"],