| <?xml version="1.0" encoding="UTF-8" ?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| |
| --> |
| <library> |
| |
| <class name="resultPollWin" extends="labelExplorerBox" labelid="37" |
| docking="true" resizeable="false" closable="true" width="454" x="100" |
| height="454"> |
| |
| <attribute name="roomPoll" value="null" /> |
| <attribute name="archPolls" value="null" /> |
| <attribute name="resultpollvotes" value="null" /> |
| <attribute name="displayedPoll" value="null" /> |
| |
| <handler name="oninit"> |
| displayResults(roomPoll); |
| </handler> |
| |
| <method name="displayResults" args="poll"> |
| <![CDATA[ |
| displayedPoll = poll; |
| this.content.setAttribute("visible", poll != null); |
| if (poll == null) { |
| this.head.setAttribute('text', canvas.getLabelName(41)); |
| updateButtons(); |
| return; |
| } |
| updateButtons(); |
| this.head.setAttribute('text', |
| (canvas.user_id == poll.createdBy.user_id ? canvas |
| .getLabelName(1411) : poll.createdBy.login) |
| + " " + canvas.getLabelName(36)); |
| |
| var totalVotes = poll.roomPollAnswerList.length; |
| this.content.question.text.setAttribute('text', poll.pollQuestion); |
| this.content.voteResultNum.setAttribute('text', totalVotes); |
| if (this.resultpollvotes != null) { |
| this.resultpollvotes.destroy(); |
| } |
| this.resultpollvotes = new lz.view(this.content, { |
| y : 146, |
| x : 100 |
| }); |
| |
| var isNumeric = poll.pollType.isNumericAnswer; |
| var resArray = new Array(isNumeric ? 10 : 2); |
| for (var i = 0; i < resArray.length; ++i) { |
| resArray[i] = 0; |
| } |
| for (var i = 0; i < totalVotes; ++i) { |
| var idx = isNumeric |
| ? poll.roomPollAnswerList[i].pointList - 1 |
| : (poll.roomPollAnswerList[i].answer ? 0 : 1); |
| resArray[idx]++; |
| } |
| if (content._chartType.getValue() == 0) { |
| new lz.simplelayout(this.resultpollvotes, { |
| axis : 'y', |
| spacing : 2 |
| }); |
| for (var i = 0; i < resArray.length; ++i) { |
| var pos = (totalVotes == 0) ? 0 : Math.round(100 |
| * resArray[i] / totalVotes); |
| new lz.parentResultPollBalk(this.resultpollvotes, { |
| newX : pos * 2, |
| newPercent : pos + '%', |
| textA : isNumeric ? i + 1 : canvas |
| .getLabelName(i == 0 ? 34 : 35) |
| }); |
| } |
| } else { |
| |
| if (!isNumeric) { |
| //yes/no |
| new lz.resultPieCharPoll(this.resultpollvotes, { |
| xseries : ["yes", "no"], |
| yseries : resArray, |
| tooltipseries : ["yes ("+resArray[0]+")", "no ("+resArray[1]+")"] |
| }); |
| } else { |
| |
| if ($debug) |
| Debug.write("tObject 1 ", ["1", "2", "3", "4", "5", |
| "6", "7", "8", "9", "10"]); |
| if ($debug) |
| Debug.write("tObject 2 ", resArray); |
| |
| var tooltipseries = new Array(resArray.length); |
| for (var i=0;i<resArray.length;i++) { |
| tooltipseries[i] = "N° "+i+" ("+ resArray[i] +")"; |
| } |
| |
| //numeric [1,2,3,4,5,6,7,8,9,10] |
| new lz.resultPieCharPoll(this.resultpollvotes, { |
| xseries : ["1", "2", "3", "4", "5", "6", "7", "8", "9", |
| "10"], |
| yseries : resArray, |
| tooltipseries : tooltipseries |
| }); |
| } |
| |
| } |
| ]]> |
| </method> |
| |
| <labelText y="22" name="archPollLbl" labelid="1412" /> |
| <resetCombobox name="_archPolls" width="342" x="100" y="22" |
| editable="false" itemclassname="bigTextListItem"> |
| |
| <netRemoteCallHib name="getArchivedPollList" |
| funcname="pollservice.getArchivedPollList" remotecontext="$once{ canvas.thishib }"> |
| <handler name="ondata" args="value"> |
| <![CDATA[ |
| parent.removeAll(); |
| if ($debug) |
| Debug.write("getArchivedPollList ", value); |
| |
| this.parent.parent.archPolls = value; |
| var noArch = (value == null || (value != null && value.length == 0)); |
| parent.setAttribute("visible", !noArch); |
| parent.parent.archPollLbl.setAttribute("visible", !noArch); |
| if (noArch) { |
| return; |
| } |
| if (this.parent.parent.roomPoll != null) { |
| this.parent.addItem( |
| this.parent.parent.roomPoll.pollName + "(" |
| + canvas.getLabelName(1413) + ")", -1); |
| } |
| for (var i = 0; i < value.length; ++i) { |
| this.parent.addItem(value[i].pollName, i); |
| } |
| this.parent.selectItem(this.parent.parent.roomPoll == null |
| ? 0 |
| : -1); |
| ]]> |
| </handler> |
| </netRemoteCallHib> |
| |
| <handler name="oninit"> |
| this.getArchivedPollList.doCall(); |
| </handler> |
| |
| <handler name="onselect" args="sel"> |
| if ($debug) |
| Debug.write("onselect ", sel); |
| this.parent.displayResults(sel.value > -1 |
| ? this.parent.archPolls[sel.value] |
| : this.parent.roomPoll); |
| </handler> |
| |
| <method name="removeAll"> |
| <![CDATA[ |
| var currentCount = this.cblist.getNumItems(); |
| if ($debug) Debug.write("currentCount = ", currentCount); |
| for (var i = 0; i < currentCount; ++i) { |
| this.removeItemAt(0); |
| } |
| ]]> |
| </method> |
| </resetCombobox> |
| |
| <labelText x="2" y="42" name="head" fontstyle="bold" /> |
| |
| <view name="content"> |
| |
| <view name="question" x="2" y="62" width="440" height="60" bgcolor="0xFFFFFF"> |
| <labelText x="0" y="0" name="text" multiline="true" |
| resize="false" width="$once{parent.width-14}" /> |
| <om_vscrollbar/> |
| </view> |
| |
| <labelText y="122" labelid="39" /> |
| <labelText y="122" x="100" name="voteResultNum" /> |
| <resetCombobox name="_chartType" width="302" x="140" y="122" editable="false" > |
| <labeldTextListItem labelid="1414" value="0"/> |
| <labeldTextListItem labelid="1415" value="1" selected="true" /> |
| <handler name="onselect" args="sel"> |
| if ($debug) Debug.write("onselect ", sel); |
| var val = parent.parent._archPolls.getValue(); |
| parent.parent.displayResults(val > -1 |
| ? parent.parent.archPolls[val] |
| : parent.parent.roomPoll); |
| </handler> |
| </resetCombobox> |
| |
| <labelText y="146" labelid="40" x="2" /> |
| </view> |
| |
| <method name="updateButtons"> |
| <![CDATA[ |
| _deletePoll.setAttribute("visible", canvas.ismoderator && displayedPoll != null); |
| var hasArch = _archPolls.cblist.getNumItems() > 0; |
| _closePoll.setAttribute("visible", _deletePoll.visible && (!hasArch || (hasArch && _archPolls.getValue() == -1))); |
| ]]> |
| </method> |
| |
| <simpleLabelButton name="_deletePoll" labelid="1420" width="100" |
| x="2" y="$once{ parent.height-22 }" |
| onclick="new lz.confirmDeleteWindow(parent, {refObj: this, labelid: 1420, messagelabelid: 1421});" |
| > |
| <netRemoteCallHib name="deletePoll" funcname="pollservice.deletePoll" remotecontext="$once{ canvas.thishib }" > |
| <netparam><method name="getValue"> var poll = parent.parent.parent.displayedPoll; return poll != null ? poll.roomPollId : -1; </method></netparam> |
| <handler name="ondata" args="value"> |
| <![CDATA[ |
| var p = parent.parent; |
| var archCount = p._archPolls.cblist.getNumItems(); |
| var hasArch = archCount > 0; |
| if (!hasArch || (hasArch && p._archPolls.getValue() == -1)) { |
| p.roomPoll = null; |
| } |
| if (archCount) { |
| p.displayResults(null); |
| } |
| p._archPolls.getArchivedPollList.doCall(); |
| ]]> |
| </handler> |
| </netRemoteCallHib> |
| <method name="confirmDelete"> |
| deletePoll.doCall(); |
| </method> |
| </simpleLabelButton> |
| |
| <simpleLabelButton name="_closePoll" labelid="1418" width="100" |
| x="104" y="$once{ parent.height-22 }" |
| onclick="new lz.confirmDeleteWindow(parent, {refObj: this, labelid: 1418, confirmlabelid: 85, messagelabelid: 1419});" |
| > |
| <netRemoteCallHib name="closePoll" funcname="pollservice.closePoll" remotecontext="$once{ canvas.thishib }" > |
| <handler name="ondata" args="value"> |
| parent.parent.roomPoll = null; |
| parent.parent._archPolls.getArchivedPollList.doCall(); |
| </handler> |
| </netRemoteCallHib> |
| <method name="confirmDelete"> |
| if ($debug) Debug.write("parent._archPolls.getValue(); ", parent._archPolls.getValue()); |
| closePoll.doCall(); |
| </method> |
| </simpleLabelButton> |
| |
| <simpleLabelButton labelid="25" width="100" x="$once{ parent.width-102 }" |
| y="$once{ parent.height-22 }" onclick="this.parent.close();" /> |
| |
| </class> |
| |
| <class name="parentResultPollBalk" extends="view"> |
| <attribute name="newX" value="0" type="number" /> |
| <attribute name="newPercent" value="0%" type="string" /> |
| <attribute name="answer" value="0" type="number" /> |
| <attribute name="textA" value="" type="string" /> |
| <text text="$once{ parent.textA }" resize="true" /> |
| <resultPollBalk x="40" /> |
| </class> |
| |
| <class name="resultPollBalk" extends="view" bgcolor="black" |
| height="20" width="0"> |
| <view bgcolor="red" width="${ parent.width-2 }" height="${ parent.height-2 }" |
| x="1" y="1" /> |
| <text text="$once{ parent.parent.newPercent }" resize="true" y="2" /> |
| <animator attribute="width" to="$once{ parent.parent.newX }" |
| duration="1000" /> |
| </class> |
| |
| <class name="resultPieCharPoll" extends="ompiechart" x="40" width="300" |
| height="280" style="omchartstyle"> |
| |
| <attribute name="xseries" value="null"/> |
| <attribute name="yseries" value="null"/> |
| <attribute name="tooltipseries" value="null"/> |
| |
| <handler name="oninit"> |
| this.legendbox.bringToFront(); |
| </handler> |
| |
| <!--- get the dataseries --> |
| <method name="getOMDataSeries"> |
| <![CDATA[ |
| var tObject = new Object(); |
| |
| tObject.xseries = this.xseries; |
| tObject.yseries = this.yseries; |
| tObject.tooltipseries = this.tooltipseries; |
| |
| return tObject; |
| ]]> |
| </method> |
| |
| <strokestyle name="pieslicestyle" strokeColor="0x000000" strokeWidth="1" |
| strokeType="solid" /> |
| |
| <omlegend name="legendbox" legendFontsize="14" initstage="late" |
| legendborder="true" > |
| |
| <handler name="onitemmouseover" args="item"> |
| var piepiece = parent.plotarea.arrPiePieces[item.identifier]; |
| piepiece.renderInnerWedge(); |
| </handler> |
| |
| <handler name="onitemmouseout" args="item"> |
| var piepiece = parent.plotarea.arrPiePieces[item.identifier]; |
| piepiece.renderWedge(); |
| </handler> |
| </omlegend> |
| |
| </class> |
| |
| </library> |