Author: solomax
Date: Sat Jan 14 17:10:59 2017
New Revision: 1778799

URL: http://svn.apache.org/viewvc?rev=1778799&view=rev
Log:
[OPENMEETINGS-895] Files tab is fixed, file-names are truncated, auto-switch is 
fixed

Modified:
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/theme.css
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
    
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/theme.css

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1778799&r1=1778798&r2=1778799&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 Sat Jan 14 17:10:59 2017
@@ -120,6 +120,9 @@ public class RoomPanel extends BasePanel
                                path = path.substring(1, path.indexOf('/', 2) + 
1);
                                broadcast(new RoomMessage(r.getId(), 
getUserId(), RoomMessage.Type.roomEnter));
                                getMainPanel().getChat().roomEnter(r, target);
+                               if (r.isFilesOpened()) {
+                                       sidebar.setFilesActive(target);
+                               }
                        } catch (MalformedURLException e) {
                                log.error("Error while constructing room 
parameters", e);
                        }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java?rev=1778799&r1=1778798&r2=1778799&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
 Sat Jan 14 17:10:59 2017
@@ -26,6 +26,7 @@ import static org.apache.wicket.ajax.att
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.List;
 
 import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.room.Room.Right;
@@ -57,6 +58,7 @@ import org.red5.logging.Red5LoggerFactor
 import org.slf4j.Logger;
 
 import com.googlecode.wicket.jquery.ui.widget.tabs.TabbedPanel;
+import com.googlecode.wicket.kendo.ui.widget.tabs.TabListModel;
 
 public class RoomSidebar extends Panel {
        private static final long serialVersionUID = 1L;
@@ -81,6 +83,7 @@ public class RoomSidebar extends Panel {
        private final ConfirmableAjaxBorder confirmKick;
        private boolean showFiles;
        private boolean avInited = false;
+       private int selectedIdx = 0;
        private Client kickedClient;
        private final ListView<Client> users = new ListView<Client>("user", new 
ArrayList<Client>()) {
                private static final long serialVersionUID = 1L;
@@ -241,7 +244,19 @@ public class RoomSidebar extends Panel {
                                return new FileFragment(containerId, 
"file-panel");
                        }
                };
-               add(tabs = new TabbedPanel("tabs", Arrays.asList(userTab, 
fileTab)).setActiveTab(room.getRoom().isFilesOpened() ? 1 : 0));
+               add(tabs = new TabbedPanel("tabs", newTabModel()) {
+                       private static final long serialVersionUID = 1L;
+
+                       @Override
+                       protected void onConfigure() {
+                               super.onConfigure();
+                               setActiveTab(selectedIdx);
+                       }
+
+                       public void onActivate(AjaxRequestTarget target, int 
index, ITab tab) {
+                               selectedIdx = index;
+                       }
+               });
                roomFiles = new RoomFilePanel("tree", room);
                selfRights = new SelfIconsPanel("icons", room.getClient(), 
room, true);
                add(upload = new UploadDialog("upload", room, roomFiles));
@@ -256,6 +271,17 @@ public class RoomSidebar extends Panel {
                add(toggleRight, toggleActivity, roomAction, avSettings);
        }
 
+       private TabListModel newTabModel() {
+               return new TabListModel() {
+                       private static final long serialVersionUID = 1L;
+
+                       @Override
+                       protected List<ITab> load() {
+                               return Arrays.asList(userTab, fileTab);
+                       }
+               };
+       }
+
        @Override
        public void renderHead(IHeaderResponse response) {
                super.renderHead(response);
@@ -365,4 +391,9 @@ public class RoomSidebar extends Panel {
                }
                return r;
        }
+
+       public void setFilesActive(IPartialPageRequestHandler handler) {
+               selectedIdx = 1;
+               tabs.reload(handler);
+       }
 }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/theme.css
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/theme.css?rev=1778799&r1=1778798&r2=1778799&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/theme.css
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/theme.css
 Sat Jan 14 17:10:59 2017
@@ -396,11 +396,15 @@ html, body {
        display: inline-block;
        vertical-align: top;
 }
-.file.item .name {
+.file.item .name, .file.item .name span {
        color: black;
        display: block;
-       overflow: hidden;
        width: 230px;
+       max-width: 230px;
+       /* Required for text-overflow to do anything */
+       text-overflow: ellipsis;
+       white-space: nowrap;
+       overflow: hidden;
 }
 .file.item .errors {
        position: absolute;

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1778799&r1=1778798&r2=1778799&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 Sat Jan 14 17:10:59 2017
@@ -132,6 +132,9 @@ public class RoomPanel extends BasePanel
                                                ));
                                broadcast(new RoomMessage(r.getId(), 
getUserId(), RoomMessage.Type.roomEnter));
                                getMainPanel().getChat().roomEnter(r, target);
+                               if (r.isFilesOpened()) {
+                                       sidebar.setFilesActive(target);
+                               }
                        } catch (MalformedURLException e) {
                                log.error("Error while constructing room 
parameters", e);
                        }

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java?rev=1778799&r1=1778798&r2=1778799&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
 Sat Jan 14 17:10:59 2017
@@ -26,6 +26,7 @@ import static org.apache.wicket.ajax.att
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.List;
 
 import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.room.Room.Right;
@@ -57,6 +58,7 @@ import org.red5.logging.Red5LoggerFactor
 import org.slf4j.Logger;
 
 import com.googlecode.wicket.jquery.ui.widget.tabs.TabbedPanel;
+import com.googlecode.wicket.kendo.ui.widget.tabs.TabListModel;
 
 public class RoomSidebar extends Panel {
        private static final long serialVersionUID = 1L;
@@ -81,6 +83,7 @@ public class RoomSidebar extends Panel {
        private final ConfirmableAjaxBorder confirmKick;
        private boolean showFiles;
        private boolean avInited = false;
+       private int selectedIdx = 0;
        private Client kickedClient;
        private final ListView<Client> users = new ListView<Client>("user", new 
ArrayList<Client>()) {
                private static final long serialVersionUID = 1L;
@@ -241,7 +244,19 @@ public class RoomSidebar extends Panel {
                                return new FileFragment(containerId, 
"file-panel");
                        }
                };
-               add(tabs = new TabbedPanel("tabs", Arrays.asList(userTab, 
fileTab)).setActiveTab(room.getRoom().isFilesOpened() ? 1 : 0));
+               add(tabs = new TabbedPanel("tabs", newTabModel()) {
+                       private static final long serialVersionUID = 1L;
+
+                       @Override
+                       protected void onConfigure() {
+                               super.onConfigure();
+                               setActiveTab(selectedIdx);
+                       }
+
+                       public void onActivate(AjaxRequestTarget target, int 
index, ITab tab) {
+                               selectedIdx = index;
+                       }
+               });
                roomFiles = new RoomFilePanel("tree", room);
                selfRights = new SelfIconsPanel("icons", room.getClient(), 
room, true);
                add(upload = new UploadDialog("upload", room, roomFiles));
@@ -256,6 +271,17 @@ public class RoomSidebar extends Panel {
                add(toggleRight, toggleActivity, roomAction, avSettings);
        }
 
+       private TabListModel newTabModel() {
+               return new TabListModel() {
+                       private static final long serialVersionUID = 1L;
+
+                       @Override
+                       protected List<ITab> load() {
+                               return Arrays.asList(userTab, fileTab);
+                       }
+               };
+       }
+
        @Override
        public void renderHead(IHeaderResponse response) {
                super.renderHead(response);
@@ -365,4 +391,9 @@ public class RoomSidebar extends Panel {
                }
                return r;
        }
+
+       public void setFilesActive(IPartialPageRequestHandler handler) {
+               selectedIdx = 1;
+               tabs.reload(handler);
+       }
 }

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/theme.css
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/theme.css?rev=1778799&r1=1778798&r2=1778799&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/theme.css 
(original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/theme.css 
Sat Jan 14 17:10:59 2017
@@ -396,11 +396,15 @@ html, body {
        display: inline-block;
        vertical-align: top;
 }
-.file.item .name {
+.file.item .name, .file.item .name span {
        color: black;
        display: block;
-       overflow: hidden;
        width: 230px;
+       max-width: 230px;
+       /* Required for text-overflow to do anything */
+       text-overflow: ellipsis;
+       white-space: nowrap;
+       overflow: hidden;
 }
 .file.item .errors {
        position: absolute;


Reply via email to