Skip to content

Commit

Permalink
[IT-2637] Add hidden input with active status again after setting new…
Browse files Browse the repository at this point in the history
… next execution time
  • Loading branch information
ole.wellnitz@iteratec.de committed Mar 14, 2019
1 parent 69b654c commit 00fe129
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 49 deletions.
2 changes: 1 addition & 1 deletion grails-app/assets/javascripts/job/jobListFilter.js
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ OpenSpeedMonitor.jobListFilter = (function () {
};

var showOnlyFiltersMatchRow = function (row) {
var isMatch = !showOnlyCheckboxes.showOnlyActive.isChecked || !(row.find(".job_active").val() === "false");
var isMatch = !showOnlyCheckboxes.showOnlyActive.isChecked || row.find(".job_active").val() === "true";
isMatch = isMatch && (!showOnlyCheckboxes.showOnlyHighlighted.isChecked || row.hasClass("highlight"));
isMatch = isMatch && (!showOnlyCheckboxes.showOnlyChecked.isChecked || row.find(".jobCheckbox").prop("checked"));
isMatch = isMatch && (!showOnlyCheckboxes.showOnlyRunning.isChecked || row.find(".running").length > 0);
Expand Down
98 changes: 50 additions & 48 deletions grails-app/assets/javascripts/timeago/future-only-timeago.js
Original file line number Diff line number Diff line change
@@ -1,50 +1,52 @@
FutureOnlyTimeago = function() {
var nextExecutionServerUrl = '';
var timeouts = [];

jQuery.timeago.settings.allowFuture = true;

function futureHandler(cronExpression, elem, parentElem) {
delete FutureOnlyTimeago.timeouts[elem];
jQuery.ajax({
type: 'POST',
url: FutureOnlyTimeago.nextExecutionServerUrl,
data: { value: cronExpression, noprepend: true },
success : function(newNextExecutionHtml) {
// replace past date with new template
$(parentElem).html(newNextExecutionHtml);
var newElem = $('abbr.timeago', parentElem);
makeFutureOnlyTimeago(newElem);
}
});
};
FutureOnlyTimeago = function () {
var nextExecutionServerUrl = '';
var timeouts = [];

function makeFutureOnlyTimeago(elem) {
var fromNowInMs = $(elem).attr('data-date-diff-ms');
var cronExpression = $(elem).attr('data-cronstring');
var parentElem = $(elem).parent();

if (cronExpression && fromNowInMs < 1000 * 60 * 60 * 24 * 7) {
var updateTimeout = setTimeout(futureHandler.bind(this, cronExpression, elem, parentElem), fromNowInMs);
FutureOnlyTimeago.timeouts[elem] = updateTimeout;

// cut off second as PrettyCron can only handle Cron expressions where minutes are the smallest unit
//var prettyCronString = prettyCron.toString(cronExpression.substr(cronExpression.indexOf(' ') + 1));
//$(parentElem).append('(<abbr class="cronExpression">' + prettyCronString + '</abbr>)');
}
$(elem).timeago();
}

// ${createLink(action: 'nextExecution')}
function initializeTimeagos(timeagos, nextExecutionServerUrl) {
this.nextExecutionServerUrl = nextExecutionServerUrl;
this.timeouts = [];
$.each(timeagos, function (index, elem) {
makeFutureOnlyTimeago(elem);
});
}

return {
init: initializeTimeagos
}
jQuery.timeago.settings.allowFuture = true;

function futureHandler(cronExpression, elem, parentElem) {
delete FutureOnlyTimeago.timeouts[elem];
jQuery.ajax({
type: 'POST',
url: FutureOnlyTimeago.nextExecutionServerUrl,
data: {value: cronExpression, noprepend: true},
success: function (newNextExecutionHtml) {
// replace past date with new template
var active = $('input.job_active', parentElem);
$(parentElem).html(newNextExecutionHtml);
$(parentElem).append(active);
var newElem = $('abbr.timeago', parentElem);
makeFutureOnlyTimeago(newElem);
}
});
};

function makeFutureOnlyTimeago(elem) {
var fromNowInMs = $(elem).attr('data-date-diff-ms');
var cronExpression = $(elem).attr('data-cronstring');
var parentElem = $(elem).parent();

if (cronExpression && fromNowInMs < 1000 * 60 * 60 * 24 * 7) {
var updateTimeout = setTimeout(futureHandler.bind(this, cronExpression, elem, parentElem), fromNowInMs);
FutureOnlyTimeago.timeouts[elem] = updateTimeout;

// cut off second as PrettyCron can only handle Cron expressions where minutes are the smallest unit
//var prettyCronString = prettyCron.toString(cronExpression.substr(cronExpression.indexOf(' ') + 1));
//$(parentElem).append('(<abbr class="cronExpression">' + prettyCronString + '</abbr>)');
}
$(elem).timeago();
}

// ${createLink(action: 'nextExecution')}
function initializeTimeagos(timeagos, nextExecutionServerUrl) {
this.nextExecutionServerUrl = nextExecutionServerUrl;
this.timeouts = [];
$.each(timeagos, function (index, elem) {
makeFutureOnlyTimeago(elem);
});
}

return {
init: initializeTimeagos
}
}();

0 comments on commit 00fe129

Please sign in to comment.