{"version":3,"sources":["cron-gen.module.js","templates.js"],"names":["_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","_slicedToArray","arr","Array","isArray","_arrayWithHoles","Symbol","iterator","toString","call","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","value","err","_iterableToArrayLimit","_nonIterableRest","_toConsumableArray","arr2","_arrayWithoutHoles","iter","from","_iterableToArray","_nonIterableSpread","CronGenTimeSelect","$scope","cronGenService","_this","this","selectOptions","minutes","range","seconds","hourTypes","$watch","hours","use24HourTime","ACCEPTABLE_CRON_FORMATS","DAY_LOOKUPS","SUN","MON","TUE","WED","THU","FRI","SAT","MONTH_WEEK_LOOKUPS","#1","#2","#3","#4","#5","L","MONTH_LOOKUPS","1","2","3","4","5","6","7","8","9","10","11","12","States","CronGenComponent","parsedOptions","mergeDefaultOptions","options","angular","extend","cronFormat","currentState","activeTab","hideMinutesTab","hideHourlyTab","hideDailyTab","hideWeeklyTab","hideMonthlyTab","hideYearlyTab","hideAdvancedTab","state","hourly","daily","subTab","everyDays","days","hourType","everyWeekDay","weekly","monthly","specificDay","day","months","specificWeekDay","monthWeek","yearly","specificMonthDay","month","specificMonthWeek","advanced","expression","indexOf","concat","cron","handleModelChange","_this2","formCtrl","name","ngModelCtrl","$validators","testCronExpr","isValid","$event","tab","preventDefault","ngDisabled","regenerateCron","monthWeekNumber","monthNumber","monthDay","appendInt","hour","formInputClass","formSelectClass","formRadioClass","formCheckboxClass","hideSeconds","_this3","ngModel","hourToCron","reduce","acc","join","_this4","segments","split","_segments","dayOfMonth","dayOfWeek","match","parseInt","substring","parsedHours","processHour","getHourType","_parsedHours","forEach","weekDay","_parsedHours2","_parsedHours3","substr","_parsedHours4","_parsedHours5","_day","_monthWeek","_parsedHours6","QUARTZ_REGEX","CronGenService","formattedExpression","toUpperCase","number","charAt","start","end","map","val","idx","monthWeeks","fullMinutes","monthDays","monthDaysWithLasts","module","service","component","bindings","isDisabled","onChange","isRequired","model","selectClass","namePrefix","templateUrl","controller","require","ngDisabledCtrl","$attrs","$templateCache","put"],"mappings":"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","file":"cron-gen.min.js","sourcesContent":["(function () {\n 'use strict';\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n }\n\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n }\n\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n }\n\n function _iterableToArrayLimit(arr, i) {\n if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) {\n return;\n }\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n }\n\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n\n var ACCEPTABLE_CRON_FORMATS = ['quartz'];\n var DAY_LOOKUPS = {\n 'SUN': 'Sunday',\n 'MON': 'Monday',\n 'TUE': 'Tuesday',\n 'WED': 'Wednesday',\n 'THU': 'Thursday',\n 'FRI': 'Friday',\n 'SAT': 'Saturday'\n };\n var MONTH_WEEK_LOOKUPS = {\n '#1': 'First',\n '#2': 'Second',\n '#3': 'Third',\n '#4': 'Fourth',\n '#5': 'Fifth',\n 'L': 'Last'\n };\n var MONTH_LOOKUPS = {\n '1': 'January',\n '2': 'February',\n '3': 'March',\n '4': 'April',\n '5': 'May',\n '6': 'June',\n '7': 'July',\n '8': 'August',\n '9': 'September',\n '10': 'October',\n '11': 'November',\n '12': 'December'\n };\n var States = {\n INIT: 1,\n DIRTY: 2,\n CLEAN: 3\n };\n var CronGenComponent =\n /*#__PURE__*/\n function () {\n function CronGenComponent($scope, cronGenService) {\n 'ngInject';\n\n var _this = this;\n\n _classCallCheck(this, CronGenComponent);\n\n this.parsedOptions = this.mergeDefaultOptions(this.options);\n angular.extend(this, {\n cronGenService: cronGenService,\n cronFormat: 'quartz',\n currentState: States.INIT,\n activeTab: function () {\n if (!_this.parsedOptions.hideMinutesTab) {\n return 'minutes';\n } else if (!_this.parsedOptions.hideHourlyTab) {\n return 'hourly';\n } else if (!_this.parsedOptions.hideDailyTab) {\n return 'daily';\n } else if (!_this.parsedOptions.hideWeeklyTab) {\n return 'weekly';\n } else if (!_this.parsedOptions.hideMonthlyTab) {\n return 'monthly';\n } else if (!_this.parsedOptions.hideYearlyTab) {\n return 'yearly';\n } else if (!_this.parsedOptions.hideAdvancedTab) {\n return 'advanced';\n }\n\n throw 'No tabs available to make active';\n }(),\n selectOptions: cronGenService.selectOptions(),\n state: {\n minutes: {\n minutes: 1,\n seconds: 0\n },\n hourly: {\n hours: 1,\n minutes: 0,\n seconds: 0\n },\n daily: {\n subTab: 'everyDays',\n everyDays: {\n days: 1,\n hours: this.parsedOptions.use24HourTime ? 0 : 1,\n minutes: 0,\n seconds: 0,\n hourType: this.parsedOptions.use24HourTime ? null : 'AM'\n },\n everyWeekDay: {\n hours: this.parsedOptions.use24HourTime ? 0 : 1,\n minutes: 0,\n seconds: 0,\n hourType: this.parsedOptions.use24HourTime ? null : 'AM'\n }\n },\n weekly: {\n MON: true,\n TUE: false,\n WED: false,\n THU: false,\n FRI: false,\n SAT: false,\n SUN: false,\n hours: this.parsedOptions.use24HourTime ? 0 : 1,\n minutes: 0,\n seconds: 0,\n hourType: this.parsedOptions.use24HourTime ? null : 'AM'\n },\n monthly: {\n subTab: 'specificDay',\n specificDay: {\n day: '1',\n months: 1,\n hours: this.parsedOptions.use24HourTime ? 0 : 1,\n minutes: 0,\n seconds: 0,\n hourType: this.parsedOptions.use24HourTime ? null : 'AM'\n },\n specificWeekDay: {\n monthWeek: '#1',\n day: 'MON',\n months: 1,\n hours: this.parsedOptions.use24HourTime ? 0 : 1,\n minutes: 0,\n seconds: 0,\n hourType: this.parsedOptions.use24HourTime ? null : 'AM'\n }\n },\n yearly: {\n subTab: 'specificMonthDay',\n specificMonthDay: {\n month: 1,\n day: '1',\n hours: this.parsedOptions.use24HourTime ? 0 : 1,\n minutes: 0,\n seconds: 0,\n hourType: this.parsedOptions.use24HourTime ? null : 'AM'\n },\n specificMonthWeek: {\n monthWeek: '#1',\n day: 'MON',\n month: 1,\n hours: this.parsedOptions.use24HourTime ? 0 : 1,\n minutes: 0,\n seconds: 0,\n hourType: this.parsedOptions.use24HourTime ? null : 'AM'\n }\n },\n advanced: {\n expression: '0 15 10 L-2 * ?'\n }\n }\n }); //Validate our opts\n\n if (ACCEPTABLE_CRON_FORMATS.indexOf(this.cronFormat) == -1) {\n throw \"Desired cron format (\".concat(this.cronFormat, \") is not available\");\n } //On model changes, update our state to reflect the user's input\n\n\n $scope.$watch('$ctrl.ngModel', function (cron) {\n return _this.handleModelChange(cron);\n }); // Watch for option changes\n\n $scope.$watch('$ctrl.options', function (options) {\n return _this.parsedOptions = _this.mergeDefaultOptions(options);\n }, true);\n }\n\n _createClass(CronGenComponent, [{\n key: \"$onInit\",\n value: function $onInit() {\n var _this2 = this;\n\n //If possible, add our cron expression validator to our form\n if (this.formCtrl && this.name) {\n this.ngModelCtrl.$validators.testCronExpr = function (expression) {\n return _this2.cronGenService.isValid(_this2.cronFormat, expression);\n };\n }\n }\n }, {\n key: \"setActiveTab\",\n value: function setActiveTab($event, tab) {\n $event.preventDefault();\n\n if (!this.ngDisabled) {\n this.activeTab = tab;\n this.regenerateCron();\n }\n }\n }, {\n key: \"dayDisplay\",\n value: function dayDisplay(day) {\n return DAY_LOOKUPS[day];\n }\n }, {\n key: \"monthWeekDisplay\",\n value: function monthWeekDisplay(monthWeekNumber) {\n return MONTH_WEEK_LOOKUPS[monthWeekNumber];\n }\n }, {\n key: \"monthDisplay\",\n value: function monthDisplay(monthNumber) {\n return MONTH_LOOKUPS[monthNumber];\n }\n }, {\n key: \"monthDayDisplay\",\n value: function monthDayDisplay(monthDay) {\n if (monthDay === 'L') {\n return 'Last Day';\n } else if (monthDay === 'LW') {\n return 'Last Weekday';\n } else if (monthDay === '1W') {\n return 'First Weekday';\n } else {\n return \"\".concat(monthDay).concat(this.cronGenService.appendInt(monthDay), \" Day\");\n }\n }\n }, {\n key: \"processHour\",\n value: function processHour(hours) {\n if (this.parsedOptions.use24HourTime) {\n return hours;\n } else {\n return (hours + 11) % 12 + 1;\n }\n }\n }, {\n key: \"getHourType\",\n value: function getHourType(hours) {\n return this.parsedOptions.use24HourTime ? null : hours >= 12 ? 'PM' : 'AM';\n }\n }, {\n key: \"hourToCron\",\n value: function hourToCron(hour, hourType) {\n if (this.parsedOptions.use24HourTime) {\n return hour;\n } else {\n return hourType === 'AM' ? hour === 12 ? 0 : hour : hour === 12 ? 12 : hour + 12;\n }\n }\n }, {\n key: \"mergeDefaultOptions\",\n value: function mergeDefaultOptions(options) {\n return angular.extend({\n formInputClass: 'form-control cron-gen-input',\n formSelectClass: 'form-control cron-gen-select',\n formRadioClass: 'cron-gen-radio',\n formCheckboxClass: 'cron-gen-checkbox',\n hideMinutesTab: false,\n hideHourlyTab: false,\n hideDailyTab: false,\n hideWeeklyTab: false,\n hideMonthlyTab: false,\n hideYearlyTab: false,\n hideAdvancedTab: true,\n use24HourTime: false,\n hideSeconds: false\n }, options);\n }\n }, {\n key: \"regenerateCron\",\n value: function regenerateCron() {\n var _this3 = this;\n\n this.currentState = States.DIRTY;\n\n switch (this.activeTab) {\n case 'minutes':\n this.ngModel = \"\".concat(this.state.minutes.seconds, \" 0/\").concat(this.state.minutes.minutes, \" * 1/1 * ? *\");\n break;\n\n case 'hourly':\n this.ngModel = \"\".concat(this.state.hourly.seconds, \" \").concat(this.state.hourly.minutes, \" 0/\").concat(this.state.hourly.hours, \" 1/1 * ? *\");\n break;\n\n case 'daily':\n switch (this.state.daily.subTab) {\n case 'everyDays':\n this.ngModel = \"\".concat(this.state.daily.everyDays.seconds, \" \").concat(this.state.daily.everyDays.minutes, \" \").concat(this.hourToCron(this.state.daily.everyDays.hours, this.state.daily.everyDays.hourType), \" 1/\").concat(this.state.daily.everyDays.days, \" * ? *\");\n break;\n\n case 'everyWeekDay':\n this.ngModel = \"\".concat(this.state.daily.everyWeekDay.seconds, \" \").concat(this.state.daily.everyWeekDay.minutes, \" \").concat(this.hourToCron(this.state.daily.everyWeekDay.hours, this.state.daily.everyWeekDay.hourType), \" ? * MON-FRI *\");\n break;\n\n default:\n throw 'Invalid cron daily subtab selection';\n }\n\n break;\n\n case 'weekly':\n var days = this.selectOptions.days.reduce(function (acc, day) {\n return _this3.state.weekly[day] ? acc.concat([day]) : acc;\n }, []).join(',');\n this.ngModel = \"\".concat(this.state.weekly.seconds, \" \").concat(this.state.weekly.minutes, \" \").concat(this.hourToCron(this.state.weekly.hours, this.state.weekly.hourType), \" ? * \").concat(days, \" *\");\n break;\n\n case 'monthly':\n switch (this.state.monthly.subTab) {\n case 'specificDay':\n this.ngModel = \"\".concat(this.state.monthly.specificDay.seconds, \" \").concat(this.state.monthly.specificDay.minutes, \" \").concat(this.hourToCron(this.state.monthly.specificDay.hours, this.state.monthly.specificDay.hourType), \" \").concat(this.state.monthly.specificDay.day, \" 1/\").concat(this.state.monthly.specificDay.months, \" ? *\");\n break;\n\n case 'specificWeekDay':\n this.ngModel = \"\".concat(this.state.monthly.specificWeekDay.seconds, \" \").concat(this.state.monthly.specificWeekDay.minutes, \" \").concat(this.hourToCron(this.state.monthly.specificWeekDay.hours, this.state.monthly.specificWeekDay.hourType), \" ? 1/\").concat(this.state.monthly.specificWeekDay.months, \" \").concat(this.state.monthly.specificWeekDay.day).concat(this.state.monthly.specificWeekDay.monthWeek, \" *\");\n break;\n\n default:\n throw 'Invalid cron monthly subtab selection';\n }\n\n break;\n\n case 'yearly':\n switch (this.state.yearly.subTab) {\n case 'specificMonthDay':\n this.ngModel = \"\".concat(this.state.yearly.specificMonthDay.seconds, \" \").concat(this.state.yearly.specificMonthDay.minutes, \" \").concat(this.hourToCron(this.state.yearly.specificMonthDay.hours, this.state.yearly.specificMonthDay.hourType), \" \").concat(this.state.yearly.specificMonthDay.day, \" \").concat(this.state.yearly.specificMonthDay.month, \" ? *\");\n break;\n\n case 'specificMonthWeek':\n this.ngModel = \"\".concat(this.state.yearly.specificMonthWeek.seconds, \" \").concat(this.state.yearly.specificMonthWeek.minutes, \" \").concat(this.hourToCron(this.state.yearly.specificMonthWeek.hours, this.state.yearly.specificMonthWeek.hourType), \" ? \").concat(this.state.yearly.specificMonthWeek.month, \" \").concat(this.state.yearly.specificMonthWeek.day).concat(this.state.yearly.specificMonthWeek.monthWeek, \" *\");\n break;\n\n default:\n throw 'Invalid cron yearly subtab selection';\n }\n\n break;\n\n case 'advanced':\n this.ngModel = this.state.advanced.expression;\n break;\n\n default:\n throw 'Invalid cron active tab selection';\n }\n }\n }, {\n key: \"handleModelChange\",\n value: function handleModelChange(cron) {\n var _this4 = this;\n\n if (this.currentState === States.DIRTY) {\n this.currentState = States.CLEAN;\n return;\n } else {\n this.currentState = States.CLEAN;\n }\n\n if (!cron) {\n return;\n }\n\n var segments = cron.split(' ');\n\n if (segments.length === 6 || segments.length === 7) {\n var _segments = _slicedToArray(segments, 6),\n seconds = _segments[0],\n minutes = _segments[1],\n hours = _segments[2],\n dayOfMonth = _segments[3],\n month = _segments[4],\n dayOfWeek = _segments[5];\n\n if (cron.match(/\\d+ 0\\/\\d+ \\* 1\\/1 \\* \\? \\*/)) {\n this.activeTab = 'minutes';\n this.state.minutes.minutes = parseInt(minutes.substring(2));\n this.state.minutes.seconds = parseInt(seconds);\n } else if (cron.match(/\\d+ \\d+ 0\\/\\d+ 1\\/1 \\* \\? \\*/)) {\n this.activeTab = 'hourly';\n this.state.hourly.hours = parseInt(hours.substring(2));\n this.state.hourly.minutes = parseInt(minutes);\n this.state.hourly.seconds = parseInt(seconds);\n } else if (cron.match(/\\d+ \\d+ \\d+ 1\\/\\d+ \\* \\? \\*/)) {\n this.activeTab = 'daily';\n this.state.daily.subTab = 'everyDays';\n this.state.daily.everyDays.days = parseInt(dayOfMonth.substring(2));\n var parsedHours = parseInt(hours);\n this.state.daily.everyDays.hours = this.processHour(parsedHours);\n this.state.daily.everyDays.hourType = this.getHourType(parsedHours);\n this.state.daily.everyDays.minutes = parseInt(minutes);\n this.state.daily.everyDays.seconds = parseInt(seconds);\n } else if (cron.match(/\\d+ \\d+ \\d+ \\? \\* MON-FRI \\*/)) {\n this.activeTab = 'daily';\n this.state.daily.subTab = 'everyWeekDay';\n\n var _parsedHours = parseInt(hours);\n\n this.state.daily.everyWeekDay.hours = this.processHour(_parsedHours);\n this.state.daily.everyWeekDay.hourType = this.getHourType(_parsedHours);\n this.state.daily.everyWeekDay.minutes = parseInt(minutes);\n this.state.daily.everyWeekDay.seconds = parseInt(seconds);\n } else if (cron.match(/\\d+ \\d+ \\d+ \\? \\* (MON|TUE|WED|THU|FRI|SAT|SUN)(,(MON|TUE|WED|THU|FRI|SAT|SUN))* \\*/)) {\n this.activeTab = 'weekly';\n this.selectOptions.days.forEach(function (weekDay) {\n return _this4.state.weekly[weekDay] = false;\n });\n dayOfWeek.split(',').forEach(function (weekDay) {\n return _this4.state.weekly[weekDay] = true;\n });\n\n var _parsedHours2 = parseInt(hours);\n\n this.state.weekly.hours = this.processHour(_parsedHours2);\n this.state.weekly.hourType = this.getHourType(_parsedHours2);\n this.state.weekly.minutes = parseInt(minutes);\n this.state.weekly.seconds = parseInt(seconds);\n } else if (cron.match(/\\d+ \\d+ \\d+ (\\d+|L|LW|1W) 1\\/\\d+ \\? \\*/)) {\n this.activeTab = 'monthly';\n this.state.monthly.subTab = 'specificDay';\n this.state.monthly.specificDay.day = dayOfMonth;\n this.state.monthly.specificDay.months = parseInt(month.substring(2));\n\n var _parsedHours3 = parseInt(hours);\n\n this.state.monthly.specificDay.hours = this.processHour(_parsedHours3);\n this.state.monthly.specificDay.hourType = this.getHourType(_parsedHours3);\n this.state.monthly.specificDay.minutes = parseInt(minutes);\n this.state.monthly.specificDay.seconds = parseInt(seconds);\n } else if (cron.match(/\\d+ \\d+ \\d+ \\? 1\\/\\d+ (MON|TUE|WED|THU|FRI|SAT|SUN)((#[1-5])|L) \\*/)) {\n var day = dayOfWeek.substr(0, 3);\n var monthWeek = dayOfWeek.substr(3);\n this.activeTab = 'monthly';\n this.state.monthly.subTab = 'specificWeekDay';\n this.state.monthly.specificWeekDay.monthWeek = monthWeek;\n this.state.monthly.specificWeekDay.day = day;\n this.state.monthly.specificWeekDay.months = parseInt(month.substring(2));\n\n var _parsedHours4 = parseInt(hours);\n\n this.state.monthly.specificWeekDay.hours = this.processHour(_parsedHours4);\n this.state.monthly.specificWeekDay.hourType = this.getHourType(_parsedHours4);\n this.state.monthly.specificWeekDay.minutes = parseInt(minutes);\n this.state.monthly.specificWeekDay.seconds = parseInt(seconds);\n } else if (cron.match(/\\d+ \\d+ \\d+ (\\d+|L|LW|1W) \\d+ \\? \\*/)) {\n this.activeTab = 'yearly';\n this.state.yearly.subTab = 'specificMonthDay';\n this.state.yearly.specificMonthDay.month = parseInt(month);\n this.state.yearly.specificMonthDay.day = dayOfMonth;\n\n var _parsedHours5 = parseInt(hours);\n\n this.state.yearly.specificMonthDay.hours = this.processHour(_parsedHours5);\n this.state.yearly.specificMonthDay.hourType = this.getHourType(_parsedHours5);\n this.state.yearly.specificMonthDay.minutes = parseInt(minutes);\n this.state.yearly.specificMonthDay.seconds = parseInt(seconds);\n } else if (cron.match(/\\d+ \\d+ \\d+ \\? \\d+ (MON|TUE|WED|THU|FRI|SAT|SUN)((#[1-5])|L) \\*/)) {\n var _day = dayOfWeek.substr(0, 3);\n\n var _monthWeek = dayOfWeek.substr(3);\n\n this.activeTab = 'yearly';\n this.state.yearly.subTab = 'specificMonthWeek';\n this.state.yearly.specificMonthWeek.monthWeek = _monthWeek;\n this.state.yearly.specificMonthWeek.day = _day;\n this.state.yearly.specificMonthWeek.month = parseInt(month);\n\n var _parsedHours6 = parseInt(hours);\n\n this.state.yearly.specificMonthWeek.hours = this.processHour(_parsedHours6);\n this.state.yearly.specificMonthWeek.hourType = this.getHourType(_parsedHours6);\n this.state.yearly.specificMonthWeek.minutes = parseInt(minutes);\n this.state.yearly.specificMonthWeek.seconds = parseInt(seconds);\n } else {\n this.activeTab = 'advanced';\n this.state.advanced.expression = cron;\n }\n } else {\n throw 'Unsupported cron expression. Expression must be 6 or 7 segments';\n }\n }\n }]);\n\n return CronGenComponent;\n }();\n\n var QUARTZ_REGEX = /^\\s*($|#|\\w+\\s*=|(\\?|\\*|(?:[0-5]?\\d)(?:(?:-|\\/|\\,)(?:[0-5]?\\d))?(?:,(?:[0-5]?\\d)(?:(?:-|\\/|\\,)(?:[0-5]?\\d))?)*)\\s+(\\?|\\*|(?:[0-5]?\\d)(?:(?:-|\\/|\\,)(?:[0-5]?\\d))?(?:,(?:[0-5]?\\d)(?:(?:-|\\/|\\,)(?:[0-5]?\\d))?)*)\\s+(\\?|\\*|(?:[01]?\\d|2[0-3])(?:(?:-|\\/|\\,)(?:[01]?\\d|2[0-3]))?(?:,(?:[01]?\\d|2[0-3])(?:(?:-|\\/|\\,)(?:[01]?\\d|2[0-3]))?)*)\\s+(\\?|\\*|(?:0?[1-9]|[12]\\d|3[01])(?:(?:-|\\/|\\,)(?:0?[1-9]|[12]\\d|3[01]))?(?:,(?:0?[1-9]|[12]\\d|3[01])(?:(?:-|\\/|\\,)(?:0?[1-9]|[12]\\d|3[01]))?)*)\\s+(\\?|\\*|(?:[1-9]|1[012])(?:(?:-|\\/|\\,)(?:[1-9]|1[012]))?(?:L|W)?(?:,(?:[1-9]|1[012])(?:(?:-|\\/|\\,)(?:[1-9]|1[012]))?(?:L|W)?)*|\\?|\\*|(?:JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)(?:(?:-)(?:JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC))?(?:,(?:JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)(?:(?:-)(?:JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC))?)*)\\s+(\\?|\\*|(?:[1-7]|MON|TUE|WED|THU|FRI|SAT|SUN)(?:(?:-|\\/|\\,|#)(?:[1-5]))?(?:L)?(?:,(?:[1-7]|MON|TUE|WED|THU|FRI|SAT|SUN)(?:(?:-|\\/|\\,|#)(?:[1-5]))?(?:L)?)*|\\?|\\*|(?:MON|TUE|WED|THU|FRI|SAT|SUN)(?:(?:-)(?:MON|TUE|WED|THU|FRI|SAT|SUN))?(?:,(?:MON|TUE|WED|THU|FRI|SAT|SUN)(?:(?:-)(?:MON|TUE|WED|THU|FRI|SAT|SUN))?)*)(|\\s)+(\\?|\\*|(?:|\\d{4})(?:(?:-|\\/|\\,)(?:|\\d{4}))?(?:,(?:|\\d{4})(?:(?:-|\\/|\\,)(?:|\\d{4}))?)*))$/;\n var CronGenService =\n /*#__PURE__*/\n function () {\n function CronGenService() {\n _classCallCheck(this, CronGenService);\n }\n\n _createClass(CronGenService, [{\n key: \"isValid\",\n value: function isValid(cronFormat, expression) {\n if (!expression) {\n return false;\n }\n\n var formattedExpression = expression.toUpperCase();\n\n switch (cronFormat) {\n case 'quartz':\n return !!formattedExpression.match(QUARTZ_REGEX);\n\n default:\n throw \"Desired cron format (\".concat(cronFormat, \") is not available\");\n }\n }\n }, {\n key: \"appendInt\",\n value: function appendInt(number) {\n var value = \"\".concat(number);\n\n if (value.length > 1) {\n var secondToLastDigit = value.charAt(value.length - 2);\n\n if (secondToLastDigit === '1') {\n return \"th\";\n }\n }\n\n var lastDigit = value.charAt(value.length - 1);\n\n switch (lastDigit) {\n case '1':\n return \"st\";\n\n case '2':\n return \"nd\";\n\n case '3':\n return \"rd\";\n\n default:\n return \"th\";\n }\n }\n }, {\n key: \"padNumber\",\n value: function padNumber(number) {\n return \"\".concat(number).length === 1 ? \"0\".concat(number) : \"\".concat(number);\n }\n }, {\n key: \"range\",\n value: function range(start, end) {\n if (typeof end === 'undefined') {\n end = start;\n start = 0;\n }\n\n if (start < 0 || end < 0) throw 'Range values must be positive values';\n\n if (end > start) {\n return _toConsumableArray(new Array(end - start)).map(function (val, idx) {\n return idx + start;\n });\n } else if (start < end) {\n return _toConsumableArray(new Array(start - end)).map(function (val, idx) {\n return end - idx;\n });\n } else {\n return [];\n }\n }\n }, {\n key: \"selectOptions\",\n value: function selectOptions() {\n return {\n months: this.range(1, 13),\n monthWeeks: ['#1', '#2', '#3', '#4', '#5', 'L'],\n days: ['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'],\n minutes: this.range(1, 60),\n fullMinutes: this.range(60),\n seconds: this.range(60),\n hours: this.range(1, 24),\n monthDays: this.range(1, 32),\n monthDaysWithLasts: ['1W'].concat(_toConsumableArray(_toConsumableArray(new Array(31)).map(function (val, idx) {\n return \"\".concat(idx + 1);\n })), ['LW', 'L'])\n };\n }\n }]);\n\n return CronGenService;\n }();\n\n var CronGenTimeSelect = function CronGenTimeSelect($scope, cronGenService) {\n 'ngInject';\n\n var _this = this;\n\n _classCallCheck(this, CronGenTimeSelect);\n\n this.cronGenService = cronGenService;\n this.selectOptions = {\n minutes: cronGenService.range(60),\n seconds: cronGenService.range(60),\n hourTypes: ['AM', 'PM']\n };\n $scope.$watch('$ctrl.use24HourTime', function () {\n _this.selectOptions.hours = _this.use24HourTime ? _this.cronGenService.range(24) : _this.cronGenService.range(1, 13);\n });\n };\n\n angular.module('angular-cron-gen', []).service('cronGenService', CronGenService).component('cronGenTimeSelect', {\n bindings: {\n isDisabled: '<',\n onChange: '&',\n isRequired: '<',\n model: '=',\n selectClass: '<',\n use24HourTime: '<',\n hideSeconds: '<',\n namePrefix: '@'\n },\n templateUrl: 'angular-cron-gen/cron-gen-time-select.html',\n controller: CronGenTimeSelect\n }).component('cronGen', {\n bindings: {\n ngModel: '=',\n ngDisabled: '<',\n options: '<',\n cronFormat: '@',\n templateUrl: '@',\n name: '@'\n },\n require: {\n ngModelCtrl: 'ngModel',\n ngDisabledCtrl: '?ngDisabled',\n formCtrl: '^?form'\n },\n templateUrl: function templateUrl($attrs) {\n 'ngInject';\n\n return $attrs.templateUrl || 'angular-cron-gen/cron-gen.html';\n },\n controller: CronGenComponent\n });\n\n}());\n","angular.module('angular-cron-gen').run(['$templateCache', function($templateCache) {$templateCache.put('angular-cron-gen/cron-gen-time-select.html','
More details about how to create these expressions can be found here.
\\n