Project

General

Profile

« Previous | Next » 

Revision 845c419a

Added by Andreas Kohlbecker over 6 years ago

fixing issued with edit button in ToManyRelatedEntitiesListSelect

View differences:

src/main/java/eu/etaxonomy/cdm/vaadin/view/name/TaxonNamePopupEditor.java
277 277
        basionymCombobox.setConverter(new SetToListConverter<TaxonName>());
278 278
        addField(basionymCombobox, "basionyms", 0, row, 3, row);
279 279
        basionymCombobox.setWidth(100, Unit.PERCENTAGE);
280
        basionymCombobox.withEditButton(true);
280 281
        grid.setComponentAlignment(basionymCombobox, Alignment.TOP_RIGHT);
281 282
        row++;
282 283
        basionymAuthorshipField = new TeamOrPersonField("Basionym author(s)");
src/main/java/eu/etaxonomy/vaadin/component/ToManyRelatedEntitiesComboboxSelect.java
83 83
     */
84 84
    @Override
85 85
    protected ClickListener newEditButtonClicklistener(LazyComboBox<V> field) {
86
        // TODO Auto-generated method stub
87 86
        return super.newEditButtonClicklistener(field);
88 87
    }
89 88

  
......
92 91
     */
93 92
    @Override
94 93
    protected ClickListener newAddButtonClicklistener(LazyComboBox<V> field) {
95
        // TODO Auto-generated method stub
96 94
        return super.newAddButtonClicklistener(field);
97 95
    }
98 96

  
......
101 99
     */
102 100
    @Override
103 101
    protected ClickListener newRemoveButtonClicklistener(LazyComboBox<V> field) {
104
        // TODO Auto-generated method stub
105 102
        return super.newRemoveButtonClicklistener(field);
106 103
    }
107 104

  
src/main/java/eu/etaxonomy/vaadin/component/ToManyRelatedEntitiesListSelect.java
239 239
        }
240 240

  
241 241
        createFieldsForData();
242

  
243 242
    }
244 243

  
245 244
    private void createFieldsForData(){
......
256 255
                row = addNewRow(row, val);
257 256
            }
258 257
        }
259

  
260 258
    }
261 259

  
262 260
    /**
......
372 370
            boolean isFirst = row == 0;
373 371
            boolean isLast = row == fieldsCount - 1;
374 372

  
373
            F field = (F) grid.getComponent(GRID_X_FIELD, row);
375 374
            CssLayout buttonGroup = (CssLayout) grid.getComponent(GRID_X_FIELD + 1, row);
376 375

  
376
            int addButtonIndex = 0;
377
            if(withEditButton){
378
                addButtonIndex++;
379
                // edit
380
                buttonGroup.getComponent(0).setEnabled(field.getValue() != null);
381
            }
377 382
            // add
378
            buttonGroup.getComponent(0).setEnabled(isLast || isOrderedCollection);
383
            buttonGroup.getComponent(addButtonIndex).setEnabled(isLast || isOrderedCollection);
379 384
            // remove
380
            buttonGroup.getComponent(1).setEnabled(!isFirst);
385
            buttonGroup.getComponent(addButtonIndex + 1).setEnabled(!isFirst);
381 386
            // up
382
            if(buttonGroup.getComponentCount() > 2){
383
                buttonGroup.getComponent(2).setEnabled(!isFirst);
387
            if(isOrderedCollection){
388
                buttonGroup.getComponent(addButtonIndex + 2).setEnabled(!isFirst);
384 389
                // down
385
                buttonGroup.getComponent(3).setEnabled(!isLast);
390
                buttonGroup.getComponent(addButtonIndex + 3).setEnabled(!isLast);
386 391
            }
387 392
        }
388 393
    }
......
571 576
    public void setReadOnly(boolean readOnly) {
572 577
        super.setReadOnly(readOnly);
573 578
        setDeepReadOnly(readOnly, getContent());
579
        updateButtonStates();
574 580
    }
575 581

  
576 582
}

Also available in: Unified diff