This commit is contained in:
2023-09-17 17:18:56 +03:00
parent 8e6312f1ad
commit d09ca59279
6 changed files with 152 additions and 27 deletions

View File

@@ -117,23 +117,104 @@ function countLetters () {
//
// }
function attachFilemeassge (el,id_ticket=null,sender,receiver){
let file = el.files[0];
let reader = new FileReader();
// function getBase64(file,el) {
// const reader = new FileReader()
// let file_new = null
// let file_new_p = new Promise(function () {
// reader.readAsDataURL(file)
// reader.onload = function () {
// file_new = JSON.stringify({
// 'file': reader.result,
// 'file_type': el.type,
// 'file_name': el.name
// })
//
// }
//
// })
// file_new_p.then(function (){
// return file_new
// })
// }
//
// async function fileListToBase64(fileList) {
// const files_for_data = []
//
// for (let i = 0; i < fileList.length; i++) {
// let el = fileList[i]
// files_for_data.push(getBase64(fileList[i],el))
// }
//
// return await Promise.all(files_for_data)
// }
function getBase64(file,el) {
const reader = new FileReader()
return new Promise(resolve => {
reader.onload = ev => {
resolve(file_new = JSON.stringify({
'file': reader.result,
'file_type': el.type,
'file_name': el.name
})
)
}
reader.readAsDataURL(file)
})
}
async function fileListToBase64(fileList) {
// create function which return resolved promise
// with data:base64 string
// here will be array of promisified functions
const promises = []
// loop through fileList with for loop
for (let i = 0; i < fileList.length; i++) {
let el = fileList[i]
promises.push(getBase64(fileList[i],el))
}
// array with base64 strings
return await Promise.all(promises)
}
async function attachFilemeassge (el,id_ticket=null,sender,receiver){
// let file = el.files[0];
let fileList = el.files;
const files_for_data = await fileListToBase64(fileList)
let data = files_for_data
sendMessage(id_ticket,sender,receiver,data)
// let reader = new FileReader();
// let mas_for_for_each = []
// for (let i = 0;i < el.files.length;i++){
// let file_for_data_url_opert = el.files[i]
//
// reader.readAsDataURL(file_for_data_url_opert);
// reader.onload = function() {
// // console.log(reader.result);
// let file = JSON.stringify({
// 'file': reader.result,
// 'file_type': el.files[i].type,
// 'file_name': el.files[i].name
// })
// files_for_data.push(file)
// };
//
// reader.onerror = function() {
// console.log(reader.error);
// };
//
// }
reader.readAsDataURL(file);
reader.onload = function() {
// console.log(reader.result);
let data = reader.result
sendMessage(id_ticket,sender,receiver,data,file)
};
reader.onerror = function() {
console.log(reader.error);
};
}
@@ -212,9 +293,9 @@ function selectedUserMessenger (ticket_id=null,user_id=null){
}
function sendMessage(id_ticket=null,sender,receiver,img_post=null,file=null){
function sendMessage(id_ticket=null,sender,receiver,files=null){
// import {sendMessageSocket} from "./chat_sockets";
if (!img_post){
if (!files){
event.preventDefault()
}
let text = document.querySelector(".enter-message-inp").value
@@ -222,7 +303,7 @@ function sendMessage(id_ticket=null,sender,receiver,img_post=null,file=null){
let img = document.querySelector(".attach-file-btn-message").dataset["file_img"]
if (img_post){
if (files){
let data = {}
if (id_ticket === null){
@@ -230,11 +311,7 @@ function sendMessage(id_ticket=null,sender,receiver,img_post=null,file=null){
'sender': sender,
'receiver': receiver,
'text': '',
'file': JSON.stringify({
'file': img_post,
'file_type': file.type,
'file_name': file.name
})
'files': files
}
} else {
data = {
@@ -242,11 +319,7 @@ function sendMessage(id_ticket=null,sender,receiver,img_post=null,file=null){
'sender': sender,
'receiver': receiver,
'text': '',
'file': JSON.stringify({
'file': img_post,
'file_type': file.type,
'file_name': file.name
})
'files': files
}
}