This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new 6ff4bc7  [OPENMEETINGS-2165] poll-results
6ff4bc7 is described below

commit 6ff4bc7cacb729d85b6fab9c8c3a50b06405e227
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Sat Mar 14 15:28:28 2020 +0700

    [OPENMEETINGS-2165] poll-results
---
 .../web/room/poll/PollResultsDialog.html           |  4 +--
 .../web/room/poll/PollResultsDialog.java           | 41 +++++++++++++---------
 2 files changed, 27 insertions(+), 18 deletions(-)

diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/PollResultsDialog.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/PollResultsDialog.html
index 4d04c14..ed22811 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/PollResultsDialog.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/PollResultsDialog.html
@@ -25,7 +25,7 @@
                <table class="w-100">
                        <tr>
                                <td><wicket:message key="1412"/></td>
-                               <td><select wicket:id="polls"></select></td>
+                               <td><select class="form-control" 
wicket:id="polls"></select></td>
                        </tr>
                </table>
        </form>
@@ -39,7 +39,7 @@
                        </tr>
                        <tr>
                                <td><wicket:message key="39"/>&nbsp;(<span 
wicket:id="count"></span>)</td>
-                               <td><select wicket:id="chartType"></select></td>
+                               <td><select class="form-control" 
wicket:id="chartType"></select></td>
                        </tr>
                        <tr>
                                <td><wicket:message key="40"/></td>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/PollResultsDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/PollResultsDialog.java
index f996f76..90f98ca 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/PollResultsDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/PollResultsDialog.java
@@ -165,21 +165,27 @@ public class PollResultsDialog extends Modal<RoomPoll> {
                dispForm.updateModel(p, false, target);
                StringBuilder builder = new StringBuilder();
                
builder.append("$('#").append(PollResultsDialog.this.getMarkupId()).append("').on('dialogopen',
 function( event, ui ) {");
-               builder.append(getScript(barChart(p)));
+               builder.append(getScript(barChart(p), true));
                builder.append("});");
 
                target.appendJavaScript(builder.toString());
        }
 
-       private StringBuilder getScript(Chart<?> chart) {
-               StringBuilder builder = new StringBuilder();
-               
builder.append("$('#").append(chartDiv.getMarkupId()).append("').html(''); ");
-               
builder.append("$.jqplot('").append(chartDiv.getMarkupId()).append("', ");
-               builder.append(chart.getChartData().toJsonString());
-               builder.append(", ");
-               
builder.append(JqPlotUtils.jqPlotToJson(chart.getChartConfiguration()));
-               builder.append(");");
-               return builder;
+       private StringBuilder getScript(Chart<?> chart, boolean onShow) {
+               StringBuilder sb = new StringBuilder()
+                               
.append("$('#").append(chartDiv.getMarkupId()).append("').html(''); ");
+               if (onShow) {
+                       
sb.append("$('#").append(getMarkupId()).append("').on('shown.bs.modal', 
function (e) {\n");
+               }
+               
sb.append("$.jqplot('").append(chartDiv.getMarkupId()).append("', ")
+                               .append(chart.getChartData().toJsonString())
+                               .append(", ")
+                               
.append(JqPlotUtils.jqPlotToJson(chart.getChartConfiguration()))
+                               .append(");");
+               if (onShow) {
+                       sb.append("});");
+               }
+               return sb;
        }
 
        @Override
@@ -212,7 +218,9 @@ public class PollResultsDialog extends Modal<RoomPoll> {
        @Override
        public Modal<RoomPoll> show(IPartialPageRequestHandler handler) {
                opened = true;
-               return super.show(handler);
+               super.show(handler);
+               dispForm.redraw(handler, true);
+               return this;
        }
 
        @Override
@@ -351,7 +359,7 @@ public class PollResultsDialog extends Modal<RoomPoll> {
 
                                @Override
                                protected void onUpdate(AjaxRequestTarget 
target) {
-                                       redraw(target);
+                                       redraw(target, false);
                                }
                        }));
                        super.onInitialize();
@@ -368,14 +376,14 @@ public class PollResultsDialog extends Modal<RoomPoll> {
                        delete.setVisible(moderator);
                        handler.add(close, clone, delete);
                        if (redraw) {
-                               redraw(handler);
+                               redraw(handler, false);
                        }
                }
 
-               private void redraw(IPartialPageRequestHandler handler) {
+               private void redraw(IPartialPageRequestHandler handler, boolean 
onShow) {
                        RoomPoll poll = getModelObject();
                        Chart<?> chart = 
chartSimple.equals(chartType.getModelObject()) ? barChart(poll) : 
pieChart(poll);
-                       handler.appendJavaScript(getScript(chart));
+                       handler.appendJavaScript(getScript(chart, onShow));
                }
 
                private PieChart<Integer> pieChart(RoomPoll p) {
@@ -396,7 +404,8 @@ public class PollResultsDialog extends Modal<RoomPoll> {
                        h.setShowTooltip(true);
                        h.setUseAxesFormatters(false);
 
-                       
pieChart.getChartConfiguration().setLegend(null).setHighlighter(h);
+                       pieChart.getChartConfiguration()
+                               .setLegend(null).setHighlighter(h);
                        return pieChart;
                }
        }

Reply via email to