Files
erv-clientright/js/common.js
2026-03-13 10:42:01 +03:00

978 lines
28 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// contacts
// TG: https://t.me/wwdev
$(function() {
$(document).ready(function(){
$(".js-progress-mask").inputmask("99");
$(".js-inn-mask").inputmask("999999999999");
$(".js-inn-mask2").inputmask("9{10,12}");
$(".js-bank-mask").inputmask({ mask: ["9999 9999 9999 9999", "9999 9999 9999 9999", "9999 9999 9999 9999", "9999 999999 99999"], greedy: false, "placeholder": "*", "clearIncomplete": true });
$(".js-code-mask").inputmask("999999");
$(".js-date-mask").inputmask("99-99-9999",{ "placeholder": "дд-мм-гггг" });
$(".js-doccode-mask").inputmask("99");
$(".js-countrycode-mask").inputmask("999");
// $("#country").countrySelect();
Inputmask.extendDefinitions({
'*': { //masksymbol
"validator": "[0-9\(\)\.\+/ ]"
},
});
$(".js-inndb-mask").inputmask("A9{3,5}-*{6,10}");
$(".js-inndb-mask").keyup(function(){
//if($this)
});
$(".js-bik-mask").inputmask("999999999");
$(".js-rs-mask").inputmask("99999999999999999999");
$(".js-ks-mask").inputmask("99999999999999999999");
document.querySelector('input').addEventListener('keydown', function (e) {
if (e.which == 9) {
e.preventDefault();
}
});
let month =['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'];
let days = ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс'];
var birthday = datepicker('input[name="birthday"]',
{
customOverlayMonths: month,
customMonths: month,
customDays: days,
maxDate: new Date(),
formatter: (input, date, instance) => {
const value = date.toLocaleDateString()
input.value = value // => '1/1/2099'
console.log(value);
},
onSelect: function(dateText, inst) {
let birthday=$('input[name="birthday"]').val();
if(getAge(birthday)<18) {
$("input[data-enableby=birthday]").removeClass('disabled');
$("input[data-disabledby=birthday]").removeClass('disabled');
$("input[data-enableby=birthday]").removeAttr("disabled");
} else {
$("input[data-enableby=birthday]").addClass('disabled');
$("input[data-disabledby=birthday]").addClass('disabled');
$("input[data-enableby=birthday]").attr("disabled","disabled");
}
}
});
var contract_date = datepicker('input[name="insurence_date"]',{
customOverlayMonths: month,
customMonths: month,
customDays: days,
maxDate: new Date(),
formatter: (input, date, instance) => {
const value = date.toLocaleDateString()
input.value = value // => '1/1/2099'
}
});
var phone = document.querySelectorAll('.js-phone-mask');
$('.js-phone-mask').inputmask('999 999-99-99');
phone.forEach(el => {
const iti = window.intlTelInput(el, {
initialCountry: 'ru',
separateDialCode: true,
customContainer: ".form-item",
excludeCountries: ["kz"],
autoPlaceholder: 'aggressive',
geoIpLookup: function(callback) {
$.get('https://ipinfo.io', null, 'jsonp').always(resp => callback((resp && resp.country) ? resp.country : ''));
},
utilsScript: "libs/intl-tel-input-master/build/js/utils.js",
});
});
$('.js-phone-mask').on('countrychange', e => {
let $this = $(e.currentTarget),
placeholder = $this.attr('placeholder'),
mask = placeholder.replace(/[0-9]/g, 9);
$this.val('').inputmask(mask);
let inputCode = $(".code"),
flag = document.querySelector(".iti__selected-flag"),
codeTitle = flag.getAttribute("title");
inputCode.val(codeTitle);
});
let index=1;
$('.js-btn-next').on("click",function(e){
e.preventDefault();
let isvalid=validate_step(index);
if(isvalid) {
index++;
$('.span-progress .current').text(index);
if(index==4) {
$(this).hide();
$('.btn--submit').show();
} else {
$(this).show();
$('.js-btn-prev').show();
}
$('.form-step').removeClass('active');
$('.form-step[data-step='+index+']').addClass('active');
}
});
$('.js-btn-prev').on("click",function(e){
e.preventDefault();
index--;
if(index==1) {$(this).hide();} else $(this).show();
if(index<1) index=1;
if(index<4) {
$('.btn--submit').hide();
$('.js-btn-next').show();
}
$('.span-progress .current').text(index);
$('.form-step').removeClass('active');
$('.form-step[data-step='+index+']').addClass('active');
});
$('select[name=claim]').on("change",function(e){
if($(this).val()==0) {
$(this).closest('.form-step').find('input[type=text]').addClass('disabled');
$(this).closest('.form-step').find('input[type=file]').addClass('disabled');
$(this).closest('.form-step').find('input[type=file]').parent().addClass('disabled');
} else {
$(this).closest('.form-step').find('input[type=text]').removeClass('disabled');
$(this).closest('.form-step').find('input[type=file]').removeClass('disabled');
$(this).closest('.form-step').find('input[type=file]').parent().removeClass('disabled');
}
});
$('select[name=countryevent]').on("change",function(e){
$('.countryevent').val($(this).find(":selected").text());
});
function validate_step(step_index){
let inputs=$('.form-step.active').find('input[type="text"], input[type="file"],input[type="email"], textarea.form-input, input[type="checkbox"]');
let all_filled=false;
let res_array=[];
inputs.each(function(e){
let field_fill=false;
if(($(this).val()=='' && !$(this).hasClass('disabled') && !$(this).hasClass('notvalidate') && !$(this).hasClass('error') )) {
$(this).closest('.form-item').find('.form-item__warning').text('Пожалуйста, заполните все обязательные поля');
field_fill=false;
} else {
$(this).closest('.form-item').find('.form-item__warning').text('');
if($(this).attr('type')=='email'){
if(validateEmail($(this).val())) {
field_fill=true;
} else {
field_fill=false;
$(this).closest('.form-item').find('.form-item__warning').text($(this).data('warmes'));
}
} else {
field_fill=true;
}
if($(this).attr('type')=='checkbox'){
if($(this).is(':checked')){
field_fill=true;
$(this).parent().parent().find('.form-item__warning').text();
} else {
field_fill=false;
$(this).parent().parent().find('.form-item__warning').text('Пожалуйста, заполните все обязательные поля');
}
if(($(this).parent().hasClass('js-enable-inputs'))){
field_fill=true;
}
}
}
res_array.push(field_fill);
});
if((step_index==3) && $('.form-step[data-step='+step_index+']').find('input[type="checkbox"]:checked').length<1) {
$('.form__warning').show();
$('.form__warning').text('Выберите хотя 1 страховой случай');
return false;
} else {
$('.form__warning').text('Пожалуйста, заполните все обязательные поля');
}
if(!res_array.includes(false)){
$('.form__warning').hide();
return true;
} else {
$('.form__warning').show();
return false;
}
}
const validateEmail = (email) => {
return email.match(
/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
);
};
$('.js-enable-inputs input[type=checkbox]').on("change",function(e){
e.preventDefault();
$(this).closest('.form-item').find('input[type=file]').toggleClass('disabled');
$(this).closest('.form-item').find('input[type=file]+label').toggleClass('disabled');
});
// start sms
function send_sms(){
var sended_code = Math.floor(Math.random()*(999999-100000+1)+100000);
var smsFormData = new FormData();
smsFormData.append('smscode',sended_code);
smsFormData.append('phonenumber',$('input[name="phonenumber"]').val());
$.ajax({
url: 'sms-test.php',
method: 'post',
cache: false,
contentType: false,
processData: false,
data: smsFormData,
dataType : 'json',
success: function(data) {
console.log(data);
return false;
},
error: function (jqXHR, exception) {
return false;
}
});
$('.js-code-warning').text('Код отправлен на ваш номер телефона');
$.fancybox.open({
src: '#confirm_sms',
type: 'inline'
});
$('.fancybox-close-small').click(function(e) {
$('button[type="submit"]').attr("disabled", false);
$('button[type="submit"]').attr("disabled", false);
$('button[type="submit"]').text("Подать обращение");
});
return sended_code;
}
function countDown(elm, duration, fn){
var countDownDate = new Date().getTime() + (1000 * duration);
var x = setInterval(function() {
var now = new Date().getTime();
var distance = countDownDate - now;
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
elm.innerHTML = minutes + "м " + seconds + "с ";
if (distance < 0) {
clearInterval(x);
fn();
elm.innerHTML = "";
$('.sms-countdown').hide();
}
}, 1000);
}
let sended_code;
$('.js-send-sms').on('click', function(e) {
// $('.js-send-sms').hide();
e.preventDefault();
sms_action();
});
$('.js-enter').keyup(function(e){
if(e.keyCode == 13)
{
sms_action();
}
});
function sms_action() {
sended_code=send_sms();
$('.sms-countdown').show();
$('.modal .js-accept-sms').show();
$('.modal .js-send-sms').hide();
$('.modal .form-item__warning').text("");
countDown(document.querySelector('.sms-countdown .time'), 30, function(){
$('.modal .js-send-sms').show();
$('.sms-checking button.js-accept-sms').hide();
$('.js-code-warning').hide();
})
}
$('.sms-checking .js-accept-sms').on('click', function(e) {
e.preventDefault();
if($('.sms-checking input[type="text"]').val() == sended_code) {
$('.modal .js-send-sms').show();
$('.sms-check .form-item > .js-send-sms').hide();
$.fancybox.close();
$.fancybox.close();
$('.sms-success').removeClass("d-none");
$('.sms-check .form-item__warning').addClass("success-text");
$('.sms-check .form-item__warning').text("Вы успешно подтвердили номер");
} else {
$('.modal .form-item__warning').text("Неверный код");
}
});
$('.js-enter-sms').keyup(function(e){
if(e.keyCode == 13) {
$('.sms-checking .js-accept-sms').trigger("click");
}
});
$('.form.active form').submit(function(e){
e.preventDefault();
if(!validate_step(index)){ } else {
$('button[type="submit"]').attr("disabled", true);
if(1) {
$('.js-code-warning').text('');
$('.js-code-warning').hide();
$('.js-send-sms').hide();
$.fancybox.open({
src: '#confirm_sms',
type: 'inline'
});
$('.loader-wrap').removeClass('d-none');
$('button[type="submit"]').attr("disabled", false);
$('button[type="submit"]').text("Данные отправляются...");
var formData = new FormData();
jQuery.each(jQuery('input[type=file].js-attach').not('.disabled'), function(i, file) {
if(!$(this).hasClass('disabled')) {
let field_name=jQuery(this).data('crmname');
let docname=jQuery(this).data('docname');
let upload_url=jQuery(this).attr('data-uploadurl');
let upload_url_real=jQuery(this).attr('data-uploadurl_real');
jQuery.each(jQuery(this)[0].files, function(i, file) {
formData.append(field_name+'-'+i, file);
});
formData.append('upload_urls[]',upload_url);
formData.append('upload_urls_real[]',upload_url_real);
formData.append('files_names[]',field_name);
formData.append('docs_names[]',docname);
}
});
jQuery.each(jQuery('.js-append'), function(i, file) {
let crm_name=jQuery(this).data('crmname');
let val="";
if(jQuery(this).attr('type') == 'checkbox'){
if(jQuery(this).is(':checked')){
val=jQuery(this).val();
}
} else {
val=jQuery(this).val();
}
let array={
crm_name : crm_name,
field_val : val
};
formData.append('appends[]',JSON.stringify(array));
});
formData.append('lastname',jQuery('[name="lastname"]').val());
let sub_dir=jQuery('input[name=sub_dir]').val();
formData.append('sub_dir',sub_dir);
for (var pair of formData.entries()) {
console.log(pair[0]+ ', ' + pair[1]);
}
$.ajax({
url: 'https://form.clientright.ru/server_new.php',
method: 'post',
cache: false,
contentType: false,
processData: false,
data: formData,
// dataType : 'json',
success: function(data) {
console.log(data);
$('.loader-wrap').addClass('d-none');
$.fancybox.close();
$.fancybox.open({
src: '#success_modal',
type: 'inline'
});
setTimeout(function(){
$.fancybox.close();
// form.trigger("reset");
},3000)
setTimeout(function(){
window.location.href = "https://lexpriority.ru/ok";
},3000)
$('button[type="submit"]').text("Отправить");
},
error: function (jqXHR, exception) {
console.log(jqXHR);
if (jqXHR.status === 0) {
alert('Not connect. Verify Network.');
} else if (jqXHR.status == 404) {
alert('Requested page not found (404).');
} else if (jqXHR.status == 500) {
alert('Internal Server Error (500).');
} else if (exception === 'parsererror') {
} else if (exception === 'timeout') {
alert('Time out error.');
} else if (exception === 'abort') {
alert('Ajax request aborted.');
} else {
alert('Uncaught Error. ' + jqXHR.responseText);
}
}
});
return false;
} else {
$('.js-code-warning').text('Неверный код');
return false;
}
}
});
// end sms
});
$('input[name=place],input[name=place_adres],input[name=place_inn]').keyup(function(e){
var sourceInput = $(this);
var query = $(this).val();
var settings = {
"url": "https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/party",
"method": "POST",
"timeout": 0,
"headers": {
"Authorization": "Token f5d6928d7490cd44124ccae11a08c7fa5625d48c",
"Content-Type": "application/json",
"Cookie": "__ddg1_=BoLd7l5yOCjL9tr6qUth"
},
"data": JSON.stringify({
"query": query
}),
};
$('.autocomplete__item').remove();
var address_array = [];
$.ajax(settings).done(function (response) {
for(let i=0; i<response.suggestions.length; i++) {
$('<div class="autocomplete__item" data-address="'+response.suggestions[i].data.address.value+'" data-inn="'+response.suggestions[i].data.inn+'">'+response.suggestions[i].value+'</div>').appendTo(sourceInput.closest('.form-item').find('.form-item__dropdown'));
}
});
});
$(document).on('click', '.autocomplete__item', function() {
let currentAutocompleteItem=$(this);
let prefix = $(this).closest('.autocomplete').data('groupename');
$('.'+prefix+'_name').val(currentAutocompleteItem.text());
$('.'+prefix+'_adres').val(currentAutocompleteItem.attr('data-address'));
$('.'+prefix+'_inn').val(currentAutocompleteItem.attr('data-inn'));
currentAutocompleteItem.closest('.form-item').find('.form-item__dropdown').empty();
});
// $(document).ready(function(){
// setTimeout(function() {
// var $form = $(".form form");
// createSuggestions($form);
// }, 1000);
// })
// $('input[name=db_birthday],input[name=db_inn]').keyup(function(e){
$(document).on('click', '.js-check-in', function(e) {
e.preventDefault();
let birthday=$('input[name=birthday]').val();
let police_number=$('input[name=police_number]').val();
if(police_number.slice(0,1)=="Е"){
police_number=police_number.replace(/Е/g, 'E');
}
if(police_number.slice(0,1)=="А"){
police_number=police_number.replace(/А/g, 'A');
}
let dbdata={
"action" : "user_verify",
'birthday' : birthday.replace(/-/g, '.'),
'inn' : police_number
}
$.ajax({
url: 'database.php',
method: 'post',
data: dbdata,
// dataType : 'json',
success: function(data) {
console.log(data);
let res=JSON.parse(data);
if(res.success=="true"){
$('.db-success').removeClass("d-none");
$('.js-result').html(res.message);
$('.js-result').removeClass("danger");
$('input[name=insured_from]').val(res.result.insured_from.replace(/\./g, '-'));
$('input[name=insured_to]').val(res.result.insured_to.replace(/\./g, '-'));
$('.js-indatabase').val('1');
$('.form-item--polis').find('input[type=file]').addClass("notvalidate");
$('.form-item--polis').find('input[type=file]').addClass("disabled");
$('.form-item--polis').addClass('d-none');
} else {
$('.db-success').removeClass("d-none");
$('.js-result').html(res.message);
$('.js-result').addClass("danger");
$('.js-indatabase').val('0');
$('.form-item--polis').find('input[type=file]').removeClass("notvalidate");
$('.form-item--polis').find('input[type=file]').removeClass("disabled");
$('.form-item--polis').removeClass('d-none');
}
return false;
},
error: function (jqXHR, exception) {
$('.js-result').html(exception);
return false;
}
});
});
$('input[name=birthday]').on("change input", function (e) {
console.log("Date changed: ", e.target.value);
let birthday=$(this).val();
if(getAge(birthday)<18) {
$("input[data-enableby=birthday]").removeClass('disabled');
$("input[data-disabledby=birthday]").removeClass('disabled');
$("input[data-enableby=birthday]").removeAttr("disabled");
} else {
$("input[data-enableby=birthday]").addClass('disabled');
$("input[data-disabledby=birthday]").addClass('disabled');
$("input[data-enableby=birthday]").attr("disabled","disabled");
}
});
$('input[name=lastname],input[name=name],input[name=patronymic]').keyup(function(e){
let full_name=$('input[name=lastname]').val()+" "+$('input[name=name]').val()+" "+$('input[name=patronymic]').val();
$("input[data-enableby=birthday]").val(full_name);
});
function getAge(dateString) {
var today = new Date();
var birthDate = new Date(dateString.replace( /(\d{2})-(\d{2})-(\d{4})/, "$2/$1/$3"));
var age = today.getFullYear() - birthDate.getFullYear();
var m = today.getMonth() - birthDate.getMonth();
if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
age--;
}
return age;
}
// Загрузка файлов
function declOfNum(number, words) {
return words[(number % 100 > 4 && number % 100 < 20) ? 2 : [2, 0, 1, 1, 1, 2][(number % 10 < 5) ? Math.abs(number) % 10 : 5]];
}
function updateSize(elem) {
var filesQty = elem[0].files.length;
if(filesQty>10) {
elem.closest('.form-item').find('.form-item__warning').text("Разрешено не более 10 файлов");
return;
}
elem.closest('.form-item').find('.form-item__warning').text('');
let file_status=[];
var formats = ['pdf','jpg','png','gif','jpeg'];
for(var i=0; i<filesQty; i++) {
var file = elem[0].files[i],
ext = "не определилось",
parts = file.name.split('.');
if (parts.length > 1) ext = parts.pop();
if(!formats.includes(ext)) {
elem.closest('.form-item').find('.form-item__warning').append('<div> Файл '+file.name+' не подходит по формату. Доступные форматы: .pdf, .jpg, .png, .gif </div>');
elem.addClass('error');
file_status.push(false);
} else {
// elem.closest('.form-item').find('.form-item__warning').text();
if((file.size/1024/1024) > 5){
file_status.push(false);
elem.closest('.form-item').find('.form-item__warning').append('<div>Размер файла '+file.name+' превышает 5 Мб. </div>');
} else {
elem.removeClass('error');
file_status.push(true);
}
}
}
if(file_status.every(val => val === true))
{
upload_file(elem);
$('.form__action').find('.js-btn-next').removeClass('disabled');
} else {
$('.form__action').find('.js-btn-next').addClass('disabled');
}
}
function upload_file(thisfile) {
let formData = new FormData();
let field_name=thisfile.data('crmname');
let docname=thisfile.data('docname');
let sub_dir=jQuery('input[name=sub_dir]').val();
jQuery.each(thisfile[0].files, function(i, file) {
formData.append(field_name+'-'+i, file);
});
thisfile.closest('.form-item').find('.suсcess-upload').remove();
formData.append('lastname',jQuery('input[name=lastname]').val());
formData.append('files_names[]',field_name);
formData.append('docs_names[]',docname);
formData.append('sub_dir',sub_dir);
thisfile.closest('.form-item').append("<p class='info-upload'></p>");
// for (var pair of formData.entries()) {
// console.log(pair[0]+ ', ' + pair[1]);
// }
$.ajax({
xhr: function() {
var xhr = new window.XMLHttpRequest();
// Upload progress
xhr.upload.addEventListener("progress", function(evt){
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
//Do something with upload progress
let complete=Math.round(percentComplete * 100);
console.log(complete);
thisfile.closest('.form-item').find(".info-upload").text("Загружено "+complete+" %");
}
}, false);
// Download progress
xhr.addEventListener("progress", function(evt){
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
// Do something with download progress
console.log(percentComplete);
}
}, false);
return xhr;
},
url: 'https://form.clientright.ru/fileupload_v2.php',
method: 'post',
cache: false,
contentType: false,
processData: false,
data: formData,
// dataType : 'json',
beforeSend : function (){
$('.form__action').find('.js-btn-next').addClass('disabled');
$('.form__action').find('.btn--submit').addClass('disabled');
},
success: function(data) {
let res=JSON.parse(data);
if(res.success=="true"){
console.log(res);
// thisfile.closest('.form-item').append("<p class='suсcess-upload'>Файл успешно загружен на сервер.</p>");
thisfile.attr('data-uploadurl',res.empty_file);
thisfile.attr('data-uploadurl_real',res.real_file);
// thisfile.closest('.form-item').append("<p class='suсcess-upload'>"+res.message+"</p>");
thisfile.closest('.form-item').find('.info-upload').remove();
$('.form__action').find('.js-btn-next').removeClass('disabled');
$('.form__action').find('.btn--submit').removeClass('disabled');
} else {
}
return false;
},
error: function (jqXHR, exception) {
return false;
}
});
}
function formatBytes(bytes, decimals = 2) {
if (!+bytes) return '0 Bytes'
const k = 1024
const dm = decimals < 0 ? 0 : decimals
const sizes = ['Bytes', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']
const i = Math.floor(Math.log(bytes) / Math.log(k))
return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`
}
var fileIdCounter = 0;
jQuery('.js-attach').each(function() {
var filesToUpload = [];
let filethis=$(this);
filethis.change(async function (evt) {
var output = [];
let elem= $(this);
elem.closest('.form-item').find('.form-item__warning').text('');
let file_status=[];
var formats = ['pdf','jpg','png','gif','jpeg','heic','HEIC'];
console.log(evt.target.files);
if(evt.target.files.length>10) {
elem.closest('.form-item').find('.form-item__warning').text("Разрешено не более 10 файлов");
return;
}
for (var i = 0; i < evt.target.files.length; i++) {
fileIdCounter++;
var file = evt.target.files[i];
var fileId = "fileid_" + fileIdCounter;
console.log(file);
let ext = "не определилось";
let parts = file.name.split('.');
if (parts.length > 1) ext = parts.pop();
if(!formats.includes(ext)) {
elem.closest('.form-item').find('.form-item__warning').append('<div> Файл '+file.name+' не подходит по формату. Доступные форматы: .pdf, .jpg, .png, .gif </div>');
elem.addClass('error');
file_status.push(false);
} else {
// elem.closest('.form-item').find('.form-item__warning').text();
if((file.size/1024/1024) > 5){
file_status.push(false);
elem.closest('.form-item').find('.form-item__warning').append('<div>Размер файла '+file.name+' превышает 5 Мб. </div>');
} else {
elem.removeClass('error');
file_status.push(true);
var removeLink = "<a class=\"removefile\" href=\"#\" data-fileid=\"" + fileId + "\"></a>";
output.push("<li><strong>", file.name, "</strong> <span class='size'> ", formatBytes(file.size) , " </span> ", removeLink, "</li> ");
// Тут преобазуем heic в jpg
// fetch("https://alexcorvi.github.io/heic2any/demo/1.heic")
// .then((res) => res.blob())
// .then((blob) => heic2any({
// blob,
// toType:"image/jpeg",
// quality: 0.01
// }))
// .then((conversionResult) => {
// var url = URL.createObjectURL(conversionResult);
// document.getElementById("target").innerHTML = `<a target="_blank" href="${url}"><img src="${url}"></a>`;
// })
// .catch((e) => {
// console.log(e);
// });
//if HEIC file
if(file.name.includes(".heic")){
// get image as blob url
let blobURL = URL.createObjectURL(event.target.files[0]);
// convert "fetch" the new blob url
let blobRes = await fetch(blobURL)
// convert response to blob
let blob = await blobRes.blob()
// convert to PNG - response is blob
let conversionResult = await heic2any({ blob,
toType:"image/jpeg",
quality: 1 });
file = new File([conversionResult], file.name);
console.log(file);
}
filesToUpload.push({
id: fileId,
file: file
});
}
}
};
elem.closest('.form-item').find(".fileList").append(output.join(""));
let container = new DataTransfer();
for (var i = 0, len = filesToUpload.length; i < len; i++) {
container.items.add(filesToUpload[i].file);
}
elem[0].files = container.files;
if(file_status.every(val => val === true))
{
upload_file(elem);
$('.form__action').find('.js-btn-next').removeClass('disabled');
} else {
$('.form__action').find('.js-btn-next').addClass('disabled');
}
});
$(this).closest('.form-item').on("click", ".removefile", function (e) {
let elem= $(this);
e.preventDefault();
var fileId = elem.parent().children("a").data("fileid");
for (var i = 0; i < filesToUpload.length; ++i) {
if (filesToUpload[i].id === fileId) filesToUpload.splice(i, 1);
}
elem.parent().remove();
if(filesToUpload.length==0) {
elem.closest('.form-item').find('.upload-action').addClass('d-none');
elem.closest('.form-item').find('.suсcess-upload').text();
} else {
let container = new DataTransfer();
for (var i = 0, len = filesToUpload.length; i < len; i++) {
container.items.add(filesToUpload[i].file);
}
filethis[0].files = container.files;
updateSize(filethis);
}
});
});
// End Загрузка файлов
});