]> git.nbdom.net Git - nb.git/commitdiff
www/dbq/html/default.js
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Tue, 2 Jan 2018 20:29:02 +0000 (20:29 +0000)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Tue, 2 Jan 2018 20:29:02 +0000 (20:29 +0000)
www/dbq/dbq.php
www/dbq/html/default.js
www/dbq/html/default.min.js

index bdb732493c4d6be862c441598d7f4e5c118fb844..c28a828151d42e0c5379f657236be6738081e6ed 100644 (file)
@@ -422,29 +422,23 @@ class DbQ extends nb {
                        'row_parse_post' => function(&$r){
 
                                $args = $GLOBALS['dbq_args'];
+                               $_r = $r;
 
-# NB 19.12.17                  if (0) {
-# NB 19.12.17                          $r = ['view' => join(' ',[
-# NB 19.12.17                                  '<a class="button select vi" href="'.$this->table->base.'/vi'.$args.'/">View</a>'
-# NB 19.12.17                          ]) ] + $r;
-# NB 19.12.17                  } else {
-                               $r = ['view' => join(' ',[''
+                               $r = array_merge(['view' => ''
                                        .'<form action="'.$this->table->base.'/vi'.'" method="post">'
                                        .'<a class="button select vi" href="'.$this->table->base.'/vi'.'" onclick="parentNode.submit();return false;">View</a>'
-                                       .$this->form_hidden($r)
+                                       .$this->form_hidden($_r)
                                        .'</form>'
-                               ]) ] + $r;
-# NB 19.12.17                  }
+                               ],$r);
 
                                if ($this->perm < self::DELETE) return;
                                if ($this->db->type == 'sqlite' and !is_writeable($this->db->host)) return;
 
-# NB 11.12.17                          $rm = $this->table->base.'/rm'.$args;
                                $rm = $this->uri_add_referer($this->table->base.'/rm');
                                $r['delete'] = ''
                                        .'<form action="'.$rm.'" method="post" class="rm">'
                                        .'<a class="button rm" href="'.$rm.'" onclick="parentNode.submit();return false;">Delete</a>'
-                                       .$this->form_hidden($r)
+                                       .$this->form_hidden($_r)
                                        .'</form>'
                                ;
 
index 34d694dc7c98d8fff9ec81188a98db7f47a6bd04..2c00e9b94d9a5bc82e051db23670350fa849a029 100644 (file)
@@ -128,17 +128,48 @@ document.addEventListener("DOMContentLoaded", function() {
     );
   });
 
-  if (document.querySelector("DISABLE th.delete")) {
+  if (document.querySelector("th.delete")) {
     var a = document.createElement('a');
     a.setAttribute('href','#');
     a.innerHTML = document.querySelector("th.delete").innerHTML + '&nbsp;All';
     document.querySelector("th.delete").innerHTML = '';
     a.onclick = function() {
+      var forms = document.querySelectorAll("form.rm");
+      for (j = 0; j < forms.length; ++j) {
+        var f = forms[j];
+      //document.querySelectorAll("form.rm").forEach(function(f) {
+        var url = f.getAttribute('action');
+        var params = [];
+        /*
+        [].slice.call(f).forEach(function(e) {
+          params[e.name] = encodeURI(e.value);
+          //console.log(e.name+'='+e.value);
+        });
+        */
+        var items = f.getElementsByTagName('input');
+        for (i = 0; i < items.length; ++i) {
+          var e = items[i];
+          params.push(e.name+'='+encodeURI(e.value));
+        }
+        //console.log(url+'?'+params.join('&')); continue;
+        var xhttp = new XMLHttpRequest();
+        xhttp.open("POST", url, false);
+        xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
+        xhttp.onload = function (e) {
+          if (xhttp.readyState === 4) {
+          }
+        }
+        xhttp.send(params.join('&'));
+        //console.log(params.join('&'));
+      }//);
+      location.reload();
+      /*
       var items = document.querySelectorAll("form.rm");
       for (i = 0; i < items.length; ++i) {
         var e = items[i];
         e.submit();
       }
+      */
       return false;
     };
     document.querySelector("th.delete").appendChild(a);
index 0302e723fd2eb39a4f54ebd17269c3ad362e0ec9..15551627c3b9af5d3f6f3dea8da58611220b15e6 100644 (file)
@@ -1 +1 @@
-function form_clean(e){var t;for(i=0;i<e.length;i++)"none"!=(t=e.elements[i]).style.display&&("text"==t.type?t.value="":!t.type.match(/^select/)||"limit"!=t.name&&"format"!=t.name||(t.selectedIndex=0))}function form_submit_clean(e){var t=0,n="",o=e.getAttribute("action");if("get"!=e.getAttribute("method"))return!0;for(t=0;t<e.length;t++){var r=e[t];r.name&&(""!=r.value&&"undefined"!=r.value&&(n+=(n?"&":"?")+encodeURI(r.name)+"="+encodeURI(r.value)))}return n=("?"==o?"":o)+n,e.reset(),window.location=n,!1}document.addEventListener("DOMContentLoaded",function(){NodeList.prototype.forEach=Array.prototype.forEach,document.querySelectorAll("form").forEach(function(e){e.onsubmit=function(){if(this.elements.limit){var e=this.elements.limit;"undefined"!=window._dbq.default_limit&&e.value==window._dbq.default_limit&&e.removeAttribute("value")}return form_submit_clean(this)}}),document.querySelectorAll("form.menu").forEach(function(e){e.setAttribute("action",window.location.toString().replace(/\?.*$/,"")),e.querySelectorAll("form.menu select.format").forEach(function(e){e.removeAttribute("name"),e.onchange=function(){return this.form.setAttribute("action",window._dbq["table.base"]+"."+this.value),this.form.onsubmit()}}),e.querySelectorAll("form.menu select.tables").forEach(function(e){e.removeAttribute("name"),e.onchange=function(){return this.form.setAttribute("action",window._dbq["db.base"]+"/"+this.value+".html"),this.form.onsubmit()}}),e.querySelectorAll("form.menu select.limit").forEach(function(e){e.onchange=function(){return this.form.onsubmit()}})}),document.querySelector(".nav.bottom")&&document.querySelector("table.rows")&&document.querySelector("table.rows").insertAdjacentHTML("beforebegin",'<div class="nav top">'+document.querySelector(".nav.bottom").innerHTML+"</div>"),document.querySelectorAll("table").forEach(function(e){parseInt(e.offsetWidth)>parseInt(window.innerWidth)&&(e.className=e.className.replace(/(^| +)fixed($| )/,"")+" fixed",e.className=e.className.trim())}),window._dbq.perm<window._dbq.perms.write&&(document.querySelectorAll("form.edit").forEach(function(e){e.setAttribute("onsubmit","return false")}),document.querySelectorAll("form.edit input[type=submit],form.edit input[type=reset]").forEach(function(e){e.setAttribute("style","display:none")})),document.querySelectorAll("form.menu input[type=submit]").forEach(function(e){e.insertAdjacentHTML("afterend",'&nbsp;<input type="button" class="clear '+e.className+'" onclick="form_clean(this.form)" value="'+window._dbq["text.clear"]+'" />'+(window._dbq.perm>=window._dbq.perms.write?'&nbsp;<input type="button" class="add '+e.className+'" onclick="window.location=\''+window._dbq["table.base"]+'/add/\'" value="'+window._dbq["text.add"]+'"/>':""))})});
+function form_clean(e){var t;for(i=0;i<e.length;i++)"none"!=(t=e.elements[i]).style.display&&("text"==t.type?t.value="":!t.type.match(/^select/)||"limit"!=t.name&&"format"!=t.name||(t.selectedIndex=0))}function form_submit_clean(e){var t=0,n="",o=e.getAttribute("action");if("get"!=e.getAttribute("method"))return!0;for(t=0;t<e.length;t++){var r=e[t];r.name&&(""!=r.value&&"undefined"!=r.value&&(n+=(n?"&":"?")+encodeURI(r.name)+"="+encodeURI(r.value)))}return n=("?"==o?"":o)+n,e.reset(),window.location=n,!1}document.addEventListener("DOMContentLoaded",function(){if(NodeList.prototype.forEach=Array.prototype.forEach,document.querySelectorAll("form").forEach(function(e){e.onsubmit=function(){if(this.elements.limit){var e=this.elements.limit;"undefined"!=window._dbq.default_limit&&e.value==window._dbq.default_limit&&e.removeAttribute("value")}return form_submit_clean(this)}}),document.querySelectorAll("form.menu").forEach(function(e){e.setAttribute("action",window.location.toString().replace(/\?.*$/,"")),e.querySelectorAll("form.menu select.format").forEach(function(e){e.removeAttribute("name"),e.onchange=function(){return this.form.setAttribute("action",window._dbq["table.base"]+"."+this.value),this.form.onsubmit()}}),e.querySelectorAll("form.menu select.tables").forEach(function(e){e.removeAttribute("name"),e.onchange=function(){return this.form.setAttribute("action",window._dbq["db.base"]+"/"+this.value+".html"),this.form.onsubmit()}}),e.querySelectorAll("form.menu select.limit").forEach(function(e){e.onchange=function(){return this.form.onsubmit()}})}),document.querySelector(".nav.bottom")&&document.querySelector("table.rows")&&document.querySelector("table.rows").insertAdjacentHTML("beforebegin",'<div class="nav top">'+document.querySelector(".nav.bottom").innerHTML+"</div>"),document.querySelectorAll("table").forEach(function(e){parseInt(e.offsetWidth)>parseInt(window.innerWidth)&&(e.className=e.className.replace(/(^| +)fixed($| )/,"")+" fixed",e.className=e.className.trim())}),window._dbq.perm<window._dbq.perms.write&&(document.querySelectorAll("form.edit").forEach(function(e){e.setAttribute("onsubmit","return false")}),document.querySelectorAll("form.edit input[type=submit],form.edit input[type=reset]").forEach(function(e){e.setAttribute("style","display:none")})),document.querySelectorAll("form.menu input[type=submit]").forEach(function(e){e.insertAdjacentHTML("afterend",'&nbsp;<input type="button" class="clear '+e.className+'" onclick="form_clean(this.form)" value="'+window._dbq["text.clear"]+'" />'+(window._dbq.perm>=window._dbq.perms.write?'&nbsp;<input type="button" class="add '+e.className+'" onclick="window.location=\''+window._dbq["table.base"]+'/add/\'" value="'+window._dbq["text.add"]+'"/>':""))}),document.querySelector("DISABLE th.delete")){var e=document.createElement("a");e.setAttribute("href","#"),e.innerHTML=document.querySelector("th.delete").innerHTML+"&nbsp;All",document.querySelector("th.delete").innerHTML="",e.onclick=function(){var e=document.querySelectorAll("form.rm");for(i=0;i<e.length;++i)e[i].submit();return!1},document.querySelector("th.delete").appendChild(e)}});