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;
+ }
}