aboutsummaryrefslogtreecommitdiff
path: root/resources/assets/javascripts/bootstrap/questionnaire.js
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+github@gmail.com>2021-07-22 16:07:19 +0200
committerJan-Hendrik Willms <tleilax+github@gmail.com>2021-07-22 16:19:12 +0200
commita3da1483a9e689846179159355badfec8073dbec (patch)
tree770dcca6bdf5f6f2a11b0e7fcbbeda6919a3fc52 /resources/assets/javascripts/bootstrap/questionnaire.js
current code from svn, revision 62608
Diffstat (limited to 'resources/assets/javascripts/bootstrap/questionnaire.js')
-rw-r--r--resources/assets/javascripts/bootstrap/questionnaire.js75
1 files changed, 75 insertions, 0 deletions
diff --git a/resources/assets/javascripts/bootstrap/questionnaire.js b/resources/assets/javascripts/bootstrap/questionnaire.js
new file mode 100644
index 0000000..33ead0b
--- /dev/null
+++ b/resources/assets/javascripts/bootstrap/questionnaire.js
@@ -0,0 +1,75 @@
+jQuery(document).on('paste', '.questionnaire_edit .options > li input', function(ui) {
+ var event = ui.originalEvent;
+ var text = event.clipboardData.getData('text');
+ text = text.split(/[\n\t]/);
+ if (text.length > 1) {
+ if (text[0]) {
+ this.value += text.shift().trim();
+ }
+ var current = jQuery(this).closest('li');
+ for (var i in text) {
+ if (text[i].trim()) {
+ var li = jQuery(
+ jQuery(this)
+ .closest('.options')
+ .data('optiontemplate')
+ );
+ li.find('input:text').val(text[i].trim());
+ li.insertAfter(current);
+ current = li;
+ }
+ }
+ STUDIP.Questionnaire.Test.updateCheckboxValues();
+ event.preventDefault();
+ }
+});
+jQuery(document).on('blur', '.questionnaire_edit .options > li:last-child input:text', function() {
+ if (this.value) {
+ jQuery(this)
+ .closest('.options')
+ .append(
+ jQuery(this)
+ .closest('.options')
+ .data('optiontemplate')
+ );
+ jQuery(this)
+ .closest('.options')
+ .find('li:last-child input')
+ .focus();
+ }
+ STUDIP.Questionnaire.Test.updateCheckboxValues();
+});
+jQuery(document).on('click', '.questionnaire_edit .options .delete', function() {
+ var icon = this;
+ STUDIP.Dialog.confirm(
+ jQuery(this)
+ .closest('.questionnaire_edit')
+ .find('.delete_question')
+ .text(),
+ function() {
+ jQuery(icon)
+ .closest('li')
+ .fadeOut(function() {
+ jQuery(this).remove();
+ STUDIP.Questionnaire.Test.updateCheckboxValues();
+ });
+ }
+ );
+});
+jQuery(document).on('click', '.questionnaire_edit .options .add', function() {
+ jQuery(this)
+ .closest('.options')
+ .append(
+ jQuery(this)
+ .closest('.options')
+ .data('optiontemplate')
+ );
+ jQuery(this)
+ .closest('.options')
+ .find('li:last-child input:text')
+ .focus();
+ STUDIP.Questionnaire.Test.updateCheckboxValues();
+});
+jQuery(document).on('change', '.show_validation_hints .questionnaire_answer [data-question_type=Vote] input', function() {
+ STUDIP.Questionnaire.Vote.validator.call($(this).closest("article")[0]);
+});