Просмотр исходного кода

exported TableAjax router function, fixed special filters value

Piotr Labudda 8 лет назад
Родитель
Сommit
6fbce00306
2 измененных файлов с 81 добавлено и 79 удалено
  1. 1 1
      SE/se-lib/TableAjax.php
  2. 80 78
      SE/se-lib/TableAjax.php.init.js

+ 1 - 1
SE/se-lib/TableAjax.php

@@ -575,7 +575,7 @@ class TableAjax extends ViewAjax {
 			'URL_ADD_USER_TABLE_FILTER_AJAX' => Request::getPathUri() . "index.php?_route=ViewTableAjax&_task=addUserTableFilterAjax",
 			'URL_RM_USER_TABLE_FILTER_AJAX' => Request::getPathUri() . "index.php?_route=ViewTableAjax&_task=rmUserTableFilterAjax",
 			'LABEL_HTML' => $this->getLabelHtml(),
-			'SPECIAL_FILTER_FUNCTIONS' => (!empty($specialFilters)) ? $specialFilters : 'false',
+			'SPECIAL_FILTER_FUNCTIONS' => (!empty($specialFilters)) ? $specialFilters : false,
 			'ROW_FUNCTIONS' => $rowFunctions,
 			'TABLE_FUNCTIONS' => array_merge(
 				[ 'shortdesc' => [ 'icon' => "align-left", 'title' => "Long desc", 'method' => "longTextChanged" ] ],

+ 80 - 78
SE/se-lib/TableAjax.php.init.js

@@ -28,91 +28,93 @@ jQuery(document).ready(function(){
 		rowFunctions: ROW_FUNCTIONS,
 		exportFields: EXPORT_FIELDS,
 		specialFilterFunctions: SPECIAL_FILTER_FUNCTIONS,
-		router: function() {
-			var routes = {
-				EDIT: global[FUNCTION_EDIT_ROUTE],
-				HIST: global[FUNCTION_HIST_ROUTE],
-				FILES: function tableAjaxFiles(args) {
-					var recordID = args;
-					if (typeof args == 'object') {
-						recordID = args.shift();
-						recordID = parseInt(recordID);
-					}
-					if (typeof recordID !== 'number' || recordID <= 0) {
-						// TODO: msg
-						return false;
-					}
-					var cont = jQuery('#' + TABLE_AJAX_NODE_ID).parent();
-					cont.hide();
+		router: tableAjaxRouter,
+		filtersClean: true,
+		longDesc: true
+	});
+});
 
-					// remove previous task content
-					var taskCnt = jQuery('#' + TABLE_AJAX_NODE_ID + '_task');
-					taskCnt.parent().remove();
-					taskCnt.remove();
+function tableAjaxRouter() {
+	var routes = {
+		EDIT: global[FUNCTION_EDIT_ROUTE],
+		HIST: global[FUNCTION_HIST_ROUTE],
+		FILES: function tableAjaxFiles(args) {
+			var recordID = args;
+			if (typeof args == 'object') {
+				recordID = args.shift();
+				recordID = parseInt(recordID);
+			}
+			if (typeof recordID !== 'number' || recordID <= 0) {
+				// TODO: msg
+				return false;
+			}
+			var cont = jQuery('#' + TABLE_AJAX_NODE_ID).parent();
+			cont.hide();
+
+			// remove previous task content
+			var taskCnt = jQuery('#' + TABLE_AJAX_NODE_ID + '_task');
+			taskCnt.parent().remove();
+			taskCnt.remove();
 
-					var taskCont = jQuery('<div class="AjaxTableCont"></div>').insertBefore(cont);
-					jQuery('<ul class="breadcrumb">' +
-						'<li><a href="#" onclick="return tableAjaxBackToTable();">' + LABEL_HTML + '</a></li>' +
-						'<li class="active">Pliki</li>' +
-					'</ul>').appendTo(taskCont);
-					var taskCnt = jQuery('<div id="' + TABLE_AJAX_NODE_ID + '_task" class="AjaxTable-loading"></div>').appendTo(taskCont);
-					jQuery('<span class="loading-info"> loading ...</span>').appendTo(taskCnt);
+			var taskCont = jQuery('<div class="AjaxTableCont"></div>').insertBefore(cont);
+			jQuery('<ul class="breadcrumb">' +
+				'<li><a href="#" onclick="return tableAjaxBackToTable();">' + LABEL_HTML + '</a></li>' +
+				'<li class="active">Pliki</li>' +
+			'</ul>').appendTo(taskCont);
+			var taskCnt = jQuery('<div id="' + TABLE_AJAX_NODE_ID + '_task" class="AjaxTable-loading"></div>').appendTo(taskCont);
+			jQuery('<span class="loading-info"> loading ...</span>').appendTo(taskCnt);
 
-					jQuery.ajax({
-						url: URL_RECORD_FILES + '&ID=' + recordID,
-						type: 'GET',
-						dataType: 'text',
-						data: '',
-						async: true,
-						success: function(data) {
-							taskCnt.removeClass('AjaxTable-loading');
-							jQuery(data).appendTo(taskCnt);
-						},
-						error: function(jqXHR, textStatus, errorThrown) {
-							//console.log('request error:', jqXHR.status, 'txt:', jqXHR.responseText, 'err:', jqXHR);
-							taskCnt.removeClass('AjaxTable-loading');
-							var txt = jqXHR.responseText || 'Error';
-							if (jqXHR.status == 404) {
-								jQuery('<div class="container"><div class="alert alert-danger">' + txt + '</div></div>').appendTo(taskCnt);
-							} else {
-								jQuery('<div class="container"><div class="alert alert-danger">' + txt + '</div></div>').appendTo(taskCnt);
-							}
-						}
-					});
-					//return false;
+			jQuery.ajax({
+				url: URL_RECORD_FILES + '&ID=' + recordID,
+				type: 'GET',
+				dataType: 'text',
+				data: '',
+				async: true,
+				success: function(data) {
+					taskCnt.removeClass('AjaxTable-loading');
+					jQuery(data).appendTo(taskCnt);
 				},
-				CREATE: TableAjax__CREATE_Route,
-			};
-			var routePath = location.hash;
-			//console.log('location.hash: ' + routePath);
-			if (location.hash == '' || location.hash == '#') {
-				return false;
-			}
-			if (routePath.charAt(0) == '#') {
-				routePath = routePath.substr(1);
-			}
-			//console.log('routePath: ' + routePath);
-			var parts = routePath.split('/');
-			var task = parts.shift();
-			//console.log('task(' + task + ') parts:');
-			//console.log(parts);
-			if (task in routes && typeof routes[task] == 'function') {
-				var con = jQuery('#' + TABLE_AJAX_NODE_ID);
-				if (con) {
-					var tblAjax = con.data('TableAjax');
-					if (tblAjax) {
-						tblAjax.popoverCellRemove();
+				error: function(jqXHR, textStatus, errorThrown) {
+					//console.log('request error:', jqXHR.status, 'txt:', jqXHR.responseText, 'err:', jqXHR);
+					taskCnt.removeClass('AjaxTable-loading');
+					var txt = jqXHR.responseText || 'Error';
+					if (jqXHR.status == 404) {
+						jQuery('<div class="container"><div class="alert alert-danger">' + txt + '</div></div>').appendTo(taskCnt);
+					} else {
+						jQuery('<div class="container"><div class="alert alert-danger">' + txt + '</div></div>').appendTo(taskCnt);
 					}
 				}
-				routes[task](parts);
-			} else {
-				return false;
-			}
+			});
+			//return false;
 		},
-		filtersClean: true,
-		longDesc: true
-	});
-});
+		CREATE: TableAjax__CREATE_Route,
+	};
+	var routePath = location.hash;
+	//console.log('location.hash: ' + routePath);
+	if (location.hash == '' || location.hash == '#') {
+		return false;
+	}
+	if (routePath.charAt(0) == '#') {
+		routePath = routePath.substr(1);
+	}
+	//console.log('routePath: ' + routePath);
+	var parts = routePath.split('/');
+	var task = parts.shift();
+	//console.log('task(' + task + ') parts:');
+	//console.log(parts);
+	if (task in routes && typeof routes[task] == 'function') {
+		var con = jQuery('#' + TABLE_AJAX_NODE_ID);
+		if (con) {
+			var tblAjax = con.data('TableAjax');
+			if (tblAjax) {
+				tblAjax.popoverCellRemove();
+			}
+		}
+		routes[task](parts);
+	} else {
+		return false;
+	}
+}
 
 function tableAjaxBackToTable() {
 	var cont = jQuery('#' + TABLE_AJAX_NODE_ID).parent();