Author: solomax
Date: Mon Aug  8 04:58:07 2016
New Revision: 1755473

URL: http://svn.apache.org/viewvc?rev=1755473&view=rev
Log:
[OPENMEETINGS-1030] tree deletion is improved

Modified:
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/ConfirmableAjaxBorder.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/ConfirmableAjaxBorder.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/ConfirmableAjaxBorder.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/ConfirmableAjaxBorder.java?rev=1755473&r1=1755472&r2=1755473&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/ConfirmableAjaxBorder.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/ConfirmableAjaxBorder.java
 Mon Aug  8 04:58:07 2016
@@ -23,7 +23,6 @@ import org.apache.wicket.ajax.AjaxReques
 import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
 import org.apache.wicket.markup.html.border.Border;
 import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 
 import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
@@ -36,21 +35,15 @@ public abstract class ConfirmableAjaxBor
        private static final long serialVersionUID = 1L;
        private final Form<?> form = new Form<>("form");
        private final Form<?> userForm;
-       private final IModel<String> title;
-       private final IModel<String> message;
+       private final AbstractFormDialog<?> dialog;
 
        public ConfirmableAjaxBorder(String id, String title, String message) {
-               this(id, Model.of(title), Model.of(message), null);
+               this(id, title, message, null);
        }
        
        public ConfirmableAjaxBorder(String id, String title, String message, 
Form<?> form) {
-               this(id, Model.of(title), Model.of(message), form);
-       }
-       
-       public ConfirmableAjaxBorder(String id, IModel<String> title, 
IModel<String> message, Form<?> form) {
-               super(id, message);
-               this.title = title;
-               this.message = message;
+               super(id, Model.of(message));
+               dialog = newFormDialog("dialog", title, message);
                this.userForm = form;
                setOutputMarkupId(true);
        }
@@ -58,7 +51,6 @@ public abstract class ConfirmableAjaxBor
        @Override
        protected void onInitialize() {
                super.onInitialize();
-               final AbstractFormDialog<?> dialog = newFormDialog("dialog", 
title, message);
                add(new AjaxEventBehavior("click") {
                        private static final long serialVersionUID = 1L;
 
@@ -84,6 +76,10 @@ public abstract class ConfirmableAjaxBor
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
        }
        
+       protected void onEvent(AjaxRequestTarget target) {
+               dialog.open(target);
+       }
+       
        /**
         * Triggered when the form is submitted, but the validation failed
         *
@@ -101,8 +97,6 @@ public abstract class ConfirmableAjaxBor
         */
        protected abstract void onSubmit(AjaxRequestTarget target, Form<?> 
form);
 
-       // Factories //
-
        /**
         * Create the dialog instance<br/>
         * <b>Warning:</b> to be overridden with care!
@@ -112,7 +106,7 @@ public abstract class ConfirmableAjaxBor
         * @param message the message to be displayed
         * @return the dialog instance
         */
-       protected AbstractFormDialog<?> newFormDialog(String id, IModel<String> 
title, IModel<String> message) {
+       protected AbstractFormDialog<?> newFormDialog(String id, String title, 
String message) {
                return new MessageFormDialog(id, title, message, 
DialogButtons.OK_CANCEL, DialogIcon.WARN) {
                        private static final long serialVersionUID = 1L;
 
@@ -138,11 +132,4 @@ public abstract class ConfirmableAjaxBor
                        }
                };
        }
-       
-       @Override
-       protected void onDetach() {
-               super.onDetach();
-               title.detach();
-               message.detach();
-       }
 }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html?rev=1755473&r1=1755472&r2=1755473&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html
 Mon Aug  8 04:58:07 2016
@@ -28,11 +28,11 @@
                }
        </script>
        <div class="file tree item drop area">
-               <div class="icons clear trash-toolbar" 
wicket:id="trash-toolbar">
+               <div class="icons clear trash-toolbar" 
wicket:id="trash-toolbar" wicket:message="title:705">
                        <span wicket:id="upload" class="add om-icon align-left 
clickable" wicket:message="title:702"></span>
                        <span wicket:id="create" class="folder-create om-icon 
align-left clickable" wicket:message="title:703"></span>
                        <span wicket:id="refresh" class="refresh om-icon 
align-left clickable" wicket:message="title:704"></span>
-                       <span wicket:id="trash" class="trash om-icon 
align-right clickable" wicket:message="title:705"></span>
+                       <span wicket:id="trash" class="trash om-icon 
align-right clickable"></span>
                        <div class="clear"></div>
                </div>
                <div wicket:id="tree-container" class="trees">
@@ -57,4 +57,4 @@
                <div wicket:id="errors"></div>
        </div>
 </wicket:panel>
-</html>
\ No newline at end of file
+</html>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java?rev=1755473&r1=1755472&r2=1755473&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
 Mon Aug  8 04:58:07 2016
@@ -23,6 +23,7 @@ import static org.apache.openmeetings.we
 
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.UUID;
 
 import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
 import org.apache.openmeetings.db.dao.record.RecordingDao;
@@ -36,6 +37,8 @@ import org.apache.openmeetings.web.commo
 import org.apache.wicket.Component;
 import org.apache.wicket.ajax.AjaxEventBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.attributes.CallbackParameter;
+import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
 import org.apache.wicket.extensions.markup.html.repeater.tree.ITreeProvider;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
@@ -49,7 +52,10 @@ import org.apache.wicket.model.Model;
 
 import com.googlecode.wicket.jquery.core.JQueryBehavior;
 import com.googlecode.wicket.jquery.core.Options;
+import com.googlecode.wicket.jquery.core.ajax.IJQueryAjaxAware;
+import com.googlecode.wicket.jquery.core.ajax.JQueryAjaxBehavior;
 import com.googlecode.wicket.jquery.ui.interaction.droppable.Droppable;
+import com.googlecode.wicket.jquery.ui.interaction.droppable.DroppableBehavior;
 
 public abstract class FileTreePanel extends Panel {
        private static final long serialVersionUID = 1L;
@@ -104,6 +110,37 @@ public abstract class FileTreePanel exte
                        }
                        
                        @Override
+                       public JQueryBehavior newWidgetBehavior(String 
selector) {
+                               return new DroppableBehavior(selector, this) {
+                                       private static final long 
serialVersionUID = 1L;
+
+                                       @Override
+                                       protected JQueryAjaxBehavior 
newOnDropAjaxBehavior(IJQueryAjaxAware source) {
+                                               return new 
OnDropAjaxBehavior(source) {
+                                                       private static final 
long serialVersionUID = 1L;
+
+                                                       @Override
+                                                       public CharSequence 
getCallbackFunctionBody(CallbackParameter... parameters) {
+                                                               String dialogId 
= UUID.randomUUID().toString();
+
+                                                               String 
statement = "var $drop = $(this);";
+                                                               statement += 
"$('body').append('<div id=" + dialogId + ">" + getString("713") + "</div>');";
+                                                               statement += 
"$( '#" + dialogId
+                                                                               
+ "' ).dialog({ title: '" + getString("80") + "', dialogClass: 'no-close', 
buttons: [";
+                                                               statement += "  
  { text: '" + getString("54") + "', click: function() { 
$drop.append(ui.draggable); $(this).dialog('close'); " + 
super.getCallbackFunctionBody(parameters) + " } },";
+                                                               statement += "  
  { text: '" + getString("25") + "', click: function() { $( this 
).dialog('close'); } } ";
+                                                               statement += 
"],";
+                                                               statement += 
"close: function(event, ui) { $(this).dialog('destroy').remove(); }";
+                                                               statement += 
"});";
+
+                                                               return 
statement;
+                                                       }
+                                               };
+                                       }
+                               };
+                       }
+                       
+                       @Override
                        public void onDrop(AjaxRequestTarget target, Component 
component) {
                                Object o = component.getDefaultModelObject();
                                if (o instanceof FileItem) {
@@ -133,6 +170,14 @@ public abstract class FileTreePanel exte
                        private static final long serialVersionUID = 1L;
 
                        @Override
+                       protected void onEvent(AjaxRequestTarget target) {
+                               FileItem f = selectedFile.getObject();
+                               if (f != null && f.getId() > 0) {
+                                       super.onEvent(target);
+                               }
+                       }
+                       
+                       @Override
                        protected void onSubmit(AjaxRequestTarget target, 
Form<?> form) {
                                delete(selectedFile.getObject(), target);
                        }
@@ -152,7 +197,7 @@ public abstract class FileTreePanel exte
                return new WebMarkupContainer(id).setVisible(false);
        }
        
-       void delete(FileItem f, AjaxRequestTarget target) {
+       void delete(FileItem f, IPartialPageRequestHandler handler) {
                long id = f.getId();
                if (id > 0) {
                        if (f instanceof Recording) {
@@ -161,7 +206,7 @@ public abstract class FileTreePanel exte
                                
getBean(FileExplorerItemDao.class).delete((FileExplorerItem)f);
                        }
                }
-               target.add(trees); //FIXME add correct refresh
+               handler.add(trees); //FIXME add correct refresh
        }
        
        public void createRecordingFolder(String name) {

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java?rev=1755473&r1=1755472&r2=1755473&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java
 Mon Aug  8 04:58:07 2016
@@ -96,6 +96,7 @@ public class FolderPanel extends Panel {
                                        super.onConfigure(behavior);
                                        behavior.setOption("revert", 
"treeRevert");
                                        behavior.setOption("cursor", 
Options.asString("move"));
+                                       behavior.setOption("helper", "'clone'");
                                }
                        }.setContainment(treePanel.getContainment());
                        drag.add(AttributeAppender.append("class", r instanceof 
Recording ? "recorditem" : "fileitem"));

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/ConfirmableAjaxBorder.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/ConfirmableAjaxBorder.java?rev=1755473&r1=1755472&r2=1755473&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/ConfirmableAjaxBorder.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/ConfirmableAjaxBorder.java
 Mon Aug  8 04:58:07 2016
@@ -23,7 +23,6 @@ import org.apache.wicket.ajax.AjaxReques
 import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
 import org.apache.wicket.markup.html.border.Border;
 import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 
 import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
@@ -36,21 +35,15 @@ public abstract class ConfirmableAjaxBor
        private static final long serialVersionUID = 1L;
        private final Form<?> form = new Form<>("form");
        private final Form<?> userForm;
-       private final IModel<String> title;
-       private final IModel<String> message;
+       private final AbstractFormDialog<?> dialog;
 
        public ConfirmableAjaxBorder(String id, String title, String message) {
-               this(id, Model.of(title), Model.of(message), null);
+               this(id, title, message, null);
        }
        
        public ConfirmableAjaxBorder(String id, String title, String message, 
Form<?> form) {
-               this(id, Model.of(title), Model.of(message), form);
-       }
-       
-       public ConfirmableAjaxBorder(String id, IModel<String> title, 
IModel<String> message, Form<?> form) {
-               super(id, message);
-               this.title = title;
-               this.message = message;
+               super(id, Model.of(message));
+               dialog = newFormDialog("dialog", title, message);
                this.userForm = form;
                setOutputMarkupId(true);
        }
@@ -58,7 +51,6 @@ public abstract class ConfirmableAjaxBor
        @Override
        protected void onInitialize() {
                super.onInitialize();
-               final AbstractFormDialog<?> dialog = newFormDialog("dialog", 
title, message);
                add(new AjaxEventBehavior("click") {
                        private static final long serialVersionUID = 1L;
 
@@ -84,6 +76,10 @@ public abstract class ConfirmableAjaxBor
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
        }
        
+       protected void onEvent(AjaxRequestTarget target) {
+               dialog.open(target);
+       }
+       
        /**
         * Triggered when the form is submitted, but the validation failed
         *
@@ -101,8 +97,6 @@ public abstract class ConfirmableAjaxBor
         */
        protected abstract void onSubmit(AjaxRequestTarget target, Form<?> 
form);
 
-       // Factories //
-
        /**
         * Create the dialog instance<br/>
         * <b>Warning:</b> to be overridden with care!
@@ -112,7 +106,7 @@ public abstract class ConfirmableAjaxBor
         * @param message the message to be displayed
         * @return the dialog instance
         */
-       protected AbstractFormDialog<?> newFormDialog(String id, IModel<String> 
title, IModel<String> message) {
+       protected AbstractFormDialog<?> newFormDialog(String id, String title, 
String message) {
                return new MessageFormDialog(id, title, message, 
DialogButtons.OK_CANCEL, DialogIcon.WARN) {
                        private static final long serialVersionUID = 1L;
 
@@ -138,11 +132,4 @@ public abstract class ConfirmableAjaxBor
                        }
                };
        }
-       
-       @Override
-       protected void onDetach() {
-               super.onDetach();
-               title.detach();
-               message.detach();
-       }
 }

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html?rev=1755473&r1=1755472&r2=1755473&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html
 Mon Aug  8 04:58:07 2016
@@ -28,11 +28,11 @@
                }
        </script>
        <div class="file tree item drop area">
-               <div class="icons clear trash-toolbar" 
wicket:id="trash-toolbar">
+               <div class="icons clear trash-toolbar" 
wicket:id="trash-toolbar" wicket:message="title:705">
                        <span wicket:id="upload" class="add om-icon align-left 
clickable" wicket:message="title:702"></span>
                        <span wicket:id="create" class="folder-create om-icon 
align-left clickable" wicket:message="title:703"></span>
                        <span wicket:id="refresh" class="refresh om-icon 
align-left clickable" wicket:message="title:704"></span>
-                       <span wicket:id="trash" class="trash om-icon 
align-right clickable" wicket:message="title:705"></span>
+                       <span wicket:id="trash" class="trash om-icon 
align-right clickable"></span>
                        <div class="clear"></div>
                </div>
                <div wicket:id="tree-container" class="trees">
@@ -57,4 +57,4 @@
                <div wicket:id="errors"></div>
        </div>
 </wicket:panel>
-</html>
\ No newline at end of file
+</html>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java?rev=1755473&r1=1755472&r2=1755473&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
 Mon Aug  8 04:58:07 2016
@@ -23,6 +23,7 @@ import static org.apache.openmeetings.we
 
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.UUID;
 
 import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
 import org.apache.openmeetings.db.dao.record.RecordingDao;
@@ -36,6 +37,8 @@ import org.apache.openmeetings.web.commo
 import org.apache.wicket.Component;
 import org.apache.wicket.ajax.AjaxEventBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.attributes.CallbackParameter;
+import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
 import org.apache.wicket.extensions.markup.html.repeater.tree.ITreeProvider;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
@@ -49,7 +52,10 @@ import org.apache.wicket.model.Model;
 
 import com.googlecode.wicket.jquery.core.JQueryBehavior;
 import com.googlecode.wicket.jquery.core.Options;
+import com.googlecode.wicket.jquery.core.ajax.IJQueryAjaxAware;
+import com.googlecode.wicket.jquery.core.ajax.JQueryAjaxBehavior;
 import com.googlecode.wicket.jquery.ui.interaction.droppable.Droppable;
+import com.googlecode.wicket.jquery.ui.interaction.droppable.DroppableBehavior;
 
 public abstract class FileTreePanel extends Panel {
        private static final long serialVersionUID = 1L;
@@ -104,6 +110,37 @@ public abstract class FileTreePanel exte
                        }
                        
                        @Override
+                       public JQueryBehavior newWidgetBehavior(String 
selector) {
+                               return new DroppableBehavior(selector, this) {
+                                       private static final long 
serialVersionUID = 1L;
+
+                                       @Override
+                                       protected JQueryAjaxBehavior 
newOnDropAjaxBehavior(IJQueryAjaxAware source) {
+                                               return new 
OnDropAjaxBehavior(source) {
+                                                       private static final 
long serialVersionUID = 1L;
+
+                                                       @Override
+                                                       public CharSequence 
getCallbackFunctionBody(CallbackParameter... parameters) {
+                                                               String dialogId 
= UUID.randomUUID().toString();
+
+                                                               String 
statement = "var $drop = $(this);";
+                                                               statement += 
"$('body').append('<div id=" + dialogId + ">" + getString("713") + "</div>');";
+                                                               statement += 
"$( '#" + dialogId
+                                                                               
+ "' ).dialog({ title: '" + getString("80") + "', dialogClass: 'no-close', 
buttons: [";
+                                                               statement += "  
  { text: '" + getString("54") + "', click: function() { 
$drop.append(ui.draggable); $(this).dialog('close'); " + 
super.getCallbackFunctionBody(parameters) + " } },";
+                                                               statement += "  
  { text: '" + getString("25") + "', click: function() { $( this 
).dialog('close'); } } ";
+                                                               statement += 
"],";
+                                                               statement += 
"close: function(event, ui) { $(this).dialog('destroy').remove(); }";
+                                                               statement += 
"});";
+
+                                                               return 
statement;
+                                                       }
+                                               };
+                                       }
+                               };
+                       }
+                       
+                       @Override
                        public void onDrop(AjaxRequestTarget target, Component 
component) {
                                Object o = component.getDefaultModelObject();
                                if (o instanceof FileItem) {
@@ -133,6 +170,14 @@ public abstract class FileTreePanel exte
                        private static final long serialVersionUID = 1L;
 
                        @Override
+                       protected void onEvent(AjaxRequestTarget target) {
+                               FileItem f = selectedFile.getObject();
+                               if (f != null && f.getId() > 0) {
+                                       super.onEvent(target);
+                               }
+                       }
+                       
+                       @Override
                        protected void onSubmit(AjaxRequestTarget target, 
Form<?> form) {
                                delete(selectedFile.getObject(), target);
                        }
@@ -152,7 +197,7 @@ public abstract class FileTreePanel exte
                return new WebMarkupContainer(id).setVisible(false);
        }
        
-       void delete(FileItem f, AjaxRequestTarget target) {
+       void delete(FileItem f, IPartialPageRequestHandler handler) {
                long id = f.getId();
                if (id > 0) {
                        if (f instanceof Recording) {
@@ -161,7 +206,7 @@ public abstract class FileTreePanel exte
                                
getBean(FileExplorerItemDao.class).delete((FileExplorerItem)f);
                        }
                }
-               target.add(trees); //FIXME add correct refresh
+               handler.add(trees); //FIXME add correct refresh
        }
        
        public void createRecordingFolder(String name) {

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java?rev=1755473&r1=1755472&r2=1755473&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java
 Mon Aug  8 04:58:07 2016
@@ -96,6 +96,7 @@ public class FolderPanel extends Panel {
                                        super.onConfigure(behavior);
                                        behavior.setOption("revert", 
"treeRevert");
                                        behavior.setOption("cursor", 
Options.asString("move"));
+                                       behavior.setOption("helper", "'clone'");
                                }
                        }.setContainment(treePanel.getContainment());
                        drag.add(AttributeAppender.append("class", r instanceof 
Recording ? "recorditem" : "fileitem"));


Reply via email to