var indexOfPoint{{idcontent}},
indexOf{{idcontent}},
element{{idcontent}},
dropArea{{idcontent}},
dragText{{idcontent}},
nfile{{idcontent}},
fileType{{idcontent}},
validExtensions{{idcontent}},
fileReader{{idcontent}},
fileURL{{idcontent}},
mvalidExtension{{idcontent}},
button{{idcontent}},
rescheckext,
input{{idcontent}};
$("#{{projectlogoid}}").attr('data-bs-toggle', 'modal');
$("#{{projectlogoid}}").attr('data-bs-target', '#modal-gallery-content{{idcontent}}');
$("#{{projectlogoid}}").prop('readonly', true);
$("#{{projectlogoid}}").attr('onclick', 'getdirfilesProjet{{idcontent}}(document.getElementById("{{projectlogoid}}").value, "nnvalid")');
$("<div class='input-group-prepend' style='margin-bottom: -3%; margin-left: 100%;'><i class='fa fa-trash-o mx-2' style='cursor: pointer;' onclick='trashgallProjet{{idcontent}}()'></i></div>").insertBefore("#{{projectlogoid}}");
$('#{{projectlogoid}}').keypress(function (e) {
return false;
});
// onclick="sendCode('', 'text-')"
function getdirfilesProjet{{idcontent}} (dirname, valid) {
selected = '';
indexOfPoint{{idcontent}} = dirname.lastIndexOf(".");
if (indexOfPoint{{idcontent}} >= 0) {
const substringContent{{idcontent}} = dirname.slice(indexOfPoint{{idcontent}}, dirname.length);
if (dirname.includes(substringContent{{idcontent}})) {
indexOf{{idcontent}} = dirname.lastIndexOf("/");
selected = dirname.slice(indexOf{{idcontent}}, dirname.length);
dirname = dirname.replace(selected, '') + '/';
// "data-123".replace(/data-/g,'');
}
}
if ('{{entity.instance.switchEnLigne}}') {
$.ajax({
url: "{{ path('get_dirs_content_projet_logos') }}",
type: 'POST',
timeout: 15000,
data: {
'dirname': dirname,
'selected': selected,
'validinput': valid,
'idcontent': '{{idcontent}}',
'imageFtpServer': '{{entity.instance.imageFtpServerEnligne}}',
'imageFtpLogin': '{{entity.instance.imageFtpLoginEnligne}}',
'imageFtpMdp': '{{entity.instance.imageFtpMdpEnligne}}',
'imageHttpServer': '{{entity.instance.imageHttpServerEnligne}}',
},
dataType: 'json',
success: function (data) {
$('#valdircontentProjet{{idcontent}}').html(data.content);
$('#dirPathNiveauIndicatorProjet{{idcontent}}').html(data.niveauindicator);
}
});
} else {
$.ajax({
url: "{{ path('get_dirs_content_projet_logos') }}",
type: 'POST',
timeout: 15000,
data: {
'dirname': dirname,
'selected': selected,
'validinput': valid,
'idcontent': '{{idcontent}}',
'imageFtpServer': '{{entity.instance.imageFtpServer}}',
'imageFtpLogin': '{{entity.instance.imageFtpLogin}}',
'imageFtpMdp': '{{entity.instance.imageFtpMdp}}',
'imageHttpServer': '{{entity.instance.imageHttpServer}}',
},
dataType: 'json',
success: function (data) {
$('#valdircontentProjet{{idcontent}}').html(data.content);
$('#dirPathNiveauIndicatorProjet{{idcontent}}').html(data.niveauindicator);
}
});
}
}
function selectedimageProjet{{idcontent}} (obj) {
element{{idcontent}} = $(obj);
$('.selectedFtpImgProjet{{idcontent}}').css("border", "0px");
$('.selectedFtpImgProjet{{idcontent}}').css("border-color", "");
$('.selectedFtpImgProjet{{idcontent}}').css("background-color", "white");
element{{idcontent}}.css("border", "1px solid #5656b5;");
element{{idcontent}}.css("border-color", "#5656b5");
element{{idcontent}}.css("background-color", "#5656b5");
$('#{{projectlogoid}}').val(element{{idcontent}}.attr('data-dir'));
rescheckext = checkcurrentExtProjet{{idcontent}}($('#{{projectlogoid}}').val());
if (rescheckext == 'file') {
var {{projetlogopreview}} = '<img id="{{projetlogopreviewremove}}" src="images/fileicon.webp" class="img-fluid mt-2" style="max-height: 100px;">';
} else if (rescheckext == 'json') {
var {{projetlogopreview}} = '<img id="{{projetlogopreviewremove}}" src="images/jsonfileicon.png" class="img-fluid mt-2" style="max-height: 100px;">';
} else {
var {{projetlogopreview}} = '<img id="{{projetlogopreviewremove}}" src="' + element{{idcontent}}.attr('data-racine') + $('#{{projectlogoid}}').val() + '" class="img-fluid mt-2">';
}
$("#{{projetlogopreviewremove}}").remove();
$(".{{projetlogopreview}}").append({{projetlogopreview}});
}
// clickedImg
// image preview
const imgphtmlContent{{idcontent}} = $(".{{projetlogopreview}}");
rescheckext = checkcurrentExtProjet{{idcontent}}($('#{{projectlogoid}}').val());
if (rescheckext == 'file') {
var {{projetlogopreview}} = '<img id="{{projetlogopreviewremove}}" src="images/fileicon.webp" class="img-fluid mt-2" style="max-height: 100px;">';
} else if (rescheckext == 'json') {
var {{projetlogopreview}} = '<img id="{{projetlogopreviewremove}}" src="images/jsonfileicon.png" class="img-fluid mt-2" style="max-height: 100px;">';
} else {
if ('{{entity.instance.switchEnLigne}}') {
var {{projetlogopreview}} = '<img id="{{projetlogopreviewremove}}" src="{{entity.instance.imageHttpServerEnligne}}' + $('#{{projectlogoid}}').val() + '" class="img-fluid mt-2">';
} else {
var {{projetlogopreview}} = '<img id="{{projetlogopreviewremove}}" src="{{entity.instance.imageHttpServer}}' + $('#{{projectlogoid}}').val() + '" class="img-fluid mt-2">';
}
}
if ($('#{{projectlogoid}}').val() != '' && $('#{{projectlogoid}}').val() != undefined) {
imgphtmlContent{{idcontent}}.append({{projetlogopreview}});
}
$(".{{projetlogopreview}}").change(function () {
$("#{{projetlogopreviewremove}}").remove();
});
// reset text in image
function trashgallProjet{{idcontent}} () {
$('#{{projectlogoid}}').val('');
$("#{{projetlogopreviewremove}}").remove();
}
// umpload image script
// selecting all required elements
dropArea{{idcontent}} = document.querySelector(".drag-area-content{{idcontent}}");
dragText{{idcontent}} = dropArea{{idcontent}}.querySelector("header");
button{{idcontent}} = dropArea{{idcontent}}.querySelector("button");
input{{idcontent}} = dropArea{{idcontent}}.querySelector("input");
nfile{{idcontent}}; // this is a global variable and we'll use it inside multiple functions
button{{idcontent}}.onclick = () => {
input{{idcontent}}.click(); // if user click on the button then the input also clicked
};
input{{idcontent}}.addEventListener("change", function () { // getting user select file and [0] this means if user select multiple files then we'll select only the first one
nfile{{idcontent}} = this.files[0];
dropArea{{idcontent}}.classList.add("active");
//file.forEach(showFileContent);
showFileContent{{idcontent}} (); // calling function
});
// If user Drag File Over DropArea
dropArea{{idcontent}}.addEventListener("dragover", (event) => {
event.preventDefault(); // preventing from default behaviour
dropArea{{idcontent}}.classList.add("active");
dragText{{idcontent}}.textContent = "Libérer pour télécharger le fichier";
});
// If user leave dragged File from DropArea
dropArea{{idcontent}}.addEventListener("dragleave", () => {
dropArea{{idcontent}}.classList.remove("active");
dragText{{idcontent}}.textContent = "Drag & Drop pour télécharger le fichier";
});
// If user drop File on DropArea
dropArea{{idcontent}}.addEventListener("drop", (event) => {
event.preventDefault();
// preventing from default behaviour
// getting user select file and [0] this means if user select multiple files then we'll select only the first one
nfile{{idcontent}} = event.dataTransfer.files[0];
input{{idcontent}}.file = event.dataTransfer.files[0];
//file.forEach(showFileContent);
showFileContent{{idcontent}} (); // calling function
});
function showFileContent{{idcontent}} () {
fileType{{idcontent}} = nfile{{idcontent}}.type; //getting selected file type
validExtensions{{idcontent}} = ["image/jpg", "image/jpeg", "image/bmp", "image/gif", "image/png", "image/apng", "image/webp", "image/ico", "image/cur", "image/jfif", "image/pjpeg", "image/pjp", "image/svg", "image/svg+xml", "image/x-icon"]; //adding some valid image extensions in array
if (validExtensions{{idcontent}}.includes(fileType{{idcontent}})) { //if user selected file is an image file
fileReader{{idcontent}} = new FileReader(); //creating new FileReader object
fileReader{{idcontent}}.onload = () => {
fileURL{{idcontent}} = fileReader{{idcontent}}.result; //passing user file source in fileURL variable
filename{{idcontent}} = '<img src="' + fileURL{{idcontent}} + '" data-name="' + nfile{{idcontent}}.name + '" id="imageToUploadContent{{idcontent}}" class="h-100">';
$("#uploadedimgdisplayContent{{idcontent}}").html(filename{{idcontent}});
$("#dropImageAreaContent{{idcontent}}").removeClass("d-none");
$("#dragAreaContent{{idcontent}}").addClass("d-none");
}
fileReader{{idcontent}}.readAsDataURL(nfile{{idcontent}});
} else {
/* alert("This is not an Image File!");
dropArea.classList.remove("active");
dragText.textContent = "Drag & Drop to Upload File"; */
alert("Ceci n'est pas un Image!");
alert(fileType{{idcontent}});
dropArea{{idcontent}}.classList.remove("active");
dragText{{idcontent}}.textContent = "Drag & Drop pour télécharger l'image";
}
}
function setuploadimgvalueContent{{idcontent}} () {
/* console.log($("#imageToUploadContent").attr('src'));
console.log($("#imageToUploadContent").attr('data-name')); */
$('#{{projectlogoid}}').val('/upload/' + $("#imageToUploadContent{{idcontent}}").attr('data-name'));
rescheckext = checkcurrentExtProjet{{idcontent}}($("#imageToUploadContent{{idcontent}}").attr('data-name'));
// console.log(rescheckext);
if (rescheckext == 'file') {
var {{projetlogopreview}} = '<img id="{{projetlogopreviewremove}}" src="images/fileicon.webp" class="img-fluid mt-2" style="max-height: 100px;">';
} else if (rescheckext == 'json') {
var {{projetlogopreview}} = '<img id="{{projetlogopreviewremove}}" src="images/jsonfileicon.png" class="img-fluid mt-2" style="max-height: 100px;">';
} else {
var {{projetlogopreview}} = '<img id="{{projetlogopreviewremove}}" src="' + $("#imageToUploadContent{{idcontent}}").attr('src') + '" class="img-fluid mt-2">';
}
$("#{{projetlogopreviewremove}}").remove();
$(".{{projetlogopreview}}").append({{projetlogopreview}});
if ('{{entity.instance.switchEnLigne}}') {
$.ajax({
url: "{{ path('get_image_projet_upload') }}",
type: 'POST',
timeout: 15000,
data: {
'file': $("#imageToUploadContent{{idcontent}}").attr('src'),
'name': $("#imageToUploadContent{{idcontent}}").attr('data-name'),
'imageFtpServer': '{{entity.instance.imageFtpServerEnligne}}',
'imageFtpLogin': '{{entity.instance.imageFtpLoginEnligne}}',
'imageFtpMdp': '{{entity.instance.imageFtpMdpEnligne}}',
'imageHttpServer': '{{entity.instance.imageHttpServerEnligne}}',
},
dataType: 'json',
success: function (data) {
// console.log(data.content);
// console.log();
// console.log(data.msg);
}
});
} else {
$.ajax({
url: "{{ path('get_image_projet_upload') }}",
type: 'POST',
timeout: 15000,
data: {
'file': $("#imageToUploadContent{{idcontent}}").attr('src'),
'name': $("#imageToUploadContent{{idcontent}}").attr('data-name'),
'imageFtpServer': '{{entity.instance.imageFtpServer}}',
'imageFtpLogin': '{{entity.instance.imageFtpLogin}}',
'imageFtpMdp': '{{entity.instance.imageFtpMdp}}',
'imageHttpServer': '{{entity.instance.imageHttpServer}}',
},
dataType: 'json',
success: function (data) {
// console.log(data.content);
// console.log();
// console.log(data.msg);
}
});
}
}
function resetuploadvaluesContent{{idcontent}} () {
$("#dropImageAreaContent{{idcontent}}").addClass("d-none");
$("#dragAreaContent{{idcontent}}").removeClass("d-none");
$("#imageToUploadContent{{idcontent}}").attr("src", "");
}
function checkImageGalleyExtProjet{{idcontent}} () {
mvalidExtension{{idcontent}} = ["jpg",
"jpeg", "bmp",
"gif", "png",
"apng", "webp",
"ico", "icon", "cur",
"jfif", "pjpeg",
"pjp", "svg"];
$('[id=imagegelleryProjet{{idcontent}}]').each(function () {
// console.log($(this).attr("src"));
// console.log(mvalidExtension.includes(getFileExtension($(this).attr("src"))));
// console.log(getFileExtension($(this).attr("src")));
if (getFileExtension{{idcontent}}($(this).attr("src")) == 'json') {
$(this).attr("src", "images/jsonfileicon.png");
$(this).css("width", "80px");
}
if (!mvalidExtension{{idcontent}}.includes(getFileExtension{{idcontent}}($(this).attr("src")))) {
$(this).attr("src", "images/fileicon.webp");
$(this).css("width", "80px");
}
});
}
function getFileExtension{{idcontent}}(filename) {
var ext = /^.+\.([^.]+)$/.exec(filename);
return ext == null ? "" : ext[1];
}
function checkcurrentExtProjet{{idcontent}}(idtocheck) {
mvalidExtension{{idcontent}} = ["jpg",
"jpeg", "bmp",
"gif", "png",
"apng", "webp",
"ico", "icon", "cur",
"jfif", "pjpeg",
"pjp", "svg"];
// console.log(getFileExtension{{idcontent}}(idtocheck));
// console.log(idtocheck);
if (getFileExtension{{idcontent}}(idtocheck) == 'json') {
return 'json';
} else if (mvalidExtension{{idcontent}}.includes(getFileExtension{{idcontent}}(idtocheck))) {
return 'image';
} else {
return 'file';
}
}