73 lines
2.3 KiB
JavaScript
73 lines
2.3 KiB
JavaScript
var fileobj, change_bg_flag;
|
|
|
|
function file_explorer() {
|
|
document.getElementById('selectfile').click();
|
|
document.getElementById('selectfile').onchange = function() {
|
|
fileobj = document.getElementById('selectfile').files[0];
|
|
editor_file_upload(fileobj);
|
|
};
|
|
}
|
|
|
|
function editor_file_upload(file_obj) {
|
|
blobToBase64(fileobj).then(res => {
|
|
if(change_bg_flag){
|
|
editor_obj.change_source(res);
|
|
}
|
|
else{
|
|
editor_obj.add_image(res);
|
|
}
|
|
});
|
|
}
|
|
function blobToBase64(blob) {
|
|
const reader = new FileReader();
|
|
reader.readAsDataURL(blob);
|
|
return new Promise(resolve => {
|
|
reader.onloadend = () => {
|
|
resolve(reader.result);
|
|
};
|
|
});
|
|
};
|
|
function sendData(form_data, address, resolve) {
|
|
var xhttp = new XMLHttpRequest();
|
|
xhttp.open("POST", address, true);
|
|
|
|
xhttp.onreadystatechange = function() {
|
|
if (this.readyState == 4 && this.status == 200) {
|
|
var response = this.responseText;
|
|
if(typeof resolve != "undefined"){
|
|
resolve(response);
|
|
}
|
|
}
|
|
};
|
|
xhttp.send(form_data);
|
|
}
|
|
function source_file_upload() {
|
|
var totalfiles = document.getElementById('files').files.length;
|
|
if(totalfiles > 0 ){
|
|
var form_data = new FormData();
|
|
for (var i in photos_array) {
|
|
form_data.append("files[]", photos_array[i]);
|
|
}
|
|
refreshFilesGallery(form_data);
|
|
}else{
|
|
alert("Файлы не выбраны");
|
|
}
|
|
}
|
|
function refreshFilesGallery(form_data, address="save_source_files.php"){
|
|
const promise = new Promise((resolve, reject) => {
|
|
sendData(form_data, address, resolve);
|
|
});
|
|
promise.then((response) => {
|
|
if(change_bg_flag){
|
|
editor_obj.change_source(response);
|
|
}
|
|
else{
|
|
// console.log(response);
|
|
document.querySelector(".gallery-container").innerHTML = response;
|
|
thumb_gallery_container.innerHTML = "";
|
|
button_prev.style.display = "none";
|
|
button_next.style.display = "none";
|
|
photos_array = [];
|
|
}
|
|
})
|
|
} |