artabro/wire/modules/Process/ProcessLogger/ProcessLogger.js
2024-08-27 11:35:37 +02:00

97 lines
2.8 KiB
JavaScript

var ProcessLogger = {
timer: null,
pageNum: 1,
submitFilters: function(updateOnlyNew) {
if(typeof updateOnlyNew == "undefined") updateOnlyNew = false;
var filters = {
q: $("#Inputfield_q").val(),
date_from: $("#Inputfield_date_from").val(),
date_to: $("#Inputfield_date_to").val(),
time: 0
};
if(updateOnlyNew) filters.time = $("#ProcessLogPage").attr('data-time');
ProcessLogger.startSpinner(!updateOnlyNew);
$.getJSON('./', filters, function(data) {
if(!updateOnlyNew || (data.qty > -1 && ProcessLogger.pageNum == 1)) {
$("#ProcessLogEntries").html(data.out).effect('highlight', 500);
}
if(data.note.length > 0) {
if(typeof Notifications != "undefined") {
Notifications.message(data.note, '', 'tree');
}
$("#ProcessLogHeadline").find('.notes').html('+ ' + data.note);
}
ProcessLogger.setupLogEntries();
ProcessLogger.stopSpinner(!updateOnlyNew);
$("#ProcessLogPage").attr('data-time', data.time);
});
},
setupLogEntries: function() {
ProcessLogger.pageNum = parseInt($("#ProcessLogPage").attr('data-page'));
if(ProcessLogger.timer) clearTimeout(ProcessLogger.timer);
ProcessLogger.timer = setTimeout('ProcessLogger.submitFilters(true)', 5000);
if(ProcessLogger.pageNum == 1) {
$(".ProcessLogNew").each(function () {
var $tr = $(this).closest('tr');
$tr.hide().fadeIn('normal', function() {
$tr.effect('highlight', 1000);
});
$(this).removeClass('ProcessLogNew');
});
}
},
paginationClick: function() {
// pagination link clicked
clearTimeout(ProcessLogger.timer);
ProcessLogger.startSpinner(true);
$.getJSON($(this).attr('href'), function(data) {
$("#ProcessLogEntries").html(data.out);
ProcessLogger.setupLogEntries();
ProcessLogger.stopSpinner(true);
});
return false;
},
startSpinner: function(tree) {
if(typeof tree == "undefined") tree = true;
if(tree) {
$("#ProcessLogSpinner").addClass('fa-spin fa-spinner').removeClass('fa-tree');
} else {
$("#FieldsetTools").find('i.fa-sun-o').addClass('fa-spin');
}
},
stopSpinner: function(tree) {
if(typeof tree == "undefined") tree = true;
if(tree) {
$("#ProcessLogSpinner").removeClass('fa-spin fa-spinner').addClass('fa-tree');
} else {
$("#FieldsetTools").find('i.fa-sun-o').removeClass('fa-spin');
}
},
filterChange: function() {
clearTimeout(ProcessLogger.timer);
ProcessLogger.timer = setTimeout('ProcessLogger.submitFilters(false)', 500);
},
init: function() {
$("#Inputfield_q").on('keyup', ProcessLogger.filterChange);
$("#Inputfield_date_to, #Inputfield_date_from").on('change', ProcessLogger.filterChange);
$(document).on('click', '.MarkupPagerNav a', ProcessLogger.paginationClick);
ProcessLogger.setupLogEntries();
}
}
$(document).ready(function() {
ProcessLogger.init();
});