Esempio n. 1
0
Template.votingViewFooterNavButtons.events({
	"click #abstentionButton": function (event, template) {
		event.stopPropagation();
		if (!template.data) {
			lib.countdownFinish();
		}
	},
	"click #forwardButton": function (event, template) {
		event.stopPropagation();
		if (Session.get("hasSendResponse")) {
			return;
		}
		TimerMap.clickOnResponseButton.start();

		Session.set("hasSendResponse", true);
		const responseArr = JSON.parse(Session.get("responses"));
		const index = parseInt(Router.current().params.questionIndex) || EventManagerCollection.findOne().questionIndex;
		if (responseArr.length === 0) {
			const rangeInputField = $("#rangeInput");
			if (rangeInputField.length > 0) {
				if (rangeInputField.val().length === 0 || isNaN(parseFloat(rangeInputField.val()))) {
					return;
				}
				lib.makeAndSendRangedResponse(parseFloat(rangeInputField.val()));
			}
		} else {
			const freeTextInputField = $("#answerTextArea");
			if (freeTextInputField.length > 0) {
				if (freeTextInputField.val().length === 0) {
					return;
				}
				lib.makeAndSendFreeTextResponse(freeTextInputField.val());
			} else {
				if (template.data && template.data["data-questionIndex"]) {
					if ($('.correctAnswer, .wrongAnswer').length > 0) {
						return;
					}
					Session.get("questionGroup").getQuestionList()[index].getAnswerOptionList().forEach(function (element) {
						if (element.getIsCorrect()) {
							$('#' + element.getAnswerOptionNumber()).addClass("correctAnswer");
						} else {
							$('#' + element.getAnswerOptionNumber()).addClass("wrongAnswer");
						}
					});
					Meteor.setTimeout(function () {
						$('.sendResponse').removeClass("correctAnswer wrongAnswer");
						Session.set("hasSendResponse", false);
					}, 2000);
					return;
				} else {
					lib.makeAndSendResponse(responseArr);
				}
			}
		}
		lib.countdownFinish();
	}
});
Esempio n. 2
0
Template.votingViewFooterNavButtons.helpers({
	showForwardButton: function () {
		return Session.get("hasToggledResponse") && !(Session.get("hasSendResponse"));
	},
	showAbstentionButton: function () {
		return Session.get("confidenceValue") === 0;
	},
	isConfidenceSliderEnabled: function () {
		const configDoc = SessionConfigurationCollection.findOne();
		return isNaN(parseInt(Router.current().params.questionIndex)) && !!(configDoc && configDoc.confidenceSliderEnabled);
	},
	showConfidenceSlider: function () {
		return Session.get("hasToggledResponse") && !(Session.get("hasSendResponse"));
	},
	getConfidenceTranslationReference: function () {
		let confidenceLevel = Session.get("confidenceValue");
		switch (true) {
			case confidenceLevel >= 100:
				confidenceLevel = "very_sure";
				break;
			case confidenceLevel >= 75:
				confidenceLevel = "quite_sure";
				break;
			case confidenceLevel >= 50:
				confidenceLevel = "unsure";
				break;
			case confidenceLevel >= 25:
				confidenceLevel = "not_sure";
				break;
			default:
				confidenceLevel = "no_idea";
				break;
		}
		return "view.voting.confidence_level." + confidenceLevel;
	}
});