Skip to content

Commit

Permalink
added wicket-dnd
Browse files Browse the repository at this point in the history
  • Loading branch information
RainerW committed May 3, 2012
1 parent 3d2798e commit a021011
Show file tree
Hide file tree
Showing 7 changed files with 196 additions and 31 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,8 @@ public int getCount()
@Transactional(readOnly = true)
public Page<UserModel> getAllUsers(PageRequest request)
{
return Detach.detachUM(userRepo.findAll(request));
Page<UserModel> all = userRepo.findAll(request);
return Detach.detachUM(all);
}

@Override
Expand Down
62 changes: 35 additions & 27 deletions sonferenz-web/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,17 @@
<slf4j.version>1.6.4</slf4j.version>
<jetty.version>7.3.0.v20110203</jetty.version>
</properties>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.wicketstuff</groupId>
<artifactId>prototype</artifactId>
<version>1.4.15</version>
</dependency>
</dependencies>
</dependencyManagement>

<dependencies>
<dependency>
<groupId>de.bitnoise.sonferenz</groupId>
Expand Down Expand Up @@ -42,6 +53,11 @@
<artifactId>tinymce</artifactId>
<version>1.4.18</version>
</dependency>
<dependency>
<groupId>wicket-dnd</groupId>
<artifactId>wicket-dnd</artifactId>
<version>0.4.2</version>
</dependency>

<!-- LOGGING DEPENDENCIES - LOG4J -->
<dependency>
Expand Down Expand Up @@ -134,10 +150,10 @@
</dependency>
<!-- DB -->
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.8.2.2</version>
</dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.8.2.2</version>
</dependency>

<!-- JUNIT DEPENDENCY FOR TESTING -->
<dependency>
Expand All @@ -151,15 +167,15 @@
<artifactId>fest-assert</artifactId>
</dependency>
<dependency>
<groupId>org.easytesting</groupId>
<artifactId>fest-reflect</artifactId>
<groupId>org.easytesting</groupId>
<artifactId>fest-reflect</artifactId>
</dependency>
<dependency>
<groupId>hsqldb</groupId>
<artifactId>hsqldb</artifactId>
</dependency>
<!-- JETTY FOR JETTY-->
<groupId>hsqldb</groupId>
<artifactId>hsqldb</artifactId>
</dependency>

<!-- JETTY FOR JETTY -->
<dependency>
<groupId>org.eclipse.jetty.aggregate</groupId>
<artifactId>jetty-all-server</artifactId>
Expand Down Expand Up @@ -250,23 +266,10 @@
</execution>
</executions>
</plugin>
<!--
<!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <configuration> <webResources>
<resource> <targetPath>WEB-INF/config</targetPath> <directory>src/main/resources/config/release</directory> </resource> </webResources> <warSourceExcludes>WEB-INF/classes/config/release/*</warSourceExcludes>
</configuration> </plugin> -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<webResources>
<resource>
<targetPath>WEB-INF/config</targetPath>
<directory>src/main/resources/config/release</directory>
</resource>
</webResources>
<warSourceExcludes>WEB-INF/classes/config/release/*</warSourceExcludes>
</configuration>
</plugin>
-->
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.26</version>
Expand Down Expand Up @@ -305,6 +308,11 @@
<name>visural-wicket</name>
<url>http://visural-wicket.googlecode.com/svn/trunk/visural-wicket/maven/</url>
</repository>
<repository>
<id>wicket-dnd</id>
<name>Wicket-dnd Repository</name>
<url>http://wicket-dnd.googlecode.com/svn/repo</url>
</repository>
</repositories>
<profiles>
<profile>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ public void init()
guard.addPattern("+*.gif");
guard.addPattern("+*.js");
guard.addPattern("+*.css");
guard.addPattern("+*.cur");
getResourceSettings().setPackageResourceGuard(guard);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ protected void onInitialize()
{
setTitle("Login");
setModelProperty("login");
sortable();
action(new EditUser());
}
});
Expand Down Expand Up @@ -152,7 +151,7 @@ public int size()
@Override
protected Sort createDefaultSorting()
{
return new Sort(Direction.ASC,"login");
return new Sort(Direction.ASC,"name");
}
};
return provider;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<wicket:panel>
<div wicket:id="voting" class="votinglist">
<div wicket:id="items" class="item">
<span class="initiate">&nbsp;x&nbsp;</span> <span wicket:id="name">[name]</span>
</div>
</div>
<div class="buttons">
<a href="#" wicket:id="save" class="button">save</a>
</div>
</wicket:panel>

Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
package de.bitnoise.sonferenz.web.pages.voting;

import java.util.ArrayList;

import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
import org.apache.wicket.markup.html.CSSPackageResource;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.Model;

import wicketdnd.DragSource;
import wicketdnd.DropTarget;
import wicketdnd.Location;
import wicketdnd.Operation;
import wicketdnd.Reject;
import wicketdnd.Transfer;
import wicketdnd.theme.WindowsTheme;

public class ListVotesPanel2 extends Panel {


public ListVotesPanel2(String id) {
super(id);
}

@Override
protected void onInitialize() {
super.onInitialize();

add(CSSPackageResource.getHeaderContribution(new WindowsTheme()));
final WebMarkupContainer list =new WebMarkupContainer("voting");
final VoteList foos = new VoteList();
foos .add("Rainer 1");
foos .add("Rainer 3");
foos .add("Rainer 2");
ListView<String> items = new ListView<String>("items", foos) {
@Override
protected ListItem<String> newItem(int index) {
ListItem<String> item = super.newItem(index);
item.setOutputMarkupId(true);
return item;
}

@Override
protected void populateItem(ListItem<String> item) {
item.add(new Label("name", Model.of(item.getModel().getObject())));
}
};

list.add(items);

list.add(new DragSource(Operation.MOVE)
{

@Override
public void onAfterDrop(AjaxRequestTarget target, Transfer transfer)
{
if (transfer.getOperation() == Operation.MOVE)
{
foos.remove(transfer.getData());

target.addComponent(list);
}
}
}.drag("div.item").initiate("span.initiate"));

DropTarget dropTarget = new DropTarget(Operation.MOVE)
{
@Override
public void onDrop(AjaxRequestTarget target, Transfer transfer, Location location) throws Reject {
if (location.getComponent() == list)
{
foos.add(operate(transfer));
}
else
{
String foo = location.getModelObject();
switch (location.getAnchor())
{
case TOP :
case LEFT :
foos.addBefore(operate(transfer), foo);
break;
case BOTTOM :
case RIGHT :
foos.addAfter(operate(transfer), foo);
break;
default :
transfer.reject();
}

target.addComponent(list);
}
}
}.dropTopAndBottom("div.item");

list.add(dropTarget);
add(list);
AjaxFallbackLink<String> save = new AjaxFallbackLink<String>("save",Model.of("Save changes")){
@Override
public void onClick(AjaxRequestTarget target) {
onSave(target);
}};
add(save);
}

protected void onSave(AjaxRequestTarget target) {

}

class VoteList extends ArrayList<String> {
public void addBefore(String drag, String drop)
{
// drag.remove();
add(indexOf(drop), drag);
}

public void addAfter(String drag, String drop)
{
// drag.remove();
add(indexOf(drop) + 1, drag);
}
}

protected String operate(Transfer transfer)
{
String foo = transfer.getData();
return foo;
// switch (transfer.getOperation())
// {
// case MOVE :
// case COPY :
// return foo.copy();
// case LINK :
// return foo.link();
// default :
// throw new IllegalArgumentException();
// }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ protected Panel getPageContent(String id)
{
return new UnauthorizedPanel(id);
}
return new ListVotesPanel(id);
return new ListVotesPanel2(id);
}

@Override
Expand Down

0 comments on commit a021011

Please sign in to comment.