@iobroker/adapter-react-v5 4.6.12 → 4.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Components/FileViewer.js +1 -1
- package/Components/FileViewer.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigColor.d.ts +2 -1
- package/Components/JsonConfigComponent/ConfigFile.js +1 -1
- package/Components/JsonConfigComponent/ConfigFile.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFileSelector.js +4 -4
- package/Components/JsonConfigComponent/ConfigFileSelector.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigGeneric.d.ts +68 -67
- package/Components/JsonConfigComponent/ConfigGeneric.js +600 -665
- package/Components/JsonConfigComponent/ConfigInterface.d.ts +14 -0
- package/Components/JsonConfigComponent/ConfigInterface.js +146 -0
- package/Components/JsonConfigComponent/ConfigInterface.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigJsonEditor.d.ts +0 -1
- package/Components/JsonConfigComponent/ConfigJsonEditor.js +6 -11
- package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigLicense.d.ts +2 -1
- package/Components/JsonConfigComponent/ConfigNumber.d.ts +16 -2
- package/Components/JsonConfigComponent/ConfigNumber.js +105 -201
- package/Components/JsonConfigComponent/ConfigPattern.d.ts +2 -1
- package/Components/JsonConfigComponent/ConfigPort.d.ts +1 -1
- package/Components/JsonConfigComponent/ConfigPort.js +159 -210
- package/Components/JsonConfigComponent/ConfigUUID.d.ts +2 -1
- package/Components/JsonConfigComponent/wrapper/AdminConnection.d.ts +2 -0
- package/Components/JsonConfigComponent/wrapper/AdminConnection.js +7 -0
- package/Components/MDUtils.js +3 -3
- package/Components/MDUtils.js.map +1 -1
- package/Components/SimpleCron/cron2text.js +31 -36
- package/Components/SimpleCron/cron2text.js.map +1 -1
- package/Components/SimpleCron/index.js +10 -10
- package/Components/SimpleCron/index.js.map +1 -1
- package/LegacyConnection.js.map +1 -1
- package/README.md +1 -1
- package/package.json +1 -1
- package/Components/JsonConfigComponent/ConfigGeneric.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigNumber.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigPort.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cron2text.js","names":["cronToText","cronspec","withSeconds","locale","NAMES","JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC","SUN","MON","TUE","WED","THU","FRI","SAT","REPLACEMENTS","FIELDS","s","m","h","D","M","Y","d","getValue","value","offset","arguments","length","undefined","max","Number","isNaN","Math","min","cloneSchedule","sched","clone","field","slice","add","name","inc","i","indexOf","push","sort","a","b","addHash","schedules","curSched","hash","dc","addWeekday","except1","except2","exceptions","addRange","item","incSplit","split","range","rangeSplit","parse","toString","replace","isHash","itemSorter","parseExpr","expr","schedule","components","f","component","items","prepareExpr","prepared","toUpperCase","parseCron","hasSeconds","e","concat","absFloor","number","ceil","floor","toInt","argumentForCoercion","coercedNumber","isFinite","ordinal","output","ORDINALS","th","st","nd","rd","numberList","numbers","lastVal","pop","join","and","numberToDateName","type","DOW","MONTH","dateList","outputText","zeroPad","x","scheduleToSentence","_schedule","_withSeconds","Every","hm","j","k","At","hour","second","minute","on","_default","exports"],"sources":["SimpleCron/cron2text.js"],"sourcesContent":["/**\n * Given a cronspec, return the human-readable string.\n * @param {string} cronspec\n * @param withSeconds\n * @param {Object=} locale\n */\nfunction cronToText(cronspec, withSeconds, locale) {\n // Constant array to convert valid names to values\n const NAMES = {\n JAN: 1,\n FEB: 2,\n MAR: 3,\n APR: 4,\n MAY: 5,\n JUN: 6,\n JUL: 7,\n AUG: 8,\n SEP: 9,\n OCT: 10,\n NOV: 11,\n DEC: 12,\n SUN: 1,\n MON: 2,\n TUE: 3,\n WED: 4,\n THU: 5,\n FRI: 6,\n SAT: 7,\n };\n\n // Parsable replacements for common expressions\n const REPLACEMENTS = {\n '* * * * * *': '0/1 * * * * *',\n '@YEARLY': '0 0 1 1 *',\n '@ANNUALLY': '0 0 1 1 *',\n '@MONTHLY': '0 0 1 * *',\n '@WEEKLY': '0 0 * * 0',\n '@DAILY': '0 0 * * *',\n '@HOURLY': '0 * * * *',\n };\n\n // Contains the index, min, and max for each of the constraints\n const FIELDS = {\n s: [0, 0, 59], // seconds\n m: [1, 0, 59], // minutes\n h: [2, 0, 23], // hours\n D: [3, 1, 31], // day of month\n M: [4, 1, 12], // month\n Y: [6, 1970, 2099], // year\n d: [5, 1, 7, 1], // day of week\n };\n\n /**\n * Returns the value + offset if value is a number, otherwise it\n * attempts to look up the value in the NAMES table and returns\n * that result instead.\n *\n * @param {Number,String} value: The value that should be parsed\n * @param {Number=} offset: Any offset that must be added to the value\n * @param {Number=} max\n * @returns {Number|null}\n */\n function getValue(value) {\n const offset = arguments.length <= 1 || arguments[1] === undefined ? 0 : arguments[1];\n const max = arguments.length <= 2 || arguments[2] === undefined ? 9999 : arguments[2];\n\n return Number.isNaN(value) ? NAMES[value] || null : Math.min(+value + offset, max);\n }\n\n /**\n * Returns a deep clone of a schedule skipping any day of week\n * constraints.\n *\n * @param {Object} sched: The schedule that will be cloned\n * @returns {Object}\n */\n function cloneSchedule(sched) {\n const clone = {};\n let field;\n\n for (field in sched) {\n if (field !== 'dc' && field !== 'd') {\n clone[field] = sched[field].slice(0);\n }\n }\n\n return clone;\n }\n\n /**\n * Adds values to the specified constraint in the current schedule.\n *\n * @param {Object} sched: The schedule to add the constraint to\n * @param {String} name: Name of constraint to add\n * @param {Number} min: Minimum value for this constraint\n * @param {Number} max: Maximum value for this constraint\n */\n function add(sched, name, min, max) {\n const inc = arguments.length <= 4 || arguments[4] === undefined ? 0 : arguments[4];\n\n let i = min;\n\n if (!sched[name]) {\n sched[name] = [];\n }\n\n while (i <= max) {\n if (sched[name].indexOf(i) < 0) {\n sched[name].push(i);\n }\n i += inc || 1;\n }\n\n sched[name].sort((a, b) => a - b);\n }\n\n /**\n * Adds a hash item (of the form x#y or xL) to the schedule.\n *\n * @param {Object} schedules: The current schedule array to add to\n * @param {Object} curSched: The current schedule to add to\n * @param {Number} value: The value to add (x of x#y or xL)\n * @param {Number} hash: The hash value to add (y of x#y)\n */\n function addHash(schedules, curSched, value, hash) {\n // if there are any existing day of week constraints that\n // aren't equal to the one we're adding, create a new\n // composite schedule\n if ((curSched.d && !curSched.dc) || (curSched.dc && curSched.dc.indexOf(hash) < 0)) {\n schedules.push(cloneSchedule(curSched));\n curSched = schedules[schedules.length - 1];\n }\n\n add(curSched, 'd', value, value);\n add(curSched, 'dc', hash, hash);\n }\n\n /**\n *\n * @param {Object} s: The existing set of schedules\n * @param {Object} curSched: The current schedule to add to\n * @param {Number} value\n */\n function addWeekday(s, curSched, value) {\n const except1 = {};\n const except2 = {};\n if (value === 1) {\n // cron doesn't pass month boundaries, so if 1st is a\n // weekend then we need to use 2nd or 3rd instead\n add(curSched, 'D', 1, 3);\n add(curSched, 'd', NAMES.MON, NAMES.FRI);\n add(except1, 'D', 2, 2);\n add(except1, 'd', NAMES.TUE, NAMES.FRI);\n add(except2, 'D', 3, 3);\n add(except2, 'd', NAMES.TUE, NAMES.FRI);\n } else {\n // normally you want the closest day, so if v is a\n // Saturday, use the previous Friday. If it's a\n // sunday, use the following Monday.\n add(curSched, 'D', value - 1, value + 1);\n add(curSched, 'd', NAMES.MON, NAMES.FRI);\n add(except1, 'D', value - 1, value - 1);\n add(except1, 'd', NAMES.MON, NAMES.THU);\n add(except2, 'D', value + 1, value + 1);\n add(except2, 'd', NAMES.TUE, NAMES.FRI);\n }\n s.exceptions.push(except1);\n s.exceptions.push(except2);\n }\n\n /**\n * Adds a range item (of the form x-y/z) to the schedule.\n *\n * @param {String} item: The cron expression item to add\n * @param {Object} curSched: The current schedule to add to\n * @param {String} name: The name to use for this constraint\n * @param {Number} min: The min value for the constraint\n * @param {Number} max: The max value for the constraint\n * @param {Number} offset: The offset to apply to the cron value\n */\n function addRange(item, curSched, name, min, max, offset) {\n // parse range/x\n const incSplit = item.split('/');\n const inc = +incSplit[1];\n const range = incSplit[0];\n\n // parse x-y or * or 0\n if (range !== '*' && range !== '0') {\n const rangeSplit = range.split('-');\n min = getValue(rangeSplit[0], offset, max);\n\n // fix for issue #13, range may be a single digit\n max = getValue(rangeSplit[1], offset, max) || max;\n }\n\n add(curSched, name, min, max, inc);\n }\n\n /**\n * Parses a particular item within a cron expression.\n *\n * @param {String} item: The cron expression item to parse\n * @param {Object} s: The existing set of schedules\n * @param {String} name: The name to use for this constraint\n * @param {Number} min: The min value for the constraint\n * @param {Number} max: The max value for the constraint\n * @param {Number} offset: The offset to apply to the cron value\n */\n function parse(item, s, name, min, max, offset) {\n let value;\n let split;\n const schedules = s.schedules;\n const curSched = schedules[schedules.length - 1];\n\n // L just means min - 1 (this also makes it work for any field)\n if (item === 'L') {\n item = (min - 1).toString(10);\n }\n\n // parse x\n if ((value = getValue(item, offset, max)) !== null) {\n add(curSched, name, value, value);\n } else if ((value = getValue(item.replace('W', ''), offset, max)) !== null) {\n // parse xW\n addWeekday(s, curSched, value);\n } else if ((value = getValue(item.replace('L', ''), offset, max)) !== null) {\n // parse xL\n addHash(schedules, curSched, value, min - 1);\n } else if ((split = item.split('#')).length === 2) {\n // parse x#y\n value = getValue(split[0], offset, max);\n addHash(schedules, curSched, value, getValue(split[1]));\n } else {\n // parse x-y or x-y/z or */z or 0/z\n addRange(item, curSched, name, min, max, offset);\n }\n }\n\n /**\n * Returns true if the item is either of the form x#y or xL.\n *\n * @param {String} item: The expression item to check\n */\n function isHash(item) {\n return item.indexOf('#') > -1 || item.indexOf('L') > 0;\n }\n\n function itemSorter(a, b) {\n return isHash(a) && !isHash(b) ? 1 : a - b;\n }\n\n /**\n * Parses each of the fields in a cron expression. The expression must\n * include the seconds field, the year field is optional.\n *\n * @param {String} expr: The cron expression to parse\n */\n function parseExpr(expr) {\n const schedule = { schedules: [{}], exceptions: [] };\n const components = expr.replace(/(\\s)+/g, ' ').split(' ');\n let field;\n let f;\n let component;\n let items;\n\n for (field in FIELDS) {\n f = FIELDS[field];\n component = components[f[0]];\n if (component && component !== '*' && component !== '?') {\n // need to sort so that any #'s come last, otherwise\n // schedule clones to handle # won't contain all of the\n // other constraints\n items = component.split(',').sort(itemSorter);\n let i;\n const length = items.length;\n for (i = 0; i < length; i++) {\n parse(items[i], schedule, field, f[1], f[2], f[3]);\n }\n }\n }\n\n return schedule;\n }\n\n /**\n * Make cron expression parsable.\n *\n * @param {String} expr: The cron expression to prepare\n */\n function prepareExpr(expr) {\n const prepared = expr.toUpperCase();\n return REPLACEMENTS[prepared] || prepared;\n }\n\n function parseCron(expr, hasSeconds) {\n const e = prepareExpr(expr);\n return parseExpr(hasSeconds ? e : `0 ${e}`);\n }\n\n const schedule = parseCron(cronspec, withSeconds);\n\n function absFloor(number) {\n if (number < 0) {\n return Math.ceil(number);\n }\n return Math.floor(number);\n }\n\n function toInt(argumentForCoercion) {\n const coercedNumber = +argumentForCoercion;\n let value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function ordinal(number) {\n const b = number % 10;\n const output = (toInt(number % 100 / 10) === 1) ? locale.ORDINALS.th :\n (b === 1) ? locale.ORDINALS.st :\n (b === 2) ? locale.ORDINALS.nd :\n (b === 3) ? locale.ORDINALS.rd : locale.ORDINALS.th;\n return number + output;\n }\n\n /**\n * For an array of numbers, e.g. a list of hours in a schedule,\n * return a string listing out all of the values (complete with\n * \"and\" plus ordinal text on the last item).\n * @param {Number[]} numbers\n * @returns {string}\n */\n function numberList(numbers) {\n if (numbers.length < 2) {\n return ordinal(numbers);\n }\n\n const lastVal = numbers.pop();\n return `${numbers.join(', ')} ${locale.and} ${ordinal(lastVal)}`;\n }\n\n /**\n * Parse a number into day of week, or a month name;\n * used in dateList below.\n * @param {Number|String} value\n * @param {String} type\n * @returns {String}\n */\n function numberToDateName(value, type) {\n if (type === 'dow') {\n return locale.DOW[value - 1];\n }\n if (type === 'mon') {\n return locale.MONTH[value - 1];\n }\n return value;\n }\n\n /**\n * From an array of numbers corresponding to dates (given in type: either\n * days of the week, or months), return a string listing all the values.\n * @param {Number[]} numbers\n * @param {String} type\n * @returns {String}\n */\n function dateList(numbers, type) {\n if (numbers.length < 2) {\n return numberToDateName(`${numbers[0]}`, type);\n }\n\n const lastVal = `${numbers.pop()}`;\n let outputText = '';\n\n for (let i = 0, value; (value = numbers[i]); i++) {\n if (outputText.length > 0) {\n outputText += ', ';\n }\n outputText += numberToDateName(value, type);\n }\n return `${outputText} ${locale.and} ${numberToDateName(lastVal, type)}`;\n }\n\n /**\n * Pad to equivalent of sprintf('%02d').\n * @param {Number} x\n * @returns {string}\n */\n function zeroPad(x) {\n return x < 10 ? `0${x}` : x;\n }\n\n //----------------\n\n /**\n * Given a schedule, generate a friendly sentence description.\n * @param {Object} _schedule\n * @param {boolean} _withSeconds\n * @returns {string}\n */\n function scheduleToSentence(_schedule, _withSeconds) {\n let outputText = `${locale.Every} `;\n\n if (_schedule.h && _schedule.m && _schedule.h.length <= 2 && _schedule.m.length <= 2 && _withSeconds && _schedule.s && _schedule.s.length <= 2) {\n // If there are only one or two specified values for\n // hour or minute, print them in HH:MM:SS format\n\n const hm = [];\n for (let i = 0; i < _schedule.h.length; i++) {\n for (let j = 0; j < _schedule.m.length; j++) {\n for (let k = 0; k < _schedule.s.length; k++) {\n hm.push(`${zeroPad(_schedule.h[i])}:${zeroPad(_schedule.m[j])}:${zeroPad(_schedule.s[k])}`);\n }\n }\n }\n if (hm.length < 2) {\n outputText = `${locale.At} ${hm[0]}`;\n } else {\n const lastVal = hm.pop();\n outputText = `${locale.At} ${hm.join(', ')} ${locale.and} ${lastVal}`;\n }\n if (!_schedule.d && !_schedule.D) {\n outputText += ` ${locale['every day']} `;\n }\n } else if (_schedule.h && _schedule.m && _schedule.h.length <= 2 && _schedule.m.length <= 2) {\n // If there are only one or two specified values for\n // hour or minute, print them in HH:MM format\n\n const hm = [];\n for (let i = 0; i < _schedule.h.length; i++) {\n for (let j = 0; j < _schedule.m.length; j++) {\n hm.push(`${zeroPad(_schedule.h[i])}:${zeroPad(_schedule.m[j])}`);\n }\n }\n if (hm.length < 2) {\n outputText = `${locale.At} ${hm[0]}`;\n } else {\n const lastVal = hm.pop();\n outputText = `${locale.At} ${hm.join(', ')} ${locale.and} ${lastVal}`;\n }\n\n if (!_schedule.d && !_schedule.D) {\n outputText += ` ${locale['every day']} `;\n }\n } else {\n // Otherwise, list out every specified hour/minute value.\n\n if (_schedule.h) { // runs only at specific hours\n if (_schedule.m) { // and only at specific minutes\n if (_withSeconds) {\n if (!_schedule.s || _schedule.s.length === 60) {\n outputText += `${locale['second of every']} ${numberList(_schedule.m)} ${locale['minute past the']} ${numberList(_schedule.h)} ${locale.hour}`;\n } else {\n outputText += `${numberList(_schedule.s)} ${locale['second of every']} ${numberList(_schedule.m)} ${locale['minute past the']} ${numberList(_schedule.h)} ${locale.hour}`;\n }\n } else {\n outputText += `${numberList(_schedule.m)} ${locale['minute past the']} ${numberList(_schedule.h)} ${locale.hour}`;\n }\n } else { // specific hours, but every minute\n if (_withSeconds) {\n if (!_schedule.s || _schedule.s.length === 60) {\n outputText += `${locale['second of every']} ${locale['minute of']} ${numberList(_schedule.h)} ${locale.hour}`;\n } else {\n outputText += `${numberList(_schedule.s)} ${locale['second of every']} ${locale['minute of']} ${numberList(_schedule.h)} ${locale.hour}`;\n }\n } else {\n outputText += `${locale['minute of']} ${numberList(_schedule.h)} ${locale.hour}`;\n }\n }\n } else if (_schedule.m) { // every hour, but specific minutes\n if (_withSeconds) {\n if (!_schedule.s || _schedule.s.length === 60) {\n outputText += `${locale['second of every']} ${numberList(_schedule.m)} ${locale['minute every hour']}`;\n } else {\n outputText += `${numberList(_schedule.s)} ${locale['second of every']} ${numberList(_schedule.m)} ${locale['minute every hour']}`;\n }\n } else {\n outputText += `${numberList(_schedule.m)} ${locale['minute every hour']}`;\n }\n } else if (_withSeconds) {\n if (!_schedule.s || _schedule.s.length === 60) {\n outputText += locale.second;\n } else {\n outputText += `${numberList(_schedule.s)} ${locale.second}`;\n }\n } else { // cronspec has \"*\" for both hour and minute\n outputText += locale.minute;\n }\n }\n\n if (_schedule.D) { // runs only on specific day(s) of month\n outputText += (locale['on the'] ? ` ${locale['on the']} ` : ' ') + numberList(_schedule.D);\n if (!_schedule.M) {\n outputText += ` ${locale['of every month']}`;\n }\n }\n\n if (_schedule.d) { // runs only on specific day(s) of week\n if (_schedule.D) {\n // if both day fields are specified, cron uses both; superuser.com/a/348372\n outputText += ` ${locale['and every']} `;\n } else {\n outputText += ` ${locale.on} `;\n }\n outputText += dateList(_schedule.d, 'dow');\n }\n\n if (_schedule.M) {\n // runs only in specific months; put this output last\n outputText += ` ${locale.in} ${dateList(_schedule.M, 'mon')}`;\n }\n\n return outputText;\n }\n\n return scheduleToSentence(schedule.schedules[0], withSeconds);\n}\n\nexport default cronToText;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cron2text.js","names":["cronToText","cronspec","withSeconds","locale","NAMES","JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC","SUN","MON","TUE","WED","THU","FRI","SAT","REPLACEMENTS","FIELDS","s","m","h","D","M","Y","d","getValue","value","offset","arguments","length","undefined","max","Number","isNaN","Math","min","cloneSchedule","sched","clone","field","slice","add","name","inc","i","indexOf","push","sort","a","b","addHash","schedules","curSched","hash","dc","addWeekday","except1","except2","exceptions","addRange","item","incSplit","split","range","rangeSplit","parse","toString","replace","isHash","itemSorter","parseExpr","expr","schedule","components","f","component","items","prepareExpr","prepared","toUpperCase","parseCron","hasSeconds","e","concat","absFloor","number","ceil","floor","toInt","argumentForCoercion","coercedNumber","isFinite","ordinal","output","ORDINALS","th","st","nd","rd","numberList","numbers","lastVal","pop","join","and","numberToDateName","type","DOW","MONTH","dateList","outputText","zeroPad","x","scheduleToSentence","_schedule","_withSeconds","Every","hm","j","k","At","hour","second","minute","on","_default","exports"],"sources":["SimpleCron/cron2text.js"],"sourcesContent":["/**\n * Given a cronspec, return the human-readable string.\n * @param {string} cronspec\n * @param withSeconds\n * @param {Object=} locale\n */\nfunction cronToText(cronspec, withSeconds, locale) {\n // Constant array to convert valid names to values\n const NAMES = {\n JAN: 1,\n FEB: 2,\n MAR: 3,\n APR: 4,\n MAY: 5,\n JUN: 6,\n JUL: 7,\n AUG: 8,\n SEP: 9,\n OCT: 10,\n NOV: 11,\n DEC: 12,\n SUN: 1,\n MON: 2,\n TUE: 3,\n WED: 4,\n THU: 5,\n FRI: 6,\n SAT: 7,\n };\n\n // Parsable replacements for common expressions\n const REPLACEMENTS = {\n '* * * * * *': '0/1 * * * * *',\n '@YEARLY': '0 0 1 1 *',\n '@ANNUALLY': '0 0 1 1 *',\n '@MONTHLY': '0 0 1 * *',\n '@WEEKLY': '0 0 * * 0',\n '@DAILY': '0 0 * * *',\n '@HOURLY': '0 * * * *',\n };\n\n // Contains the index, min, and max for each of the constraints\n const FIELDS = {\n s: [0, 0, 59], // seconds\n m: [1, 0, 59], // minutes\n h: [2, 0, 23], // hours\n D: [3, 1, 31], // day of month\n M: [4, 1, 12], // month\n Y: [6, 1970, 2099], // year\n d: [5, 1, 7, 1], // day of week\n };\n\n /**\n * Returns the value + offset if value is a number, otherwise it\n * attempts to look up the value in the NAMES table and returns\n * that result instead.\n *\n * @param {Number,String} value: The value that should be parsed\n * @param {Number=} offset: Any offset that must be added to the value\n * @param {Number=} max\n * @returns {Number|null}\n */\n function getValue(value) {\n const offset = arguments.length <= 1 || arguments[1] === undefined ? 0 : arguments[1];\n const max = arguments.length <= 2 || arguments[2] === undefined ? 9999 : arguments[2];\n\n return Number.isNaN(value) ? NAMES[value] || null : Math.min(+value + offset, max);\n }\n\n /**\n * Returns a deep clone of a schedule skipping any day of week\n * constraints.\n *\n * @param {Object} sched: The schedule that will be cloned\n * @returns {Object}\n */\n function cloneSchedule(sched) {\n const clone = {};\n let field;\n\n for (field in sched) {\n if (field !== 'dc' && field !== 'd') {\n clone[field] = sched[field].slice(0);\n }\n }\n\n return clone;\n }\n\n /**\n * Adds values to the specified constraint in the current schedule.\n *\n * @param {Object} sched: The schedule to add the constraint to\n * @param {String} name: Name of constraint to add\n * @param {Number} min: Minimum value for this constraint\n * @param {Number} max: Maximum value for this constraint\n */\n function add(sched, name, min, max) {\n const inc = arguments.length <= 4 || arguments[4] === undefined ? 0 : arguments[4];\n\n let i = min;\n\n if (!sched[name]) {\n sched[name] = [];\n }\n\n while (i <= max) {\n if (sched[name].indexOf(i) < 0) {\n sched[name].push(i);\n }\n i += inc || 1;\n }\n\n sched[name].sort((a, b) => a - b);\n }\n\n /**\n * Adds a hash item (of the form x#y or xL) to the schedule.\n *\n * @param {Object} schedules: The current schedule array to add to\n * @param {Object} curSched: The current schedule to add to\n * @param {Number} value: The value to add (x of x#y or xL)\n * @param {Number} hash: The hash value to add (y of x#y)\n */\n function addHash(schedules, curSched, value, hash) {\n // if there are any existing day of week constraints that\n // aren't equal to the one we're adding, create a new\n // composite schedule\n if ((curSched.d && !curSched.dc) || (curSched.dc && curSched.dc.indexOf(hash) < 0)) {\n schedules.push(cloneSchedule(curSched));\n curSched = schedules[schedules.length - 1];\n }\n\n add(curSched, 'd', value, value);\n add(curSched, 'dc', hash, hash);\n }\n\n /**\n *\n * @param {Object} s: The existing set of schedules\n * @param {Object} curSched: The current schedule to add to\n * @param {Number} value\n */\n function addWeekday(s, curSched, value) {\n const except1 = {};\n const except2 = {};\n if (value === 1) {\n // cron doesn't pass month boundaries, so if 1st is a\n // weekend then we need to use 2nd or 3rd instead\n add(curSched, 'D', 1, 3);\n add(curSched, 'd', NAMES.MON, NAMES.FRI);\n add(except1, 'D', 2, 2);\n add(except1, 'd', NAMES.TUE, NAMES.FRI);\n add(except2, 'D', 3, 3);\n add(except2, 'd', NAMES.TUE, NAMES.FRI);\n } else {\n // normally you want the closest day, so if v is a\n // Saturday, use the previous Friday. If it's a\n // sunday, use the following Monday.\n add(curSched, 'D', value - 1, value + 1);\n add(curSched, 'd', NAMES.MON, NAMES.FRI);\n add(except1, 'D', value - 1, value - 1);\n add(except1, 'd', NAMES.MON, NAMES.THU);\n add(except2, 'D', value + 1, value + 1);\n add(except2, 'd', NAMES.TUE, NAMES.FRI);\n }\n s.exceptions.push(except1);\n s.exceptions.push(except2);\n }\n\n /**\n * Adds a range item (of the form x-y/z) to the schedule.\n *\n * @param {String} item: The cron expression item to add\n * @param {Object} curSched: The current schedule to add to\n * @param {String} name: The name to use for this constraint\n * @param {Number} min: The min value for the constraint\n * @param {Number} max: The max value for the constraint\n * @param {Number} offset: The offset to apply to the cron value\n */\n function addRange(item, curSched, name, min, max, offset) {\n // parse range/x\n const incSplit = item.split('/');\n const inc = +incSplit[1];\n const range = incSplit[0];\n\n // parse x-y or * or 0\n if (range !== '*' && range !== '0') {\n const rangeSplit = range.split('-');\n min = getValue(rangeSplit[0], offset, max);\n\n // fix for issue #13, range may be a single digit\n max = getValue(rangeSplit[1], offset, max) || max;\n }\n\n add(curSched, name, min, max, inc);\n }\n\n /**\n * Parses a particular item within a cron expression.\n *\n * @param {String} item: The cron expression item to parse\n * @param {Object} s: The existing set of schedules\n * @param {String} name: The name to use for this constraint\n * @param {Number} min: The min value for the constraint\n * @param {Number} max: The max value for the constraint\n * @param {Number} offset: The offset to apply to the cron value\n */\n function parse(item, s, name, min, max, offset) {\n let value;\n let split;\n const schedules = s.schedules;\n const curSched = schedules[schedules.length - 1];\n\n // L just means min - 1 (this also makes it work for any field)\n if (item === 'L') {\n item = (min - 1).toString(10);\n }\n\n // parse x\n if ((value = getValue(item, offset, max)) !== null) {\n add(curSched, name, value, value);\n } else if ((value = getValue(item.replace('W', ''), offset, max)) !== null) {\n // parse xW\n addWeekday(s, curSched, value);\n } else if ((value = getValue(item.replace('L', ''), offset, max)) !== null) {\n // parse xL\n addHash(schedules, curSched, value, min - 1);\n } else if ((split = item.split('#')).length === 2) {\n // parse x#y\n value = getValue(split[0], offset, max);\n addHash(schedules, curSched, value, getValue(split[1]));\n } else {\n // parse x-y or x-y/z or */z or 0/z\n addRange(item, curSched, name, min, max, offset);\n }\n }\n\n /**\n * Returns true if the item is either of the form x#y or xL.\n *\n * @param {String} item: The expression item to check\n */\n function isHash(item) {\n return item.indexOf('#') > -1 || item.indexOf('L') > 0;\n }\n\n function itemSorter(a, b) {\n return isHash(a) && !isHash(b) ? 1 : a - b;\n }\n\n /**\n * Parses each of the fields in a cron expression. The expression must\n * include the seconds field, the year field is optional.\n *\n * @param {String} expr: The cron expression to parse\n */\n function parseExpr(expr) {\n const schedule = { schedules: [{}], exceptions: [] };\n const components = expr.replace(/(\\s)+/g, ' ').split(' ');\n let field;\n let f;\n let component;\n let items;\n\n for (field in FIELDS) {\n f = FIELDS[field];\n component = components[f[0]];\n if (component && component !== '*' && component !== '?') {\n // need to sort so that any #'s come last, otherwise\n // schedule clones to handle # won't contain all of the\n // other constraints\n items = component.split(',').sort(itemSorter);\n let i;\n const length = items.length;\n for (i = 0; i < length; i++) {\n parse(items[i], schedule, field, f[1], f[2], f[3]);\n }\n }\n }\n\n return schedule;\n }\n\n /**\n * Make cron expression parsable.\n *\n * @param {String} expr: The cron expression to prepare\n */\n function prepareExpr(expr) {\n const prepared = expr.toUpperCase();\n return REPLACEMENTS[prepared] || prepared;\n }\n\n function parseCron(expr, hasSeconds) {\n const e = prepareExpr(expr);\n return parseExpr(hasSeconds ? e : `0 ${e}`);\n }\n\n const schedule = parseCron(cronspec, withSeconds);\n\n function absFloor(number) {\n if (number < 0) {\n return Math.ceil(number);\n }\n return Math.floor(number);\n }\n\n function toInt(argumentForCoercion) {\n const coercedNumber = +argumentForCoercion;\n let value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function ordinal(number) {\n const b = number % 10;\n const output = (toInt(number % 100 / 10) === 1) ? locale.ORDINALS.th :\n (b === 1) ? locale.ORDINALS.st :\n (b === 2) ? locale.ORDINALS.nd :\n (b === 3) ? locale.ORDINALS.rd : locale.ORDINALS.th;\n return number + output;\n }\n\n /**\n * For an array of numbers, e.g. a list of hours in a schedule,\n * return a string listing out all of the values (complete with\n * \"and\" plus ordinal text on the last item).\n * @param {Number[]} numbers\n * @returns {string}\n */\n function numberList(numbers) {\n if (numbers.length < 2) {\n return ordinal(numbers);\n }\n\n const lastVal = numbers.pop();\n return `${numbers.join(', ')} ${locale.and} ${ordinal(lastVal)}`;\n }\n\n /**\n * Parse a number into day of week, or a month name;\n * used in dateList below.\n * @param {Number|String} value\n * @param {String} type\n * @returns {String}\n */\n function numberToDateName(value, type) {\n if (type === 'dow') {\n return locale.DOW[value - 1];\n }\n if (type === 'mon') {\n return locale.MONTH[value - 1];\n }\n return value;\n }\n\n /**\n * From an array of numbers corresponding to dates (given in type: either\n * days of the week, or months), return a string listing all the values.\n * @param {Number[]} numbers\n * @param {String} type\n * @returns {String}\n */\n function dateList(numbers, type) {\n if (numbers.length < 2) {\n return numberToDateName(`${numbers[0]}`, type);\n }\n\n const lastVal = `${numbers.pop()}`;\n let outputText = '';\n\n for (let i = 0, value; (value = numbers[i]); i++) {\n if (outputText.length > 0) {\n outputText += ', ';\n }\n outputText += numberToDateName(value, type);\n }\n return `${outputText} ${locale.and} ${numberToDateName(lastVal, type)}`;\n }\n\n /**\n * Pad to equivalent of sprintf('%02d').\n * @param {Number} x\n * @returns {string}\n */\n function zeroPad(x) {\n return x < 10 ? `0${x}` : x;\n }\n\n //----------------\n\n /**\n * Given a schedule, generate a friendly sentence description.\n * @param {Object} _schedule\n * @param {boolean} _withSeconds\n * @returns {string}\n */\n function scheduleToSentence(_schedule, _withSeconds) {\n let outputText = `${locale.Every} `;\n\n if (_schedule.h && _schedule.m && _schedule.h.length <= 2 && _schedule.m.length <= 2 && _withSeconds && _schedule.s && _schedule.s.length <= 2) {\n // If there are only one or two specified values for\n // hour or minute, print them in HH:MM:SS format\n\n const hm = [];\n for (let i = 0; i < _schedule.h.length; i++) {\n for (let j = 0; j < _schedule.m.length; j++) {\n for (let k = 0; k < _schedule.s.length; k++) {\n hm.push(`${zeroPad(_schedule.h[i])}:${zeroPad(_schedule.m[j])}:${zeroPad(_schedule.s[k])}`);\n }\n }\n }\n if (hm.length < 2) {\n outputText = `${locale.At} ${hm[0]}`;\n } else {\n const lastVal = hm.pop();\n outputText = `${locale.At} ${hm.join(', ')} ${locale.and} ${lastVal}`;\n }\n if (!_schedule.d && !_schedule.D) {\n outputText += ` ${locale['every day']} `;\n }\n } else if (_schedule.h && _schedule.m && _schedule.h.length <= 2 && _schedule.m.length <= 2) {\n // If there are only one or two specified values for\n // hour or minute, print them in HH:MM format\n\n const hm = [];\n for (let i = 0; i < _schedule.h.length; i++) {\n for (let j = 0; j < _schedule.m.length; j++) {\n hm.push(`${zeroPad(_schedule.h[i])}:${zeroPad(_schedule.m[j])}`);\n }\n }\n if (hm.length < 2) {\n outputText = `${locale.At} ${hm[0]}`;\n } else {\n const lastVal = hm.pop();\n outputText = `${locale.At} ${hm.join(', ')} ${locale.and} ${lastVal}`;\n }\n\n if (!_schedule.d && !_schedule.D) {\n outputText += ` ${locale['every day']} `;\n }\n } else if (_schedule.h) { // runs only at specific hours\n // Otherwise, list out every specified hour/minute value.\n if (_schedule.m) { // and only at specific minutes\n if (_withSeconds) {\n if (!_schedule.s || _schedule.s.length === 60) {\n outputText += `${locale['second of every']} ${numberList(_schedule.m)} ${locale['minute past the']} ${numberList(_schedule.h)} ${locale.hour}`;\n } else {\n outputText += `${numberList(_schedule.s)} ${locale['second of every']} ${numberList(_schedule.m)} ${locale['minute past the']} ${numberList(_schedule.h)} ${locale.hour}`;\n }\n } else {\n outputText += `${numberList(_schedule.m)} ${locale['minute past the']} ${numberList(_schedule.h)} ${locale.hour}`;\n }\n } else if (_withSeconds) {\n // specific hours, but every minute\n if (!_schedule.s || _schedule.s.length === 60) {\n outputText += `${locale['second of every']} ${locale['minute of']} ${numberList(_schedule.h)} ${locale.hour}`;\n } else {\n outputText += `${numberList(_schedule.s)} ${locale['second of every']} ${locale['minute of']} ${numberList(_schedule.h)} ${locale.hour}`;\n }\n } else {\n outputText += `${locale['minute of']} ${numberList(_schedule.h)} ${locale.hour}`;\n }\n } else if (_schedule.m) { // every hour, but specific minutes\n if (_withSeconds) {\n if (!_schedule.s || _schedule.s.length === 60) {\n outputText += `${locale['second of every']} ${numberList(_schedule.m)} ${locale['minute every hour']}`;\n } else {\n outputText += `${numberList(_schedule.s)} ${locale['second of every']} ${numberList(_schedule.m)} ${locale['minute every hour']}`;\n }\n } else {\n outputText += `${numberList(_schedule.m)} ${locale['minute every hour']}`;\n }\n } else if (_withSeconds) {\n if (!_schedule.s || _schedule.s.length === 60) {\n outputText += locale.second;\n } else {\n outputText += `${numberList(_schedule.s)} ${locale.second}`;\n }\n } else { // cronspec has \"*\" for both hour and minute\n outputText += locale.minute;\n }\n\n if (_schedule.D) { // runs only on specific day(s) of month\n outputText += (locale['on the'] ? ` ${locale['on the']} ` : ' ') + numberList(_schedule.D);\n if (!_schedule.M) {\n outputText += ` ${locale['of every month']}`;\n }\n }\n\n if (_schedule.d) { // runs only on specific day(s) of week\n if (_schedule.D) {\n // if both day fields are specified, cron uses both; superuser.com/a/348372\n outputText += ` ${locale['and every']} `;\n } else {\n outputText += ` ${locale.on} `;\n }\n outputText += dateList(_schedule.d, 'dow');\n }\n\n if (_schedule.M) {\n // runs only in specific months; put this output last\n outputText += ` ${locale.in} ${dateList(_schedule.M, 'mon')}`;\n }\n\n return outputText;\n }\n\n return scheduleToSentence(schedule.schedules[0], withSeconds);\n}\n\nexport default cronToText;\n"],"mappings":"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"}
|
|
@@ -206,12 +206,12 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
206
206
|
label: _i18n["default"].t('sc_hours'),
|
|
207
207
|
value: settings.hours,
|
|
208
208
|
onChange: function onChange(e) {
|
|
209
|
-
var
|
|
210
|
-
|
|
211
|
-
if (
|
|
212
|
-
|
|
209
|
+
var _settings = JSON.parse(JSON.stringify(_this3.state[type]));
|
|
210
|
+
_settings.hours = parseInt(e.target.value, 10);
|
|
211
|
+
if (_settings.hours < 1) {
|
|
212
|
+
_settings.hours = 1;
|
|
213
213
|
}
|
|
214
|
-
_this3.setState((0, _defineProperty2["default"])({}, type,
|
|
214
|
+
_this3.setState((0, _defineProperty2["default"])({}, type, _settings), function () {
|
|
215
215
|
return _this3.recalcCron();
|
|
216
216
|
});
|
|
217
217
|
},
|
|
@@ -245,12 +245,12 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
245
245
|
label: _i18n["default"].t('sc_every'),
|
|
246
246
|
value: settings.period,
|
|
247
247
|
onChange: function onChange(e) {
|
|
248
|
-
var
|
|
249
|
-
|
|
250
|
-
if (
|
|
251
|
-
|
|
248
|
+
var _settings = JSON.parse(JSON.stringify(_this3.state[type]));
|
|
249
|
+
_settings.period = parseInt(e.target.value, 10);
|
|
250
|
+
if (_settings.period < 1) {
|
|
251
|
+
_settings.period = 1;
|
|
252
252
|
}
|
|
253
|
-
_this3.setState((0, _defineProperty2["default"])({}, type,
|
|
253
|
+
_this3.setState((0, _defineProperty2["default"])({}, type, _settings), function () {
|
|
254
254
|
return _this3.recalcCron();
|
|
255
255
|
});
|
|
256
256
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_InputLabel","_MenuItem","_FormControl","_Select","_TextField","_FormControlLabel","_Checkbox","_cronText","_i18n","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","styles","mainDiv","width","height","overflow","formControl","margin","minWidth","formControlMarginRight","marginRight","formControlPaddingTop","paddingTop","PERIODIC","once","interval","intervalBetween","specific","PERIODIC_TYPES","seconds","minutes","WEEKDAYS","padding","num","concat","DEFAULT_STATE","mode","period","unit","SimpleCron","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","cron","cronExpression","replace","state","cron2state","extended","state2cron","time","date","timeFrom","timeTo","weekdays","Object","assign","setTimeout","onChange","_createClass2","key","value","recalcCron","getControlsWeekdaysElements","type","_this2","settings","createElement","style","paddingLeft","maxWidth","I18n","t","map","day","control","checked","indexOf","_settings","JSON","parse","stringify","pos","target","push","splice","sort","setState","_defineProperty2","toString","label","getControlsPeriodElements","_this3","display","marginBottom","variant","marginTop","verticalAlign","parseInt","min","max","InputLabelProps","shrink","hours","keys","getControlsTime","_this4","className","classes","root","getControlsDate","_this5","d","Date","getDate","getMonth","inputProps","getOnceElements","marginLeft","getIntervalElements","getIntervalBetweenElements","_this6","htmlFor","hour","getSpecificTimeElements","onModeChange","_this7","render","_this8","disabled","convertCronToText","language","name","id","periodArray2text","list","length","text","start","end","i","join","text2weekdays","parts","split","forEach","part","_parts","includes","trim","cronParts","options","months","dow","undefined","partsDate","month","React","Component","propTypes","PropTypes","string","func","_default","exports","withStyles"],"sources":["SimpleCron/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport MenuItem from '@mui/material/MenuItem';\nimport FormControl from '@mui/material/FormControl';\nimport Select from '@mui/material/Select';\nimport TextField from '@mui/material/TextField';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport Checkbox from '@mui/material/Checkbox';\n\nimport convertCronToText from './cronText';\n\nimport I18n from '../../i18n';\n\nconst styles = () => ({\n mainDiv: {\n width: '100%',\n height: '100%',\n overflow: 'auto',\n },\n formControl: {\n margin: 0,\n minWidth: 120,\n },\n formControlMarginRight: {\n marginRight: 5,\n },\n formControlPaddingTop: {\n paddingTop: 6.2,\n },\n});\n\nconst PERIODIC = {\n once: 'once',\n interval: 'interval',\n intervalBetween: 'intervalBetween',\n specific: 'specific',\n};\nconst PERIODIC_TYPES = {\n seconds: 'seconds',\n minutes: 'minutes',\n // hours: 'hours',\n};\nconst WEEKDAYS = [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n 'Sunday',\n];\n\nfunction padding(num) {\n if (num < 10) {\n return `0${num}`;\n }\n\n return `${num}`;\n}\nconst DEFAULT_STATE = {\n mode: PERIODIC.interval,\n interval: {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n },\n};\n\nclass SimpleCron extends React.Component {\n constructor(props) {\n super(props);\n let cron = typeof this.props.cronExpression === 'string' ? this.props.cronExpression.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '') : '';\n if (cron[0] === '{') {\n cron = '';\n }\n const state = SimpleCron.cron2state(cron || '* * * * *') || DEFAULT_STATE;\n\n this.state = {\n extended: false,\n cron: SimpleCron.state2cron(state),\n mode: 'interval',\n once: {\n time: '00:00',\n date: '',\n },\n interval: {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n },\n intervalBetween: {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n timeFrom: 0,\n timeTo: 24,\n weekdays: [0, 1, 2, 3, 4, 5, 6],\n },\n specific: {\n time: '00:00',\n weekdays: [0, 1, 2, 3, 4, 5, 6],\n },\n };\n Object.assign(this.state, state);\n\n if (this.state.cron !== this.props.cronExpression) {\n setTimeout(() => this.props.onChange && this.props.onChange(this.state.cron), 100);\n }\n }\n\n static periodArray2text(list, max) {\n max = max || 7;\n if (list.length === max) {\n return '*';\n }\n const text = [];\n let start = null;\n let end = null;\n for (let i = 0; i < list.length; i++) {\n if (start === null) {\n start = list[i];\n end = list[i];\n } else if (list[i - 1] + 1 === list[i]) {\n end = list[i];\n } else {\n if (start !== end) {\n text.push(`${start}-${end}`);\n } else {\n text.push(start);\n }\n start = list[i];\n end = list[i];\n }\n }\n if (start !== end) {\n text.push(`${start}-${end}`);\n } else {\n text.push(start);\n }\n return text.join(',');\n }\n\n static text2weekdays(text) {\n if (text === '*') {\n return [0, 1, 2, 3, 4, 5, 6];\n }\n const parts = text.split(',');\n const list = [];\n parts.forEach(part => {\n const _parts = part.split('-');\n if (_parts.length === 2) {\n const start = parseInt(_parts[0], 10);\n const end = parseInt(_parts[1], 10);\n for (let day = start; day <= end; day++) {\n if (!list.includes(day === 7 ? 0 : day)) {\n list.push(day === 7 ? 0 : day);\n }\n }\n } else {\n if (part === '7') {\n part = 0;\n }\n part = parseInt(part, 10);\n if (!list.includes(part)) {\n list.push(part);\n }\n }\n });\n list.sort();\n return list;\n }\n\n static cron2state(cron) {\n cron = cron.replace(/['\"]/g, '').trim();\n const cronParts = cron.split(' ');\n const options = {};\n const state = {\n mode: '',\n };\n if (cronParts.length === 6) {\n options.seconds = cronParts[0] || '*';\n options.minutes = cronParts[1] || '*';\n options.hours = cronParts[2] || '*';\n options.date = cronParts[3] || '*';\n options.months = cronParts[4] || '*';\n options.dow = cronParts[5] || '*';\n } else {\n options.seconds = null;\n options.minutes = cronParts[0] || '*';\n options.hours = cronParts[1] || '*';\n options.date = cronParts[2] || '*';\n options.months = cronParts[3] || '*';\n options.dow = cronParts[4] || '*';\n }\n\n // * * * * *\n if (options.seconds === null &&\n options.minutes === '*' &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*'\n ) {\n state.mode = PERIODIC.interval;\n state.interval = {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n };\n } // * * * * * *\n if (options.seconds === '*' &&\n options.minutes === '*' &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*'\n ) {\n state.mode = PERIODIC.interval;\n state.interval = {\n period: 1,\n unit: PERIODIC_TYPES.seconds,\n };\n } else if (options.seconds === null &&\n options.minutes.includes('/') &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*'\n ) {\n // */n * * * *\n state.mode = PERIODIC.interval;\n state.interval = {\n period: parseInt(options.minutes.split('/')[1], 10),\n unit: PERIODIC_TYPES.minutes,\n };\n } else if (options.seconds !== null &&\n options.seconds.includes('/') &&\n options.minutes === '*' &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*'\n ) {\n // */n * * * * *\n state.mode = PERIODIC.interval;\n state.interval = {\n period: parseInt(options.seconds.split('/')[1], 10),\n unit: PERIODIC_TYPES.seconds,\n };\n } else if (options.seconds !== null &&\n options.seconds.includes('/') &&\n options.minutes === '*' &&\n options.hours.includes('-') &&\n options.date === '*' &&\n options.months === '*'\n ) {\n // */n * 1-24 * * 1-7 or */n * 1-24 * * *\n state.mode = PERIODIC.intervalBetween;\n state.intervalBetween = {\n period: parseInt(options.seconds.split('/')[1], 10),\n unit: PERIODIC_TYPES.seconds,\n timeFrom: parseInt(options.hours.split('-')[0], 10),\n timeTo: parseInt(options.hours.split('-')[1], 10),\n weekdays: SimpleCron.text2weekdays(options.dow),\n };\n } else if (options.seconds === null &&\n options.minutes.includes('/') &&\n options.hours.includes('-') &&\n options.date === '*' &&\n options.months === '*'\n ) {\n // */n 1-24 * * 1-7 or */n 1-24 * * *\n state.mode = PERIODIC.intervalBetween;\n state.intervalBetween = {\n period: parseInt(options.minutes.split('/')[1], 10),\n unit: PERIODIC_TYPES.minutes,\n timeFrom: parseInt(options.hours.split('-')[0], 10),\n timeTo: parseInt(options.hours.split('-')[1], 10),\n weekdays: SimpleCron.text2weekdays(options.dow),\n };\n } else if (options.seconds === null &&\n parseInt(options.minutes, 10).toString() === options.minutes &&\n parseInt(options.hours, 10).toString() === options.hours &&\n options.date === '*' &&\n options.months === '*'\n ) {\n // m h * * 1-7 or m h * * *\n state.mode = PERIODIC.specific;\n state.specific = {\n time: `${padding(parseInt(options.hours, 10))}:${padding(parseInt(options.minutes, 10))}`,\n weekdays: SimpleCron.text2weekdays(options.dow),\n };\n } else if (options.seconds === null &&\n parseInt(options.minutes, 10).toString() === options.minutes &&\n parseInt(options.hours, 10).toString() === options.hours &&\n parseInt(options.date, 10).toString() === options.date &&\n parseInt(options.months, 10).toString() === options.months &&\n options.dow === '*'\n ) {\n // m h d M *\n state.mode = PERIODIC.once;\n state.once = {\n time: `${padding(parseInt(options.hours, 10))}:${padding(parseInt(options.minutes, 10))}`,\n date: `${padding(parseInt(options.date, 10))}.${padding(parseInt(options.months, 10))}`,\n // ignored\n weekdays: SimpleCron.text2weekdays(options.dow),\n };\n }\n\n if (state.mode) {\n return state;\n }\n return null;\n }\n\n static state2cron(state) {\n let cron = '* * * * *';\n if (state.mode === PERIODIC.interval) {\n const settings = state.interval || {};\n if (settings.period > 60) {\n settings.period = 60;\n }\n if (settings.period < 1) {\n settings.period = 1;\n }\n\n if (settings.minutes > 60) {\n settings.minutes = 60;\n }\n if (settings.minutes < 1) {\n settings.minutes = 1;\n }\n\n if (settings.hours > 24) {\n settings.hours = 24;\n }\n if (settings.hours < 1) {\n settings.hours = 1;\n }\n\n if (state.extended) {\n cron = `${settings.minutes > 1 ? `*/${settings.minutes}` : '*'} ${settings.hours > 1 ? `*/${settings.hours}` : '*'} * * *`;\n } else {\n switch (settings.unit) {\n case PERIODIC_TYPES.seconds:\n cron = `${settings.period > 1 ? `*/${settings.period}` : '*'} * * * * *`;\n break;\n case PERIODIC_TYPES.minutes:\n cron = `${settings.period > 1 ? `*/${settings.period}` : '*'} * * * *`;\n break;\n default:\n break;\n }\n }\n } else if (state.mode === PERIODIC.intervalBetween) {\n const settings = state.intervalBetween || {};\n let hours;\n settings.timeFrom = settings.timeFrom || 0;\n settings.timeTo = settings.timeTo === undefined ? 24 : settings.timeTo;\n if (settings.timeFrom === 0 && settings.timeTo === 24) {\n hours = '*';\n } else {\n hours = settings.timeFrom !== settings.timeTo ? `${settings.timeFrom}-${settings.timeTo}` : '*';\n }\n if (settings.period > 60) settings.period = 60;\n if (settings.period < 1) settings.period = 1;\n settings.unit = settings.unit || PERIODIC_TYPES.minutes;\n switch (settings.unit) {\n case PERIODIC_TYPES.seconds:\n cron = `${settings.period > 1 ? `*/${settings.period}` : '*'} * ${hours} * * ${this.periodArray2text(settings.weekdays)}`;\n break;\n case PERIODIC_TYPES.minutes:\n cron = `${settings.period > 1 ? `*/${settings.period}` : '*'} ${hours} * * ${this.periodArray2text(settings.weekdays)}`;\n break;\n default:\n break;\n }\n } else if (state.mode === PERIODIC.specific) {\n const settings = state.specific || {};\n const parts = (settings.time || '00:00').split(':');\n let minutes = parseInt(parts[1], 10) || 0;\n if (minutes > 59) minutes = 59;\n if (minutes < 0) minutes = 0;\n let hours = parseInt(parts[0], 10) || 0;\n if (hours > 23) hours = 59;\n if (hours < 0) hours = 0;\n\n cron = `${minutes} ${hours} * * ${this.periodArray2text(settings.weekdays || [])}`;\n } else if (state.mode === PERIODIC.once) {\n const settings = state.once || {};\n if (!settings.date) {\n settings.date = `${new Date().getDate()}.${padding(new Date().getMonth() + 1)}`;\n }\n const parts = (settings.time || '00:00').split(':');\n const partsDate = settings.date.split('.');\n let minutes = parseInt(parts[1], 10) || 0;\n if (minutes > 59) minutes = 59;\n if (minutes < 0) minutes = 0;\n let hours = parseInt(parts[0], 10) || 0;\n if (hours > 23) hours = 59;\n if (hours < 0) hours = 0;\n let date = parseInt(partsDate[0], 10) || 1;\n if (date > 31) date = 31;\n if (date < 1) hours = 1;\n let month = parseInt(partsDate[1], 10) || 1;\n if (month > 12) month = 12;\n if (month < 1) month = 1;\n\n cron = `${minutes} ${hours} ${date} ${month} *`;\n }\n return cron;\n }\n\n recalcCron() {\n this.onChange(SimpleCron.state2cron(this.state));\n }\n\n getControlsWeekdaysElements(type) {\n const settings = this.state[type];\n return <div key=\"weekdays\" style={{ paddingLeft: 8, width: '100%', maxWidth: 600 }}>\n <h5>{I18n.t('ra_On weekdays')}</h5>\n {[1, 2, 3, 4, 5, 6, 0].map(day => (\n <FormControlLabel\n key={WEEKDAYS[day]}\n control={\n <Checkbox\n checked={settings.weekdays.indexOf(day) !== -1}\n onChange={e => {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n const pos = _settings.weekdays.indexOf(day);\n e.target.checked && pos === -1 && _settings.weekdays.push(day);\n !e.target.checked && pos !== -1 && _settings.weekdays.splice(pos, 1);\n _settings.weekdays.sort();\n this.setState({ [type]: _settings }, () => this.recalcCron());\n }}\n value={day.toString()}\n />\n }\n label={I18n.t(WEEKDAYS[day])}\n />))}\n </div>;\n }\n\n getControlsPeriodElements(type) {\n const settings = this.state[type];\n\n if (this.state.extended) {\n return <div key=\"period\" style={{ paddingLeft: 8, display: 'inline-block' }}>\n <h5 style={{ marginBottom: 5 }}>{I18n.t('sc_period')}</h5>\n <TextField\n variant=\"standard\"\n style={{ marginTop: 0, marginBottom: 0, verticalAlign: 'bottom' }}\n key=\"value\"\n label={I18n.t('sc_minutes')}\n value={settings.minutes}\n onChange={e => {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n _settings.minutes = parseInt(e.target.value, 10);\n if (_settings.minutes < 1) {\n _settings.minutes = 1;\n }\n this.setState({ [type]: _settings }, () => this.recalcCron());\n }}\n min={1}\n max={60}\n type=\"number\"\n InputLabelProps={{ shrink: true }}\n margin=\"normal\"\n />\n <TextField\n variant=\"standard\"\n style={{ marginTop: 0, marginBottom: 0, verticalAlign: 'bottom' }}\n key=\"value\"\n label={I18n.t('sc_hours')}\n value={settings.hours}\n onChange={e => {\n const settings = JSON.parse(JSON.stringify(this.state[type]));\n settings.hours = parseInt(e.target.value, 10);\n if (settings.hours < 1) {\n settings.hours = 1;\n }\n this.setState({ [type]: settings }, () => this.recalcCron());\n }}\n min={1}\n max={24}\n type=\"number\"\n InputLabelProps={{ shrink: true }}\n margin=\"normal\"\n />\n </div>;\n }\n return <div key=\"period\" style={{ paddingLeft: 8, display: 'inline-block' }}>\n <h5 style={{ marginBottom: 5 }}>{I18n.t('sc_period')}</h5>\n <TextField\n variant=\"standard\"\n style={{ marginTop: 0, marginBottom: 0, verticalAlign: 'bottom' }}\n key=\"value\"\n label={I18n.t('sc_every')}\n value={settings.period}\n onChange={e => {\n const settings = JSON.parse(JSON.stringify(this.state[type]));\n settings.period = parseInt(e.target.value, 10);\n if (settings.period < 1) {\n settings.period = 1;\n }\n this.setState({ [type]: settings }, () => this.recalcCron());\n }}\n min={1}\n max={60}\n type=\"number\"\n InputLabelProps={{ shrink: true }}\n margin=\"normal\"\n />\n <Select\n variant=\"standard\"\n style={{ verticalAlign: 'bottom' }}\n value={settings.unit}\n onChange={e => {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n _settings.unit = e.target.value;\n this.setState({ [type]: _settings }, () => this.recalcCron());\n }}\n >\n {Object.keys(PERIODIC_TYPES).map(mode =>\n <MenuItem key={PERIODIC_TYPES[mode]} value={PERIODIC_TYPES[mode]}>{I18n.t(`sc_${PERIODIC_TYPES[mode]}`)}</MenuItem>)}\n </Select>\n </div>;\n }\n\n getControlsTime(type) {\n const settings = this.state[type];\n return <FormControl variant=\"standard\" className={this.props.classes.formControl} classes={{ root: this.props.classes.formControlMarginRight }}>\n <TextField\n variant=\"standard\"\n key=\"at\"\n label={I18n.t('sc_time')}\n value={settings.time}\n type=\"time\"\n onChange={e => {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n _settings.time = e.target.value;\n this.setState({ [type]: _settings }, () => this.recalcCron());\n }}\n InputLabelProps={{ shrink: true }}\n margin=\"normal\"\n />\n </FormControl>;\n }\n\n getControlsDate(type) {\n const settings = this.state[type];\n\n if (!settings.date) {\n const d = new Date();\n settings.date = `${d.getDate()}.${padding(d.getMonth() + 1)}`;\n }\n\n // <InputLabel htmlFor=\"formatted-text-mask-input\">{I18n.t('sc_at')}</InputLabel>\n return <FormControl variant=\"standard\" className={this.props.classes.formControl}>\n <TextField\n variant=\"standard\"\n key=\"date\"\n label={I18n.t('sc_date')}\n value={settings.date}\n type=\"text\"\n inputProps={{ className: this.props.classes.formControlPaddingTop }}\n onChange={e => {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n _settings.date = e.target.value;\n this.setState({ [type]: _settings }, () => this.recalcCron());\n }}\n InputLabelProps={{ shrink: true }}\n margin=\"normal\"\n />\n </FormControl>;\n }\n\n getOnceElements() {\n return <div style={{ marginLeft: 8 }}>\n {this.getControlsTime('once')}\n {this.getControlsDate('once')}\n </div>;\n }\n\n getIntervalElements() {\n return this.getControlsPeriodElements('interval');\n }\n\n getIntervalBetweenElements() {\n const settings = this.state.intervalBetween;\n return [\n this.getControlsPeriodElements('intervalBetween'),\n <div key=\"between\" style={{ paddingLeft: 8, display: 'inline-block', verticalAlign: 'top' }}>\n <h5 style={{ marginBottom: 5 }}>{I18n.t('sc_hours')}</h5>\n <FormControl variant=\"standard\" className={this.props.classes.formControl}>\n <InputLabel shrink htmlFor=\"age-label-placeholder\">{I18n.t('sc_from')}</InputLabel>\n <Select\n variant=\"standard\"\n style={{ width: 100 }}\n value={settings.timeFrom}\n onChange={e => {\n const _settings = JSON.parse(JSON.stringify(this.state.intervalBetween));\n _settings.timeFrom = parseInt(e.target.value, 10);\n this.setState({ intervalBetween: _settings }, () => this.recalcCron());\n }}\n >\n {[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23].map(hour =>\n <MenuItem key={`B_${hour}`} value={hour}>{`${padding(hour)}:00`}</MenuItem>)}\n </Select>\n </FormControl>\n <FormControl variant=\"standard\" className={this.props.classes.formControl}>\n <InputLabel shrink htmlFor=\"age-label-placeholder\">{I18n.t('sc_to')}</InputLabel>\n <Select\n variant=\"standard\"\n style={{ width: 100 }}\n value={settings.timeTo}\n onChange={e => {\n const _settings = JSON.parse(JSON.stringify(this.state.intervalBetween));\n _settings.timeTo = parseInt(e.target.value, 10);\n this.setState({ intervalBetween: _settings }, () => this.recalcCron());\n }}\n >\n {[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24].map(hour => (<MenuItem key={`A_${hour}`} value={hour}>{`${padding(hour)}:00`}</MenuItem>))}\n </Select>\n </FormControl>\n </div>,\n this.getControlsWeekdaysElements('intervalBetween'),\n ];\n }\n\n getSpecificTimeElements() {\n return [\n <div key=\"time\" style={{ marginLeft: 8 }}>{this.getControlsTime('specific')}</div>,\n this.getControlsWeekdaysElements('specific'),\n ];\n }\n\n onModeChange(mode) {\n if (mode !== this.state.mode) {\n this.setState({ mode }, () => this.recalcCron());\n }\n }\n\n onChange(cron) {\n if (cron !== this.state.cron) {\n this.setState({ cron });\n this.props.onChange && this.props.onChange(cron);\n }\n }\n\n render() {\n return <div className={this.props.classes.mainDiv}>\n <div style={{ paddingLeft: 8, width: '100%' }}><TextField style={{ width: '100%' }} value={this.state.cron} disabled /></div>\n <div style={{ paddingLeft: 8, width: '100%', height: 60 }}>{convertCronToText(this.state.cron, this.props.language || 'en')}</div>\n <div>\n <FormControl variant=\"standard\" style={{ marginLeft: 8, marginTop: 8 }} className={this.props.classes.formControl}>\n <InputLabel>{I18n.t('ra_Repeat')}</InputLabel>\n <Select\n variant=\"standard\"\n value={this.state.mode}\n onChange={e => this.onModeChange(e.target.value)}\n inputProps={{ name: 'mode', id: 'mode' }}\n >\n {Object.keys(PERIODIC).map(mode =>\n <MenuItem key={PERIODIC[mode]} value={PERIODIC[mode]}>{I18n.t(`sc_${PERIODIC[mode]}`)}</MenuItem>)}\n </Select>\n </FormControl>\n </div>\n {this.state.mode === PERIODIC.once && this.getOnceElements()}\n {this.state.mode === PERIODIC.interval && this.getIntervalElements()}\n {this.state.mode === PERIODIC.intervalBetween && this.getIntervalBetweenElements()}\n {this.state.mode === PERIODIC.specific && this.getSpecificTimeElements()}\n </div>;\n }\n}\n\nSimpleCron.propTypes = {\n cronExpression: PropTypes.string,\n onChange: PropTypes.func,\n language: PropTypes.string,\n};\n\nexport default withStyles(styles)(SimpleCron);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_InputLabel","_MenuItem","_FormControl","_Select","_TextField","_FormControlLabel","_Checkbox","_cronText","_i18n","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","styles","mainDiv","width","height","overflow","formControl","margin","minWidth","formControlMarginRight","marginRight","formControlPaddingTop","paddingTop","PERIODIC","once","interval","intervalBetween","specific","PERIODIC_TYPES","seconds","minutes","WEEKDAYS","padding","num","concat","DEFAULT_STATE","mode","period","unit","SimpleCron","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","cron","cronExpression","replace","state","cron2state","extended","state2cron","time","date","timeFrom","timeTo","weekdays","Object","assign","setTimeout","onChange","_createClass2","key","value","recalcCron","getControlsWeekdaysElements","type","_this2","settings","createElement","style","paddingLeft","maxWidth","I18n","t","map","day","control","checked","indexOf","_settings","JSON","parse","stringify","pos","target","push","splice","sort","setState","_defineProperty2","toString","label","getControlsPeriodElements","_this3","display","marginBottom","variant","marginTop","verticalAlign","parseInt","min","max","InputLabelProps","shrink","hours","keys","getControlsTime","_this4","className","classes","root","getControlsDate","_this5","d","Date","getDate","getMonth","inputProps","getOnceElements","marginLeft","getIntervalElements","getIntervalBetweenElements","_this6","htmlFor","hour","getSpecificTimeElements","onModeChange","_this7","render","_this8","disabled","convertCronToText","language","name","id","periodArray2text","list","length","text","start","end","i","join","text2weekdays","parts","split","forEach","part","_parts","includes","trim","cronParts","options","months","dow","undefined","partsDate","month","React","Component","propTypes","PropTypes","string","func","_default","exports","withStyles"],"sources":["SimpleCron/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport MenuItem from '@mui/material/MenuItem';\nimport FormControl from '@mui/material/FormControl';\nimport Select from '@mui/material/Select';\nimport TextField from '@mui/material/TextField';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport Checkbox from '@mui/material/Checkbox';\n\nimport convertCronToText from './cronText';\n\nimport I18n from '../../i18n';\n\nconst styles = () => ({\n mainDiv: {\n width: '100%',\n height: '100%',\n overflow: 'auto',\n },\n formControl: {\n margin: 0,\n minWidth: 120,\n },\n formControlMarginRight: {\n marginRight: 5,\n },\n formControlPaddingTop: {\n paddingTop: 6.2,\n },\n});\n\nconst PERIODIC = {\n once: 'once',\n interval: 'interval',\n intervalBetween: 'intervalBetween',\n specific: 'specific',\n};\nconst PERIODIC_TYPES = {\n seconds: 'seconds',\n minutes: 'minutes',\n // hours: 'hours',\n};\nconst WEEKDAYS = [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n 'Sunday',\n];\n\nfunction padding(num) {\n if (num < 10) {\n return `0${num}`;\n }\n\n return `${num}`;\n}\nconst DEFAULT_STATE = {\n mode: PERIODIC.interval,\n interval: {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n },\n};\n\nclass SimpleCron extends React.Component {\n constructor(props) {\n super(props);\n let cron = typeof this.props.cronExpression === 'string' ? this.props.cronExpression.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '') : '';\n if (cron[0] === '{') {\n cron = '';\n }\n const state = SimpleCron.cron2state(cron || '* * * * *') || DEFAULT_STATE;\n\n this.state = {\n extended: false,\n cron: SimpleCron.state2cron(state),\n mode: 'interval',\n once: {\n time: '00:00',\n date: '',\n },\n interval: {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n },\n intervalBetween: {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n timeFrom: 0,\n timeTo: 24,\n weekdays: [0, 1, 2, 3, 4, 5, 6],\n },\n specific: {\n time: '00:00',\n weekdays: [0, 1, 2, 3, 4, 5, 6],\n },\n };\n Object.assign(this.state, state);\n\n if (this.state.cron !== this.props.cronExpression) {\n setTimeout(() => this.props.onChange && this.props.onChange(this.state.cron), 100);\n }\n }\n\n static periodArray2text(list, max) {\n max = max || 7;\n if (list.length === max) {\n return '*';\n }\n const text = [];\n let start = null;\n let end = null;\n for (let i = 0; i < list.length; i++) {\n if (start === null) {\n start = list[i];\n end = list[i];\n } else if (list[i - 1] + 1 === list[i]) {\n end = list[i];\n } else {\n if (start !== end) {\n text.push(`${start}-${end}`);\n } else {\n text.push(start);\n }\n start = list[i];\n end = list[i];\n }\n }\n if (start !== end) {\n text.push(`${start}-${end}`);\n } else {\n text.push(start);\n }\n return text.join(',');\n }\n\n static text2weekdays(text) {\n if (text === '*') {\n return [0, 1, 2, 3, 4, 5, 6];\n }\n const parts = text.split(',');\n const list = [];\n parts.forEach(part => {\n const _parts = part.split('-');\n if (_parts.length === 2) {\n const start = parseInt(_parts[0], 10);\n const end = parseInt(_parts[1], 10);\n for (let day = start; day <= end; day++) {\n if (!list.includes(day === 7 ? 0 : day)) {\n list.push(day === 7 ? 0 : day);\n }\n }\n } else {\n if (part === '7') {\n part = 0;\n }\n part = parseInt(part, 10);\n if (!list.includes(part)) {\n list.push(part);\n }\n }\n });\n list.sort();\n return list;\n }\n\n static cron2state(cron) {\n cron = cron.replace(/['\"]/g, '').trim();\n const cronParts = cron.split(' ');\n const options = {};\n const state = {\n mode: '',\n };\n if (cronParts.length === 6) {\n options.seconds = cronParts[0] || '*';\n options.minutes = cronParts[1] || '*';\n options.hours = cronParts[2] || '*';\n options.date = cronParts[3] || '*';\n options.months = cronParts[4] || '*';\n options.dow = cronParts[5] || '*';\n } else {\n options.seconds = null;\n options.minutes = cronParts[0] || '*';\n options.hours = cronParts[1] || '*';\n options.date = cronParts[2] || '*';\n options.months = cronParts[3] || '*';\n options.dow = cronParts[4] || '*';\n }\n\n // * * * * *\n if (options.seconds === null &&\n options.minutes === '*' &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*'\n ) {\n state.mode = PERIODIC.interval;\n state.interval = {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n };\n } // * * * * * *\n if (options.seconds === '*' &&\n options.minutes === '*' &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*'\n ) {\n state.mode = PERIODIC.interval;\n state.interval = {\n period: 1,\n unit: PERIODIC_TYPES.seconds,\n };\n } else if (options.seconds === null &&\n options.minutes.includes('/') &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*'\n ) {\n // */n * * * *\n state.mode = PERIODIC.interval;\n state.interval = {\n period: parseInt(options.minutes.split('/')[1], 10),\n unit: PERIODIC_TYPES.minutes,\n };\n } else if (options.seconds !== null &&\n options.seconds.includes('/') &&\n options.minutes === '*' &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*'\n ) {\n // */n * * * * *\n state.mode = PERIODIC.interval;\n state.interval = {\n period: parseInt(options.seconds.split('/')[1], 10),\n unit: PERIODIC_TYPES.seconds,\n };\n } else if (options.seconds !== null &&\n options.seconds.includes('/') &&\n options.minutes === '*' &&\n options.hours.includes('-') &&\n options.date === '*' &&\n options.months === '*'\n ) {\n // */n * 1-24 * * 1-7 or */n * 1-24 * * *\n state.mode = PERIODIC.intervalBetween;\n state.intervalBetween = {\n period: parseInt(options.seconds.split('/')[1], 10),\n unit: PERIODIC_TYPES.seconds,\n timeFrom: parseInt(options.hours.split('-')[0], 10),\n timeTo: parseInt(options.hours.split('-')[1], 10),\n weekdays: SimpleCron.text2weekdays(options.dow),\n };\n } else if (options.seconds === null &&\n options.minutes.includes('/') &&\n options.hours.includes('-') &&\n options.date === '*' &&\n options.months === '*'\n ) {\n // */n 1-24 * * 1-7 or */n 1-24 * * *\n state.mode = PERIODIC.intervalBetween;\n state.intervalBetween = {\n period: parseInt(options.minutes.split('/')[1], 10),\n unit: PERIODIC_TYPES.minutes,\n timeFrom: parseInt(options.hours.split('-')[0], 10),\n timeTo: parseInt(options.hours.split('-')[1], 10),\n weekdays: SimpleCron.text2weekdays(options.dow),\n };\n } else if (options.seconds === null &&\n parseInt(options.minutes, 10).toString() === options.minutes &&\n parseInt(options.hours, 10).toString() === options.hours &&\n options.date === '*' &&\n options.months === '*'\n ) {\n // m h * * 1-7 or m h * * *\n state.mode = PERIODIC.specific;\n state.specific = {\n time: `${padding(parseInt(options.hours, 10))}:${padding(parseInt(options.minutes, 10))}`,\n weekdays: SimpleCron.text2weekdays(options.dow),\n };\n } else if (options.seconds === null &&\n parseInt(options.minutes, 10).toString() === options.minutes &&\n parseInt(options.hours, 10).toString() === options.hours &&\n parseInt(options.date, 10).toString() === options.date &&\n parseInt(options.months, 10).toString() === options.months &&\n options.dow === '*'\n ) {\n // m h d M *\n state.mode = PERIODIC.once;\n state.once = {\n time: `${padding(parseInt(options.hours, 10))}:${padding(parseInt(options.minutes, 10))}`,\n date: `${padding(parseInt(options.date, 10))}.${padding(parseInt(options.months, 10))}`,\n // ignored\n weekdays: SimpleCron.text2weekdays(options.dow),\n };\n }\n\n if (state.mode) {\n return state;\n }\n return null;\n }\n\n static state2cron(state) {\n let cron = '* * * * *';\n if (state.mode === PERIODIC.interval) {\n const settings = state.interval || {};\n if (settings.period > 60) {\n settings.period = 60;\n }\n if (settings.period < 1) {\n settings.period = 1;\n }\n\n if (settings.minutes > 60) {\n settings.minutes = 60;\n }\n if (settings.minutes < 1) {\n settings.minutes = 1;\n }\n\n if (settings.hours > 24) {\n settings.hours = 24;\n }\n if (settings.hours < 1) {\n settings.hours = 1;\n }\n\n if (state.extended) {\n cron = `${settings.minutes > 1 ? `*/${settings.minutes}` : '*'} ${settings.hours > 1 ? `*/${settings.hours}` : '*'} * * *`;\n } else {\n switch (settings.unit) {\n case PERIODIC_TYPES.seconds:\n cron = `${settings.period > 1 ? `*/${settings.period}` : '*'} * * * * *`;\n break;\n case PERIODIC_TYPES.minutes:\n cron = `${settings.period > 1 ? `*/${settings.period}` : '*'} * * * *`;\n break;\n default:\n break;\n }\n }\n } else if (state.mode === PERIODIC.intervalBetween) {\n const settings = state.intervalBetween || {};\n let hours;\n settings.timeFrom = settings.timeFrom || 0;\n settings.timeTo = settings.timeTo === undefined ? 24 : settings.timeTo;\n if (settings.timeFrom === 0 && settings.timeTo === 24) {\n hours = '*';\n } else {\n hours = settings.timeFrom !== settings.timeTo ? `${settings.timeFrom}-${settings.timeTo}` : '*';\n }\n if (settings.period > 60) settings.period = 60;\n if (settings.period < 1) settings.period = 1;\n settings.unit = settings.unit || PERIODIC_TYPES.minutes;\n switch (settings.unit) {\n case PERIODIC_TYPES.seconds:\n cron = `${settings.period > 1 ? `*/${settings.period}` : '*'} * ${hours} * * ${this.periodArray2text(settings.weekdays)}`;\n break;\n case PERIODIC_TYPES.minutes:\n cron = `${settings.period > 1 ? `*/${settings.period}` : '*'} ${hours} * * ${this.periodArray2text(settings.weekdays)}`;\n break;\n default:\n break;\n }\n } else if (state.mode === PERIODIC.specific) {\n const settings = state.specific || {};\n const parts = (settings.time || '00:00').split(':');\n let minutes = parseInt(parts[1], 10) || 0;\n if (minutes > 59) minutes = 59;\n if (minutes < 0) minutes = 0;\n let hours = parseInt(parts[0], 10) || 0;\n if (hours > 23) hours = 59;\n if (hours < 0) hours = 0;\n\n cron = `${minutes} ${hours} * * ${this.periodArray2text(settings.weekdays || [])}`;\n } else if (state.mode === PERIODIC.once) {\n const settings = state.once || {};\n if (!settings.date) {\n settings.date = `${new Date().getDate()}.${padding(new Date().getMonth() + 1)}`;\n }\n const parts = (settings.time || '00:00').split(':');\n const partsDate = settings.date.split('.');\n let minutes = parseInt(parts[1], 10) || 0;\n if (minutes > 59) minutes = 59;\n if (minutes < 0) minutes = 0;\n let hours = parseInt(parts[0], 10) || 0;\n if (hours > 23) hours = 59;\n if (hours < 0) hours = 0;\n let date = parseInt(partsDate[0], 10) || 1;\n if (date > 31) date = 31;\n if (date < 1) hours = 1;\n let month = parseInt(partsDate[1], 10) || 1;\n if (month > 12) month = 12;\n if (month < 1) month = 1;\n\n cron = `${minutes} ${hours} ${date} ${month} *`;\n }\n return cron;\n }\n\n recalcCron() {\n this.onChange(SimpleCron.state2cron(this.state));\n }\n\n getControlsWeekdaysElements(type) {\n const settings = this.state[type];\n return <div key=\"weekdays\" style={{ paddingLeft: 8, width: '100%', maxWidth: 600 }}>\n <h5>{I18n.t('ra_On weekdays')}</h5>\n {[1, 2, 3, 4, 5, 6, 0].map(day => (\n <FormControlLabel\n key={WEEKDAYS[day]}\n control={\n <Checkbox\n checked={settings.weekdays.indexOf(day) !== -1}\n onChange={e => {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n const pos = _settings.weekdays.indexOf(day);\n e.target.checked && pos === -1 && _settings.weekdays.push(day);\n !e.target.checked && pos !== -1 && _settings.weekdays.splice(pos, 1);\n _settings.weekdays.sort();\n this.setState({ [type]: _settings }, () => this.recalcCron());\n }}\n value={day.toString()}\n />\n }\n label={I18n.t(WEEKDAYS[day])}\n />))}\n </div>;\n }\n\n getControlsPeriodElements(type) {\n const settings = this.state[type];\n\n if (this.state.extended) {\n return <div key=\"period\" style={{ paddingLeft: 8, display: 'inline-block' }}>\n <h5 style={{ marginBottom: 5 }}>{I18n.t('sc_period')}</h5>\n <TextField\n variant=\"standard\"\n style={{ marginTop: 0, marginBottom: 0, verticalAlign: 'bottom' }}\n key=\"value\"\n label={I18n.t('sc_minutes')}\n value={settings.minutes}\n onChange={e => {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n _settings.minutes = parseInt(e.target.value, 10);\n if (_settings.minutes < 1) {\n _settings.minutes = 1;\n }\n this.setState({ [type]: _settings }, () => this.recalcCron());\n }}\n min={1}\n max={60}\n type=\"number\"\n InputLabelProps={{ shrink: true }}\n margin=\"normal\"\n />\n <TextField\n variant=\"standard\"\n style={{ marginTop: 0, marginBottom: 0, verticalAlign: 'bottom' }}\n key=\"value\"\n label={I18n.t('sc_hours')}\n value={settings.hours}\n onChange={e => {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n _settings.hours = parseInt(e.target.value, 10);\n if (_settings.hours < 1) {\n _settings.hours = 1;\n }\n this.setState({ [type]: _settings }, () => this.recalcCron());\n }}\n min={1}\n max={24}\n type=\"number\"\n InputLabelProps={{ shrink: true }}\n margin=\"normal\"\n />\n </div>;\n }\n return <div key=\"period\" style={{ paddingLeft: 8, display: 'inline-block' }}>\n <h5 style={{ marginBottom: 5 }}>{I18n.t('sc_period')}</h5>\n <TextField\n variant=\"standard\"\n style={{ marginTop: 0, marginBottom: 0, verticalAlign: 'bottom' }}\n key=\"value\"\n label={I18n.t('sc_every')}\n value={settings.period}\n onChange={e => {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n _settings.period = parseInt(e.target.value, 10);\n if (_settings.period < 1) {\n _settings.period = 1;\n }\n this.setState({ [type]: _settings }, () => this.recalcCron());\n }}\n min={1}\n max={60}\n type=\"number\"\n InputLabelProps={{ shrink: true }}\n margin=\"normal\"\n />\n <Select\n variant=\"standard\"\n style={{ verticalAlign: 'bottom' }}\n value={settings.unit}\n onChange={e => {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n _settings.unit = e.target.value;\n this.setState({ [type]: _settings }, () => this.recalcCron());\n }}\n >\n {Object.keys(PERIODIC_TYPES).map(mode =>\n <MenuItem key={PERIODIC_TYPES[mode]} value={PERIODIC_TYPES[mode]}>{I18n.t(`sc_${PERIODIC_TYPES[mode]}`)}</MenuItem>)}\n </Select>\n </div>;\n }\n\n getControlsTime(type) {\n const settings = this.state[type];\n return <FormControl variant=\"standard\" className={this.props.classes.formControl} classes={{ root: this.props.classes.formControlMarginRight }}>\n <TextField\n variant=\"standard\"\n key=\"at\"\n label={I18n.t('sc_time')}\n value={settings.time}\n type=\"time\"\n onChange={e => {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n _settings.time = e.target.value;\n this.setState({ [type]: _settings }, () => this.recalcCron());\n }}\n InputLabelProps={{ shrink: true }}\n margin=\"normal\"\n />\n </FormControl>;\n }\n\n getControlsDate(type) {\n const settings = this.state[type];\n\n if (!settings.date) {\n const d = new Date();\n settings.date = `${d.getDate()}.${padding(d.getMonth() + 1)}`;\n }\n\n // <InputLabel htmlFor=\"formatted-text-mask-input\">{I18n.t('sc_at')}</InputLabel>\n return <FormControl variant=\"standard\" className={this.props.classes.formControl}>\n <TextField\n variant=\"standard\"\n key=\"date\"\n label={I18n.t('sc_date')}\n value={settings.date}\n type=\"text\"\n inputProps={{ className: this.props.classes.formControlPaddingTop }}\n onChange={e => {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n _settings.date = e.target.value;\n this.setState({ [type]: _settings }, () => this.recalcCron());\n }}\n InputLabelProps={{ shrink: true }}\n margin=\"normal\"\n />\n </FormControl>;\n }\n\n getOnceElements() {\n return <div style={{ marginLeft: 8 }}>\n {this.getControlsTime('once')}\n {this.getControlsDate('once')}\n </div>;\n }\n\n getIntervalElements() {\n return this.getControlsPeriodElements('interval');\n }\n\n getIntervalBetweenElements() {\n const settings = this.state.intervalBetween;\n return [\n this.getControlsPeriodElements('intervalBetween'),\n <div key=\"between\" style={{ paddingLeft: 8, display: 'inline-block', verticalAlign: 'top' }}>\n <h5 style={{ marginBottom: 5 }}>{I18n.t('sc_hours')}</h5>\n <FormControl variant=\"standard\" className={this.props.classes.formControl}>\n <InputLabel shrink htmlFor=\"age-label-placeholder\">{I18n.t('sc_from')}</InputLabel>\n <Select\n variant=\"standard\"\n style={{ width: 100 }}\n value={settings.timeFrom}\n onChange={e => {\n const _settings = JSON.parse(JSON.stringify(this.state.intervalBetween));\n _settings.timeFrom = parseInt(e.target.value, 10);\n this.setState({ intervalBetween: _settings }, () => this.recalcCron());\n }}\n >\n {[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23].map(hour =>\n <MenuItem key={`B_${hour}`} value={hour}>{`${padding(hour)}:00`}</MenuItem>)}\n </Select>\n </FormControl>\n <FormControl variant=\"standard\" className={this.props.classes.formControl}>\n <InputLabel shrink htmlFor=\"age-label-placeholder\">{I18n.t('sc_to')}</InputLabel>\n <Select\n variant=\"standard\"\n style={{ width: 100 }}\n value={settings.timeTo}\n onChange={e => {\n const _settings = JSON.parse(JSON.stringify(this.state.intervalBetween));\n _settings.timeTo = parseInt(e.target.value, 10);\n this.setState({ intervalBetween: _settings }, () => this.recalcCron());\n }}\n >\n {[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24].map(hour => (<MenuItem key={`A_${hour}`} value={hour}>{`${padding(hour)}:00`}</MenuItem>))}\n </Select>\n </FormControl>\n </div>,\n this.getControlsWeekdaysElements('intervalBetween'),\n ];\n }\n\n getSpecificTimeElements() {\n return [\n <div key=\"time\" style={{ marginLeft: 8 }}>{this.getControlsTime('specific')}</div>,\n this.getControlsWeekdaysElements('specific'),\n ];\n }\n\n onModeChange(mode) {\n if (mode !== this.state.mode) {\n this.setState({ mode }, () => this.recalcCron());\n }\n }\n\n onChange(cron) {\n if (cron !== this.state.cron) {\n this.setState({ cron });\n this.props.onChange && this.props.onChange(cron);\n }\n }\n\n render() {\n return <div className={this.props.classes.mainDiv}>\n <div style={{ paddingLeft: 8, width: '100%' }}><TextField style={{ width: '100%' }} value={this.state.cron} disabled /></div>\n <div style={{ paddingLeft: 8, width: '100%', height: 60 }}>{convertCronToText(this.state.cron, this.props.language || 'en')}</div>\n <div>\n <FormControl variant=\"standard\" style={{ marginLeft: 8, marginTop: 8 }} className={this.props.classes.formControl}>\n <InputLabel>{I18n.t('ra_Repeat')}</InputLabel>\n <Select\n variant=\"standard\"\n value={this.state.mode}\n onChange={e => this.onModeChange(e.target.value)}\n inputProps={{ name: 'mode', id: 'mode' }}\n >\n {Object.keys(PERIODIC).map(mode =>\n <MenuItem key={PERIODIC[mode]} value={PERIODIC[mode]}>{I18n.t(`sc_${PERIODIC[mode]}`)}</MenuItem>)}\n </Select>\n </FormControl>\n </div>\n {this.state.mode === PERIODIC.once && this.getOnceElements()}\n {this.state.mode === PERIODIC.interval && this.getIntervalElements()}\n {this.state.mode === PERIODIC.intervalBetween && this.getIntervalBetweenElements()}\n {this.state.mode === PERIODIC.specific && this.getSpecificTimeElements()}\n </div>;\n }\n}\n\nSimpleCron.propTypes = {\n cronExpression: PropTypes.string,\n onChange: PropTypes.func,\n language: PropTypes.string,\n};\n\nexport default withStyles(styles)(SimpleCron);\n"],"mappings":"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"}
|