Skip to content

Commit

Permalink
fix for members popup (after refactoring)
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Sep 12, 2018
1 parent db944f3 commit f27e8ad
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 22 deletions.
Expand Up @@ -219,6 +219,7 @@ public WebMarkupContainer createPanel(String panelId) {

@Override
protected void onSelectionPerformed(AjaxRequestTarget target, IModel<SelectableBean<OrgType>> rowModel){
selectedOrgsListUpdate(rowModel);
tabLabelPanelUpdate(target);
}

Expand Down Expand Up @@ -262,7 +263,8 @@ protected T getAbstractRoleTypeObject(){
}

@Override
protected void onOrgTreeCheckBoxSelectionPerformed(AjaxRequestTarget target){
protected void onSelectionPerformed(AjaxRequestTarget target, IModel<SelectableBean<OrgType>> rowModel){
selectedOrgsListUpdate(rowModel);
tabLabelPanelUpdate(target);
}

Expand Down Expand Up @@ -342,6 +344,17 @@ protected ObjectQuery createInOidQuery(List<ObjectType> selectedObjectsList){
return ObjectQuery.createObjectQuery(InOidFilter.createInOid(oids));
}

private void selectedOrgsListUpdate(IModel<SelectableBean<OrgType>> rowModel){
if (rowModel == null){
return;
}
if (rowModel.getObject().isSelected()){
selectedOrgsList.add(rowModel.getObject().getValue());
} else {
selectedOrgsList.removeIf((OrgType org) -> org.getOid().equals(rowModel.getObject().getValue().getOid()));
}
}

private IModel<String> getAddButtonTitleModel(){
return new LoadableModel<String>(true) {
@Override
Expand Down
Expand Up @@ -50,25 +50,7 @@ ID_ORG_TREE_VIEW_PANEL, true, getPageBase()) {

@Override
protected void onOrgTreeCheckBoxSelectionPerformed(AjaxRequestTarget target, IModel<SelectableBean<OrgType>> rowModel) {
if (rowModel != null && rowModel.getObject() != null) {
List<OrgType> preselectedObjects = getPreselectedObjects();
if (preselectedObjects == null) {
preselectedObjects = new ArrayList<>();
}
boolean isAlreadyInList = false;
Iterator<OrgType> it = preselectedObjects.iterator();
while (it.hasNext()){
OrgType org = it.next();
if (org.getOid().equals(rowModel.getObject().getValue().getOid())) {
isAlreadyInList = true;
it.remove();
}
}
if (!isAlreadyInList){
preselectedObjects.add(rowModel.getObject().getValue());
}
}
OrgTreeMemberPopupTabPanel.this.onOrgTreeCheckBoxSelectionPerformed(target);
onSelectionPerformed(target, rowModel);
}

@Override
Expand Down Expand Up @@ -99,6 +81,4 @@ protected List<OrgType> getSelectedObjectsList(){
protected ObjectTypes getObjectType(){
return ObjectTypes.ORG;
}

protected void onOrgTreeCheckBoxSelectionPerformed(AjaxRequestTarget target){}
}

0 comments on commit f27e8ad

Please sign in to comment.