/*
Functions for the filtering and sorting of dataincludes
*/
function fsj_dataincl_getformparams(setid) {
// build array of parameters
var id = '#fsj_dataincl_' + setid + '_form';
var params = {};
jQuery(id).find('input').each(function () {
if (jQuery(this).attr('name'))
params[jQuery(this).attr('name')] = jQuery(this).val();
});
return params;
}
function fsj_dataincl_reload(setid, url) {
var width = jQuery('#fsj_dataincl_' + setid).outerWidth();
var height = jQuery('#fsj_dataincl_' + setid).outerHeight();
jQuery('#fsj_dataincl_' + setid).css('position', 'relative');
var newdiv = jQuery('
');
newdiv.css('position', 'absolute');
newdiv.css('left', '0px');
newdiv.css('top', '0px');
newdiv.css('width', width + 'px');
newdiv.css('height', height + 'px');
newdiv.css('background-color', 'rgba(220,220,220,0.7)');
newdiv.css('text-align', 'center');
newdiv.css('padding-top', '150px');
newdiv.html("
");
jQuery('#fsj_dataincl_' + setid).append(newdiv);
jQuery.ajax({
url: url
}).done(function (data) {
//alert(data);
jQuery('#fsj_dataincl_' + setid).after(data);
jQuery('#fsj_dataincl_' + setid).remove();
});
//jQuery('#fsj_dataincl_' + setid).load(url);
}
function fsj_dataincl_buildurl(setid, params, reset) {
reset = typeof reset !== 'undefined' ? reset : false;
var id = '#fsj_dataincl_' + setid + '_form';
var url = jQuery(id).attr('action');
if (url.indexOf('?') == -1) {
url += "?";
} else {
url += "&";
}
var result = "";
for (key in params) {
if (key.substr(0, 1) == "$") continue;
value = params[key];
if (key == "option" || key == "view" || key == "set") {
url += key + "=" + encodeURIComponent(value) + "&";
} else {
result += key + "=" + encodeURIComponent(value) + "&";
}
}
if (!reset)
url += "dataincl=" + fsj_utils.base64.encode(result);
return url;
}
function fsj_dataincl_sortlink(setid, field, order) {
var params = fsj_dataincl_getformparams(setid);
params['sort_field'] = field;
params['sort_dir'] = order;
params['page_cur'] = 1;
var url = fsj_dataincl_buildurl(setid, params);
fsj_dataincl_reload(setid, url);
return false;
}
function fsj_dataincl_sortdrop(setid) {
var params = fsj_dataincl_getformparams(setid);
var sortid = '#fsj_dataincl_sort_' + setid;
var value = jQuery(sortid).val();
params['sort_field'] = value;
params['sort_dir'] = '';
params['page_cur'] = 1;
var url = fsj_dataincl_buildurl(setid, params);
fsj_dataincl_reload(setid, url);
}
function fsj_dataincl_filter(setid, field) {
var params = fsj_dataincl_getformparams(setid);
var sortid = '#fsj_dataincl_filter_' + field + '_' + setid;
var value = jQuery(sortid).val();
params['filter_' + field] = value;
params['page_cur'] = 1;
var url = fsj_dataincl_buildurl(setid, params);
fsj_dataincl_reload(setid, url);
}
function fsj_dataincl_page(setid, pageno) {
var params = fsj_dataincl_getformparams(setid);
params['page_cur'] = pageno;
var url = fsj_dataincl_buildurl(setid, params);
fsj_dataincl_reload(setid, url);
return false;
}
function fsj_dataincl_search(setid) {
var params = fsj_dataincl_getformparams(setid);
// find all search entries and add the data too the params
var inputs = jQuery('input[ref="fsj_dataincl_search_' + setid + '"]');
if (inputs.length > 0) {
for (var i = 0; i < inputs.length; i++) {
var input = jQuery(inputs[i]);
var value = input.val();
var field = input.attr('field');
params['search_' + field] = value;
}
}
params['page_cur'] = 1;
var url = fsj_dataincl_buildurl(setid, params);
fsj_dataincl_reload(setid, url);
return false;
}
function fsj_dataincl_reset(setid) {
var params = fsj_dataincl_getformparams(setid);
var url = fsj_dataincl_buildurl(setid, params, true);
fsj_dataincl_reload(setid, url);
return false;
}
function fsj_dataincl_keypress(setid, event) {
if (event.which == 13) {
fsj_dataincl_search(setid);
return false;
}
return true;
}