Skip to content
Snippets Groups Projects
Commit 5a751156 authored by srosse's avatar srosse
Browse files

OO-531: remove drag and drop in Panel as it doesn't work with jQuery

parent d064e682
No related branches found
No related tags found
No related merge requests found
Showing
with 16 additions and 759 deletions
......@@ -27,23 +27,12 @@
package org.olat.core.gui.components.panel;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.Component;
import org.olat.core.gui.components.ComponentRenderer;
import org.olat.core.gui.components.Container;
import org.olat.core.gui.control.dragdrop.DragAndDrop;
import org.olat.core.gui.control.dragdrop.DragAndDropImpl;
import org.olat.core.gui.control.dragdrop.DragSource;
import org.olat.core.gui.control.dragdrop.DragSourceImpl;
import org.olat.core.gui.control.dragdrop.Draggable;
import org.olat.core.gui.control.dragdrop.DraggableCreator;
import org.olat.core.gui.control.dragdrop.DropEvent;
import org.olat.core.gui.control.dragdrop.DropTarget;
import org.olat.core.gui.control.dragdrop.DropTargetImpl;
import org.olat.core.gui.control.dragdrop.DroppableImpl;
import org.olat.core.logging.AssertException;
/**
......@@ -55,12 +44,9 @@ import org.olat.core.logging.AssertException;
*/
public class Panel extends Container {
private static final ComponentRenderer RENDERER = new PanelRenderer();
private Component curContent;
protected final List<Component> stackList = new ArrayList<Component>(3);; // allow access to extending classes
private DragAndDropImpl dragAndDropImpl;
/**
* @param name
......@@ -77,28 +63,7 @@ public class Panel extends Container {
* @param ureq
*/
protected void doDispatchRequest(UserRequest ureq) {
if (dragAndDropImpl != null) {
//fxdiff
// a drop is dispatched to the panel
DroppableImpl di = dragAndDropImpl.getDroppableImpl();
if (di != null) {
String dropid = ureq.getParameter("v");
for (Draggable dr:di.getAccepted()) {
DragSource ds = dr.find(dropid);
if (ds != null) {
// found!
DropTarget dt = new DropTargetImpl(this);
fireEvent(ureq, new DropEvent(ds, dt));
return;
}
}
} else {
throw new AssertException("no droppable defined, but a request dispatched to the panel: ureq=" + ureq);
}
} else {
throw new AssertException("a panel should never dispatch a request (unless it has droppables, which it has not), ureq = "+ureq);
}
throw new AssertException("a panel should never dispatch a request (unless it has droppables, which it has not), ureq = "+ureq);
}
/**
......@@ -178,68 +143,4 @@ public class Panel extends Container {
public ComponentRenderer getHTMLRendererSingleton() {
return RENDERER;
}
/**
* @return Returns the dragAndDrop (it is created if it was null)
* as usual, all methods here are not threadsafe
*/
public DragAndDrop getDragAndDrop() {
// a space saver, since only a few panels will support drag and drop.
if (dragAndDropImpl == null) {
dragAndDropImpl = new DragAndDropImpl(new DraggableCreator() {
public Draggable createDraggable() {
Draggable drag = new Draggable() {
@Override
public List<String> getContainerIds() {
return Panel.this.draggableGetContainerIds();
}
@Override
public DragSource find(String dragElementId) {
return Panel.this.draggableFind(dragElementId);
}};
return drag;
}});
}
return dragAndDropImpl;
}
/**
* to be accessed by the renderer only
*/
protected DragAndDropImpl doGetDragAndDrop() {
return dragAndDropImpl;
}
/**
* @param dragElementId
* @return
*/
protected DragSource draggableFind(String dragElementId) {
//fxdiff
Component toRender = getContent();
if (toRender != null) {
String id = "o_c" + toRender.getDispatchID();
if (dragElementId.equals(id)) {
return new DragSourceImpl(this);
}
}
String id = "o_c" + getDispatchID();
if (dragElementId.equals(id)) {
return new DragSourceImpl(this);
}
// else: the object dropped disappear in the meantime...? TODO:double-check
return null;
}
/**
* @return
*/
protected List<String> draggableGetContainerIds() {
//fxdiff
return Collections.singletonList("o_c" + getDispatchID());
}
}
\ No newline at end of file
......@@ -26,14 +26,8 @@
package org.olat.core.gui.components.panel;
import java.util.List;
import org.olat.core.gui.components.Component;
import org.olat.core.gui.components.ComponentRenderer;
import org.olat.core.gui.control.dragdrop.DragAndDropImpl;
import org.olat.core.gui.control.dragdrop.Draggable;
import org.olat.core.gui.control.dragdrop.DroppableImpl;
import org.olat.core.gui.control.winmgr.AJAXFlags;
import org.olat.core.gui.render.RenderResult;
import org.olat.core.gui.render.Renderer;
import org.olat.core.gui.render.RenderingState;
......@@ -66,23 +60,6 @@ public class PanelRenderer implements ComponentRenderer {
Panel panel = (Panel) source;
Component toRender = panel.getContent();
//fxdiff alpha-quality for drag and drop
if (renderer.getGlobalSettings().getAjaxFlags().isIframePostEnabled()) {
DragAndDropImpl dndi = panel.doGetDragAndDrop();
if (dndi != null) {
DroppableImpl di = dndi.getDroppableImpl();
if (di != null) {
String urivar = Renderer.getComponentPrefix(panel) + "_dropurl";
sb.append("<script type=\"text/javascript\">var ").append(urivar).append(" = \"");
boolean iframePostEnabled = renderer.getGlobalSettings().getAjaxFlags().isIframePostEnabled();
ubu.buildURI(sb, null, null, iframePostEnabled? AJAXFlags.MODE_TOBGIFRAME : AJAXFlags.MODE_NORMAL);
sb.append("\";</script>");
}
}
}
if (toRender != null) {
//FIXME:fj: replace , args with , null ?
renderer.render(sb, toRender, args);
......@@ -115,53 +92,5 @@ public class PanelRenderer implements ComponentRenderer {
// delegate header rendering to the content
renderer.renderBodyOnLoadJSFunctionCall(sb, toRender, rstate);
}
//fxdiff
if (renderer.getGlobalSettings().getAjaxFlags().isIframePostEnabled()
&& panel.doGetDragAndDrop() != null) {
//renderer.getGlobalSettings().getAjaxFlags().isDragAndDropEnabled()
// first activate the drag and drop
// drag and drop to look at
DragAndDropImpl dndi = panel.doGetDragAndDrop();
if (dndi != null) {
DroppableImpl di = dndi.getDroppableImpl();
if (di != null) {
boolean iframePostEnabled = renderer.getGlobalSettings().getAjaxFlags().isIframePostEnabled();
String compPrefix = Renderer.getComponentPrefix(panel);
String urivar = Renderer.getComponentPrefix(panel) + "_dropurl";
// we have a droppable
for (Draggable draga: di.getAccepted()) {
List<String> cids = draga.getContainerIds();
sb.append("Droppables.add('").append(compPrefix).append("',{containment:[");
int clen = cids.size();
for (int i = 0; i < clen; i++) {
sb.append("\"").append(cids.get(i)).append("\"");
if (i < clen-1) sb.append(",");
}
sb.append("]");
sb.append(",onDrop:function(el){o_info.drop=true;");
if (iframePostEnabled) {
sb.append("var f = $('o_oaap'); f.v.value=el.id; f.action = ").append(urivar).append("; f.submit();");
} else {
//TODO: also use the global post form, but the form must have a different target(self)
sb.append("document.location.href = ").append(urivar).append(" + \"?v=\"+el.id;");
}
sb.append("}});\n");
}
}
if (toRender != null) {
// only offer drag code if there is content.
// render code for - draggable -
Draggable drag = dndi.getDraggable();
if (drag != null) {
String id = Renderer.getComponentPrefix(toRender);
sb.append("new Draggable('").append(id).append("',{handle:'handle',revert:function(el){if (o_info.drop) {o_info.drop = false; return false;} else return true;}});\n");
}
}
}
}
}
}
\ No newline at end of file
/**
* OLAT - Online Learning and Training<br>
* http://www.olat.org
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
* University of Zurich, Switzerland.
* <hr>
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* This file has been modified by the OpenOLAT community. Changes are licensed
* under the Apache 2.0 license as the original file.
* <p>
*/
package org.olat.core.gui.control.dragdrop;
/**
* Description:<br>
* this interface can either be offered by a concrete component (e.g. a panel, a menutree) or by a controller
* (e.g. toolcontroller)
* if an operation is not supported (e.g. drag is supported, but drop not) it must be declared in the documentation and the method must throw
* an unsupportedoperation - exception.
*
*
* <P>
* Initial Date: 11.04.2006 <br>
* @author Felix
*/
public interface DragAndDrop {
// Drop parts
public Droppable activateDroppable();
public void deactivateDroppable();
// Drag part
public Draggable activateDraggable();
public void deactivateDraggable();
}
/**
* OLAT - Online Learning and Training<br>
* http://www.olat.org
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
* University of Zurich, Switzerland.
* <hr>
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* This file has been modified by the OpenOLAT community. Changes are licensed
* under the Apache 2.0 license as the original file.
* <p>
*/
package org.olat.core.gui.control.dragdrop;
/**
* Description:<br>
* TODO: Felix Class Description for DragAndDropImpl
* this class is not threadsafe.
* <P>
* Initial Date: 11.04.2006 <br>
* @author Felix
*/
public class DragAndDropImpl implements DragAndDrop {
private DroppableImpl droppable;
private Draggable draggable;
private final DraggableCreator ddc;
public DragAndDropImpl(DraggableCreator ddc) {
this.ddc = ddc;
}
/**
* @see org.olat.core.gui.control.dragdrop.DragAndDrop#activateDroppable()
*/
public Droppable activateDroppable() {
if (droppable == null) {
droppable = new DroppableImpl();
}
return droppable;
}
/**
* @see org.olat.core.gui.control.dragdrop.DragAndDrop#deactivateDroppable()
*/
public void deactivateDroppable() {
droppable = null;
}
/**
* @see org.olat.core.gui.control.dragdrop.DragAndDrop#activateDraggable()
*/
public Draggable activateDraggable() {
if (draggable == null) {
draggable = ddc.createDraggable();
}
return draggable;
}
/**
* @see org.olat.core.gui.control.dragdrop.DragAndDrop#deactivateDraggable()
*/
public void deactivateDraggable() {
draggable = null;
}
//non-interfaced methods
public DroppableImpl getDroppableImpl() {
return droppable;
}
/**
* @return Returns the draggable.
*/
public Draggable getDraggable() {
return draggable;
}
}
/**
* OLAT - Online Learning and Training<br>
* http://www.olat.org
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
* University of Zurich, Switzerland.
* <hr>
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* This file has been modified by the OpenOLAT community. Changes are licensed
* under the Apache 2.0 license as the original file.
* <p>
*/
package org.olat.core.gui.control.dragdrop;
/**
* Description:<br>
* TODO: Felix Class Description for DragSource
*
* <P>
* Initial Date: 11.04.2006 <br>
* @author Felix
*/
public interface DragSource {
/**
* The source of the Dragged object can either be a controller or a component
* @return the source of the drag
*/
public Object getSource();
/**
*
* @return a subid (e.g. the position of an entry in the toolcontroller). Used by the concrete dragsource's controller or component to resolve the details.
*/
public String getSubId();
}
/**
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at the
* <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Initial code contributed and copyrighted by<br>
* frentix GmbH, http://www.frentix.com
* <p>
*/
package org.olat.core.gui.control.dragdrop;
public class DragSourceImpl implements DragSource {
private final Object source;
public DragSourceImpl(Object source) {
this.source = source;
}
@Override
public Object getSource() {
return source;
}
@Override
public String getSubId() {
return null;
}
}
/**
* OLAT - Online Learning and Training<br>
* http://www.olat.org
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
* University of Zurich, Switzerland.
* <hr>
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* This file has been modified by the OpenOLAT community. Changes are licensed
* under the Apache 2.0 license as the original file.
* <p>
*/
package org.olat.core.gui.control.dragdrop;
import java.util.List;
/**
* Description:<br>
* TODO: Felix Jost Class Description for Dragabble
*
* <P>
* Initial Date: 07.04.2006 <br>
* @author Felix Jost
*/
public interface Draggable {
/**
* used by the Droppable to add these ids (the ids of the div(s) surrounding the draggable elements) to the ids which are accepted to be dropped.
* @return a list of ids(Strings)
*/
public List<String> getContainerIds();
/**
*
* @param dragElementId used by Droppable. this is the id the droppable js receives and which denotes the dragsource.
* @return null if not found or the DragSource when the Draggable knows that the dragElementId belongs to itself
*/
public DragSource find(String dragElementId);
}
/**
* OLAT - Online Learning and Training<br>
* http://www.olat.org
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
* University of Zurich, Switzerland.
* <hr>
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* This file has been modified by the OpenOLAT community. Changes are licensed
* under the Apache 2.0 license as the original file.
* <p>
*/
package org.olat.core.gui.control.dragdrop;
/**
* Description:<br>
* used internally only for implementors of the dragAndDrop interface
*
* <P>
* Initial Date: 11.04.2006 <br>
* @author Felix
*/
public interface DraggableCreator {
/**
* gets (creates if needed) the draggable (singleton per component)
* @return
*/
public Draggable createDraggable();
}
/**
* OLAT - Online Learning and Training<br>
* http://www.olat.org
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
* University of Zurich, Switzerland.
* <hr>
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* This file has been modified by the OpenOLAT community. Changes are licensed
* under the Apache 2.0 license as the original file.
* <p>
*/
package org.olat.core.gui.control.dragdrop;
import org.olat.core.gui.control.Event;
/**
* Description:<br>
* TODO: Felix Jost Class Description for DropEvent
*
* <P>
* Initial Date: 10.04.2006 <br>
* @author Felix Jost
*/
public class DropEvent extends Event {
/**
* use to check for dropevents
* (if (event.getCommand() == DropEvent.DROP_COMMAND)...)
*/
public static final String DROP_COMMAND = "drop_command";
private final DragSource dragSource;
private final DropTarget dropTarget;
/**
* @param command
*/
public DropEvent(DragSource dragSource, DropTarget dropTarget) {
super(DROP_COMMAND);
this.dragSource = dragSource;
this.dropTarget = dropTarget;
}
public DragSource getDragSource() {
return dragSource;
}
/**
* @return Returns the dropTarget.
*/
public DropTarget getDropTarget() {
return dropTarget;
}
}
/**
* OLAT - Online Learning and Training<br>
* http://www.olat.org
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
* University of Zurich, Switzerland.
* <hr>
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* This file has been modified by the OpenOLAT community. Changes are licensed
* under the Apache 2.0 license as the original file.
* <p>
*/
package org.olat.core.gui.control.dragdrop;
/**
* Description:<br>
* TODO: Felix Class Description for DropTarget
*
* <P>
* Initial Date: 11.04.2006 <br>
* @author Felix
*/
public interface DropTarget {
public Object getTarget();
}
/**
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at the
* <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Initial code contributed and copyrighted by<br>
* frentix GmbH, http://www.frentix.com
* <p>
*/
package org.olat.core.gui.control.dragdrop;
/**
*
* <h3>Description:</h3>
* Trivial implementation of DropTarget
* <p>
* Initial Date: 31 aug. 2010 <br>
* @author srosse, stephanerosse@frentix.com, http://www.frentix.com
*/
public class DropTargetImpl implements DropTarget {
private final Object source;
public DropTargetImpl(Object source) {
this.source = source;
}
@Override
public Object getTarget() {
return source;
}
}
/**
* OLAT - Online Learning and Training<br>
* http://www.olat.org
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
* University of Zurich, Switzerland.
* <hr>
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* This file has been modified by the OpenOLAT community. Changes are licensed
* under the Apache 2.0 license as the original file.
* <p>
*/
package org.olat.core.gui.control.dragdrop;
/**
* Description:<br>
* TODO: Felix Jost Class Description for Droppable
*
* <P>
* Initial Date: 07.04.2006 <br>
* @author Felix Jost
*/
public interface Droppable {
public void addAcceptedDraggable(Draggable d);
}
/**
* OLAT - Online Learning and Training<br>
* http://www.olat.org
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
* University of Zurich, Switzerland.
* <hr>
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* This file has been modified by the OpenOLAT community. Changes are licensed
* under the Apache 2.0 license as the original file.
* <p>
*/
package org.olat.core.gui.control.dragdrop;
import java.util.ArrayList;
import java.util.List;
/**
* Description:<br>
* TODO: Felix Jost Class Description for DroppableImpl
*
* <P>
* Initial Date: 12.04.2006 <br>
* @author Felix Jost
*/
public class DroppableImpl implements Droppable {
private List<Draggable> accepted = new ArrayList<Draggable>();
/**
* @see org.olat.core.gui.control.dragdrop.Droppable#addAcceptedDraggable(org.olat.core.gui.control.dragdrop.Draggable)
*/
public void addAcceptedDraggable(Draggable d) {
accepted.add(d);
}
/**
*
* @return a list of accepted Dragables
*/
public List<Draggable> getAccepted() {
return accepted;
}
}
......@@ -213,7 +213,18 @@ div.fx_portlets_column_name {
padding: 5px 5px 0px 5px;
span { color:#4F576A; font-weight:bold; text-deocration:underline; }
}
div.fx_portlets_column_portlets { border:1px solid #eee; @include o-border-radius(4px); @include o-gradient-white(); }
ul.fx_portlets_column_portlets {
border:1px solid #eee;
padding: 0;
margin: 0;
@include o-border-radius(4px);
@include o-gradient-white();
li {
margin-left:0;
}
}
div.fx_available_portlets {
width:28%; float:right;
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment