diff --git a/azkaban-web-server/src/web/js/azkaban/util/date.js b/azkaban-web-server/src/web/js/azkaban/util/date.js
index 68f1cc4..abe9fad 100644
--- a/azkaban-web-server/src/web/js/azkaban/util/date.js
+++ b/azkaban-web-server/src/web/js/azkaban/util/date.js
@@ -93,3 +93,25 @@ var getTwoDigitStr = function(value) {
return value;
}
+
+function modifyStrToUnixCronSyntax(str){
+ return str.replace(/[0-7]/g, function upperToHyphenLower(match) {
+ return (parseInt(match)+6)%7;
+ });
+}
+
+// Unix Cron use 0-6 as Sun--Sat, but Quartz use 1-7. Due to later.js only supporting Unix Cron, we have to make this transition.
+// The detailed Unix Cron Syntax: https://en.wikipedia.org/wiki/Cron
+// The input is a 5 field string (without year) or 6 field String (with year).
+function transformFromQuartzToUnixCron(str){
+ var res = str.split(" ");
+
+ // If the cron doesn't include year field
+ if(res.length == 5)
+ res[res.length -1] = modifyStrToUnixCronSyntax(res[res.length - 1]);
+ // If the cron Str does include year field
+ else if(res.length == 6)
+ res[res.length - 2] = modifyStrToUnixCronSyntax(res[res.length - 2]);
+
+ return res.join(" ");
+}
diff --git a/azkaban-web-server/src/web/js/azkaban/view/schedule-panel.js b/azkaban-web-server/src/web/js/azkaban/view/schedule-panel.js
index acbc1fb..603374f 100644
--- a/azkaban-web-server/src/web/js/azkaban/view/schedule-panel.js
+++ b/azkaban-web-server/src/web/js/azkaban/view/schedule-panel.js
@@ -186,28 +186,6 @@ var cron_output_id = "#cron-output";
var cron_translate_id = "#cronTranslate";
var cron_translate_warning_id = "#translationWarning";
-// Uni Cron use 0-6 as Sun--Sat, but Quartz use 1-7. Due to later.js only supporting Unix Cron, we have to make this transition.
-// The detailed Unix Cron Syntax: https://en.wikipedia.org/wiki/Cron
-// The input is a 5 field string (without year) or 6 field String (with year).
-function transformFromQuartzToUnixCron(str){
- var res = str.split(" ");
-
- // If the cron doesn't include year field
- if(res.length == 5)
- res[res.length -1] = modifyStrToUnixCronSyntax(res[res.length - 1]);
- // If the cron Str does include year field
- else if(res.length == 6)
- res[res.length - 2] = modifyStrToUnixCronSyntax(res[res.length - 2]);
-
- return res.join(" ");
-}
-
-function modifyStrToUnixCronSyntax(str){
- return str.replace(/[0-7]/g, function upperToHyphenLower(match) {
- return (parseInt(match)+6)%7;
- });
-}
-
function updateOutput() {
$(cron_output_id).val( $(cron_minutes_id).val() + " " + $(cron_hours_id).val() + " " +
$(cron_dom_id).val() + " " + $(cron_months_id).val() + " " + $(cron_dow_id).val()
@@ -217,6 +195,8 @@ function updateOutput() {
function updateExpression() {
$('#nextRecurId').html("");
+
+ // transformFromQuartzToUnixCron is defined in util/date.js
var unixCronStr = transformFromQuartzToUnixCron($(cron_output_id).val());
console.log("Parsed Unix cron = " + unixCronStr);
var laterCron = later.parse.cron(unixCronStr);