Objects/employees returned from the AC-comp is not erased when a user cancels the dialog.
This commit is contained in:
parent
aa22f41c41
commit
eab085f589
src/main/java/se/su/dsv/scipro/admin/panels
@ -41,32 +41,33 @@ public class ManualMatchPanel extends Panel {
|
||||
|
||||
private Fragment currentFragment;
|
||||
private Fragment alternateFragment;
|
||||
private AutoCompleteObjectField<Employee, Long> autoCompleteObjectField;
|
||||
|
||||
private ConfirmerAjaxSubmitLink saveButton;
|
||||
|
||||
public ManualMatchPanel(String id, final IModel<Match> matchModel, final Component feedbackPanel, final Match.Status status) {
|
||||
super(id);
|
||||
Component localFeedback = new FeedbackPanel("localFeedback");
|
||||
ConfirmerAjaxSubmitLink saveButton = createSubmitLink(matchModel, feedbackPanel, status, localFeedback);
|
||||
autoCompleteObjectField = createDsvAutocompleteComponent(matchModel.getObject().getProjectIdea(), status, saveButton);
|
||||
AutoCompleteObjectField<Employee, Long> autoCompleteObjectField =
|
||||
createDsvAutocompleteComponent(matchModel.getObject().getProjectIdea(), status);
|
||||
autoCompleteObjectField.setOutputMarkupId(true);
|
||||
saveButton = createSubmitLink(matchModel, feedbackPanel, status, localFeedback, autoCompleteObjectField);
|
||||
saveButton.setOutputMarkupId(true);
|
||||
setOutputMarkupPlaceholderTag(true);
|
||||
Form<Employee> matchForm = new Form<Employee>("matchForm");
|
||||
currentFragment = createButtonFragment(status, matchForm);
|
||||
currentFragment = createButtonFragment(status, matchForm, autoCompleteObjectField);
|
||||
currentFragment.setOutputMarkupId(true);
|
||||
alternateFragment = createMatchFragment(saveButton, matchForm, localFeedback);
|
||||
alternateFragment = createMatchFragment(matchForm, localFeedback, autoCompleteObjectField);
|
||||
alternateFragment.setOutputMarkupId(true);
|
||||
add(currentFragment);
|
||||
}
|
||||
|
||||
private ConfirmerAjaxSubmitLink createSubmitLink(final IModel<Match> matchModel, final Component feedbackPanel, final Match.Status status, final Component localFeedback) {
|
||||
private ConfirmerAjaxSubmitLink createSubmitLink(final IModel<Match> matchModel, final Component feedbackPanel, final Match.Status status,
|
||||
final Component localFeedback, final AutoCompleteObjectField<Employee, Long> autoCompleteObjectField) {
|
||||
return new ConfirmerAjaxSubmitLink("saveButton") {
|
||||
|
||||
private static final long serialVersionUID = -1820883998549197409L;
|
||||
|
||||
@Override
|
||||
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
|
||||
if(autoCompleteObjectField.getModelObject() == null) {
|
||||
Session.get().info("No match could be created because the supervisor was incorrect.");
|
||||
Session.get().info("No match could be created because no supervisor was selected.");
|
||||
target.addComponent(localFeedback);
|
||||
} else {
|
||||
matchModel.getObject().setSupervisor(autoCompleteObjectField.getModelObject() != null ? autoCompleteObjectField.getModelObject():null);
|
||||
@ -87,7 +88,8 @@ public class ManualMatchPanel extends Panel {
|
||||
};
|
||||
}
|
||||
|
||||
private Fragment createButtonFragment(final Match.Status status, final Form<Employee> matchForm) {
|
||||
private Fragment createButtonFragment(final Match.Status status, final Form<Employee> matchForm,
|
||||
final AutoCompleteObjectField<Employee, Long> autoCompleteObjectField) {
|
||||
Fragment buttonFragment = new Fragment("main", "buttonFragment", this) {
|
||||
|
||||
private static final long serialVersionUID = 2699118307386334814L;
|
||||
@ -104,10 +106,7 @@ public class ManualMatchPanel extends Panel {
|
||||
|
||||
@Override
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
swapFragment();
|
||||
if (target != null) {
|
||||
target.addComponent(currentFragment);
|
||||
}
|
||||
swapAndAddToTarget(target, autoCompleteObjectField);
|
||||
}
|
||||
@Override
|
||||
public boolean isVisible() {
|
||||
@ -120,10 +119,7 @@ public class ManualMatchPanel extends Panel {
|
||||
|
||||
@Override
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
swapFragment();
|
||||
if (target != null) {
|
||||
target.addComponent(currentFragment);
|
||||
}
|
||||
swapAndAddToTarget(target, autoCompleteObjectField);
|
||||
}
|
||||
@Override
|
||||
public boolean isVisible() {
|
||||
@ -135,7 +131,27 @@ public class ManualMatchPanel extends Panel {
|
||||
return buttonFragment;
|
||||
}
|
||||
|
||||
private Fragment createMatchFragment(final ConfirmerAjaxSubmitLink saveButton, final Form<Employee> matchForm, Component localFeedback) {
|
||||
|
||||
private void swapAndAddToTarget(AjaxRequestTarget target, final AutoCompleteObjectField autoCompleteObjectField) {
|
||||
swapFragment();
|
||||
if (target != null) {
|
||||
autoCompleteObjectField.setModelObject(null);
|
||||
autoCompleteObjectField.clearInput();
|
||||
saveButton.setMessageContentHTML("No supervisor was selected.");
|
||||
target.addComponent(currentFragment);
|
||||
target.addComponent(autoCompleteObjectField);
|
||||
target.addComponent(saveButton);
|
||||
}
|
||||
}
|
||||
|
||||
private void swapFragment() {
|
||||
Fragment tempFragment = currentFragment;
|
||||
currentFragment.replaceWith(alternateFragment);
|
||||
currentFragment = alternateFragment;
|
||||
alternateFragment = tempFragment;
|
||||
}
|
||||
|
||||
private Fragment createMatchFragment(final Form<Employee> matchForm, Component localFeedback, final AutoCompleteObjectField<Employee, Long> autoCompleteObjectField ) {
|
||||
Fragment matchFragment = new Fragment("main", "matchFragment", this) {
|
||||
private static final long serialVersionUID = -7770434904843562942L;
|
||||
|
||||
@ -146,22 +162,15 @@ public class ManualMatchPanel extends Panel {
|
||||
}
|
||||
};
|
||||
autoCompleteObjectField.setModelObject(null);
|
||||
|
||||
saveButton.setOutputMarkupId(true);
|
||||
localFeedback.setOutputMarkupId(true);
|
||||
matchForm.add(localFeedback);
|
||||
matchForm.add(autoCompleteObjectField);
|
||||
matchForm.add(saveButton);
|
||||
matchForm.add(new AjaxFallbackLink<Object>("cancelButton") {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
swapFragment();
|
||||
if (target != null) {
|
||||
target.addComponent(currentFragment);
|
||||
}
|
||||
swapAndAddToTarget(target, autoCompleteObjectField);
|
||||
}
|
||||
});
|
||||
matchFragment.add(matchForm);
|
||||
@ -169,7 +178,7 @@ public class ManualMatchPanel extends Panel {
|
||||
return matchFragment;
|
||||
}
|
||||
|
||||
public AutoCompleteObjectField<Employee, Long> createDsvAutocompleteComponent(final ProjectIdea projectIdea, final Match.Status status, final ConfirmerAjaxSubmitLink saveButton) {
|
||||
public AutoCompleteObjectField<Employee, Long> createDsvAutocompleteComponent(final ProjectIdea projectIdea, final Match.Status status) {
|
||||
return new AutoCompleteObjectField<Employee, Long>("autoComplete", Employee.class) {
|
||||
private static final long serialVersionUID = 7734889540424308421L;
|
||||
|
||||
@ -225,13 +234,6 @@ public class ManualMatchPanel extends Panel {
|
||||
};
|
||||
}
|
||||
|
||||
private void swapFragment() {
|
||||
Fragment tempFragment = currentFragment;
|
||||
currentFragment.replaceWith(alternateFragment);
|
||||
currentFragment = alternateFragment;
|
||||
alternateFragment = tempFragment;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* This method is used to return a match message that an employee was matched or suggested to a project idea .
|
||||
|
@ -32,20 +32,24 @@ public class ManualSetReviewerPanel extends Panel {
|
||||
|
||||
private Fragment currentFragment;
|
||||
private Fragment alternateFragment;
|
||||
private AutoCompleteObjectField<Employee, Long> autocompleteReviewerField;
|
||||
private ConfirmerAjaxSubmitLink saveButton;
|
||||
|
||||
public ManualSetReviewerPanel(String id, IModel<ProjectIdea> projectIdeaModel, Component feedbackPanel) {
|
||||
super(id);
|
||||
Component localFeedback = new FeedbackPanel("localFeedback");
|
||||
ConfirmerAjaxSubmitLink saveButton = createSubmitLink(projectIdeaModel, feedbackPanel, localFeedback);
|
||||
autocompleteReviewerField = createDsvAutocompleteComponent(projectIdeaModel.getObject(), saveButton);
|
||||
AutoCompleteObjectField<Employee, Long> autocompleteReviewerField = createDsvAutocompleteComponent(projectIdeaModel.getObject());
|
||||
saveButton = createSubmitLink(projectIdeaModel, feedbackPanel, localFeedback, autocompleteReviewerField);
|
||||
saveButton.setOutputMarkupId(true);
|
||||
autocompleteReviewerField.setOutputMarkupId(true);
|
||||
setOutputMarkupPlaceholderTag(true);
|
||||
Form<Employee> reviewerForm = new Form<Employee>("reviewerForm");
|
||||
currentFragment = createButtonFragment(reviewerForm);
|
||||
alternateFragment = createReviewerFragment(saveButton, reviewerForm, localFeedback);
|
||||
currentFragment = createButtonFragment(reviewerForm, autocompleteReviewerField);
|
||||
alternateFragment = createReviewerFragment(reviewerForm, localFeedback, autocompleteReviewerField );
|
||||
add(currentFragment);
|
||||
}
|
||||
|
||||
private ConfirmerAjaxSubmitLink createSubmitLink(final IModel<ProjectIdea> projectIdeaModel, final Component feedbackPanel, final Component localFeedback) {
|
||||
private ConfirmerAjaxSubmitLink createSubmitLink(final IModel<ProjectIdea> projectIdeaModel, final Component feedbackPanel,
|
||||
final Component localFeedback, final AutoCompleteObjectField<Employee, Long> autocompleteReviewerField) {
|
||||
return new ConfirmerAjaxSubmitLink("saveButton") {
|
||||
|
||||
private static final long serialVersionUID = -1852298712407811714L;
|
||||
@ -53,7 +57,7 @@ public class ManualSetReviewerPanel extends Panel {
|
||||
@Override
|
||||
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
|
||||
if(autocompleteReviewerField.getModelObject() == null) {
|
||||
Session.get().info("No match could be created because the reviewer was incorrect.");
|
||||
Session.get().info("No reviewer could be selected because the data was incorrect.");
|
||||
target.addComponent(localFeedback);
|
||||
} else {
|
||||
ProjectIdea projectIdea = projectIdeaModel.getObject();
|
||||
@ -77,7 +81,7 @@ public class ManualSetReviewerPanel extends Panel {
|
||||
|
||||
|
||||
|
||||
private Fragment createButtonFragment(final Form<Employee> reviewerForm) {
|
||||
private Fragment createButtonFragment(final Form<Employee> reviewerForm, final AutoCompleteObjectField<Employee, Long> autocompleteReviewerField) {
|
||||
Fragment buttonFragment = new Fragment("main", "buttonFragment", this) {
|
||||
private static final long serialVersionUID = 2383077895140299047L;
|
||||
|
||||
@ -93,17 +97,26 @@ public class ManualSetReviewerPanel extends Panel {
|
||||
|
||||
@Override
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
swapFragment();
|
||||
if (target != null) {
|
||||
target.addComponent(currentFragment);
|
||||
}
|
||||
swapAndAddToTarget(target, autocompleteReviewerField);
|
||||
}
|
||||
});
|
||||
buttonFragment.setOutputMarkupPlaceholderTag(true);
|
||||
return buttonFragment;
|
||||
}
|
||||
|
||||
private Fragment createReviewerFragment(ConfirmerAjaxSubmitLink saveButton, final Form<Employee> reviewerForm, Component localFeedback) {
|
||||
private void swapAndAddToTarget(AjaxRequestTarget target, final AutoCompleteObjectField autoCompleteObjectField) {
|
||||
swapFragment();
|
||||
if (target != null) {
|
||||
autoCompleteObjectField.setModelObject(null);
|
||||
autoCompleteObjectField.clearInput();
|
||||
saveButton.setMessageContentHTML("No supervisor was selected.");
|
||||
target.addComponent(currentFragment);
|
||||
target.addComponent(autoCompleteObjectField);
|
||||
target.addComponent(saveButton);
|
||||
}
|
||||
}
|
||||
|
||||
private Fragment createReviewerFragment(final Form<Employee> reviewerForm, Component localFeedback, final AutoCompleteObjectField<Employee, Long> autocompleteReviewerField) {
|
||||
Fragment reviewerFragment = new Fragment("main", "reviewerFragment", this) {
|
||||
|
||||
private static final long serialVersionUID = -1831632235479216987L;
|
||||
@ -115,23 +128,17 @@ public class ManualSetReviewerPanel extends Panel {
|
||||
}
|
||||
};
|
||||
autocompleteReviewerField.setModelObject(null);
|
||||
|
||||
reviewerForm.add(autocompleteReviewerField);
|
||||
saveButton.setOutputMarkupId(true);
|
||||
|
||||
localFeedback.setOutputMarkupId(true);
|
||||
reviewerForm.add(localFeedback);
|
||||
reviewerForm.add(saveButton);
|
||||
reviewerForm.add(new AjaxFallbackLink<Object>("cancelButton") {
|
||||
|
||||
private static final long serialVersionUID = 5413209640805412939L;
|
||||
|
||||
@Override
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
swapFragment();
|
||||
if (target != null) {
|
||||
target.addComponent(currentFragment);
|
||||
}
|
||||
swapAndAddToTarget(target, autocompleteReviewerField);
|
||||
}
|
||||
});
|
||||
reviewerFragment.add(reviewerForm);
|
||||
@ -139,7 +146,7 @@ public class ManualSetReviewerPanel extends Panel {
|
||||
return reviewerFragment;
|
||||
}
|
||||
|
||||
public AutoCompleteObjectField<Employee, Long> createDsvAutocompleteComponent(final ProjectIdea projectIdea, final ConfirmerAjaxSubmitLink saveButton) {
|
||||
public AutoCompleteObjectField<Employee, Long> createDsvAutocompleteComponent(final ProjectIdea projectIdea) {
|
||||
return new AutoCompleteObjectField<Employee, Long>("reviewerTextField", Employee.class) {
|
||||
private static final long serialVersionUID = 8639430940925886127L;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user