From 2319ec7692596553c42ecd69b16f1ff7023abe3c Mon Sep 17 00:00:00 2001 From: Andrea Date: Thu, 27 Feb 2020 09:19:54 +0100 Subject: [PATCH] added drag + bugfix drag and drop + bugfix click on list --- plugins/suggest-tablefields.php | 61 +++++++++++++++++++++++++++++---- 1 file changed, 55 insertions(+), 6 deletions(-) diff --git a/plugins/suggest-tablefields.php b/plugins/suggest-tablefields.php index 8e1a07c9..9f89cbf6 100644 --- a/plugins/suggest-tablefields.php +++ b/plugins/suggest-tablefields.php @@ -27,11 +27,16 @@ class AdminerSuggestTableField ?> type="text/javascript"> @@ -71,7 +76,7 @@ class AdminerSuggestTableField } function getTable(suggests, tableName){ - var table = "
"+ tableName +"
" + var table = "
"+ tableName +"
" for(var k in suggests[tableName]){ table += "
"+ suggests[tableName][k] +"
" } @@ -92,16 +97,21 @@ class AdminerSuggestTableField var suggests_mysql = "" - suggests_mysql += "
" + suggests_mysql += "
" for(var k in suggests['___tables___']){ suggests_mysql += "
"+ suggests['___tables___'][k] +"
" } - suggests_mysql += "
" + suggests_mysql += "
" for(var k in suggests['___mysql___']){ suggests_mysql += "
"+ suggests['___mysql___'][k] +"
" } - form.insertAdjacentHTML('afterbegin', '
') + var posLeft = (sqlarea.offsetWidth + 3) + form.insertAdjacentHTML('afterbegin', + '
'+ + 'drag|'+ + 'stick '+ + '
') compile(suggests_mysql) @@ -177,6 +187,45 @@ class AdminerSuggestTableField }, false) + + //drag / stick + document.getElementById('suggest_tablefields_stick').addEventListener('click', function () { + var obj = document.getElementById('suggest_tablefields_container') + obj.style.position = "absolute" + obj.style.left = this.getAttribute('data-pos-left') + obj.style.top = 0 + obj.classList.remove("xborder") + }) + + window.onload = function(){ + draggable('suggest_tablefields_container') + } + + var dragObj = null + function draggable(id) { + var obj = document.getElementById(id) + var m = document.getElementById('suggest_tablefields_drag') + m.onmousedown = function(){ + obj.style.position = "fixed" + obj.classList.add("xborder") + dragObj = obj + } + } + + document.onmouseup = function(){ + dragObj = null + } + + document.onmousemove = function(e){ + var x = e.pageX + var y = e.pageY + + if(dragObj == null) return + + dragObj.style.left = x +"px" + dragObj.style.top= y +"px" + } + }) -- 2.39.5