{"version":3,"file":"../../../widgets/spasibo/pollWidget.js","sources":["widgets/spasibo/pollWidget.js"],"sourcesContent":["\"use strict\";\n\nvar pollWidget = function () {\n function validatePollQuestion(question) {\n var isValid = true;\n var validations = [];\n var dataSet = {};\n\n if (question.$el.is('[data-required]')) {\n validations.push('validateRequiredValues');\n }\n\n if (question.$el.is('[data-max-length]')) {\n validations.push('validateValuesLength');\n }\n\n switch (question.type) {\n case 'textbox':\n {\n dataSet[\"\".concat(question.name)] = question.$el.find('.inp').val().trim();\n break;\n }\n\n case 'paragraph':\n {\n dataSet[\"\".concat(question.name)] = question.$el.find('.inp').val().trim();\n break;\n }\n\n case 'checkbox':\n {\n var $selectedChoices = question.$el.find('.checkbox:checked');\n var $otherCaseText = question.$el.find('[data-sf-checkboxes-role=\"other-choice-text\"]');\n\n if ($selectedChoices.length) {\n if ($otherCaseText.is(':visible')) {\n dataSet[\"\".concat(question.name)] = $otherCaseText.val().trim();\n } else {\n dataSet[\"\".concat(question.name)] = $selectedChoices.val();\n }\n } else {\n dataSet[\"\".concat(question.name)] = '';\n }\n\n break;\n }\n\n case 'altMultiChoice':\n {\n var _$selectedChoices = question.$el.find('.radio:checked').val();\n\n var _$otherCaseText = question.$el.find('[data-sf-multiple-choice-role=\"other-choice-text\"]');\n\n if (_$selectedChoices != undefined) {\n if (_$otherCaseText.is(':visible')) {\n dataSet[\"\".concat(question.name)] = _$otherCaseText.val().trim();\n } else {\n dataSet[\"\".concat(question.name)] = _$selectedChoices;\n }\n } else {\n dataSet[\"\".concat(question.name)] = '';\n }\n\n break;\n }\n\n case 'range':\n {\n break;\n }\n\n case 'radio':\n {\n var _$selectedChoices2 = question.$el.find('.radio:checked').val();\n\n var _$otherCaseText2 = question.$el.find('[data-sf-multiple-choice-role=\"other-choice-text\"]');\n\n if (_$selectedChoices2 != undefined) {\n if (_$otherCaseText2.is(':visible')) {\n dataSet[\"\".concat(question.name)] = _$otherCaseText2.val().trim();\n } else {\n dataSet[\"\".concat(question.name)] = _$selectedChoices2;\n }\n } else {\n dataSet[\"\".concat(question.name)] = '';\n }\n\n break;\n }\n\n case 'grid':\n {\n if (question.$el.is('[data-row-comment-required]')) {\n validations.push('validatePollGridComment');\n }\n\n if (question.$el.is('[data-row-ac-required]')) {\n validations.push('validatePollGridAdditionalChoice');\n }\n\n if (question.$el.is('[data-row-fill]')) {\n validations.push('validatePollGridRowFill');\n }\n\n if (question.$el.is('[data-col-fill]')) {\n validations.push('validatePollGridColFill');\n }\n\n dataSet.$el = question.$el;\n break;\n }\n\n case 'image':\n {\n dataSet[\"\".concat(question.name)] = question.$el.find(\"[name=\\\"\".concat(question.name, \"\\\"]\")).val().trim();\n break;\n }\n\n case 'ranking':\n {\n validations.push('validateRanking');\n dataSet.$el = question.$el;\n break;\n }\n\n default:\n {\n break;\n }\n }\n\n validations.forEach(function (check) {\n var passedValidation = validation[check](dataSet, question.$el.parent());\n isValid = isValid && passedValidation;\n });\n return isValid;\n }\n\n function unbindHandlers() {\n $(document).off('change focus', '.inp, .radio, .checkbox, .selectric-select');\n $(document).off('click', '[data-sf-role=\"image-memory-container\"] button');\n }\n\n function bindHandlers() {\n $(document).on('change focus', '.inp, .radio, .checkbox, .selectric-select', function () {\n var $this = $(this);\n var $field = $this.closest('.field');\n var $grid = $field.find('.fixed-tbl-wrapper');\n validation.setFieldValid($field);\n validation.setGridValid($grid);\n });\n $(document).on('click', '[data-sf-role=\"image-memory-container\"] button', function () {\n var $this = $(this);\n var $field = $this.closest('.field');\n var galleryModalId = $field.data('prop-name');\n var $imageContainer = $this.closest('[data-sf-role=\"image-memory-container\"]');\n var $imageField = $imageContainer.find(\"[name=\\\"\".concat(galleryModalId, \"\\\"]\"));\n validation.setFieldValid($field);\n LKCommon.openGalleryModal({\n modal: {\n selector: \"#\".concat(galleryModalId, \"-Modal\"),\n title: 'Фотографии к вопросу',\n footer: {\n classNames: '-accented'\n },\n buttons: [{\n title: 'Я готов(а) отвечать',\n big: true,\n primary: true\n }],\n afterClose: function afterClose() {\n $imageField.val('True');\n $imageContainer.hide();\n $imageContainer.nextAll('[data-sf-role]').show();\n }\n }\n });\n });\n }\n\n function initPlugins() {\n LKCommon.initSelectric($('.select'));\n fixedTableHelper.init();\n }\n\n function init() {\n unbindHandlers();\n initPlugins();\n bindHandlers();\n }\n\n return {\n init: init,\n validatePollQuestion: validatePollQuestion\n };\n}();"],"names":["pollWidget","init","$","document","off","LKCommon","initSelectric","fixedTableHelper","on","$field","this","closest","$grid","find","validation","setFieldValid","setGridValid","$this","galleryModalId","data","$imageContainer","$imageField","concat","openGalleryModal","modal","selector","title","footer","classNames","buttons","big","primary","afterClose","val","hide","nextAll","show","validatePollQuestion","question","isValid","validations","dataSet","$el","is","push","type","name","trim","$selectedChoices","$otherCaseText","length","_$selectedChoices","_$otherCaseText","undefined","_$selectedChoices2","_$otherCaseText2","forEach","check","passedValidation","parent"],"mappings":"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"}