Skip to content

Commit

Permalink
MID-2824
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Mar 4, 2016
1 parent 3541736 commit b4fe35f
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 31 deletions.
Expand Up @@ -66,6 +66,8 @@ public abstract class AbstractTreeTablePanel extends SimplePanel<String> {

protected static final int CONFIRM_DELETE = 0;
protected static final int CONFIRM_DELETE_ROOT = 1;
protected static final int CONFIRM_DELETE_MANAGER = 2;
protected static final int CONFIRM_DELETE_MEMBER = 3;

protected static final String DOT_CLASS = AbstractTreeTablePanel.class.getName() + ".";
protected static final String OPERATION_DELETE_OBJECTS = DOT_CLASS + "deleteObjects";
Expand Down
Expand Up @@ -149,6 +149,8 @@ public void yesPerformed(AjaxRequestTarget target) {

switch (getConfirmType()) {
case CONFIRM_DELETE:
case CONFIRM_DELETE_MANAGER:
case CONFIRM_DELETE_MEMBER:
deleteConfirmedPerformed(target);
break;
case CONFIRM_DELETE_ROOT:
Expand Down Expand Up @@ -491,6 +493,12 @@ public String getObject() {
case CONFIRM_DELETE:
return createStringResource("TreeTablePanel.message.deleteObjectConfirm",
WebComponentUtil.getSelectedData(getOrgChildTable()).size()).getString();
case CONFIRM_DELETE_MANAGER:
return createStringResource("TreeTablePanel.message.deleteObjectConfirm",
WebComponentUtil.getSelectedData(getManagerTable()).size()).getString();
case CONFIRM_DELETE_MEMBER:
return createStringResource("TreeTablePanel.message.deleteObjectConfirm",
WebComponentUtil.getSelectedData(getMemberTable()).size()).getString();
case CONFIRM_DELETE_ROOT:
OrgTreeDto dto = getRootFromProvider();

Expand Down Expand Up @@ -642,31 +650,31 @@ public void onClick(AjaxRequestTarget target) {

@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
updateActivationPerformed(target, true);
updateActivationPerformed(getOrgChildTable(), target, true);
}
}));
headerMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.disable"), true,
new HeaderMenuAction(this) {

@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
updateActivationPerformed(target, false);
updateActivationPerformed(getOrgChildTable(), target, false);
}
}));
headerMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.move"), true,
new HeaderMenuAction(this) {

@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
movePerformed(target, OrgUnitBrowser.Operation.MOVE);
movePerformed(getOrgChildTable(), target, OrgUnitBrowser.Operation.MOVE);
}
}));
headerMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.delete"), true,
new HeaderMenuAction(this) {

@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
deletePerformed(target);
deletePerformed(getOrgChildTable(), target);
}
}));

Expand All @@ -675,7 +683,7 @@ public void onSubmit(AjaxRequestTarget target, Form<?> form) {

@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form){
recomputePerformed(target, OrgUnitBrowser.Operation.RECOMPUTE);
recomputePerformed(getOrgChildTable(), target, OrgUnitBrowser.Operation.RECOMPUTE);
}
}));

Expand All @@ -699,23 +707,23 @@ public void onClick(AjaxRequestTarget target) {

@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
updateActivationPerformed(target, true);
updateActivationPerformed(getMemberTable(), target, true);
}
}));
headerMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.disable"), true,
new HeaderMenuAction(this) {

@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
updateActivationPerformed(target, false);
updateActivationPerformed(getMemberTable(), target, false);
}
}));
headerMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.delete"), true,
new HeaderMenuAction(this) {

@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
deletePerformed(target);
deletePerformed(getMemberTable(), target);
}
}));

Expand All @@ -724,7 +732,7 @@ public void onSubmit(AjaxRequestTarget target, Form<?> form) {

@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form){
recomputePerformed(target, OrgUnitBrowser.Operation.RECOMPUTE);
recomputePerformed(getMemberTable(), target, OrgUnitBrowser.Operation.RECOMPUTE);
}
}));

Expand All @@ -748,23 +756,23 @@ public void onClick(AjaxRequestTarget target) {

@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
updateActivationPerformed(target, true);
updateActivationPerformed(getManagerTable(), target, true);
}
}));
headerMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.disable"), true,
new HeaderMenuAction(this) {

@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
updateActivationPerformed(target, false);
updateActivationPerformed(getManagerTable(), target, false);
}
}));
headerMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.delete"), true,
new HeaderMenuAction(this) {

@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
deletePerformed(target);
deletePerformed(getManagerTable(), target);
}
}));

Expand All @@ -773,7 +781,7 @@ public void onSubmit(AjaxRequestTarget target, Form<?> form) {

@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form){
recomputePerformed(target, OrgUnitBrowser.Operation.RECOMPUTE);
recomputePerformed(getManagerTable(),target, OrgUnitBrowser.Operation.RECOMPUTE);
}
}));

Expand Down Expand Up @@ -861,8 +869,8 @@ private PrismObject<UserType> addUserPerformed(AjaxRequestTarget target, UserTyp
/**
* This method check selection in table.
*/
private List<OrgTableDto> isAnythingSelected(AjaxRequestTarget target) {
List<OrgTableDto> objects = WebComponentUtil.getSelectedData(getOrgChildTable());
private List<OrgTableDto> isAnythingSelected(TablePanel table, AjaxRequestTarget target) {
List<OrgTableDto> objects = WebComponentUtil.getSelectedData(table);
if (objects.isEmpty()) {
warn(getString("TreeTablePanel.message.nothingSelected"));
target.add(getPageBase().getFeedbackPanel());
Expand All @@ -871,19 +879,40 @@ private List<OrgTableDto> isAnythingSelected(AjaxRequestTarget target) {
return objects;
}

private void deletePerformed(AjaxRequestTarget target) {
List<OrgTableDto> objects = isAnythingSelected(target);
private void deletePerformed(TablePanel table, AjaxRequestTarget target) {
List<OrgTableDto> objects = isAnythingSelected(table, target);
if (objects.isEmpty()) {
return;
}

ConfirmationDialog dialog = (ConfirmationDialog) get(ID_CONFIRM_DELETE_POPUP);
dialog.setConfirmType(CONFIRM_DELETE);
if (table.getId().equals(ID_CHILD_TABLE)) {
dialog.setConfirmType(CONFIRM_DELETE);
} else if (table.getId().equals(ID_MANAGER_TABLE)){
dialog.setConfirmType(CONFIRM_DELETE_MANAGER);
} else if (table.getId().equals(ID_MEMBER_TABLE)){
dialog.setConfirmType(CONFIRM_DELETE_MEMBER);
}
dialog.show(target);
}

private void deleteConfirmedPerformed(AjaxRequestTarget target) {
List<OrgTableDto> objects = isAnythingSelected(target);
TablePanel table;
ConfirmationDialog dialog = (ConfirmationDialog) TreeTablePanel.this.get(ID_CONFIRM_DELETE_POPUP);
switch (dialog.getConfirmType()) {
case CONFIRM_DELETE:
table = getOrgChildTable();
break;
case CONFIRM_DELETE_MANAGER:
table = getManagerTable();
break;
case CONFIRM_DELETE_MEMBER:
table = getMemberTable();
break;
default:
table = getOrgChildTable();
}
List<OrgTableDto> objects = isAnythingSelected(table, target);
if (objects.isEmpty()) {
return;
}
Expand All @@ -908,14 +937,14 @@ private void deleteConfirmedPerformed(AjaxRequestTarget target) {
refreshTable(target);
}

private void movePerformed(AjaxRequestTarget target, OrgUnitBrowser.Operation operation) {
movePerformed(target, operation, null, false);
private void movePerformed(TablePanel table, AjaxRequestTarget target, OrgUnitBrowser.Operation operation) {
movePerformed(table, target, operation, null, false);
}

private void movePerformed(AjaxRequestTarget target, OrgUnitBrowser.Operation operation, OrgTableDto selected, boolean movingRoot) {
private void movePerformed(TablePanel table, AjaxRequestTarget target, OrgUnitBrowser.Operation operation, OrgTableDto selected, boolean movingRoot) {
List<OrgTableDto> objects;
if (selected == null) {
objects = isAnythingSelected(target);
objects = isAnythingSelected(table, target);
if (objects.isEmpty()) {
return;
}
Expand Down Expand Up @@ -1176,11 +1205,11 @@ private void expandAllPerformed(AjaxRequestTarget target) {
private void moveRootPerformed(AjaxRequestTarget target) {
OrgTreeDto root = getRootFromProvider();
OrgTableDto dto = new OrgTableDto(root.getOid(), root.getType());
movePerformed(target, OrgUnitBrowser.Operation.MOVE, dto, true);
movePerformed(getOrgChildTable(), target, OrgUnitBrowser.Operation.MOVE, dto, true);
}

private void updateActivationPerformed(AjaxRequestTarget target, boolean enable) {
List<OrgTableDto> objects = isAnythingSelected(target);
private void updateActivationPerformed(TablePanel table, AjaxRequestTarget target, boolean enable) {
List<OrgTableDto> objects = isAnythingSelected(table, target);
if (objects.isEmpty()) {
return;
}
Expand Down Expand Up @@ -1223,17 +1252,17 @@ protected void refreshTable(AjaxRequestTarget target) {
private void recomputeRootPerformed(AjaxRequestTarget target, OrgUnitBrowser.Operation operation){
OrgTreeDto root = getRootFromProvider();
OrgTableDto dto = new OrgTableDto(root.getOid(), root.getType());
recomputePerformed(target, operation, dto);
recomputePerformed(null, target, operation, dto);
}

private void recomputePerformed(AjaxRequestTarget target, OrgUnitBrowser.Operation operation){
recomputePerformed(target, operation, null);
private void recomputePerformed(TablePanel table, AjaxRequestTarget target, OrgUnitBrowser.Operation operation){
recomputePerformed(table, target, operation, null);
}

private void recomputePerformed(AjaxRequestTarget target, OrgUnitBrowser.Operation operation, OrgTableDto orgDto){
private void recomputePerformed(TablePanel table, AjaxRequestTarget target, OrgUnitBrowser.Operation operation, OrgTableDto orgDto){
List<OrgTableDto> objects;
if (orgDto == null) {
objects = isAnythingSelected(target);
objects = isAnythingSelected(table, target);
if (objects.isEmpty()) {
return;
}
Expand Down

0 comments on commit b4fe35f

Please sign in to comment.