{"version":3,"names":[],"mappings":"","sources":["projetoCultural.js"],"sourcesContent":["function ProjetoCultural() {\r\n\r\n}\r\n\r\nProjetoCultural.prototype = {\r\n constructor: ProjetoCultural,\r\n init: function () {\r\n this._initForm();\r\n this._initFileUpload();\r\n this._initFormModal();\r\n },\r\n _initFormModal: function () {\r\n try {\r\n var formModal = new FormModal({\r\n elemContainer: document.querySelector('.js-FormModal')\r\n });\r\n formModal.init();\r\n } catch (e) {\r\n console.log('formModal error:' + e.message);\r\n }\r\n },\r\n _initForm: function () {\r\n var formElem = document.querySelector('.js-Form');\r\n\r\n var form = new FormJS({\r\n formElement: formElem,\r\n formSendOptions: {\r\n url: formElem.getAttribute('action'),\r\n method: formElem.getAttribute('method')\r\n },\r\n callbacks: {\r\n onAjaxBefore: function () {\r\n formElem.querySelector('.js-Loader-submitButton').classList.remove('hidden');\r\n },\r\n onAjaxDataSuccess: function (httpReq) {\r\n var response = JSON.parse(httpReq.response);\r\n response = JSON.parse(response.d);\r\n\r\n var formModal = document.querySelector('.js-FormModal');\r\n formModal.querySelector('.js-FormModal-message').innerHTML = response.msg;\r\n if (response.hasError) {\r\n formModal.querySelector('.js-FormModal-title').innerHTML = 'Falha no envio';\r\n } else {\r\n formModal.querySelector('.js-FormModal-title').innerHTML = 'Sucesso no envio';\r\n }\r\n FormModal.openModal(formModal);\r\n\r\n formElem.querySelector('.js-Loader-submitButton').classList.add('hidden');\r\n },\r\n\r\n onAjaxDataError: function (httpReq) {\r\n var response = JSON.parse(httpReq.response);\r\n response = JSON.parse(response.d);\r\n\r\n var formModal = document.querySelector('.js-FormModal');\r\n formModal.querySelector('.js-FormModal-message').innerHTML = response.msg;\r\n formModal.querySelector('.js-FormModal-title').innerHTML = 'Falha no envio';\r\n FormModal.openModal(formModal);\r\n\r\n formElem.querySelector('.js-Loader-submitButton').classList.add('hidden');\r\n }\r\n }\r\n });\r\n form.init();\r\n },\r\n _initFileUpload: function () {\r\n var uploadsElem = document.querySelectorAll('.js-FileUpload-container');\r\n\r\n for (var i = 0; i < uploadsElem.length; ++i) {\r\n var upload = new FileUploader({\r\n componentContainer: uploadsElem[i],\r\n fileUploadOptions: {\r\n button: uploadsElem[i].querySelector('.js-FileUpload-button'),\r\n multiple: false,\r\n request: {\r\n endpoint: 'projeto.aspx/Upload'\r\n },\r\n validation: {\r\n acceptFiles: uploadsElem[i].getAttribute('data-suported-types'),\r\n allowedExtensions: uploadsElem[i].getAttribute('data-suported-extensions').split(',')\r\n },\r\n callbacks: {\r\n onError: function (id, name, errorReason, xhrOrXdr) {\r\n var parent = this._options.button.parentElement;\r\n while (parent && !parent.classList.contains(\"js-FileUpload-container\")) {\r\n parent = parent.parentElement;\r\n }\r\n if (!parent) {\r\n return;\r\n }\r\n\r\n var oldErrorElem = parent.querySelector('.js-Form-errorInfo');\r\n if (oldErrorElem) {\r\n parent.removeChild(oldErrorElem);\r\n }\r\n\r\n var errorElem = parent.appendChild(document.createElement('p'));\r\n errorElem.innerHTML = qq.format(\"Erro no arquivo {}. Razão: {}\", name, errorReason);\r\n errorElem.classList.add('Form-errorInfo');\r\n errorElem.classList.add('js-Form-errorInfo');\r\n parent.classList.add('Form-field--error');\r\n }\r\n }\r\n },\r\n callbacks: {\r\n onFileProgress: function (fileElem, uploadedBytes, totalBytes, uploadObj) {\r\n var span = uploadObj.options.componentContainer.querySelector('.js-Form-label span');\r\n span.innerHTML = '(' + parseInt(Math.ceil(uploadedBytes / totalBytes * 100)) + '%)';\r\n },\r\n onComplete: function (id, name, fileElem, responseJSON, xhr, lib, _this) {\r\n var span = _this.options.componentContainer.querySelector('.js-Form-label span');\r\n\r\n if (responseJSON.hasError === 'false') {\r\n span.removeAttribute('style');\r\n _this.fileuploadContainer.querySelector('.js-FileUpload-finalPath').value = responseJSON.filePath;\r\n\r\n var errorMsg = _this.fileuploadContainer.querySelector('.js-Form-errorInfo');\r\n if (errorMsg) {\r\n errorMsg.parentElement.removeChild(errorMsg);\r\n }\r\n } else {\r\n span.style.color = 'red';\r\n span.innerHTML = '(falhou)';\r\n }\r\n\r\n console.log(responseJSON.msg);\r\n }\r\n }\r\n });\r\n upload.init();\r\n }\r\n }\r\n}\r\n\r\nGlobal.ready(function () {\r\n var projeto = new ProjetoCultural();\r\n projeto.init();\r\n}, false);"],"file":"projetoCultural.js"}