Project

General

Profile

« Previous | Next » 

Revision 064a8014

Added by pplitzner over 4 years ago

ref #8450 Fix initial expansion state when refreshing matrix

View differences:

eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/CharacterMatrix.java
231 231

  
232 232
    void toggleTreeFlat(boolean isTree, Button btnToggleFlat, Button btnToggleTree, Button btnCollapseAll, Button btnExpandAll, Button btnFreezeSuppInfo) {
233 233
        isTreeView = isTree;
234
        createTable(isTree, freezeLayer.isFrozen());
234
        createTable(isTree, freezeLayer.isFrozen(), true);
235 235
        btnToggleFlat.setEnabled(isTree);
236 236
        btnToggleTree.setEnabled(!isTree);
237 237
        btnCollapseAll.setEnabled(isTree);
......
242 242
        return isTreeView;
243 243
    }
244 244

  
245
    public void createTable(boolean treeView, boolean freezeSupplementalColumns){
245
    public void createTable(boolean treeView, boolean freezeSupplementalColumns, boolean isInitialExpandToDeepestTaxonLevel){
246 246
        /**
247 247
         * layers
248 248
         */
......
279 279
        natTable.doCommand(new ClientAreaResizeCommand(natTable));
280 280

  
281 281
        // expand all taxa
282
        Integer deepestTaxonLevel = treeFormat.getDeepestTaxonLevel();
283
        if(deepestTaxonLevel!=null){
284
            natTable.doCommand(new TreeExpandToLevelCommand(deepestTaxonLevel-2));
282
        if(isInitialExpandToDeepestTaxonLevel){
283
            Integer deepestTaxonLevel = treeFormat.getDeepestTaxonLevel();
284
            if(deepestTaxonLevel!=null){
285
                natTable.doCommand(new TreeExpandToLevelCommand(deepestTaxonLevel-2));
286
            }
285 287
        }
286 288

  
287 289
        // clean up table state
......
652 654
        propertyToLabelMap.put(property, label);
653 655
    }
654 656

  
655
    public void loadDescriptions(UUID descriptiveDataSetUuid) {
657
    public void loadDescriptions(UUID descriptiveDataSetUuid, boolean isInitialExpandToDeepestTaxonLevel) {
656 658
        UUID monitorUuid =  CdmApplicationState.getLongRunningTasksService().monitGetRowWrapper(descriptiveDataSetUuid);
657 659

  
658 660
        final Collection<RowWrapperDTO> wrappers = new ArrayList<>();
......
704 706
                    }
705 707
                    descriptions.clear();
706 708
                    wrappers.stream().filter(row->row.getTaxonNode()!=null).forEach(wrapper->CharacterMatrix.this.descriptions.add(wrapper));
707
                    loadingDone();
709
                    loadingDone(isInitialExpandToDeepestTaxonLevel);
708 710
                });
709 711
            }
710 712
        });
......
722 724
        return new StructuredSelection(selectedObjects);
723 725
    }
724 726

  
725
    private void loadingDone() {
727
    private void loadingDone(boolean isInitialExpandToDeepestTaxonLevel) {
726 728
        this.part.loadingDone();
727
        createTable(isTreeView, freezeLayer.isFrozen());
729
        createTable(isTreeView, freezeLayer.isFrozen(), isInitialExpandToDeepestTaxonLevel);
728 730
    }
729 731

  
730 732
    public List<TermDto> getSupportedStatesForCategoricalFeature(Feature feature){
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/CharacterMatrixBottomToolbar.java
216 216
                    dataSet = matrix.getCdmEntitiySession().load(dataSet, true);
217 217
                    // update local dataset
218 218
                    matrix.setDescriptiveDataSet(dataSet);
219
                    matrix.loadDescriptions(descriptiveDataSetUuid);
219
                    matrix.loadDescriptions(descriptiveDataSetUuid, false);
220 220
                }
221 221
            } catch (InterruptedException e) {
222 222
                return;
......
266 266
                    dataSet = matrix.getCdmEntitiySession().load(dataSet, true);
267 267
                    // update local dataset
268 268
                    matrix.setDescriptiveDataSet(dataSet);
269
                    matrix.loadDescriptions(descriptiveDataSetUuid);
269
                    matrix.loadDescriptions(descriptiveDataSetUuid, false);
270 270
                }
271 271
            } catch (InterruptedException e) {
272 272
                return;
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/CharacterMatrixPart.java
137 137
                return;
138 138
            }
139 139
            matrix.initDescriptiveDataSet();
140
            matrix.createTable(treeView, true);
140
            matrix.createTable(treeView, true, true);
141 141
            thisPart.setLabel(descriptiveDataSet.getLabel());
142
            matrix.loadDescriptions(descriptiveDataSetUuid);
142
            matrix.loadDescriptions(descriptiveDataSetUuid, true);
143 143
        }
144 144
    }
145 145

  

Also available in: Unified diff