Rock icon indicating copy to clipboard operation
Rock copied to clipboard

Group Picker Select All Children with Nested Levels

Open SteveSwaringen opened this issue 6 years ago • 0 comments

Description

When using a Group Picker (probably any Item Picker) with nested levels, using the double-chevron to select all children from a grandparent or higher level with all progeny collapsed results in a perpetual spinning wheel that never returns [UPDATE: unless you double-click it].

The bug may be in rockTree.js in the fetchAllChildNodes block.

Steps to Reproduce

  1. Go to RockSolidChurchDemo. Create a nested set of groups. https://user-images.githubusercontent.com/45042927/61831314-1a573a00-ae33-11e9-9133-f109f8e2689d.pngNOTE: You must set up at least two sub-level-folders under the top level folder.
  2. Go to Data Views. Pick a person type data view, edit and add a filter. Set the filter type to "In Groups" https://user-images.githubusercontent.com/45042927/61831421-699d6a80-ae33-11e9-9208-d4d5255fffbb.png
  3. Without expanding the parent, use the double-chevron to select all children. https://user-images.githubusercontent.com/45042927/61831485-95205500-ae33-11e9-8e32-bf8175b9551a.png
  4. Note the spinning wheel that never returns.

Expected behavior:

The tree should be fully expanded, and all progeny selected.

Actual behavior:

Spinning wheel and non-responsive group picker.

I suspect the bug is in rockTree.js in the fetchAllChildNodes block and is related to the deferred handling of the inProgress queue when the first level down is treated both as a child of the top parent (in the getChildren sub-function) and as a parent itself (in the findAllChildnodes outer function) as the same node id is added to and deleted from the queue twice. Not 100% sure of that. Only that it doesn't work.

Versions

  • Rock Version: 8.8
  • Client Culture Setting: en-US

SteveSwaringen avatar Jul 24 '19 22:07 SteveSwaringen