2
0
forked from Wavyzz/dolibarr

New : uploadfile drag and drop on card

This commit is contained in:
hystepik
2023-03-16 14:51:15 +01:00
parent 657d964899
commit 93cb4eb6bf
4 changed files with 62 additions and 3 deletions

View File

@@ -379,3 +379,46 @@ print '
});
});
'."\n";
// Code to manage the drag and drop file
//TODO: Find a way to display text over div
print "\n/* JS CODE TO ENABLE DRAG AND DROP OF FILE */\n";
print '
jQuery(document).ready(function() {
counterdragdrop = 0;
$(".cssDragDropArea").on("dragenter", function(ev) {
// Entering drop area. Highlight area
counterdragdrop++;
$(".cssDragDropArea").addClass("highlightDragDropArea");
ev.preventDefault();
});
$(".cssDragDropArea").on("dragleave", function(ev) {
// Going out of drop area. Remove Highlight
counterdragdrop--;
if (counterdragdrop === 0) {
$(".cssDragDropArea").removeClass("highlightDragDropArea");
}
});
$(".cssDragDropArea").on("dragover", function(ev) {
ev.preventDefault();
return false;
});
$(".cssDragDropArea").on("drop", function(e) {
console.log("Trigger event file droped");
e.preventDefault();
fd = new FormData();
var dataTransfer = e.originalEvent.dataTransfer;
if(dataTransfer.files && dataTransfer.files.length){
var droppedFiles = e.originalEvent.dataTransfer.files;
$.each(droppedFiles, function(index,file){
fd.append("file",file,file.name)
});
}
$(".cssDragDropArea").removeClass("highlightDragDropArea");
counterdragdrop = 0;
});
});
'."\n";

View File

@@ -1871,9 +1871,10 @@ function dol_fiche_head($links = array(), $active = '0', $title = '', $notab = 0
* @param string $morecss More CSS on the link <a>
* @param int $limittoshow Limit number of tabs to show. Use 0 to use automatic default value.
* @param string $moretabssuffix A suffix to use when you have several dol_get_fiche_head() in same page
* @param int $dragdropfile 0 (default) or 1. 1 enable a drop zone for file to be upload, 0 disable it
* @return string
*/
function dol_get_fiche_head($links = array(), $active = '', $title = '', $notab = 0, $picto = '', $pictoisfullpath = 0, $morehtmlright = '', $morecss = '', $limittoshow = 0, $moretabssuffix = '')
function dol_get_fiche_head($links = array(), $active = '', $title = '', $notab = 0, $picto = '', $pictoisfullpath = 0, $morehtmlright = '', $morecss = '', $limittoshow = 0, $moretabssuffix = '', $dragdropfile = 0)
{
global $conf, $langs, $hookmanager;
@@ -2039,7 +2040,7 @@ function dol_get_fiche_head($links = array(), $active = '', $title = '', $notab
}
if (!$notab || $notab == -1 || $notab == -2 || $notab == -3) {
$out .= "\n".'<div class="tabBar'.($notab == -1 ? '' : ($notab == -2 ? ' tabBarNoTop' : (($notab == -3 ? ' noborderbottom' : '').' tabBarWithBottom'))).'">'."\n";
$out .= "\n".'<div class="tabBar'.($notab == -1 ? '' : ($notab == -2 ? ' tabBarNoTop' : (($notab == -3 ? ' noborderbottom' : '').' tabBarWithBottom'))).(!empty($dragdropfile) ? ' cssDragDropArea' : '').'">'."\n";
}
$parameters = array('tabname' => $active, 'out' => $out);