You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2015/10/04 18:55:21 UTC

svn commit: r1706700 - in /openmeetings: branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/ trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/

Author: solomax
Date: Sun Oct  4 16:55:21 2015
New Revision: 1706700

URL: http://svn.apache.org/viewvc?rev=1706700&view=rev
Log:
[OPENMEETINGS-1138] ajax split button is used for download

Modified:
    openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/VideoInfo.html
    openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/VideoInfo.java
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.html
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java

Modified: openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/VideoInfo.html
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/VideoInfo.html?rev=1706700&r1=1706699&r2=1706700&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/VideoInfo.html (original)
+++ openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/VideoInfo.html Sun Oct  4 16:55:21 2015
@@ -41,8 +41,7 @@
 		</table>
 		<table>
 			<tr>
-				<td><button wicket:id="dAVI"><wicket:message key="884"/></button></td>
-				<td><button wicket:id="dFLV"><wicket:message key="883"/></button></td>
+				<td><span wicket:id="downloadBtn"></span></td>
 				<td><button wicket:id="re-convert"><wicket:message key="1600"/></button></td>
 			</tr>
 		</table>

Modified: openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/VideoInfo.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/VideoInfo.java?rev=1706700&r1=1706699&r2=1706700&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/VideoInfo.java (original)
+++ openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/VideoInfo.java Sun Oct  4 16:55:21 2015
@@ -24,6 +24,7 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.web.app.Application.getBean;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.openmeetings.converter.FlvInterviewConverter;
@@ -47,40 +48,14 @@ import org.apache.wicket.util.resource.F
 
 import com.googlecode.wicket.jquery.ui.JQueryIcon;
 import com.googlecode.wicket.jquery.ui.form.button.AjaxButton;
+import com.googlecode.wicket.jquery.ui.form.button.AjaxSplitButton;
+import com.googlecode.wicket.jquery.ui.widget.menu.IMenuItem;
+import com.googlecode.wicket.jquery.ui.widget.menu.MenuItem;
 
 public class VideoInfo extends Panel {
 	private static final long serialVersionUID = 1L;
 	private final Form<Void> form = new Form<Void>("form");
-	private final AjaxButton downloadAvi = new AjaxButton("dAVI") {
-		private static final long serialVersionUID = 1L;
-
-		@Override
-		protected String getIcon() {
-			return JQueryIcon.ARROWTHICKSTOP_1_S;
-		};
-		
-		@Override
-		protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
-			download.setFileName(rm.getObject().getAlternateDownload());
-			download.setResourceStream(new FileResourceStream(getRecording(rm.getObject().getAlternateDownload())));
-			download.initiate(target);
-		}
-	};
-	private final AjaxButton downloadFlv = new AjaxButton("dFLV") {
-		private static final long serialVersionUID = 1L;
-
-		@Override
-		protected String getIcon() {
-			return JQueryIcon.ARROWTHICKSTOP_1_S;
-		};
-		
-		@Override
-		protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
-			download.setFileName(rm.getObject().getFileHash());
-			download.setResourceStream(new FileResourceStream(getRecording(rm.getObject().getFileHash())));
-			download.initiate(target);
-		}
-	};
+	private final AjaxSplitButton downloadBtn = new AjaxSplitButton("downloadBtn", newDownloadMenuList());
 	private final AjaxButton reConvert = new AjaxButton("re-convert") {
 		private static final long serialVersionUID = 1L;
 
@@ -114,7 +89,7 @@ public class VideoInfo extends Panel {
 		setDefaultModel(rm);
 		
 		form.add(new Label("fileName"), new Label("duration"), new Label("recordEnd"), new Label("roomName", roomName),
-				downloadFlv.setEnabled(false), downloadAvi.setEnabled(false), reConvert.setEnabled(false));
+				downloadBtn.setEnabled(false), reConvert.setEnabled(false));
 		add(download);
 		update(null, r);
 	}
@@ -150,8 +125,7 @@ public class VideoInfo extends Panel {
 			}
 		}
 		reConvert.setEnabled(reConvEnabled);
-		downloadAvi.setEnabled(isRecordingExists(r.getAlternateDownload()));
-		downloadFlv.setEnabled(isRecordingExists(r.getFileHash()));
+		downloadBtn.setEnabled(isRecordingExists(r.getAlternateDownload()) || isRecordingExists(r.getFileHash()));
 		if (target != null) {
 			target.add(form);
 		}
@@ -165,4 +139,44 @@ public class VideoInfo extends Panel {
 		roomName.detach();
 		super.onDetach();
 	}
+	
+	private List<IMenuItem> newDownloadMenuList() {
+		List<IMenuItem> list = new ArrayList<>();
+
+		//avi
+		list.add(new MenuItem(getString("884"), JQueryIcon.ARROWTHICKSTOP_1_S) {
+			private static final long serialVersionUID = 1L;
+			
+			@Override
+			public boolean isEnabled() {
+				FlvRecording r = VideoInfo.this.rm.getObject();
+				return r != null && isRecordingExists(r.getAlternateDownload());
+			}
+			
+			@Override
+			public void onClick(AjaxRequestTarget target) {
+				download.setFileName(rm.getObject().getAlternateDownload());
+				download.setResourceStream(new FileResourceStream(getRecording(rm.getObject().getAlternateDownload())));
+				download.initiate(target);
+			}
+		});
+		//flv
+		list.add(new MenuItem(getString("883"), JQueryIcon.ARROWTHICKSTOP_1_S) {
+			private static final long serialVersionUID = 1L;
+			
+			@Override
+			public boolean isEnabled() {
+				FlvRecording r = VideoInfo.this.rm.getObject();
+				return r != null && isRecordingExists(r.getAlternateDownload());
+			}
+			
+			@Override
+			public void onClick(AjaxRequestTarget target) {
+				download.setFileName(rm.getObject().getFileHash());
+				download.setResourceStream(new FileResourceStream(getRecording(rm.getObject().getFileHash())));
+				download.initiate(target);
+			}
+		});
+		return list;
+	}
 }

Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.html?rev=1706700&r1=1706699&r2=1706700&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.html (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.html Sun Oct  4 16:55:21 2015
@@ -41,8 +41,7 @@
 		</table>
 		<table>
 			<tr>
-				<td><button wicket:id="dAVI"><wicket:message key="884"/></button></td>
-				<td><button wicket:id="dFLV"><wicket:message key="883"/></button></td>
+				<td><span wicket:id="downloadBtn"></span></td>
 				<td><button wicket:id="re-convert"><wicket:message key="1600"/></button></td>
 			</tr>
 		</table>

Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java?rev=1706700&r1=1706699&r2=1706700&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java Sun Oct  4 16:55:21 2015
@@ -24,6 +24,7 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.web.app.Application.getBean;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.openmeetings.core.converter.InterviewConverter;
@@ -47,40 +48,14 @@ import org.apache.wicket.util.resource.F
 
 import com.googlecode.wicket.jquery.ui.JQueryIcon;
 import com.googlecode.wicket.jquery.ui.form.button.AjaxButton;
+import com.googlecode.wicket.jquery.ui.form.button.AjaxSplitButton;
+import com.googlecode.wicket.jquery.ui.widget.menu.IMenuItem;
+import com.googlecode.wicket.jquery.ui.widget.menu.MenuItem;
 
 public class VideoInfo extends Panel {
 	private static final long serialVersionUID = 1L;
 	private final Form<Void> form = new Form<Void>("form");
-	private final AjaxButton downloadAvi = new AjaxButton("dAVI") {
-		private static final long serialVersionUID = 1L;
-
-		@Override
-		protected String getIcon() {
-			return JQueryIcon.ARROWTHICKSTOP_1_S;
-		};
-		
-		@Override
-		protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
-			download.setFileName(rm.getObject().getAlternateDownload());
-			download.setResourceStream(new FileResourceStream(getRecording(rm.getObject().getAlternateDownload())));
-			download.initiate(target);
-		}
-	};
-	private final AjaxButton downloadFlv = new AjaxButton("dFLV") {
-		private static final long serialVersionUID = 1L;
-
-		@Override
-		protected String getIcon() {
-			return JQueryIcon.ARROWTHICKSTOP_1_S;
-		};
-		
-		@Override
-		protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
-			download.setFileName(rm.getObject().getFileHash());
-			download.setResourceStream(new FileResourceStream(getRecording(rm.getObject().getFileHash())));
-			download.initiate(target);
-		}
-	};
+	private final AjaxSplitButton downloadBtn = new AjaxSplitButton("downloadBtn", newDownloadMenuList());
 	private final AjaxButton reConvert = new AjaxButton("re-convert") {
 		private static final long serialVersionUID = 1L;
 
@@ -114,7 +89,7 @@ public class VideoInfo extends Panel {
 		setDefaultModel(rm);
 		
 		form.add(new Label("fileName"), new Label("duration"), new Label("recordEnd"), new Label("roomName", roomName),
-				downloadFlv.setEnabled(false), downloadAvi.setEnabled(false), reConvert.setEnabled(false));
+				downloadBtn.setEnabled(false), reConvert.setEnabled(false));
 		add(download);
 		update(null, r);
 	}
@@ -150,8 +125,7 @@ public class VideoInfo extends Panel {
 			}
 		}
 		reConvert.setEnabled(reConvEnabled);
-		downloadAvi.setEnabled(isRecordingExists(r.getAlternateDownload()));
-		downloadFlv.setEnabled(isRecordingExists(r.getFileHash()));
+		downloadBtn.setEnabled(isRecordingExists(r.getAlternateDownload()) || isRecordingExists(r.getFileHash()));
 		if (target != null) {
 			target.add(form);
 		}
@@ -165,4 +139,44 @@ public class VideoInfo extends Panel {
 		roomName.detach();
 		super.onDetach();
 	}
+	
+	private List<IMenuItem> newDownloadMenuList() {
+		List<IMenuItem> list = new ArrayList<>();
+
+		//avi
+		list.add(new MenuItem(getString("884"), JQueryIcon.ARROWTHICKSTOP_1_S) {
+			private static final long serialVersionUID = 1L;
+			
+			@Override
+			public boolean isEnabled() {
+				Recording r = VideoInfo.this.rm.getObject();
+				return r != null && isRecordingExists(r.getAlternateDownload());
+			}
+			
+			@Override
+			public void onClick(AjaxRequestTarget target) {
+				download.setFileName(rm.getObject().getAlternateDownload());
+				download.setResourceStream(new FileResourceStream(getRecording(rm.getObject().getAlternateDownload())));
+				download.initiate(target);
+			}
+		});
+		//flv
+		list.add(new MenuItem(getString("883"), JQueryIcon.ARROWTHICKSTOP_1_S) {
+			private static final long serialVersionUID = 1L;
+			
+			@Override
+			public boolean isEnabled() {
+				Recording r = VideoInfo.this.rm.getObject();
+				return r != null && isRecordingExists(r.getAlternateDownload());
+			}
+			
+			@Override
+			public void onClick(AjaxRequestTarget target) {
+				download.setFileName(rm.getObject().getFileHash());
+				download.setResourceStream(new FileResourceStream(getRecording(rm.getObject().getFileHash())));
+				download.initiate(target);
+			}
+		});
+		return list;
+	}
 }