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 7888e50  [OPENMEETINGS-2456] partially fixed
7888e50 is described below

commit 7888e503148894b03dc3e743564e2c54d3eaae33
Author: Maxim Solodovnik <solomax...@gmail.com>
AuthorDate: Wed Sep 30 19:51:31 2020 +0700

    [OPENMEETINGS-2456] partially fixed
---
 .../web/room/poll/PollResultsDialog.java           | 73 +++++++++++-----------
 1 file changed, 35 insertions(+), 38 deletions(-)

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 c6ef92c..a51714b 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
@@ -81,7 +81,10 @@ public class PollResultsDialog extends Modal<RoomPoll> {
        private BootstrapAjaxLink<String> clone;
        private boolean moderator = false;
        private boolean opened = false;
+       private String chartSimple;
+       private String chartPie;
        private final CreatePollDialog createPoll;
+       private DropDownChoice<String> chartType;
        @SpringBean
        private PollDao pollDao;
        @SpringBean
@@ -96,10 +99,10 @@ public class PollResultsDialog extends Modal<RoomPoll> {
        @Override
        protected void onInitialize() {
                header(new ResourceModel("37"));
-               setCloseOnEscapeKey(false);
-               setBackdrop(Backdrop.STATIC);
                setUseCloseHandler(true);
 
+               chartSimple = getString("1414");
+               chartPie = getString("1415");
                add(selForm = new PollSelectForm("selForm"));
                add(dispForm = new PollResultsForm("dispForm"));
                addButton(close = new BootstrapAjaxLink<>("button", null, 
Buttons.Type.Outline_Danger, new ResourceModel("1418")) {
@@ -214,14 +217,13 @@ public class PollResultsDialog extends Modal<RoomPoll> {
        public Modal<RoomPoll> show(IPartialPageRequestHandler handler) {
                opened = true;
                super.show(handler);
-               
handler.appendJavaScript(getScript(barChart(selForm.select.getModelObject()), 
true));
+               redraw(handler, true);
                return this;
        }
 
        @Override
        public void onClose(IPartialPageRequestHandler handler) {
                opened = false;
-               super.onClose(handler);
        }
 
        public boolean isOpened() {
@@ -279,6 +281,35 @@ public class PollResultsDialog extends Modal<RoomPoll> {
                return barChart;
        }
 
+       private PieChart<Integer> pieChart(RoomPoll p) {
+               PieChart<Integer> pieChart = new PieChart<>(null);
+               String[] ticks = getTicks(p);
+               Integer[] values = getValues(p);
+               for (int i = 0; i < values.length; ++i) {
+                       pieChart.addValue(ticks[i], values[i]);
+               }
+
+               pieChart.getSeriesDefaults().setRendererOptions(new 
RendererOptions().setHighlightMouseDown(true)
+                               
.setShowDataLabels(true).setFill(false).setSliceMargin(4).setLineWidth(5));
+
+               Highlighter h = new Highlighter();
+               h.setShow(true);
+               h.setFormatString("%s, %P");
+               h.setTooltipLocation(Location.ne);
+               h.setShowTooltip(true);
+               h.setUseAxesFormatters(false);
+
+               pieChart.getChartConfiguration()
+                       .setLegend(null).setHighlighter(h);
+               return pieChart;
+       }
+
+       private void redraw(IPartialPageRequestHandler handler, boolean onShow) 
{
+               RoomPoll p = dispForm.getModelObject();
+               Chart<?> chart = chartSimple.equals(chartType.getModelObject()) 
? barChart(p) : pieChart(p);
+               handler.appendJavaScript(getScript(chart, onShow));
+       }
+
        private class PollSelectForm extends Form<RoomPoll> {
                private static final long serialVersionUID = 1L;
                private DropDownChoice<RoomPoll> select;
@@ -331,12 +362,9 @@ public class PollResultsDialog extends Modal<RoomPoll> {
 
        private class PollResultsForm extends Form<RoomPoll> {
                private static final long serialVersionUID = 1L;
-               private String chartSimple;
-               private String chartPie;
                private final Label name = new Label("name", 
Model.of((String)null));
                private final Label question = new Label("question", 
Model.of((String)null));
                private final Label count = new Label("count", Model.of(0));
-               private DropDownChoice<String> chartType;
 
                PollResultsForm(String id) {
                        super(id, Model.of((RoomPoll)null));
@@ -345,8 +373,6 @@ public class PollResultsDialog extends Modal<RoomPoll> {
 
                @Override
                protected void onInitialize() {
-                       chartSimple = getString("1414");
-                       chartPie = getString("1415");
                        add(name, question, count);
                        chartType = new DropDownChoice<>("chartType", 
Model.of(chartSimple), List.of(chartSimple, chartPie));
                        add(chartType.add(new 
AjaxFormComponentUpdatingBehavior("change") {
@@ -374,34 +400,5 @@ public class PollResultsDialog extends Modal<RoomPoll> {
                                redraw(handler, false);
                        }
                }
-
-               private void redraw(IPartialPageRequestHandler handler, boolean 
onShow) {
-                       RoomPoll poll = getModelObject();
-                       Chart<?> chart = 
chartSimple.equals(chartType.getModelObject()) ? barChart(poll) : 
pieChart(poll);
-                       handler.appendJavaScript(getScript(chart, onShow));
-               }
-
-               private PieChart<Integer> pieChart(RoomPoll p) {
-                       PieChart<Integer> pieChart = new PieChart<>(null);
-                       String[] ticks = getTicks(p);
-                       Integer[] values = getValues(p);
-                       for (int i = 0; i < values.length; ++i) {
-                               pieChart.addValue(ticks[i], values[i]);
-                       }
-
-                       pieChart.getSeriesDefaults().setRendererOptions(new 
RendererOptions().setHighlightMouseDown(true)
-                                       
.setShowDataLabels(true).setFill(false).setSliceMargin(4).setLineWidth(5));
-
-                       Highlighter h = new Highlighter();
-                       h.setShow(true);
-                       h.setFormatString("%s, %P");
-                       h.setTooltipLocation(Location.ne);
-                       h.setShowTooltip(true);
-                       h.setUseAxesFormatters(false);
-
-                       pieChart.getChartConfiguration()
-                               .setLegend(null).setHighlighter(h);
-                       return pieChart;
-               }
        }
 }

Reply via email to