diff --git a/src/pretix/static/pretixcontrol/js/ui/main.js b/src/pretix/static/pretixcontrol/js/ui/main.js index 9b9476c67b..3c82ccfdb3 100644 --- a/src/pretix/static/pretixcontrol/js/ui/main.js +++ b/src/pretix/static/pretixcontrol/js/ui/main.js @@ -1,74 +1,5 @@ /*global $,gettext*/ -function update_default_value_field() { - let input = $('#id_default_value'); - let parent = input.parent(); - - let field = input.prop("tagName") == 'DIV' ? input.children().first() : input; - let common_attrs = ' name="default_value" placeholder="' + field.attr('placeholder') + '" title="' + field.attr('title') + '" id="id_default_value"'; - let value = field.val(); - switch ($("#id_type").val()) { - case 'N': - input.replaceWith(''); - $('.form-group:has(#id_default_value)').show(); - break; - case 'S': - input.replaceWith(''); - $('.form-group:has(#id_default_value)').show(); - break; - case 'T': - input.replaceWith(''); - $('.form-group:has(#id_default_value)').show(); - break; - case 'B': - let checked = (value === 'True' || value === 'on' ? 'checked' : ''); - input.replaceWith(''); - $('.form-group:has(#id_default_value)').show(); - break; - case 'D': - let dateField = input.replaceWith(''); - form_handlers(parent); - $('.form-group:has(#id_default_value)').show(); - break; - case 'H': - let timeField = input.replaceWith(''); - form_handlers(parent); - $('.form-group:has(#id_default_value)').show(); - break; - case 'W': - let split = value.split(' '); - let date, time; - if (split.length > 1) { - date = split[0]; - time = split[1]; - } else { - date = null; - time = null; - } - let dtField = input.replaceWith('
\n' + - '\n' + - '\n' + - '
\n'); - form_handlers(parent); - $('.form-group:has(#id_default_value)').show(); - break; - default: - // file, choice, and multiple choice are not implemented - $('.form-group:has(#id_default_value)').hide(); - input.val('') - } -} - -function question_page_toggle_view() { - var show = $("#id_type").val() == "C" || $("#id_type").val() == "M"; - $("#answer-options").toggle(show); - - show = $("#id_type").val() == "B" && $("#id_required").prop("checked"); - $(".alert-required-boolean").toggle(show); - - update_default_value_field(); -} - var waitingDialog = { show: function (message) { "use strict"; diff --git a/src/pretix/static/pretixcontrol/js/ui/question.js b/src/pretix/static/pretixcontrol/js/ui/question.js index ee534e8125..4d27850ab6 100644 --- a/src/pretix/static/pretixcontrol/js/ui/question.js +++ b/src/pretix/static/pretixcontrol/js/ui/question.js @@ -93,6 +93,67 @@ $(function () { show = $("#id_type").val() == "B" && $("#id_required").prop("checked"); $(".alert-required-boolean").toggle(show); + + update_default_value_field() + } + + function update_default_value_field() { + let input = $('#id_default_value'); + let parent = input.parent(); + + let field = input.prop("tagName") == 'DIV' ? input.children().first() : input; + let common_attrs = ' name="default_value" placeholder="' + field.attr('placeholder') + '" title="' + field.attr('title') + '" id="id_default_value"'; + let value = field.val(); + switch ($("#id_type").val()) { + case 'N': + input.replaceWith(''); + $('.form-group:has(#id_default_value)').show(); + break; + case 'S': + input.replaceWith(''); + $('.form-group:has(#id_default_value)').show(); + break; + case 'T': + input.replaceWith(''); + $('.form-group:has(#id_default_value)').show(); + break; + case 'B': + let checked = (value === 'True' || value === 'on' ? 'checked' : ''); + input.replaceWith(''); + $('.form-group:has(#id_default_value)').show(); + break; + case 'D': + let dateField = input.replaceWith(''); + form_handlers(parent); + $('.form-group:has(#id_default_value)').show(); + break; + case 'H': + let timeField = input.replaceWith(''); + form_handlers(parent); + $('.form-group:has(#id_default_value)').show(); + break; + case 'W': + let split = value.split(' '); + let date, time; + if (split.length > 1) { + date = split[0]; + time = split[1]; + } else { + date = null; + time = null; + } + let dtField = input.replaceWith('
\n' + + '\n' + + '\n' + + '
\n'); + form_handlers(parent); + $('.form-group:has(#id_default_value)').show(); + break; + default: + // file, choice, and multiple choice are not implemented + $('.form-group:has(#id_default_value)').hide(); + input.val('') + } } var $val = $("#id_dependency_value");