Merge pull request #757 from capilkey/misc-polling-changes
Misc polling changes
This commit is contained in:
commit
ca2de434d5
@ -103,7 +103,8 @@ ToolTip {
|
||||
.pollResondersLabelStyle {
|
||||
color: #444444;
|
||||
fontFamily: Arial;
|
||||
fontSize: 12;
|
||||
fontSize: 13;
|
||||
fontWeight: bold;
|
||||
}
|
||||
|
||||
Button, .logoutButtonStyle, .chatSendButtonStyle, .helpLinkButtonStyle, .cameraDisplaySettingsWindowProfileComboStyle, .cameraDisplaySettingsWindowCameraSelector, .languageSelectorStyle, .testJavaLinkButtonStyle, .recordButtonStyleNormal, .recordButtonStyleStart, .recordButtonStyleStop, .micSettingsWindowHelpButtonStyle {
|
||||
|
@ -504,6 +504,7 @@ bbb.polling.closeButton.label = Close
|
||||
bbb.polling.pollModal.title = Poll
|
||||
bbb.polling.respondersLabel.novotes = No Users Responded
|
||||
bbb.polling.respondersLabel.text = {0} Users Responded
|
||||
bbb.polling.respondersLabel.finished = Done
|
||||
bbb.polling.answer.Yes = Yes
|
||||
bbb.polling.answer.No = No
|
||||
bbb.polling.answer.True = True
|
||||
|
23
bigbluebutton-client/src/org/bigbluebutton/modules/polling/views/PollGraphic.as
Normal file → Executable file
23
bigbluebutton-client/src/org/bigbluebutton/modules/polling/views/PollGraphic.as
Normal file → Executable file
@ -37,10 +37,10 @@ package org.bigbluebutton.modules.polling.views
|
||||
//private const w:uint = 280;
|
||||
private const bgFill:uint = 0xFFFFFF;
|
||||
private const colFill:uint = 0x000000;
|
||||
private const vpadding:Number = 10;
|
||||
private const hpadding:Number = 5;
|
||||
private const labelStartWidth:int = 40;
|
||||
private const percentStartWidth:int = 40;
|
||||
private const vPaddingPercent:Number = 0.25;
|
||||
private const hPaddingPercent:Number = 0.1;
|
||||
private const labelWidthPercent:Number = 0.3;
|
||||
private const labelMaxWidthInPixels:int = 40;
|
||||
|
||||
private var sampledata:Array = [{a:"A", v:3},
|
||||
{a:"B", v:1},
|
||||
@ -87,20 +87,23 @@ package org.bigbluebutton.modules.polling.views
|
||||
super.updateDisplayList(unscaledWidth, unscaledHeight);
|
||||
|
||||
graphics.clear();
|
||||
|
||||
|
||||
if (_data != null && _data.length > 0) {
|
||||
graphics.lineStyle(2);
|
||||
graphics.beginFill(bgFill, 1.0);
|
||||
graphics.drawRect(sx, sy, unscaledWidth, unscaledHeight);
|
||||
graphics.endFill();
|
||||
|
||||
var vpadding:int = (unscaledHeight*vPaddingPercent)/(_data.length+1);
|
||||
var hpadding:int = (unscaledWidth*hPaddingPercent)/(4);
|
||||
|
||||
var actualRH:Number = (unscaledHeight-vpadding*(_data.length+1)) / _data.length;
|
||||
LOGGER.debug("as raw {0} int {1}" + [actualRH, int(actualRH)]);
|
||||
LOGGER.debug("PollGraphic - as raw {0} int {1}", [actualRH, int(actualRH)]);
|
||||
// Current problem is that the rowHeight is truncated. It would be nice if the extra pixels
|
||||
// could be distributed for a more even look.
|
||||
var avgRowHeight:int = (unscaledHeight-vpadding*(_data.length+1)) / _data.length;
|
||||
var extraVPixels:int = unscaledHeight - (_data.length * (avgRowHeight+vpadding) + vpadding);
|
||||
LOGGER.debug("extraVPixels {0}", [extraVPixels]);
|
||||
LOGGER.debug("PollGraphic - extraVPixels {0}", [extraVPixels]);
|
||||
var largestVal:int = -1;
|
||||
var totalCount:Number = 0;
|
||||
//find largest value
|
||||
@ -117,6 +120,8 @@ package org.bigbluebutton.modules.polling.views
|
||||
var minFontSize:int = 20;
|
||||
var currFontSize:int;
|
||||
|
||||
var startingLabelWidth:Number = Math.min(labelWidthPercent*unscaledWidth, labelMaxWidthInPixels);
|
||||
|
||||
graphics.lineStyle(2);
|
||||
graphics.beginFill(colFill, 1.0);
|
||||
for (var j:int=0, vp:int=extraVPixels, ry:int=0, curRowHeight:int=0; j<_data.length; j++) {
|
||||
@ -133,7 +138,7 @@ package org.bigbluebutton.modules.polling.views
|
||||
// add row label
|
||||
answerText = _textFields[currTFIdx++];
|
||||
answerText.text = _data[j].a;
|
||||
answerText.width = labelStartWidth;
|
||||
answerText.width = startingLabelWidth;
|
||||
answerText.height = curRowHeight;
|
||||
answerText.selectable = false;
|
||||
//addChild(answerText);
|
||||
@ -148,7 +153,7 @@ package org.bigbluebutton.modules.polling.views
|
||||
percentText = _textFields[currTFIdx++];;// new TextField();
|
||||
var percentNum:Number = (totalCount == 0 ? 0 : ((_data[j].v/totalCount)*100));
|
||||
percentText.text = Math.round(percentNum).toString() + "%";
|
||||
percentText.width = percentStartWidth;
|
||||
percentText.width = startingLabelWidth;
|
||||
percentText.height = curRowHeight;
|
||||
percentText.selectable = false;
|
||||
//addChild(percentText);
|
||||
|
@ -34,7 +34,7 @@ package org.bigbluebutton.modules.polling.views
|
||||
super();
|
||||
|
||||
styleName = "micSettingsWindowStyle";
|
||||
width = 300;
|
||||
width = 400;
|
||||
height = 300;
|
||||
setStyle("verticalGap", 15);
|
||||
showCloseButton = false;
|
||||
@ -56,23 +56,25 @@ package org.bigbluebutton.modules.polling.views
|
||||
hrule.percentWidth = 100;
|
||||
addChild(hrule);
|
||||
|
||||
_pollGraphic = new PollGraphic();
|
||||
_pollGraphic.data = null;
|
||||
_pollGraphic.width = 300;
|
||||
_pollGraphic.minWidth = 130;
|
||||
addChild(_pollGraphic);
|
||||
|
||||
_respondersLabel = new Label();
|
||||
_respondersLabel.styleName = "pollResondersLabelStyle";
|
||||
_respondersLabel.text = " ";// ResourceUtil.getInstance().getString('bbb.polling.respondersLabel.novotes');
|
||||
addChild(_respondersLabel);
|
||||
|
||||
_pollGraphic = new PollGraphic();
|
||||
_pollGraphic.data = null;
|
||||
_pollGraphic.width = 200;
|
||||
_pollGraphic.minWidth = 130;
|
||||
addChild(_pollGraphic);
|
||||
|
||||
hrule = new HRule();
|
||||
hrule.percentWidth = 100;
|
||||
addChild(hrule);
|
||||
|
||||
var botBox:HBox = new HBox();
|
||||
botBox.percentWidth = 90;
|
||||
botBox.setStyle("gap", 10);
|
||||
botBox.setStyle("horizontalAlign", "right");
|
||||
|
||||
_publishBtn = new Button();
|
||||
_publishBtn.label = ResourceUtil.getInstance().getString('bbb.polling.publishButton.label');
|
||||
@ -113,7 +115,11 @@ package org.bigbluebutton.modules.polling.views
|
||||
}
|
||||
|
||||
_pollGraphic.data = resultData;
|
||||
_respondersLabel.text = ResourceUtil.getInstance().getString('bbb.polling.respondersLabel.text', [e.result.numResponders + "/" + e.result.numRespondents]);
|
||||
if (e.result.numResponders != e.result.numRespondents) {
|
||||
_respondersLabel.text = e.result.numResponders + "/" + e.result.numRespondents;
|
||||
} else {
|
||||
_respondersLabel.text = ResourceUtil.getInstance().getString('bbb.polling.respondersLabel.finished');
|
||||
}
|
||||
}
|
||||
|
||||
private function handlePublishClick(e:MouseEvent):void {
|
||||
|
@ -30,8 +30,23 @@ package org.bigbluebutton.modules.polling.views {
|
||||
}
|
||||
|
||||
private function parseSlideText(text:String):void {
|
||||
var regEx:RegExp = new RegExp("\n[^\s][\.\)]", "g");
|
||||
var matchedArray:Array = text.match(regEx);
|
||||
var numRegex:RegExp = new RegExp("\n[^\s][\.\)]", "g");
|
||||
var ynRegex:RegExp = new RegExp((ResourceUtil.getInstance().getString("bbb.polling.answer.Yes")+
|
||||
"\s*/\s*"+
|
||||
ResourceUtil.getInstance().getString("bbb.polling.answer.No")).toLowerCase());
|
||||
var nyRegex:RegExp = new RegExp((ResourceUtil.getInstance().getString("bbb.polling.answer.No")+
|
||||
"\s*/\s*"+
|
||||
ResourceUtil.getInstance().getString("bbb.polling.answer.Yes")).toLowerCase());
|
||||
var tfRegex:RegExp = new RegExp((ResourceUtil.getInstance().getString("bbb.polling.answer.True")+
|
||||
"\s*/\s*"+
|
||||
ResourceUtil.getInstance().getString("bbb.polling.answer.False")).toLowerCase());
|
||||
var ftRegex:RegExp = new RegExp((ResourceUtil.getInstance().getString("bbb.polling.answer.False")+
|
||||
"\s*/\s*"+
|
||||
ResourceUtil.getInstance().getString("bbb.polling.answer.True")).toLowerCase());
|
||||
|
||||
text = text.toLowerCase();
|
||||
|
||||
var matchedArray:Array = text.match(numRegex);
|
||||
LOGGER.debug("Parse Result: {0} {1}", [matchedArray.length, matchedArray.join(" ")]);
|
||||
if (matchedArray.length > 1) {
|
||||
var constructedLabel:String = ResourceUtil.getInstance().getString("bbb.polling.answer."+String.fromCharCode(65));
|
||||
@ -42,6 +57,18 @@ package org.bigbluebutton.modules.polling.views {
|
||||
label = constructedLabel;
|
||||
name = "A-"+len;
|
||||
visible = true;
|
||||
} else if (text.search(ynRegex) > -1 || text.search(nyRegex) > -1) {
|
||||
label = ResourceUtil.getInstance().getString("bbb.polling.answer.Yes")+
|
||||
"/"+
|
||||
ResourceUtil.getInstance().getString("bbb.polling.answer.No");
|
||||
name = "YN";
|
||||
visible = true;
|
||||
} else if (text.search(tfRegex) > -1 || text.search(ftRegex) > -1) {
|
||||
label = ResourceUtil.getInstance().getString("bbb.polling.answer.True")+
|
||||
"/"+
|
||||
ResourceUtil.getInstance().getString("bbb.polling.answer.False");
|
||||
name = "TF";
|
||||
visible = true;
|
||||
} else {
|
||||
visible = false;
|
||||
}
|
||||
|
23
bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/business/shapes/PollResultObject.as
Normal file → Executable file
23
bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/business/shapes/PollResultObject.as
Normal file → Executable file
@ -36,11 +36,11 @@ package org.bigbluebutton.modules.whiteboard.business.shapes
|
||||
//private const w:uint = 280;
|
||||
private const bgFill:uint = 0xFFFFFF;
|
||||
private const colFill:uint = 0x000000;
|
||||
private const vpadding:Number = 10;
|
||||
private const hpadding:Number = 5;
|
||||
private const labelStartWidth:int = 40;
|
||||
private const percentStartWidth:int = 40;
|
||||
|
||||
private const vPaddingPercent:Number = 0.25;
|
||||
private const hPaddingPercent:Number = 0.1;
|
||||
private const labelWidthPercent:Number = 0.3;
|
||||
private const labelMaxWidthInPixels:int = 40;
|
||||
|
||||
private var sampledata:Array = [{a:"A", v:3}, {a:"B", v:1}, {a:"C", v:5}, {a:"D", v:8}];
|
||||
private var _data:Array;
|
||||
private var _textFields:Array;
|
||||
@ -79,7 +79,7 @@ package org.bigbluebutton.modules.whiteboard.business.shapes
|
||||
}
|
||||
|
||||
private function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
|
||||
// graphics.clear();
|
||||
graphics.clear();
|
||||
|
||||
if (_data != null && _data.length > 0) {
|
||||
graphics.lineStyle(2);
|
||||
@ -87,13 +87,16 @@ package org.bigbluebutton.modules.whiteboard.business.shapes
|
||||
graphics.drawRect(0, 0, unscaledWidth, unscaledHeight);
|
||||
graphics.endFill();
|
||||
|
||||
var vpadding:int = (unscaledHeight*vPaddingPercent)/(_data.length+1);
|
||||
var hpadding:int = (unscaledWidth*hPaddingPercent)/(4);
|
||||
|
||||
var actualRH:Number = (unscaledHeight-vpadding*(_data.length+1)) / _data.length;
|
||||
LOGGER.debug("PollGraphic - as raw {0} int {1}", [actualRH, int(actualRH)]);
|
||||
// Current problem is that the rowHeight is truncated. It would be nice if the extra pixels
|
||||
// could be distributed for a more even look.
|
||||
var avgRowHeight:int = (unscaledHeight-vpadding*(_data.length+1)) / _data.length;
|
||||
var extraVPixels:int = unscaledHeight - (_data.length * (avgRowHeight+vpadding) + vpadding);
|
||||
LOGGER.debug("PollGraphic - extraVPixels {0}", [extraVPixels]);
|
||||
LOGGER.debug("PollGraphic - extraVPixels {0}", [extraVPixels]);
|
||||
var largestVal:int = -1;
|
||||
var totalCount:Number = 0;
|
||||
//find largest value
|
||||
@ -110,6 +113,8 @@ package org.bigbluebutton.modules.whiteboard.business.shapes
|
||||
var minFontSize:int = 20;
|
||||
var currFontSize:int;
|
||||
|
||||
var startingLabelWidth:Number = Math.min(labelWidthPercent*unscaledWidth, labelMaxWidthInPixels);
|
||||
|
||||
graphics.lineStyle(2);
|
||||
graphics.beginFill(colFill, 1.0);
|
||||
for (var j:int=0, vp:int=extraVPixels, ry:int=0, curRowHeight:int=0; j<_data.length; j++) {
|
||||
@ -126,7 +131,7 @@ package org.bigbluebutton.modules.whiteboard.business.shapes
|
||||
// add row label
|
||||
answerText = _textFields[currTFIdx++];
|
||||
answerText.text = _data[j].a;
|
||||
answerText.width = labelStartWidth;
|
||||
answerText.width = startingLabelWidth;
|
||||
answerText.height = curRowHeight;
|
||||
answerText.selectable = false;
|
||||
//addChild(answerText);
|
||||
@ -141,7 +146,7 @@ package org.bigbluebutton.modules.whiteboard.business.shapes
|
||||
percentText = _textFields[currTFIdx++];;// new TextField();
|
||||
var percentNum:Number = (totalCount == 0 ? 0 : ((_data[j].v/totalCount)*100));
|
||||
percentText.text = Math.round(percentNum).toString() + "%";
|
||||
percentText.width = percentStartWidth;
|
||||
percentText.width = startingLabelWidth;
|
||||
percentText.height = curRowHeight;
|
||||
percentText.selectable = false;
|
||||
//addChild(percentText);
|
||||
|
Loading…
Reference in New Issue
Block a user