It should be possible to delete a selected keyword in the list of unmatch project ideas.
This commit is contained in:
parent
7b88eb5982
commit
b8003103d9
src/main/java/se/su/dsv/scipro/supervisor/panels
@ -31,20 +31,26 @@
|
||||
<label>Selected keywords:</label>
|
||||
<ul wicket:id="keyWordsContainer">
|
||||
<li wicket:id="keywordList">
|
||||
<h5><span wicket:id="keyWord">[keyword]</span> (<span wicket:id="keyWordType">[keyWordType]</span>)</h5>
|
||||
<h5>
|
||||
<span wicket:id="keyWord">[keyword]</span> (<span wicket:id="keyWordType">[keyWordType]</span>)
|
||||
<img wicket:id="deleteKeyWordIcon" />
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="span-22 last append-bottom">
|
||||
<div class="span-22 last">
|
||||
<div class="span-3" wicket:id="projectClassPanel">
|
||||
</div>
|
||||
<div class="span-3">
|
||||
<label>Include deleted keyword</label>
|
||||
<div class="span-12">
|
||||
<label>Include deleted keywords:</label><br />
|
||||
<input type="checkbox" wicket:id="includeDeleted" />
|
||||
<span wicket:id="deletedLabel">[label]</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="span-22 last append-bottom">
|
||||
<div class="span-2">
|
||||
<div><input wicket:id="filterButton" type="submit"/></div>
|
||||
</div>
|
||||
|
@ -27,6 +27,8 @@ import se.su.dsv.scipro.data.dao.interfaces.ProjectClassDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.ProjectClass;
|
||||
import se.su.dsv.scipro.data.dataobjects.Student;
|
||||
import se.su.dsv.scipro.data.facade.ProjectIdeaFacade;
|
||||
import se.su.dsv.scipro.icons.AjaxActionIcon;
|
||||
import se.su.dsv.scipro.icons.ImageObject;
|
||||
import se.su.dsv.scipro.match.dao.interfaces.KeywordDao;
|
||||
import se.su.dsv.scipro.match.dao.interfaces.KeywordTypeDao;
|
||||
import se.su.dsv.scipro.match.dao.interfaces.ProjectIdeaDao.Params;
|
||||
@ -38,6 +40,7 @@ import se.su.dsv.scipro.match.dataprovider.ProjectIdeaDataProvider;
|
||||
import se.su.dsv.scipro.match.panel.FilterFormProjectClassPanel;
|
||||
import se.su.dsv.scipro.security.auth.Authorization;
|
||||
import se.su.dsv.scipro.security.auth.roles.Roles;
|
||||
import se.su.dsv.scipro.util.JavascriptEventConfirmation;
|
||||
import se.su.dsv.wicket.components.AutoCompleteObjectField;
|
||||
|
||||
import java.util.*;
|
||||
@ -273,20 +276,37 @@ public class SupervisorUnmatchedThesisPanel extends Panel {
|
||||
titleField.setOutputMarkupId(true);
|
||||
final List<Keyword> keywords = new ArrayList<Keyword>();
|
||||
|
||||
ListView<Keyword> keywordListView = new ListView<Keyword>("keywordList", new Model<ArrayList<Keyword>>()) {
|
||||
final WebMarkupContainer keyWordsContainer = new WebMarkupContainer("keyWordsContainer");
|
||||
keyWordsContainer.setOutputMarkupId(true);
|
||||
final ListView<Keyword> keywordListView = new ListView<Keyword>("keywordList", new Model<ArrayList<Keyword>>()) {
|
||||
private static final long serialVersionUID = 78442920410294688L;
|
||||
|
||||
@Override
|
||||
protected void populateItem(ListItem<Keyword> keywordListItem) {
|
||||
protected void populateItem(final ListItem<Keyword> keywordListItem) {
|
||||
//To change body of implemented methods use File | Settings | File Templates.
|
||||
Keyword keyword = keywordListItem.getModelObject();
|
||||
final Keyword keyword = keywordListItem.getModelObject();
|
||||
keywordListItem.add(new Label("keyWord",keyword.getKeyword()));
|
||||
keywordListItem.add(new Label("keyWordType",keyword.getType().getName()));
|
||||
AjaxActionIcon deleteKeyWordIcon = new AjaxActionIcon("deleteKeyWordIcon", ImageObject.SIXTEEN + ImageObject.DELETE2){
|
||||
private static final long serialVersionUID = -8732262906336014797L;
|
||||
|
||||
@Override
|
||||
protected void onClick(AjaxRequestTarget target) {
|
||||
keywordListItem.remove();
|
||||
Session.get().info("Removed the keyword " + keyword + " from the search terms.");
|
||||
final List<Keyword> keywordList = ((ListView) keyWordsContainer.get("keywordList")).getModelObject();
|
||||
if(keywordList.contains(keyword)) {
|
||||
keywordList.remove(keyword);
|
||||
}
|
||||
target.addComponent(keyWordsContainer);
|
||||
target.addComponent(feedBackPanel);
|
||||
}
|
||||
};
|
||||
deleteKeyWordIcon.add(new JavascriptEventConfirmation("onclick", "Are you sure you want to delete the keyword " + keyword + "?"));
|
||||
keywordListItem.add(deleteKeyWordIcon);
|
||||
}
|
||||
};
|
||||
|
||||
final WebMarkupContainer keyWordsContainer = new WebMarkupContainer("keyWordsContainer");
|
||||
keyWordsContainer.setOutputMarkupId(true);
|
||||
keywordListView.setOutputMarkupId(true);
|
||||
keyWordsContainer.add(keywordListView);
|
||||
add(keyWordsContainer);
|
||||
|
||||
@ -358,6 +378,7 @@ public class SupervisorUnmatchedThesisPanel extends Panel {
|
||||
((ListView) keyWordsContainer.get("keywordList")).getModelObject().clear();
|
||||
titleField.setModelObject(null);
|
||||
projectClassPanel.getSelectedprojectClasses().clear();
|
||||
target.addComponent(feedBackPanel);
|
||||
target.addComponent(keyWordsContainer);
|
||||
target.addComponent(titleField);
|
||||
target.addComponent(projectClassPanel);
|
||||
|
Loading…
x
Reference in New Issue
Block a user