@iobroker/adapter-react-v5 4.0.13 → 4.0.14
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/AdminConnection.js.map +1 -1
- package/Components/404.js.map +1 -1
- package/Components/ColorPicker.d.ts +1 -0
- package/Components/ColorPicker.js +12 -9
- package/Components/ColorPicker.js.map +1 -1
- package/Components/ComplexCron.js +24 -22
- package/Components/ComplexCron.js.map +1 -1
- package/Components/CustomModal.js.map +1 -1
- package/Components/FileBrowser.js.map +1 -1
- package/Components/FileViewer.js.map +1 -1
- package/Components/Icon.js.map +1 -1
- package/Components/IconPicker.js.map +1 -1
- package/Components/IconSelector.js.map +1 -1
- package/Components/Image.js.map +1 -1
- package/Components/JsonConfigComponent/ChipInput.js +8 -10
- package/Components/JsonConfigComponent/ChipInput.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAlive.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCheckLicense.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCheckbox.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigChip.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigColor.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCoordinates.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigDatePicker.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFile.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFileSelector.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFunc.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigIP.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigImageUpload.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigObjectId.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPassword.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPattern.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigRoom.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSlider.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticDivider.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticHeader.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticImage.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticText.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTabs.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigText.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTextSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTimePicker.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTopic.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigUUID.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigUser.js.map +1 -1
- package/Components/JsonConfigComponent/index.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Components/ColorPicker.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Components/Icon.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Components/TextWithIcon.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Components/UploadImage.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Components/Utils.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/Confirm.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/Cron.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/Error.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/Message.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/SelectFile.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/SelectID.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/i18n.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/icons/IconCopy.js.map +1 -1
- package/Components/Loader.js.map +1 -1
- package/Components/Loaders/PT.js.map +1 -1
- package/Components/Loaders/Vendor.js.map +1 -1
- package/Components/Logo.js.map +1 -1
- package/Components/MDUtils.js.map +1 -1
- package/Components/ObjectBrowser.js +26 -21
- package/Components/ObjectBrowser.js.map +1 -1
- package/Components/Router.js.map +1 -1
- package/Components/SaveCloseButtons.js.map +1 -1
- package/Components/Schedule.js.map +1 -1
- package/Components/SelectWithIcon.js.map +1 -1
- package/Components/SimpleCron/cron2text.js.map +1 -1
- package/Components/SimpleCron/cronText.js.map +1 -1
- package/Components/SimpleCron/index.js +38 -32
- package/Components/SimpleCron/index.js.map +1 -1
- package/Components/SimpleCron/jquery.cron.locale.js.map +1 -1
- package/Components/TabContainer.js.map +1 -1
- package/Components/TabContent.js.map +1 -1
- package/Components/TabHeader.js.map +1 -1
- package/Components/TableResize.js.map +1 -1
- package/Components/TextWithIcon.js.map +1 -1
- package/Components/ToggleThemeMenu.js.map +1 -1
- package/Components/TreeTable.js.map +1 -1
- package/Components/UploadImage.js.map +1 -1
- package/Components/Utils.js.map +1 -1
- package/Components/copy-to-clipboard.js.map +1 -1
- package/Components/withWidth.js.map +1 -1
- package/Connection.js.map +1 -1
- package/Dialogs/ComplexCron.js +1 -1
- package/Dialogs/ComplexCron.js.map +1 -1
- package/Dialogs/Confirm.js.map +1 -1
- package/Dialogs/Cron.js +6 -6
- package/Dialogs/Cron.js.map +1 -1
- package/Dialogs/Error.js.map +1 -1
- package/Dialogs/Message.js.map +1 -1
- package/Dialogs/SelectFile.js.map +1 -1
- package/Dialogs/SelectID.js.map +1 -1
- package/Dialogs/SimpleCron.js +2 -2
- package/Dialogs/SimpleCron.js.map +1 -1
- package/Dialogs/TextInput.js.map +1 -1
- package/GenericApp.d.ts +11 -0
- package/GenericApp.js +109 -42
- package/GenericApp.js.map +1 -1
- package/Prompt.js.map +1 -1
- package/README.md +3 -0
- package/Theme.js.map +1 -1
- package/_Connection.js.map +1 -1
- package/i18n.js.map +1 -1
- package/icons/IconAdapter.js.map +1 -1
- package/icons/IconAlias.js.map +1 -1
- package/icons/IconChannel.js.map +1 -1
- package/icons/IconClearFilter.js.map +1 -1
- package/icons/IconClosed.js.map +1 -1
- package/icons/IconCopy.js.map +1 -1
- package/icons/IconDevice.js.map +1 -1
- package/icons/IconDocument.js.map +1 -1
- package/icons/IconDocumentReadOnly.js.map +1 -1
- package/icons/IconExpert.js.map +1 -1
- package/icons/IconFx.js.map +1 -1
- package/icons/IconInstance.js.map +1 -1
- package/icons/IconLogout.js.map +1 -1
- package/icons/IconNoIcon.js.map +1 -1
- package/icons/IconOpen.js.map +1 -1
- package/icons/IconState.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectWithIcon.js","names":["styles","theme","different","opacity","icon","width","height","marginRight","SelectWithIcon","props","wordDifferent","t","list","Array","isArray","options","map","obj","name","Utils","getObjectNameFromObj","lang","replace","value","_id","common","color","Object","values","unshift","allowNone","I18n","state","find","timeout","setTimeout","JSON","parse","stringify","setState","i","findIndex","splice","item","it","removePrefix","style","undefined","backgroundColor","getInvertedColor","themeType","dense","assign","select","disabled","inputProps","classes","root","clsx","className","el","target","pos","length","clone","onChange","fullWidth","label","Component","propTypes","PropTypes","func","isRequired","string","bool","oneOfType","array","object","withStyles"],"sources":["SelectWithIcon.js"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport {FormControl, InputLabel, MenuItem, Select} from '@mui/material';\n\nimport Icon from './Icon';\nimport Utils from './Utils';\nimport I18n from '../i18n';\n\nconst styles = theme => ({\n different: {\n opacity: 0.5\n },\n icon: {\n width: 16,\n height: 16,\n marginRight: 8\n }\n});\n\nclass SelectWithIcon extends Component {\n constructor(props) {\n super(props);\n\n if (this.props.different) {\n this.wordDifferent = this.props.t(this.props.different);\n }\n\n let list;\n if (Array.isArray(this.props.list || this.props.options)) {\n list = this.props.list.map(obj => ({\n name: Utils.getObjectNameFromObj(obj, this.props.lang)\n .replace('system.group.', '')\n .replace('system.user.', '')\n .replace('enum.rooms.', '')\n .replace('enum.functions.', ''),\n value: obj._id,\n icon: obj.common?.icon,\n color: obj.common?.color,\n }));\n } else {\n list = Object.values(this.props.list || this.props.options).map(obj => ({\n name: Utils.getObjectNameFromObj(obj, this.props.lang)\n .replace('system.group.', '')\n .replace('system.user.', '')\n .replace('enum.rooms.', '')\n .replace('enum.functions.', ''),\n value: obj._id,\n icon: obj.common?.icon,\n color: obj.common?.color,\n }));\n }\n\n if (this.props.different && this.props.value === this.props.different) {\n list.unshift({value: this.props.different, name: this.wordDifferent});\n }\n\n if (this.props.allowNone) {\n list.unshift({value: '', name: I18n.t('ra_none')});\n }\n\n this.state = {\n list,\n };\n }\n\n render() {\n if (this.props.allowNone && !this.state.list.find(obj => obj.value === '')) {\n this.timeout = this.timeout || setTimeout(() => {\n this.timeout = null;\n const list = JSON.parse(JSON.stringify(this.state.list));\n list.unshift({value: '', name: I18n.t('ra_none')});\n this.setState({list});\n }, 100);\n } else if (!this.props.allowNone && this.state.list.find(obj => obj.value === '')) {\n this.timeout = this.timeout || setTimeout(() => {\n this.timeout = null;\n const list = JSON.parse(JSON.stringify(this.state.list));\n const i = this.state.list.findIndex(obj => obj.value === '');\n list.splice(i, 1);\n this.setState({list});\n }, 100);\n }\n\n const item = this.state.list.find(it => it.value === this.props.value || (this.props.removePrefix && it.value.replace(this.props.removePrefix, '') === this.props.value));\n\n const style = this.props.value === this.props.different ? {} :\n {\n color: item?.color || undefined,\n backgroundColor: Utils.getInvertedColor(item?.color, this.props.themeType)\n };\n\n if (this.props.dense && this.props.style) {\n Object.assign(style, this.props.style);\n }\n\n const select = <Select\n variant=\"standard\"\n disabled={this.props.disabled}\n value={this.props.value}\n inputProps={this.props.inputProps}\n renderValue={value => <span>{item?.icon ? <Icon src={item?.icon} className={this.props.classes.icon} /> : null}{item?.name}</span>}\n classes={{root: Utils.clsx(\n this.props.value === this.props.different ? this.props.classes.different : '',\n this.props.dense ? this.props.className : ''\n )}}\n style={style}\n onChange={el => {\n if (this.props.different && el.target.value !== this.props.different) {\n let pos = null;\n for (let i = 0; i < this.state.list.length; i++) {\n if (this.state.list[i].value === this.props.different) {\n pos = i;\n break;\n }\n }\n if (pos !== null) {\n const list = Utils.clone(this.state.list);\n list.splice(pos, 1);\n return this.setState({list}, () => this.props.onChange(el.target.value));\n }\n }\n\n this.props.onChange(this.props.removePrefix ? el.target.value.replace(this.props.removePrefix, '') : el.target.value);\n }}\n >\n {this.state.list.map(el => <MenuItem\n className={this.props.different && el.value === this.props.different ? this.props.classes.different : ''}\n style={this.props.different && el.value === this.props.different ? {} : { color: el.color || undefined, backgroundColor: Utils.getInvertedColor(el.color, this.props.themeType) }}\n key={el.value}\n value={el.value}\n >\n {el.icon ? <Icon src={el.icon} className={this.props.classes.icon} /> : null}\n {el.name}\n </MenuItem>)}\n </Select>;\n\n if (this.props.dense) {\n return select;\n } else {\n return <FormControl variant=\"standard\" fullWidth={!!this.props.fullWidth} style={this.props.style} className={this.props.className}>\n <InputLabel>{this.props.label}</InputLabel>\n {select}\n </FormControl>;\n\n }\n }\n}\n\nSelectWithIcon.propTypes = {\n t: PropTypes.func.isRequired,\n lang: PropTypes.string.isRequired,\n themeType: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n list: PropTypes.oneOfType([PropTypes.array, PropTypes.object]), // one of \"list\"(Array) or \"options\"(object) is required\n options: PropTypes.oneOfType([PropTypes.array, PropTypes.object]), // one of \"list\"(Array) or \"options\"(object) is required\n different: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n label: PropTypes.string,\n fullWidth: PropTypes.bool,\n className: PropTypes.string,\n style: PropTypes.object,\n removePrefix: PropTypes.string,\n allowNone: PropTypes.bool,\n inputProps: PropTypes.object,\n};\n\nexport default withStyles(styles)(SelectWithIcon);"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectWithIcon.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_withStyles","_material","_Icon","_Utils","_i18n","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","e","styles","theme","different","opacity","icon","width","height","marginRight","SelectWithIcon","_Component","_inherits2","_super","props","_this","_classCallCheck2","wordDifferent","t","list","Array","isArray","options","map","_obj$common","_obj$common2","name","Utils","getObjectNameFromObj","lang","replace","value","_id","common","color","values","_obj$common3","_obj$common4","unshift","allowNone","I18n","state","_createClass2","render","_this2","find","timeout","setTimeout","JSON","parse","stringify","setState","i","findIndex","splice","item","it","removePrefix","style","undefined","backgroundColor","getInvertedColor","themeType","dense","assign","select","createElement","Select","variant","disabled","inputProps","renderValue","src","className","classes","root","clsx","onChange","el","target","pos","length","clone","MenuItem","FormControl","fullWidth","InputLabel","label","Component","propTypes","PropTypes","func","isRequired","string","bool","oneOfType","array","object","_default","withStyles","exports"],"sources":["SelectWithIcon.js"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport {FormControl, InputLabel, MenuItem, Select} from '@mui/material';\n\nimport Icon from './Icon';\nimport Utils from './Utils';\nimport I18n from '../i18n';\n\nconst styles = theme => ({\n different: {\n opacity: 0.5\n },\n icon: {\n width: 16,\n height: 16,\n marginRight: 8\n }\n});\n\nclass SelectWithIcon extends Component {\n constructor(props) {\n super(props);\n\n if (this.props.different) {\n this.wordDifferent = this.props.t(this.props.different);\n }\n\n let list;\n if (Array.isArray(this.props.list || this.props.options)) {\n list = this.props.list.map(obj => ({\n name: Utils.getObjectNameFromObj(obj, this.props.lang)\n .replace('system.group.', '')\n .replace('system.user.', '')\n .replace('enum.rooms.', '')\n .replace('enum.functions.', ''),\n value: obj._id,\n icon: obj.common?.icon,\n color: obj.common?.color,\n }));\n } else {\n list = Object.values(this.props.list || this.props.options).map(obj => ({\n name: Utils.getObjectNameFromObj(obj, this.props.lang)\n .replace('system.group.', '')\n .replace('system.user.', '')\n .replace('enum.rooms.', '')\n .replace('enum.functions.', ''),\n value: obj._id,\n icon: obj.common?.icon,\n color: obj.common?.color,\n }));\n }\n\n if (this.props.different && this.props.value === this.props.different) {\n list.unshift({value: this.props.different, name: this.wordDifferent});\n }\n\n if (this.props.allowNone) {\n list.unshift({value: '', name: I18n.t('ra_none')});\n }\n\n this.state = {\n list,\n };\n }\n\n render() {\n if (this.props.allowNone && !this.state.list.find(obj => obj.value === '')) {\n this.timeout = this.timeout || setTimeout(() => {\n this.timeout = null;\n const list = JSON.parse(JSON.stringify(this.state.list));\n list.unshift({value: '', name: I18n.t('ra_none')});\n this.setState({list});\n }, 100);\n } else if (!this.props.allowNone && this.state.list.find(obj => obj.value === '')) {\n this.timeout = this.timeout || setTimeout(() => {\n this.timeout = null;\n const list = JSON.parse(JSON.stringify(this.state.list));\n const i = this.state.list.findIndex(obj => obj.value === '');\n list.splice(i, 1);\n this.setState({list});\n }, 100);\n }\n\n const item = this.state.list.find(it => it.value === this.props.value || (this.props.removePrefix && it.value.replace(this.props.removePrefix, '') === this.props.value));\n\n const style = this.props.value === this.props.different ? {} :\n {\n color: item?.color || undefined,\n backgroundColor: Utils.getInvertedColor(item?.color, this.props.themeType)\n };\n\n if (this.props.dense && this.props.style) {\n Object.assign(style, this.props.style);\n }\n\n const select = <Select\n variant=\"standard\"\n disabled={this.props.disabled}\n value={this.props.value}\n inputProps={this.props.inputProps}\n renderValue={value => <span>{item?.icon ? <Icon src={item?.icon} className={this.props.classes.icon} /> : null}{item?.name}</span>}\n classes={{root: Utils.clsx(\n this.props.value === this.props.different ? this.props.classes.different : '',\n this.props.dense ? this.props.className : ''\n )}}\n style={style}\n onChange={el => {\n if (this.props.different && el.target.value !== this.props.different) {\n let pos = null;\n for (let i = 0; i < this.state.list.length; i++) {\n if (this.state.list[i].value === this.props.different) {\n pos = i;\n break;\n }\n }\n if (pos !== null) {\n const list = Utils.clone(this.state.list);\n list.splice(pos, 1);\n return this.setState({list}, () => this.props.onChange(el.target.value));\n }\n }\n\n this.props.onChange(this.props.removePrefix ? el.target.value.replace(this.props.removePrefix, '') : el.target.value);\n }}\n >\n {this.state.list.map(el => <MenuItem\n className={this.props.different && el.value === this.props.different ? this.props.classes.different : ''}\n style={this.props.different && el.value === this.props.different ? {} : { color: el.color || undefined, backgroundColor: Utils.getInvertedColor(el.color, this.props.themeType) }}\n key={el.value}\n value={el.value}\n >\n {el.icon ? <Icon src={el.icon} className={this.props.classes.icon} /> : null}\n {el.name}\n </MenuItem>)}\n </Select>;\n\n if (this.props.dense) {\n return select;\n } else {\n return <FormControl variant=\"standard\" fullWidth={!!this.props.fullWidth} style={this.props.style} className={this.props.className}>\n <InputLabel>{this.props.label}</InputLabel>\n {select}\n </FormControl>;\n\n }\n }\n}\n\nSelectWithIcon.propTypes = {\n t: PropTypes.func.isRequired,\n lang: PropTypes.string.isRequired,\n themeType: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n list: PropTypes.oneOfType([PropTypes.array, PropTypes.object]), // one of \"list\"(Array) or \"options\"(object) is required\n options: PropTypes.oneOfType([PropTypes.array, PropTypes.object]), // one of \"list\"(Array) or \"options\"(object) is required\n different: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n label: PropTypes.string,\n fullWidth: PropTypes.bool,\n className: PropTypes.string,\n style: PropTypes.object,\n removePrefix: PropTypes.string,\n allowNone: PropTypes.bool,\n inputProps: PropTypes.object,\n};\n\nexport default withStyles(styles)(SelectWithIcon);"],"mappings":"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"}
|
|
@@ -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","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","absFloor","number","ceil","floor","toInt","argumentForCoercion","coercedNumber","isFinite","ordinal","output","ORDINALS","th","st","nd","rd","numberList","numbers","lastVal","pop","join","numberToDateName","type","DOW","MONTH","dateList","outputText","zeroPad","x","scheduleToSentence","Every","hm","j","k","and"],"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\n // Constant array to convert valid names to values\n const NAMES = {\n JAN: 1, FEB: 2, MAR: 3, APR: 4, MAY: 5, JUN: 6, JUL: 7, AUG: 8,\n SEP: 9, OCT: 10, NOV: 11, DEC: 12,\n SUN: 1, MON: 2, TUE: 3, WED: 4, THU: 5, FRI: 6, 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 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(function (a, b) {\n return a - b;\n });\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 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 inc = +incSplit[1],\n 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 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 split,\n schedules = s.schedules,\n 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 }\n // parse xW\n else if ((value = getValue(item.replace('W', ''), offset, max)) !== null) {\n addWeekday(s, curSched, value);\n }\n // parse xL\n else if ((value = getValue(item.replace('L', ''), offset, max)) !== null) {\n addHash(schedules, curSched, value, min - 1);\n }\n // parse x#y\n else if ((split = item.split('#')).length === 2) {\n value = getValue(split[0], offset, max);\n addHash(schedules, curSched, value, getValue(split[1]));\n }\n // parse x-y or x-y/z or */z or 0/z\n else {\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 } else {\n return Math.floor(number);\n }\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 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 } else if (type === 'mon') {\n return locale.MONTH[value - 1];\n }\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\n 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","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","absFloor","number","ceil","floor","toInt","argumentForCoercion","coercedNumber","isFinite","ordinal","output","ORDINALS","th","st","nd","rd","numberList","numbers","lastVal","pop","join","numberToDateName","type","DOW","MONTH","dateList","outputText","zeroPad","x","scheduleToSentence","Every","hm","j","k","and","_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\n // Constant array to convert valid names to values\n const NAMES = {\n JAN: 1, FEB: 2, MAR: 3, APR: 4, MAY: 5, JUN: 6, JUL: 7, AUG: 8,\n SEP: 9, OCT: 10, NOV: 11, DEC: 12,\n SUN: 1, MON: 2, TUE: 3, WED: 4, THU: 5, FRI: 6, 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 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(function (a, b) {\n return a - b;\n });\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 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 inc = +incSplit[1],\n 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 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 split,\n schedules = s.schedules,\n 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 }\n // parse xW\n else if ((value = getValue(item.replace('W', ''), offset, max)) !== null) {\n addWeekday(s, curSched, value);\n }\n // parse xL\n else if ((value = getValue(item.replace('L', ''), offset, max)) !== null) {\n addHash(schedules, curSched, value, min - 1);\n }\n // parse x#y\n else if ((split = item.split('#')).length === 2) {\n value = getValue(split[0], offset, max);\n addHash(schedules, curSched, value, getValue(split[1]));\n }\n // parse x-y or x-y/z or */z or 0/z\n else {\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 } else {\n return Math.floor(number);\n }\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 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 } else if (type === 'mon') {\n return locale.MONTH[value - 1];\n }\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\n 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cronText.js","names":["correctCasus","text","seconds","replace","convertCronToText","cron","lang","withSeconds","split","length","cronToText","JQUERY_CRON_LOCALE","en"],"sources":["SimpleCron/cronText.js"],"sourcesContent":["import cronToText from './cron2text';\nimport JQUERY_CRON_LOCALE from './jquery.cron.locale';\n\nfunction correctCasus(text, seconds) {\n text = text.replace('Каждую(ый) минуту', 'Каждую минуту');\n text = text.replace('Каждую(ый) минут(у)', 'Каждую минуту');\n text = text.replace('Каждую(ый) час', 'Каждый час');\n text = text.replace('Каждую(ый) секунду', 'Каждую секунду');\n text = text.replace(/ (\\d{1,2}) числа/, ' $1го числа');\n\n text = text.replace(/ (\\d{1,2}) в Январе/, ' $1го числа в Январе');\n text = text.replace(/ (\\d{1,2}) в Феврале/, ' $1го числа в Феврале');\n text = text.replace(/ (\\d{1,2}) в Марте/, ' $1го числа в Марте');\n text = text.replace(/ (\\d{1,2}) в Апреле/, ' $1го числа в Апреле');\n text = text.replace(/ (\\d{1,2}) в Майе/, ' $1го числа в Майе');\n text = text.replace(/ (\\d{1,2}) в Июне/, ' $1го числа в Июне');\n text = text.replace(/ (\\d{1,2}) в Июле/, ' $1го числа в Июле');\n text = text.replace(/ (\\d{1,2}) в Августе/, ' $1го числа в Августе');\n text = text.replace(/ (\\d{1,2}) в Сентябре/, ' $1го числа в Сентябре');\n text = text.replace(/ (\\d{1,2}) в Октябре/, ' $1го числа в Октябре');\n text = text.replace(/ (\\d{1,2}) в Ноябре/, ' $1го числа в Ноябре');\n text = text.replace(/ (\\d{1,2}) в Декабре/, ' $1го числа в Декабре');\n\n text = text.replace('Каждую(ый) 0 минуту', 'Каждые ноль минут');\n text = text.replace(/Каждую\\(ый\\) ([\\d\\sи,]+) минуту/, 'Каждую $1 минуту');\n\n text = text.replace(/каждой\\(го\\) ([\\d\\sи,]+) минуту/, 'каждой $1 минуты');\n text = text.replace('каждой(го) минут(у)', 'каждой минуты');\n\n text = text.replace(' 0 часа(ов)', ' 0 часов');\n text = text.replace(' 1 часа(ов)', ' 1 час');\n text = text.replace(' 2 часа(ов)', ' 2 часа');\n text = text.replace(' 3 часа(ов)', ' 3 часа');\n text = text.replace(' 4 часа(ов)', ' 4 часа');\n text = text.replace(/ (\\d{1,2}) часа\\(ов\\)/, ' $1 часов');\n\n text = text.replace('Jede(r) Sekunde', 'Jede Sekunde');\n text = text.replace(/Jede\\(r\\) ([\\d\\sund,]+) Sekunde/, 'Jede $1 Sekunde');\n text = text.replace('Jede(r) Minute', 'Jede Minute');\n text = text.replace('Jede Minuten', 'Jede Minute');\n text = text.replace('Jede(r) Stunde', 'Jede Stunde');\n text = text.replace(/Jede\\(r\\) ([\\d\\sund,]+) Minute/, 'Jede $1 Minute');\n text = text.replace('Jede Sekunde in Minuten', 'Jede Sekunde in jeder Minute');\n\n return text;\n}\n\nfunction convertCronToText(cron, lang) {\n const withSeconds = cron.split(' ').length === 6;\n let text = cronToText(cron, withSeconds, JQUERY_CRON_LOCALE[lang] || JQUERY_CRON_LOCALE.en);\n return correctCasus(text, withSeconds);\n}\n\nexport default convertCronToText;\n"],"mappings":";;;;;;;AAAA;AACA;AAEA,
|
|
1
|
+
{"version":3,"file":"cronText.js","names":["_cron2text","_interopRequireDefault","require","_jqueryCron","correctCasus","text","seconds","replace","convertCronToText","cron","lang","withSeconds","split","length","cronToText","JQUERY_CRON_LOCALE","en","_default","exports"],"sources":["SimpleCron/cronText.js"],"sourcesContent":["import cronToText from './cron2text';\nimport JQUERY_CRON_LOCALE from './jquery.cron.locale';\n\nfunction correctCasus(text, seconds) {\n text = text.replace('Каждую(ый) минуту', 'Каждую минуту');\n text = text.replace('Каждую(ый) минут(у)', 'Каждую минуту');\n text = text.replace('Каждую(ый) час', 'Каждый час');\n text = text.replace('Каждую(ый) секунду', 'Каждую секунду');\n text = text.replace(/ (\\d{1,2}) числа/, ' $1го числа');\n\n text = text.replace(/ (\\d{1,2}) в Январе/, ' $1го числа в Январе');\n text = text.replace(/ (\\d{1,2}) в Феврале/, ' $1го числа в Феврале');\n text = text.replace(/ (\\d{1,2}) в Марте/, ' $1го числа в Марте');\n text = text.replace(/ (\\d{1,2}) в Апреле/, ' $1го числа в Апреле');\n text = text.replace(/ (\\d{1,2}) в Майе/, ' $1го числа в Майе');\n text = text.replace(/ (\\d{1,2}) в Июне/, ' $1го числа в Июне');\n text = text.replace(/ (\\d{1,2}) в Июле/, ' $1го числа в Июле');\n text = text.replace(/ (\\d{1,2}) в Августе/, ' $1го числа в Августе');\n text = text.replace(/ (\\d{1,2}) в Сентябре/, ' $1го числа в Сентябре');\n text = text.replace(/ (\\d{1,2}) в Октябре/, ' $1го числа в Октябре');\n text = text.replace(/ (\\d{1,2}) в Ноябре/, ' $1го числа в Ноябре');\n text = text.replace(/ (\\d{1,2}) в Декабре/, ' $1го числа в Декабре');\n\n text = text.replace('Каждую(ый) 0 минуту', 'Каждые ноль минут');\n text = text.replace(/Каждую\\(ый\\) ([\\d\\sи,]+) минуту/, 'Каждую $1 минуту');\n\n text = text.replace(/каждой\\(го\\) ([\\d\\sи,]+) минуту/, 'каждой $1 минуты');\n text = text.replace('каждой(го) минут(у)', 'каждой минуты');\n\n text = text.replace(' 0 часа(ов)', ' 0 часов');\n text = text.replace(' 1 часа(ов)', ' 1 час');\n text = text.replace(' 2 часа(ов)', ' 2 часа');\n text = text.replace(' 3 часа(ов)', ' 3 часа');\n text = text.replace(' 4 часа(ов)', ' 4 часа');\n text = text.replace(/ (\\d{1,2}) часа\\(ов\\)/, ' $1 часов');\n\n text = text.replace('Jede(r) Sekunde', 'Jede Sekunde');\n text = text.replace(/Jede\\(r\\) ([\\d\\sund,]+) Sekunde/, 'Jede $1 Sekunde');\n text = text.replace('Jede(r) Minute', 'Jede Minute');\n text = text.replace('Jede Minuten', 'Jede Minute');\n text = text.replace('Jede(r) Stunde', 'Jede Stunde');\n text = text.replace(/Jede\\(r\\) ([\\d\\sund,]+) Minute/, 'Jede $1 Minute');\n text = text.replace('Jede Sekunde in Minuten', 'Jede Sekunde in jeder Minute');\n\n return text;\n}\n\nfunction convertCronToText(cron, lang) {\n const withSeconds = cron.split(' ').length === 6;\n let text = cronToText(cron, withSeconds, JQUERY_CRON_LOCALE[lang] || JQUERY_CRON_LOCALE.en);\n return correctCasus(text, withSeconds);\n}\n\nexport default convertCronToText;\n"],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ var _cronText = _interopRequireDefault(require("./cronText"));
|
|
|
25
25
|
var _i18n = _interopRequireDefault(require("../../i18n"));
|
|
26
26
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
27
27
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
28
|
-
var styles = function styles(
|
|
28
|
+
var styles = function styles() {
|
|
29
29
|
return {
|
|
30
30
|
mainDiv: {
|
|
31
31
|
width: '100%',
|
|
@@ -53,15 +53,15 @@ var PERIODIC = {
|
|
|
53
53
|
var PERIODIC_TYPES = {
|
|
54
54
|
seconds: 'seconds',
|
|
55
55
|
minutes: 'minutes'
|
|
56
|
-
//hours: 'hours',
|
|
56
|
+
// hours: 'hours',
|
|
57
57
|
};
|
|
58
58
|
|
|
59
59
|
var WEEKDAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
|
|
60
60
|
function padding(num) {
|
|
61
61
|
if (num < 10) {
|
|
62
|
-
return
|
|
62
|
+
return "0".concat(num);
|
|
63
63
|
} else {
|
|
64
|
-
return
|
|
64
|
+
return "".concat(num);
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
var DEFAULT_STATE = {
|
|
@@ -182,7 +182,9 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
182
182
|
onChange: function onChange(e) {
|
|
183
183
|
var settings = JSON.parse(JSON.stringify(_this3.state[type]));
|
|
184
184
|
settings.minutes = parseInt(e.target.value, 10);
|
|
185
|
-
if (settings.minutes < 1)
|
|
185
|
+
if (settings.minutes < 1) {
|
|
186
|
+
settings.minutes = 1;
|
|
187
|
+
}
|
|
186
188
|
_this3.setState((0, _defineProperty2["default"])({}, type, settings), function () {
|
|
187
189
|
return _this3.recalcCron();
|
|
188
190
|
});
|
|
@@ -207,7 +209,9 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
207
209
|
onChange: function onChange(e) {
|
|
208
210
|
var settings = JSON.parse(JSON.stringify(_this3.state[type]));
|
|
209
211
|
settings.hours = parseInt(e.target.value, 10);
|
|
210
|
-
if (settings.hours < 1)
|
|
212
|
+
if (settings.hours < 1) {
|
|
213
|
+
settings.hours = 1;
|
|
214
|
+
}
|
|
211
215
|
_this3.setState((0, _defineProperty2["default"])({}, type, settings), function () {
|
|
212
216
|
return _this3.recalcCron();
|
|
213
217
|
});
|
|
@@ -244,7 +248,9 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
244
248
|
onChange: function onChange(e) {
|
|
245
249
|
var settings = JSON.parse(JSON.stringify(_this3.state[type]));
|
|
246
250
|
settings.period = parseInt(e.target.value, 10);
|
|
247
|
-
if (settings.period < 1)
|
|
251
|
+
if (settings.period < 1) {
|
|
252
|
+
settings.period = 1;
|
|
253
|
+
}
|
|
248
254
|
_this3.setState((0, _defineProperty2["default"])({}, type, settings), function () {
|
|
249
255
|
return _this3.recalcCron();
|
|
250
256
|
});
|
|
@@ -273,7 +279,7 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
273
279
|
return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
|
|
274
280
|
key: PERIODIC_TYPES[mode],
|
|
275
281
|
value: PERIODIC_TYPES[mode]
|
|
276
|
-
}, _i18n["default"].t(
|
|
282
|
+
}, _i18n["default"].t("sc_".concat(PERIODIC_TYPES[mode])));
|
|
277
283
|
})));
|
|
278
284
|
}
|
|
279
285
|
}
|
|
@@ -314,7 +320,7 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
314
320
|
var settings = this.state[type];
|
|
315
321
|
if (!settings.date) {
|
|
316
322
|
var d = new Date();
|
|
317
|
-
settings.date = d.getDate()
|
|
323
|
+
settings.date = "".concat(d.getDate(), ".").concat(padding(d.getMonth() + 1));
|
|
318
324
|
}
|
|
319
325
|
|
|
320
326
|
//<InputLabel htmlFor="formatted-text-mask-input">{I18n.t('sc_at')}</InputLabel>
|
|
@@ -396,9 +402,9 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
396
402
|
}
|
|
397
403
|
}, [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(function (hour) {
|
|
398
404
|
return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
|
|
399
|
-
key:
|
|
405
|
+
key: "B_".concat(hour),
|
|
400
406
|
value: hour
|
|
401
|
-
}, padding(hour)
|
|
407
|
+
}, "".concat(padding(hour), ":00"));
|
|
402
408
|
}))), /*#__PURE__*/_react["default"].createElement(_FormControl["default"], {
|
|
403
409
|
variant: "standard",
|
|
404
410
|
className: this.props.classes.formControl
|
|
@@ -422,9 +428,9 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
422
428
|
}
|
|
423
429
|
}, [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(function (hour) {
|
|
424
430
|
return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
|
|
425
|
-
key:
|
|
431
|
+
key: "A_".concat(hour),
|
|
426
432
|
value: hour
|
|
427
|
-
}, padding(hour)
|
|
433
|
+
}, "".concat(padding(hour), ":00"));
|
|
428
434
|
})))), this.getControlsWeekdaysElements('intervalBetween')];
|
|
429
435
|
}
|
|
430
436
|
}, {
|
|
@@ -503,7 +509,7 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
503
509
|
return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
|
|
504
510
|
key: PERIODIC[mode],
|
|
505
511
|
value: PERIODIC[mode]
|
|
506
|
-
}, _i18n["default"].t(
|
|
512
|
+
}, _i18n["default"].t("sc_".concat(PERIODIC[mode])));
|
|
507
513
|
})))), this.state.mode === PERIODIC.once && this.getOnceElements(), this.state.mode === PERIODIC.interval && this.getIntervalElements(), this.state.mode === PERIODIC.intervalBetween && this.getIntervalBetweenElements(), this.state.mode === PERIODIC.specific && this.getSpecificTimeElements());
|
|
508
514
|
}
|
|
509
515
|
}], [{
|
|
@@ -524,7 +530,7 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
524
530
|
end = list[i];
|
|
525
531
|
} else {
|
|
526
532
|
if (start !== end) {
|
|
527
|
-
text.push(start
|
|
533
|
+
text.push("".concat(start, "-").concat(end));
|
|
528
534
|
} else {
|
|
529
535
|
text.push(start);
|
|
530
536
|
}
|
|
@@ -533,7 +539,7 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
533
539
|
}
|
|
534
540
|
}
|
|
535
541
|
if (start !== end) {
|
|
536
|
-
text.push(start
|
|
542
|
+
text.push("".concat(start, "-").concat(end));
|
|
537
543
|
} else {
|
|
538
544
|
text.push(start);
|
|
539
545
|
}
|
|
@@ -554,7 +560,7 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
554
560
|
var start = parseInt(_parts[0], 10);
|
|
555
561
|
var end = parseInt(_parts[1], 10);
|
|
556
562
|
for (var day = start; day <= end; day++) {
|
|
557
|
-
if (list.
|
|
563
|
+
if (!list.includes(day === 7 ? 0 : day)) {
|
|
558
564
|
list.push(day === 7 ? 0 : day);
|
|
559
565
|
}
|
|
560
566
|
}
|
|
@@ -563,7 +569,7 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
563
569
|
part = 0;
|
|
564
570
|
}
|
|
565
571
|
part = parseInt(part, 10);
|
|
566
|
-
if (list.
|
|
572
|
+
if (!list.includes(part)) {
|
|
567
573
|
list.push(part);
|
|
568
574
|
}
|
|
569
575
|
}
|
|
@@ -612,7 +618,7 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
612
618
|
};
|
|
613
619
|
} else
|
|
614
620
|
// */n * * * *
|
|
615
|
-
if (options.seconds === null && options.minutes.
|
|
621
|
+
if (options.seconds === null && options.minutes.includes('/') && options.hours === '*' && options.date === '*' && options.months === '*') {
|
|
616
622
|
state.mode = PERIODIC.interval;
|
|
617
623
|
state.interval = {
|
|
618
624
|
period: parseInt(options.minutes.split('/')[1], 10),
|
|
@@ -620,7 +626,7 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
620
626
|
};
|
|
621
627
|
} else
|
|
622
628
|
// */n * * * * *
|
|
623
|
-
if (options.seconds !== null && options.seconds.
|
|
629
|
+
if (options.seconds !== null && options.seconds.includes('/') && options.minutes === '*' && options.hours === '*' && options.date === '*' && options.months === '*') {
|
|
624
630
|
state.mode = PERIODIC.interval;
|
|
625
631
|
state.interval = {
|
|
626
632
|
period: parseInt(options.seconds.split('/')[1], 10),
|
|
@@ -628,7 +634,7 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
628
634
|
};
|
|
629
635
|
} else
|
|
630
636
|
// */n * 1-24 * * 1-7 or */n * 1-24 * * *
|
|
631
|
-
if (options.seconds !== null && options.seconds.
|
|
637
|
+
if (options.seconds !== null && options.seconds.includes('/') && options.minutes === '*' && options.hours.includes('-') && options.date === '*' && options.months === '*') {
|
|
632
638
|
state.mode = PERIODIC.intervalBetween;
|
|
633
639
|
state.intervalBetween = {
|
|
634
640
|
period: parseInt(options.seconds.split('/')[1], 10),
|
|
@@ -639,7 +645,7 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
639
645
|
};
|
|
640
646
|
} else
|
|
641
647
|
// */n 1-24 * * 1-7 or */n 1-24 * * *
|
|
642
|
-
if (options.seconds === null && options.minutes.
|
|
648
|
+
if (options.seconds === null && options.minutes.includes('/') && options.hours.includes('-') && options.date === '*' && options.months === '*') {
|
|
643
649
|
state.mode = PERIODIC.intervalBetween;
|
|
644
650
|
state.intervalBetween = {
|
|
645
651
|
period: parseInt(options.minutes.split('/')[1], 10),
|
|
@@ -653,7 +659,7 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
653
659
|
if (options.seconds === null && parseInt(options.minutes, 10).toString() === options.minutes && parseInt(options.hours, 10).toString() === options.hours && options.date === '*' && options.months === '*') {
|
|
654
660
|
state.mode = PERIODIC.specific;
|
|
655
661
|
state.specific = {
|
|
656
|
-
time: padding(parseInt(options.hours, 10))
|
|
662
|
+
time: "".concat(padding(parseInt(options.hours, 10)), ":").concat(padding(parseInt(options.minutes, 10))),
|
|
657
663
|
weekdays: SimpleCron.text2weekdays(options.dow)
|
|
658
664
|
};
|
|
659
665
|
} else
|
|
@@ -661,8 +667,8 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
661
667
|
if (options.seconds === null && parseInt(options.minutes, 10).toString() === options.minutes && parseInt(options.hours, 10).toString() === options.hours && parseInt(options.date, 10).toString() === options.date && parseInt(options.months, 10).toString() === options.months && options.dow === '*') {
|
|
662
668
|
state.mode = PERIODIC.once;
|
|
663
669
|
state.once = {
|
|
664
|
-
time: padding(parseInt(options.hours, 10))
|
|
665
|
-
date: padding(parseInt(options.date, 10))
|
|
670
|
+
time: "".concat(padding(parseInt(options.hours, 10)), ":").concat(padding(parseInt(options.minutes, 10))),
|
|
671
|
+
date: "".concat(padding(parseInt(options.date, 10)), ".").concat(padding(parseInt(options.months, 10))),
|
|
666
672
|
// ignored
|
|
667
673
|
weekdays: SimpleCron.text2weekdays(options.dow)
|
|
668
674
|
};
|
|
@@ -686,14 +692,14 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
686
692
|
if (settings.hours > 24) settings.hours = 24;
|
|
687
693
|
if (settings.hours < 1) settings.hours = 1;
|
|
688
694
|
if (state.extended) {
|
|
689
|
-
cron = "".concat(settings.minutes > 1 ?
|
|
695
|
+
cron = "".concat(settings.minutes > 1 ? "*/".concat(settings.minutes) : '*', " ").concat(settings.hours > 1 ? "*/".concat(settings.hours) : '*', " * * *");
|
|
690
696
|
} else {
|
|
691
697
|
switch (settings.unit) {
|
|
692
698
|
case PERIODIC_TYPES.seconds:
|
|
693
|
-
cron = "".concat(settings.period > 1 ?
|
|
699
|
+
cron = "".concat(settings.period > 1 ? "*/".concat(settings.period) : '*', " * * * * *");
|
|
694
700
|
break;
|
|
695
701
|
case PERIODIC_TYPES.minutes:
|
|
696
|
-
cron = "".concat(settings.period > 1 ?
|
|
702
|
+
cron = "".concat(settings.period > 1 ? "*/".concat(settings.period) : '*', " * * * *");
|
|
697
703
|
break;
|
|
698
704
|
default:
|
|
699
705
|
break;
|
|
@@ -707,17 +713,17 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
707
713
|
if (_settings.timeFrom === 0 && _settings.timeTo === 24) {
|
|
708
714
|
hours = '*';
|
|
709
715
|
} else {
|
|
710
|
-
hours = _settings.timeFrom !== _settings.timeTo ? _settings.timeFrom
|
|
716
|
+
hours = _settings.timeFrom !== _settings.timeTo ? "".concat(_settings.timeFrom, "-").concat(_settings.timeTo) : '*';
|
|
711
717
|
}
|
|
712
718
|
if (_settings.period > 60) _settings.period = 60;
|
|
713
719
|
if (_settings.period < 1) _settings.period = 1;
|
|
714
720
|
_settings.unit = _settings.unit || PERIODIC_TYPES.minutes;
|
|
715
721
|
switch (_settings.unit) {
|
|
716
722
|
case PERIODIC_TYPES.seconds:
|
|
717
|
-
cron = "".concat(_settings.period > 1 ?
|
|
723
|
+
cron = "".concat(_settings.period > 1 ? "*/".concat(_settings.period) : '*', " * ").concat(hours, " * * ").concat(this.periodArray2text(_settings.weekdays));
|
|
718
724
|
break;
|
|
719
725
|
case PERIODIC_TYPES.minutes:
|
|
720
|
-
cron = "".concat(_settings.period > 1 ?
|
|
726
|
+
cron = "".concat(_settings.period > 1 ? "*/".concat(_settings.period) : '*', " ").concat(hours, " * * ").concat(this.periodArray2text(_settings.weekdays));
|
|
721
727
|
break;
|
|
722
728
|
default:
|
|
723
729
|
break;
|
|
@@ -735,7 +741,7 @@ var SimpleCron = /*#__PURE__*/function (_React$Component) {
|
|
|
735
741
|
} else if (state.mode === PERIODIC.once) {
|
|
736
742
|
var _settings3 = state.once || {};
|
|
737
743
|
if (!_settings3.date) {
|
|
738
|
-
_settings3.date = new Date().getDate()
|
|
744
|
+
_settings3.date = "".concat(new Date().getDate(), ".").concat(padding(new Date().getMonth() + 1));
|
|
739
745
|
}
|
|
740
746
|
var _parts2 = (_settings3.time || '00:00').split(':');
|
|
741
747
|
var partsDate = _settings3.date.split('.');
|