Sfoglia il codice sorgente

U Export Table method to post to handle ref filter

Piotr Labudda 7 anni fa
parent
commit
cca6ea7f8b
1 ha cambiato i file con 30 aggiunte e 8 eliminazioni
  1. 30 8
      SE/se-lib/TableAjax.php.TableAjax.js

+ 30 - 8
SE/se-lib/TableAjax.php.TableAjax.js

@@ -2462,14 +2462,36 @@ var TableAjax = function() {
 			}
 		}
 
-		var exportUrl = 'index.php?_route=ExportTableAjax&namespace=' + priv.options.namespace;
-		exportUrl += '&' + 'format=' + format;
-		exportUrl += '&' + 'flds=' + exportFields.join(',');
-		exportUrl += '&' + 'sortCol=' + (_state._currSortCol || '');
-		exportUrl += '&' + 'sortDir=' + (_state._currSortFlip ? "desc" : "asc");
-		exportUrl += '&' + priv.filter_getFilterQuery();
-
-		node.attr('href', exportUrl);
+		e.preventDefault();
+		var frm = document.createElement('form');
+		frm.style.display = "none";
+		frm.setAttribute('target', "_blank");
+		frm.method = "POST";
+		frm.action = "index.php?_route=ExportTableAjax&" + priv.filter_getFilterQuery();
+		function craeteHtmlInputElement(name, value) {
+			var input = document.createElement("input");
+			input.value = value;
+			input.name = name;
+			return input;
+		}
+		frm.appendChild(craeteHtmlInputElement('namespace', priv.options.namespace));
+		frm.appendChild(craeteHtmlInputElement('format', format));
+		frm.appendChild(craeteHtmlInputElement('flds', exportFields.join(',')));
+		frm.appendChild(craeteHtmlInputElement('sortCol', (_state._currSortCol || '')));
+		frm.appendChild(craeteHtmlInputElement('sortDir', (_state._currSortFlip ? "desc" : "asc")));
+		var url = new URL(window.location.href);
+		if (url.searchParams.get('childRefNS')) {
+			frm.appendChild(craeteHtmlInputElement('childRefNS', url.searchParams.get('childRefNS')));
+			frm.appendChild(craeteHtmlInputElement('childRefPK', url.searchParams.get('childRefPK')));
+		}
+		if (url.searchParams.get('backRefNS')) {
+			frm.appendChild(craeteHtmlInputElement('backRefNS', url.searchParams.get('backRefNS')));
+			frm.appendChild(craeteHtmlInputElement('backRefPK', url.searchParams.get('backRefPK')));
+			frm.appendChild(craeteHtmlInputElement('backRefField', url.searchParams.get('backRefField')));
+		}
+		document.body.appendChild(frm);
+		frm.submit();
+		document.body.removeChild(frm);
 	};
 
 	priv.showFailFetchDataMsg = function () {