// Write output
+ $this->default_limit = $this->db->limits[0];
if (empty($this->_nopage)) {
$this->page->headers_no_cache();
$this->page->js_code = 'window._dbq = '
. json_encode([
'HTML_FORMAT' => self::HTML_FORMAT,
+ 'default.format' => self::HTML_FORMAT,
+ 'default.limit' => $this->default_limit,
'param.format' => $this->params['format'],
'param.db' => $this->params['db'],
'param.table' => $this->params['table'],
+// NB 25.12.16: TODEL
+/*
function form_submit_clean(form) {
form_clean(form);
form.submit();
e.value = ""
}
}
+*/
function form_submit_clean(f) {
var i = 0;
url += (url ? "&" : "?") + encodeURI(p.name) + "=" + encodeURI(p.value);
}
+ //alert(url);
url = (action == "?" ? "" : action) + url;
window.location = url;
document.addEventListener("DOMContentLoaded", function() {
+ // Clean when submit
for (var e of document.querySelectorAll("form")) {
e.onsubmit = function() {
return form_submit_clean(this);
};
}
- document.getElementById("table").removeAttribute("name");
- document.getElementById("format").removeAttribute("name");
- for (var e of document.querySelectorAll(".menu select.tables, .menu select.format, .menu select.limit")) {
- e.onchange = function() {
- var format = document.getElementById("format").value;
- if (format == window._dbq["HTML_FORMAT"]) format = "html";
- window.location = "./" + document.getElementById("table").value + "." + format;
- return true;
- };
- }
+ /*
+ Menu
+ */
+ for (var form of document.querySelectorAll("form.menu")) {
+ form.setAttribute('action',window.location.toString().replace(/\?.*$/,''));
+
+ // Format
+ for (var e of form.querySelectorAll("form.menu select.format")) {
+ e.removeAttribute('name');
+ e.onchange = function() {
+ var format = this.value;
+ if (format == window._dbq["HTML_FORMAT"]) format = "html";
+ this.form.setAttribute('action',this.form.getAttribute('action').replace(/(\/|\.\w+)$/,'.'+format));
+ this.form.onsubmit();
+ return false;
+ }
+ }
+
+ // Table
+ for (var e of form.querySelectorAll("form.menu select.tables")) {
+ e.removeAttribute('name');
+ e.onchange = function() {
+ this.form.setAttribute('action',this.form.getAttribute('action').replace(/([^\/\.]+)(\.\w+)?$/,this.value+'$2'));
+ return this.form.onsubmit();
+ }
+ }
+
+ // Limit
+ for (var e of form.querySelectorAll("form.menu select.limit option")) {
+ if (e.value == window._dbq["default.limit"]) e.setAttribute('value','');
+ }
+
+ // Auto submit
+ for (var e of form.querySelectorAll("form.menu select.limit")) {
+ e.onchange = function() {
+ return this.form.onsubmit();
+ };
+ }
- for (var e of document.querySelectorAll(".menu select.limit")) {
- e.onchange = function() {
- this.form.submit();
- return true;
- };
}
- if (document.querySelector(".nav.bottom")) {
+ if (document.querySelector(".nav.bottom") && document.querySelector("table.rows")) {
document.querySelector("table.rows").insertAdjacentHTML("beforebegin","<div class=\"nav top\">"+document.querySelector(".nav.bottom").innerHTML+"</div>");
}