@jahia/data-helper 1.1.3 → 1.1.4

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
+ # (Tue May 30 2023)
2
+
3
+ #### 🐛 Bug Fix
4
+
5
+ - BACKLOG-21054: Fix legacy picker for vanity urls [#247](https://github.com/Jahia/javascript-components/pull/247) ([@gflores-jahia](https://github.com/gflores-jahia))
6
+
7
+ #### Authors: 1
8
+
9
+ - Geofrey Flores ([@gflores-jahia](https://github.com/gflores-jahia))
10
+
11
+ ---
12
+
1
13
  # (Thu May 25 2023)
2
14
 
3
15
  #### 🐛 Bug Fix
@@ -45,7 +45,7 @@ export var Picker = /*#__PURE__*/function (_React$Component) {
45
45
  _this.query = replaceFragmentsInDocument(_this.query, resolvedFragments);
46
46
  var state = {};
47
47
  _this.eventsHandlers = {};
48
- if (openPaths === null) {
48
+ if (!openPaths) {
49
49
  // Uncontrolled mode
50
50
  state.isOpenControlled = false;
51
51
  state.openPaths = [];
@@ -67,7 +67,7 @@ export var Picker = /*#__PURE__*/function (_React$Component) {
67
67
  _this.eventsHandlers.onOpenItem = onOpenItem;
68
68
  }
69
69
  }
70
- if (selectedPaths === null) {
70
+ if (!selectedPaths) {
71
71
  // Uncontrolled mode
72
72
  state.isSelectControlled = false;
73
73
  state.selectedPaths = defaultSelectedPaths ? clone(defaultSelectedPaths) : [];
@@ -230,7 +230,7 @@ export var Picker = /*#__PURE__*/function (_React$Component) {
230
230
  value: function render() {
231
231
  var _this4 = this;
232
232
  var selectedPaths = this.state.selectedPaths ? this.state.selectedPaths : this.props.selectedPaths;
233
- var openPaths = this.state.openPaths ? this.state.openPaths : this.props.openPaths;
233
+ var openPaths = this.state.openPaths || this.props.openPaths;
234
234
  var setRefetch = this.props.setRefetch;
235
235
  openPaths = clone(openPaths);
236
236
  var vars = this.getVariables(selectedPaths, openPaths);
@@ -284,7 +284,7 @@ export var Picker = /*#__PURE__*/function (_React$Component) {
284
284
  }], [{
285
285
  key: "getDerivedStateFromProps",
286
286
  value: function getDerivedStateFromProps(nextProps, prevState) {
287
- if (prevState.isOpenControlled !== (nextProps.openPaths !== null) || prevState.isSelectControlled !== (nextProps.selectedPaths !== null)) {
287
+ if (prevState.isOpenControlled !== Boolean(nextProps.openPaths) || prevState.isSelectControlled !== Boolean(nextProps.selectedPaths)) {
288
288
  console.warn('Cannot change between controlled/uncontrolled modes');
289
289
  }
290
290
  var newState = {};
@@ -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":["// 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":";;;;;;;;;;;;;;;;AAAA;AACA;AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAQC,KAAK,QAAO,0BAA0B;AAC9C,OAAOC,GAAG,MAAM,aAAa;AAC7B,SAAQC,WAAW,EAAYC,uBAAuB,EAAEC,0BAA0B;AAClF,SAAQC,mBAAmB;AAG3B,OAAOC,IAAI,MAAM,MAAM;AACvB,OAAOC,UAAU,MAAM,iBAAiB;AAExC,IAAMC,KAAK,GAAGF,IAAI,CAAC,CAAC;AA4EpB,WAAaG,MAAM,0BAAAC,gBAAA;EAAAC,SAAA,CAAAF,MAAA,EAAAC,gBAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,MAAA;EAKf,SAAAA,OAAYK,KAAe,EAAE;IAAA,IAAAC,KAAA;IAAAC,eAAA,OAAAP,MAAA;IACzBM,KAAA,GAAAH,MAAA,CAAAK,IAAA,OAAMH,KAAK;IAEX,IACII,SAAS,GASTJ,KAAK,CATLI,SAAS;MACTC,SAAS,GAQTL,KAAK,CARLK,SAAS;MACTC,UAAU,GAOVN,KAAK,CAPLM,UAAU;MACVC,YAAY,GAMZP,KAAK,CANLO,YAAY;MACZC,SAAS,GAKTR,KAAK,CALLQ,SAAS;MACTC,aAAa,GAIbT,KAAK,CAJLS,aAAa;MACbC,oBAAoB,GAGpBV,KAAK,CAHLU,oBAAoB;MACpBC,iBAAiB,GAEjBX,KAAK,CAFLW,iBAAiB;MACjBC,gBAAgB,GAChBZ,KAAK,CADLY,gBAAgB;IAGpB,IAAMC,iBAAiB,GAAGT,SAAS,IAAI,CAACb,mBAAmB,CAACuB,UAAU,EAAEvB,mBAAmB,CAACwB,eAAe,EAAExB,mBAAmB,CAACyB,WAAW,EAAE5B,WAAW,CAAC;IAE1Ja,KAAA,CAAKgB,KAAK,GAAG9B,GAAG,CAAA+B,eAAA,KAAAA,eAAA,GAAAC,sBAAA,gnDAkCd9B,uBAAuB,CAACF,GAAG,CAAE;IAC/Bc,KAAA,CAAKgB,KAAK,GAAG3B,0BAA0B,CAACW,KAAA,CAAKgB,KAAK,EAAEJ,iBAAiB,CAAC;IAEtE,IAAMO,KAAgB,GAAG,CAAC,CAAC;IAE3BnB,KAAA,CAAKoB,cAAc,GAAG,CAAC,CAAC;IAExB,IAAIb,SAAS,KAAK,IAAI,EAAE;MACpB;MACAY,KAAK,CAACE,gBAAgB,GAAG,KAAK;MAC9BF,KAAK,CAACZ,SAAS,GAAG,EAAE;MACpBP,KAAA,CAAKoB,cAAc,CAACf,UAAU,GAAG,UAACiB,IAAI,EAAEC,IAAI,EAAK;QAC7CvB,KAAA,CAAKwB,QAAQ,CAAC,UAAAC,SAAS;UAAA,OAAK;YACxBlB,SAAS,EAAEgB,IAAI,MAAAG,MAAA,CAAAC,kBAAA,CACPF,SAAS,CAAClB,SAAS,IAAEe,IAAI,KAC7BG,SAAS,CAAClB,SAAS,CAACqB,MAAM,CAAC,UAAAC,QAAQ;cAAA,OAAIA,QAAQ,KAAKP,IAAI;YAAA;UAChE,CAAC;QAAA,CAAC,CAAC;MACP,CAAC;MAED,IAAIX,gBAAgB,EAAE;QAClBQ,KAAK,CAACZ,SAAS,GAAGP,KAAA,CAAK8B,iBAAiB,CAACnB,gBAAgB,EAAEP,SAAS,EAAEe,KAAK,CAACZ,SAAS,CAAC;MAC1F;IACJ,CAAC,MAAM;MACHY,KAAK,CAACE,gBAAgB,GAAG,IAAI;MAC7B,IAAIhB,UAAU,EAAE;QACZL,KAAA,CAAKoB,cAAc,CAACf,UAAU,GAAGA,UAAU;MAC/C;IACJ;IAEA,IAAIG,aAAa,KAAK,IAAI,EAAE;MACxB;MACAW,KAAK,CAACY,kBAAkB,GAAG,KAAK;MAChCZ,KAAK,CAACX,aAAa,GAAGC,oBAAoB,GAAGhB,KAAK,CAACgB,oBAAoB,CAAC,GAAG,EAAE;MAC7E;MACA,IAAIA,oBAAoB,IAAI,CAACU,KAAK,CAACE,gBAAgB,EAAE;QACjDF,KAAK,CAACZ,SAAS,GAAGP,KAAA,CAAK8B,iBAAiB,CAACrB,oBAAoB,EAAEL,SAAS,EAAEe,KAAK,CAACZ,SAAS,CAAC;MAC9F;MAEAP,KAAA,CAAKoB,cAAc,CAACd,YAAY,GAAG,UAACgB,IAAI,EAAEU,QAAQ,EAAEC,QAAQ,EAAK;QAC7DjC,KAAA,CAAKwB,QAAQ,CAAC,UAAAC,SAAS,EAAI;UACvB,IAAMS,gBAAgB,GAAGF,QAAQ,MAAAN,MAAA,CAAAC,kBAAA,CACxBM,QAAQ,GAAGR,SAAS,CAACjB,aAAa,GAAG,EAAE,IAAGc,IAAI,KACnDG,SAAS,CAACjB,aAAa,CAACoB,MAAM,CAAC,UAAAC,QAAQ;YAAA,OAAIA,QAAQ,KAAKP,IAAI;UAAA,EAAC;UACjEZ,iBAAiB,CAACwB,gBAAgB,CAAC;UACnC,OAAO;YACH1B,aAAa,EAAE0B;UACnB,CAAC;QACL,CAAC,CAAC;MACN,CAAC;IACL,CAAC,MAAM,IAAI5B,YAAY,EAAE;MACrBa,KAAK,CAACY,kBAAkB,GAAG,IAAI;MAC/B,IAAIzB,YAAY,EAAE;QACdN,KAAA,CAAKoB,cAAc,CAACd,YAAY,GAAGA,YAAY;MACnD;IACJ;IAEAN,KAAA,CAAKmB,KAAK,GAAGA,KAAK;;IAElB;IACAnB,KAAA,CAAKO,SAAS,GAAGP,KAAA,CAAKO,SAAS,CAAC4B,IAAI,CAAAC,sBAAA,CAAApC,KAAA,CAAK,CAAC;IAAC,OAAAA,KAAA;EAC/C;EAACqC,YAAA,CAAA3C,MAAA;IAAA4C,GAAA;IAAAC,KAAA,EAwBD,SAAAC,aAAahC,aAAuB,EAAED,SAAmB,EAAE;MACvD,IAAAkC,WAAA,GAAoE,IAAI,CAAC1C,KAAK;QAAvEK,SAAS,GAAAqC,WAAA,CAATrC,SAAS;QAAEsC,aAAa,GAAAD,WAAA,CAAbC,aAAa;QAAEC,eAAe,GAAAF,WAAA,CAAfE,eAAe;QAAEC,cAAc,GAAAH,WAAA,CAAdG,cAAc;MAEhE,IAAMC,IAAI,GAAG;QACTzC,SAAS,EAATA,SAAS;QACT0C,KAAK,EAAAnB,kBAAA,CAAM,IAAIoB,GAAG,IAAArB,MAAA,CAAAC,kBAAA,CAAKe,aAAa,GAAAf,kBAAA,CAAKgB,eAAe,EAAC,CAAC,CAAC;QAC3DK,UAAU,EAAEL,eAAe;QAC3BM,QAAQ,EAAEP,aAAa;QACvBnC,SAAS,EAATA;MACJ,CAAC;MAED,IAAIqC,cAAc,EAAE;QAChBM,MAAM,CAACC,MAAM,CAACN,IAAI,EAAED,cAAc,CAAC;MACvC;MAEA,OAAOC,IAAI;IACf;EAAC;IAAAP,GAAA;IAAAC,KAAA,EAED,SAAAa,iBAAiBC,IAAS,EAAE7C,aAAuB,EAAED,SAAmB,EAAE;MAAA,IAAA+C,MAAA;MACtE,IAAIC,aAAoB,GAAG,EAAE;MAC7B,IAAMC,SAAa,GAAG,CAAC,CAAC;MACxB,IAAOC,GAAG,GAAIJ,IAAI,CAAXI,GAAG;MAEV,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAaC,IAAQ,EAAEC,KAAY,EAAEC,KAAY,EAAE;QAC5D,IAAI7B,QAAQ,GAAG,KAAK;QACpB,IAAI2B,IAAI,CAACX,UAAU,EAAE;UACjBhB,QAAQ,GAAGxB,aAAa,CAACsD,OAAO,CAACH,IAAI,CAACrC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD;QAEA,IAAMyC,UAAU,GAAG;UACfC,IAAI,EAAEL,IAAI,CAACK,IAAI;UACf1C,IAAI,EAAEqC,IAAI,CAACrC,IAAI;UACfC,IAAI,EAAEoC,IAAI,CAACV,QAAQ,IAAI1C,SAAS,CAACuD,OAAO,CAACH,IAAI,CAACrC,IAAI,CAAC,KAAK,CAAC,CAAC;UAC1DU,QAAQ,EAARA,QAAQ;UACRiB,QAAQ,EAAEU,IAAI,CAACV,QAAQ;UACvBD,UAAU,EAAEW,IAAI,CAACX,UAAU;UAC3BY,KAAK,EAALA,KAAK;UACLK,MAAM,EAAE,QAAQ,CAACC,MAAM,CAACN,KAAK,GAAG,CAAC,CAAC;UAClCD,IAAI,EAAJA,IAAI;UACJQ,MAAM,EAAE,KAAK;UACbC,WAAW,EAAET,IAAI,CAACU,QAAQ,CAACC,QAAQ,CAACC,UAAU,GAAG;QACrD,CAAC;QACDhB,aAAa,CAACiB,MAAM,CAACX,KAAK,EAAE,CAAC,EAAEE,UAAU,CAAC;QAC1CP,SAAS,CAACG,IAAI,CAACc,IAAI,CAAC,GAAGV,UAAU;QACjC,OAAOA,UAAU;MACrB,CAAC;MAED,IAAIN,GAAG,EAAE;QACL,IAAIA,GAAG,CAACiB,SAAS,EAAE;UACfjB,GAAG,CAACiB,SAAS,CAACC,OAAO,CAAC,UAACC,QAAa,EAAK;YACrC,IAAMC,IAAI,GAAGnB,OAAO,CAACkB,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YACpCC,IAAI,CAACV,MAAM,GAAGb,MAAI,CAACvD,KAAK,CAAC+E,QAAQ,IAAI,KAAK;UAC9C,CAAC,CAAC;QACN;QAEA,IAAIrB,GAAG,CAACsB,SAAS,EAAE;UACftB,GAAG,CAACsB,SAAS,CAACrD,MAAM,CAAC,CAAC,CACjBsD,IAAI,CAAC,UAACC,CAAM,EAAEC,CAAM;YAAA,OAAMD,CAAC,CAAC3D,IAAI,GAAG4D,CAAC,CAAC5D,IAAI,GAAI,CAAC,GAAK4D,CAAC,CAAC5D,IAAI,GAAG2D,CAAC,CAAC3D,IAAI,GAAI,CAAC,CAAC,GAAG,CAAE;UAAA,EAAC,CAC9EqD,OAAO,CAAC,UAAChB,IAAS,EAAK;YACpB,IAAMwB,MAAM,GAAG3B,SAAS,CAACG,IAAI,CAACc,IAAI,CAAC;YACnC,IAAIU,MAAM,EAAE;cACR,IAAMC,WAAW,GAAG7B,aAAa,CAACO,OAAO,CAACqB,MAAM,CAAC;cACjDxB,IAAI,CAACU,QAAQ,CAACgB,KAAK,CAACC,KAAK,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAACZ,OAAO,CAAC,UAACa,KAAU,EAAK;gBAC1D9B,OAAO,CAAC8B,KAAK,EAAEL,MAAM,CAACvB,KAAK,GAAG,CAAC,EAAEwB,WAAW,GAAG,CAAC,CAAC;cACrD,CAAC,CAAC;YACN;UACJ,CAAC,CAAC;QACV;MACJ;;MAEA;MACA,IAAMK,aAAa,GAAGlC,aAAa,CAAC3B,MAAM,CAAC,UAAA+B,IAAI;QAAA,OAAIA,IAAI,CAAC3B,QAAQ;MAAA,EAAC,CAAC0D,GAAG,CAAC,UAAA/B,IAAI;QAAA,OAAIA,IAAI,CAACA,IAAI;MAAA,EAAC;MAExFnD,aAAa,GAAGiF,aAAa,CAACC,GAAG,CAAC,UAAAC,CAAC;QAAA,OAAIA,CAAC,CAACrE,IAAI;MAAA,EAAC;MAC9CiC,aAAa,GAAGA,aAAa,CAAC3B,MAAM,CAAC,UAAAmC,UAAU;QAAA,OAAI,CAACA,UAAU,CAACI,MAAM;MAAA,EAAC;MAEtE,OAAOZ,aAAa;IACxB;EAAC;IAAAjB,GAAA;IAAAC,KAAA,EAED,SAAAT,kBAAkB8D,WAAqB,EAAExF,SAAkB,EAAEG,SAAmB,EAAE;MAC9EqF,WAAW,CAACjB,OAAO,CAAC,UAAArD,IAAI,EAAI;QACxB,IAAIuE,SAAyB,GAAG,KAAK;QACrC,IAAI,CAACvE,IAAI,CAACwE,QAAQ,CAAC,GAAG,CAAC,EAAE;UACrBxE,IAAI,IAAI,GAAG;QACf;QAEA,IAAAyE,WAAA,GAAkBzE,IAAI,CAAC0E,KAAK,CAAC,GAAG,CAAC;UAAAC,YAAA,GAAAC,QAAA,CAAAH,WAAA;UAAvBI,IAAI,GAAAF,YAAA,CAAAX,KAAA;QACda,IAAI,CAACC,MAAM,CAAC,UAACC,GAAG,EAAEC,EAAE,EAAK;UACrB,IAAI,CAACT,SAAS,EAAE;YACZzF,SAAS,CAACuE,OAAO,CAAC,UAAA4B,QAAQ,EAAI;cAC1BV,SAAS,GAAGA,SAAS,IAAKQ,GAAG,CAACG,UAAU,CAACD,QAAQ,CAAC,IAAIA,QAAS;YACnE,CAAC,CAAC;UACN;UAEA,IAAIV,SAAS,IAAI,CAACtF,SAAS,CAACkG,QAAQ,CAACJ,GAAG,CAAC,EAAE;YACvC9F,SAAS,CAACmG,IAAI,CAACL,GAAG,CAAC;YACnB,IAAI,CAAC9F,SAAS,CAACkG,QAAQ,CAACZ,SAAS,CAAC,EAAE;cAChCtF,SAAS,CAACmG,IAAI,CAACb,SAAS,CAAC;YAC7B;UACJ;UAEA,OAAOQ,GAAG,GAAG,GAAG,GAAGC,EAAE;QACzB,CAAC,EAAE,EAAE,CAAC;MACV,CAAC,CAAC;MACF,OAAO/F,SAAS;IACpB;EAAC;IAAA+B,GAAA;IAAAC,KAAA,EAED,SAAAhC,UAAUoG,KAAe,EAAE;MAAA,IAAAC,MAAA;MACvB,IAAI,EAAED,KAAK,YAAYE,KAAK,CAAC,EAAE;QAC3BF,KAAK,GAAG,CAACA,KAAK,CAAC;MACnB;MAEA,IAAI,CAACnF,QAAQ,CAAC,UAAAC,SAAS,EAAI;QACvB,IAAMlB,SAAS,GAAGqG,MAAI,CAAC9E,iBAAiB,CAAC6E,KAAK,EAAEC,MAAI,CAAC7G,KAAK,CAACK,SAAS,EAAEqB,SAAS,CAAClB,SAAS,CAAC;QAC1F,OAAO;UAACA,SAAS,EAATA;QAAS,CAAC;MACtB,CAAC,CAAC;IACN;EAAC;IAAA+B,GAAA;IAAAC,KAAA,EAED,SAAAuE,OAAA,EAAS;MAAA,IAAAC,MAAA;MACL,IAAMvG,aAAa,GAAG,IAAI,CAACW,KAAK,CAACX,aAAa,GAAG,IAAI,CAACW,KAAK,CAACX,aAAa,GAAG,IAAI,CAACT,KAAK,CAACS,aAAa;MACpG,IAAID,SAAS,GAAG,IAAI,CAACY,KAAK,CAACZ,SAAS,GAAG,IAAI,CAACY,KAAK,CAACZ,SAAS,GAAG,IAAI,CAACR,KAAK,CAACQ,SAAS;MAClF,IAAOyG,UAAU,GAAI,IAAI,CAACjH,KAAK,CAAxBiH,UAAU;MAEjBzG,SAAS,GAAGd,KAAK,CAACc,SAAS,CAAC;MAE5B,IAAMsC,IAAI,GAAG,IAAI,CAACL,YAAY,CAAChC,aAAa,EAAED,SAAS,CAAC;MAExD,oBACIvB,KAAA,CAAAiI,aAAA,CAAChI,KAAK;QAAC+B,KAAK,EAAE,IAAI,CAACA,KAAM;QAACkG,SAAS,EAAErE,IAAK;QAACsE,WAAW,EAAC;MAAa,GAC/D,UAACC,MAAmB,EAAwB;QACzC,IAAOC,KAAK,GAA4BD,MAAM,CAAvCC,KAAK;UAAEC,OAAO,GAAmBF,MAAM,CAAhCE,OAAO;UAAEjE,IAAI,GAAa+D,MAAM,CAAvB/D,IAAI;UAAEkE,OAAO,GAAIH,MAAM,CAAjBG,OAAO;QACpC,IAAIP,UAAU,EAAE;UACZA,UAAU,CAAC;YACPhG,KAAK,EAAE+F,MAAI,CAAC/F,KAAK;YACjBwG,WAAW,EAAE3E,IAAI;YACjB0E,OAAO,EAAPA;UACJ,CAAC,CAAC;QACN;QAEA,IAAME,UAAU,GAAGV,MAAI,CAAChH,KAAK,CAACsE,QAAQ;QACtC,IAAI0C,MAAI,CAAChH,KAAK,CAAC2H,SAAS,EAAE;UACtBX,MAAI,CAAChH,KAAK,CAAC2H,SAAS,CAACJ,OAAO,CAAC;QACjC;QAEA,IAAIA,OAAO,EAAE;UACT,IAAIP,MAAI,CAACY,eAAe,EAAE;YACtB,OAAOF,UAAU,CAAAG,aAAA;cAAErE,aAAa,EAAEwD,MAAI,CAACY,eAAe;cAAEL,OAAO,EAAPA;YAAO,GAAKP,MAAI,CAAC3F,cAAc,CAAC,CAAC;UAC7F;UAEA,OAAOqG,UAAU,CAAAG,aAAA;YAAErE,aAAa,EAAE,EAAE;YAAE+D,OAAO,EAAPA;UAAO,GAAKP,MAAI,CAAC3F,cAAc,CAAC,CAAC;QAC3E;QAEA,IAAIiG,KAAK,EAAE;UACP,OAAOI,UAAU,CAAAG,aAAA;YAAErE,aAAa,EAAE,EAAE;YAAE8D,KAAK,EAALA,KAAK;YAAEC,OAAO,EAAPA;UAAO,GAAKP,MAAI,CAAC3F,cAAc,CAAC,CAAC;QAClF;QAEA,IAAMmC,aAAa,GAAGwD,MAAI,CAAC3D,gBAAgB,CAACC,IAAI,EAAE7C,aAAa,EAAED,SAAS,CAAC;QAC3EwG,MAAI,CAACY,eAAe,GAAGpE,aAAa;QAEpC,OAAOkE,UAAU,CAAAG,aAAA;UAAErE,aAAa,EAAbA,aAAa;UAAE+D,OAAO,EAAPA;QAAO,GAAKP,MAAI,CAAC3F,cAAc,CAAC,CAAC;MACvE,CACG,CAAC;IAEhB;EAAC;IAAAkB,GAAA;IAAAC,KAAA,EAzLD,SAAAsF,yBAAgCC,SAAmB,EAAErG,SAAoB,EAAE;MACvE,IAAKA,SAAS,CAACJ,gBAAgB,MAAMyG,SAAS,CAACvH,SAAS,KAAK,IAAI,CAAC,IAAMkB,SAAS,CAACM,kBAAkB,MAAM+F,SAAS,CAACtH,aAAa,KAAK,IAAI,CAAE,EAAE;QAC1IuH,OAAO,CAACC,IAAI,CAAC,qDAAqD,CAAC;MACvE;MAEA,IAAMC,QAAmB,GAAG,CAAC,CAAC;MAE9B,IAAIxG,SAAS,CAACJ,gBAAgB,IAAI,CAAC7B,UAAU,CAACsI,SAAS,CAACvH,SAAS,EAAEkB,SAAS,CAAClB,SAAS,CAAC,EAAE;QACrF0H,QAAQ,CAAC1H,SAAS,GAAGuH,SAAS,CAACvH,SAAS;MAC5C;MAEA,IAAIkB,SAAS,CAACM,kBAAkB,IAAI,CAACvC,UAAU,CAACsI,SAAS,CAACtH,aAAa,EAAEiB,SAAS,CAACjB,aAAa,CAAC,EAAE;QAC/FyH,QAAQ,CAACzH,aAAa,GAAGsH,SAAS,CAACtH,aAAa;MACpD;MAEA,IAAIyH,QAAQ,CAAC1H,SAAS,IAAI0H,QAAQ,CAACzH,aAAa,EAAE;QAC9C,OAAOyH,QAAQ;MACnB;MAEA,OAAO,IAAI;IACf;EAAC;EAAA,OAAAvI,MAAA;AAAA,EA1IuBV,KAAK,CAACkJ,SAAS;AAgT1CC,eAAA,CAhTYzI,MAAM;EAAA;AACnB;AACA;EAxEIS,SAAS,EAAAiI,GAAA,CAAAC,KAAA;EAAA;AACb;AACA;EAGIjI,SAAS,EAAAgI,GAAA,CAAAE,OAAA,CAAAF,GAAA,CAAAG,MAAA;EAETlI,UAAU,EAAA+H,GAAA,CAAAI,IAAA;EAEVlI,YAAY,EAAA8H,GAAA,CAAAI,IAAA;EAAA;AAChB;AACA;EAGIjI,SAAS,EAAA6H,GAAA,CAAAE,OAAA,CAAAF,GAAA,CAAAG,MAAA;EAAA;AACb;AACA;EAGI/H,aAAa,EAAA4H,GAAA,CAAAE,OAAA,CAAAF,GAAA,CAAAG,MAAA;EAAA;AACjB;AACA;EAGI9H,oBAAoB,EAAA2H,GAAA,CAAAE,OAAA,CAAAF,GAAA,CAAAG,MAAA;EAAA;AACxB;AACA;EAGI7H,iBAAiB,EAAA0H,GAAA,CAAAI,IAAA;EAAA;AACrB;AACA;EAGI7H,gBAAgB,EAAAyH,GAAA,CAAAE,OAAA,CAAAF,GAAA,CAAAG,MAAA;EAAA;AACpB;AACA;EAGI7F,aAAa,EAAA0F,GAAA,CAAAE,OAAA,CAAAF,GAAA,CAAAG,MAAA;EAAA;AACjB;AACA;EAGI5F,eAAe,EAAAyF,GAAA,CAAAE,OAAA,CAAAF,GAAA,CAAAG,MAAA;EAEfb,SAAS,EAAAU,GAAA,CAAAI,IAAA,CAAAC,UAAA;EAAA;AACb;AACA;EAGI7F,cAAc,EAAAwF,GAAA,CAAAM,QAAA,CAAAN,GAAA,CAAAO,GAAA;EAEd7D,QAAQ,EAAAsD,GAAA,CAAAQ,IAAA;EAAA;AACZ;AACA;EAGI5B,UAAU,EAAAoB,GAAA,CAAAI,IAAA,CAAAC,UAAA;EAEVpE,QAAQ,EAAA+D,GAAA,CAAAI,IAAA,CAAAC;AAAA"}
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","Boolean","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) {\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) {\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 !== Boolean(nextProps.openPaths)) || (prevState.isSelectControlled !== Boolean(nextProps.selectedPaths))) {\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.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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"}
@@ -51,7 +51,7 @@ var Picker = /*#__PURE__*/function (_React$Component) {
51
51
  _this.query = (0, _fragments.replaceFragmentsInDocument)(_this.query, resolvedFragments);
52
52
  var state = {};
53
53
  _this.eventsHandlers = {};
54
- if (openPaths === null) {
54
+ if (!openPaths) {
55
55
  // Uncontrolled mode
56
56
  state.isOpenControlled = false;
57
57
  state.openPaths = [];
@@ -73,7 +73,7 @@ var Picker = /*#__PURE__*/function (_React$Component) {
73
73
  _this.eventsHandlers.onOpenItem = onOpenItem;
74
74
  }
75
75
  }
76
- if (selectedPaths === null) {
76
+ if (!selectedPaths) {
77
77
  // Uncontrolled mode
78
78
  state.isSelectControlled = false;
79
79
  state.selectedPaths = defaultSelectedPaths ? clone(defaultSelectedPaths) : [];
@@ -236,7 +236,7 @@ var Picker = /*#__PURE__*/function (_React$Component) {
236
236
  value: function render() {
237
237
  var _this4 = this;
238
238
  var selectedPaths = this.state.selectedPaths ? this.state.selectedPaths : this.props.selectedPaths;
239
- var openPaths = this.state.openPaths ? this.state.openPaths : this.props.openPaths;
239
+ var openPaths = this.state.openPaths || this.props.openPaths;
240
240
  var setRefetch = this.props.setRefetch;
241
241
  openPaths = clone(openPaths);
242
242
  var vars = this.getVariables(selectedPaths, openPaths);
@@ -290,7 +290,7 @@ var Picker = /*#__PURE__*/function (_React$Component) {
290
290
  }], [{
291
291
  key: "getDerivedStateFromProps",
292
292
  value: function getDerivedStateFromProps(nextProps, prevState) {
293
- if (prevState.isOpenControlled !== (nextProps.openPaths !== null) || prevState.isSelectControlled !== (nextProps.selectedPaths !== null)) {
293
+ if (prevState.isOpenControlled !== Boolean(nextProps.openPaths) || prevState.isSelectControlled !== Boolean(nextProps.selectedPaths)) {
294
294
  console.warn('Cannot change between controlled/uncontrolled modes');
295
295
  }
296
296
  var newState = {};
@@ -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":["// 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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"}
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) {\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) {\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 !== Boolean(nextProps.openPaths)) || (prevState.isSelectControlled !== Boolean(nextProps.selectedPaths))) {\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.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.3",
3
+ "version": "1.1.4",
4
4
  "scripts": {
5
5
  "compile:js": "node ./build.mjs",
6
6
  "build": "yarn tsc && yarn compile:js",