{"version":3,"file":"../../widgets/modalServiceWidget.js","sources":["widgets/modalServiceWidget.js"],"sourcesContent":["\"use strict\";\n\nvar modalService = function () {\n var attachTemplate = '';\n var modalServiceParams = {\n model: {},\n url: {},\n template: {}\n };\n\n function initPhoneMask() {\n var numberField = document.getElementById('FormFields_PhoneNumber');\n var maskOptions = {\n mask: '+{7} (000) 000-00-00'\n };\n var mask = numberField != null ? new IMask(numberField, maskOptions) : undefined;\n }\n\n function renderAttach(attachList) {\n $('.attach-list').append(attachTemplate.render({\n Attaches: attachList\n })).show();\n }\n\n function getFormData($form) {\n var unindexedArray = $form.find(':input').serializeArray();\n var indexedArray = {};\n $.map(unindexedArray, function (n) {\n indexedArray[n.name] = n.value.trim();\n });\n return indexedArray;\n }\n\n function delDoc(attachData) {\n $.ajax({\n url: modalServiceParams.url.delDocs,\n type: 'POST',\n data: attachData,\n success: function success(res) {\n if (res.Success) {\n var $attachList = $('.attach-list');\n $attachList.find(\"[data-docid='\".concat(attachData.id, \"']\")).remove();\n\n if ($attachList.children().length === 0) {\n $attachList.hide();\n }\n } else {\n console.error(res.Result);\n }\n }\n });\n }\n\n function uploadDocs(fileData) {\n $.ajax({\n url: modalServiceParams.url.uploadDocs,\n type: 'POST',\n data: fileData,\n cache: false,\n dataType: 'json',\n processData: false,\n contentType: false,\n success: function success(res) {\n if (res.Success) {\n renderAttach(res.Result);\n $('#uploadModalFile').parent().html($('#uploadModalFile').parent().html());\n } else {\n console.error(\"ERRORS: \".concat(res.Result));\n }\n },\n error: function error(jqXHR, textStatus) {\n console.error(\"ERRORS: \".concat(textStatus));\n }\n });\n }\n\n function submitRequest(callback) {\n var postData = getFormData($('.ServiceInstanceCreateDialog'));\n postData.Attaches = [];\n $('.attach-list').find('[data-docid]').each(function () {\n var docId = $(this).data('docid');\n postData.Attaches.push({\n Id: docId\n });\n });\n $.ajax({\n url: modalServiceParams.url.createServiceInstance,\n type: 'POST',\n data: postData,\n success: function success(data) {\n callback(data);\n }\n });\n }\n\n function validateModalForm() {\n var modalParams = modalServiceParams.model;\n var validations = ['validateValuesLength', 'validateRequiredValues'];\n var isValid = true;\n var dataSet = {\n description: $('#FormFields_Description').val().trim()\n };\n\n if (modalParams.changeProfile) {\n dataSet.residAddr = $('#FormFields_ResidenceAdress').val().trim();\n dataSet.regAddr = $('#FormFields_RegistrationAdress').val().trim(); //dataSet.phone = $('#FormFields_PhoneNumber').val().trim();\n\n validations.push('validatePattern');\n }\n\n if (modalParams.requestDocument && modalParams.anyDocTypes) {\n dataSet.docType = $('#FormFields_DocumentTypeId').val().trim();\n }\n\n if (modalParams.freeSubject == 1) {\n dataSet.messageSubject = $('#FormFields_MessageSubject').val().trim();\n }\n\n validations.forEach(function (check) {\n var passedValidation = validation[check](dataSet, $('.ServiceInstanceCreateDialog'));\n isValid = isValid && passedValidation;\n });\n return isValid;\n }\n\n function setTitle() {\n var $serviceDialog = $('.ServiceInstanceCreateDialog');\n var title = $serviceDialog.attr('data-modal-title');\n $serviceDialog.closest('.modal-content').find('.modal-title').text(title);\n }\n\n function setParams(modalParams) {\n modalServiceParams = $.extend({}, modalServiceParams, modalParams);\n }\n\n function compileTemplates() {\n attachTemplate = Hogan.compile(modalServiceParams.template.attach);\n }\n\n function unbindHandlers() {\n $(document).off('change', '#uploadModalFile');\n $(document).off('click', '.attach-del');\n }\n\n function bindHandlers() {\n $(document).on('change', '#uploadModalFile', function (e) {\n var files = e.target.files;\n var fileData = new FormData();\n $.each(files, function (key, value) {\n fileData.append(key, value);\n });\n uploadDocs(fileData);\n });\n $(document).on('focus', '#FormFields_C1CAccommodationId, #FormFields_Description, #FormFields_MessageSubject, #FormFields_DocumentTypeId, ' + '#FormFields_PhoneNumber, #FormFields_ResidenceAdress, #FormFields_RegistrationAdress', function () {\n var $this = $(this);\n var $field = $this.closest('.field');\n validation.setFieldValid($field);\n });\n $(document).on('click', '.attach-del', function () {\n var id = $(this).parent().attr('data-docid');\n delDoc({\n id: id\n });\n });\n }\n\n function init(modalParams) {\n unbindHandlers();\n setParams(modalParams);\n compileTemplates();\n bindHandlers();\n initPhoneMask();\n LKCommon.initSelectric($('.ServiceInstanceCreateDialog .select'));\n }\n\n return {\n init: init,\n submitRequest: submitRequest,\n validateModalForm: validateModalForm,\n setTitle: setTitle\n };\n}();"],"names":["modalService","attachTemplate","modalServiceParams","model","url","template","uploadDocs","fileData","$","ajax","type","data","cache","dataType","processData","contentType","success","res","attachList","Success","Result","append","render","Attaches","show","parent","html","console","error","concat","jqXHR","textStatus","bindHandlers","document","on","e","files","target","FormData","each","key","value","$field","this","closest","validation","setFieldValid","attachData","id","attr","delDocs","$attachList","find","remove","children","length","hide","init","modalParams","off","extend","Hogan","compile","attach","numberField","getElementById","IMask","mask","LKCommon","initSelectric","submitRequest","callback","$form","indexedArray","postData","unindexedArray","serializeArray","map","n","name","trim","docId","push","Id","createServiceInstance","validateModalForm","validations","isValid","dataSet","description","val","changeProfile","residAddr","regAddr","requestDocument","anyDocTypes","docType","freeSubject","messageSubject","forEach","check","passedValidation","setTitle","$serviceDialog","title","text"],"mappings":"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"}