@iobroker/adapter-react-v5 4.0.7 → 4.0.9
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/404.js.map +1 -1
- package/Components/FileBrowser.js.map +1 -1
- package/Components/IconSelector.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCRON.js +13 -15
- package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCertificateSelect.js +39 -41
- package/Components/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCheckLicense.js +314 -322
- package/Components/JsonConfigComponent/ConfigCheckLicense.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCustom.js +138 -144
- package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFile.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFileSelector.js +95 -99
- package/Components/JsonConfigComponent/ConfigFileSelector.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFunc.js +13 -7
- package/Components/JsonConfigComponent/ConfigFunc.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigGeneric.js +4 -6
- package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigIP.js +1 -1
- package/Components/JsonConfigComponent/ConfigIP.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigImageUpload.js +21 -23
- package/Components/JsonConfigComponent/ConfigImageUpload.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigInstanceSelect.js +69 -71
- package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigJsonEditor.js +17 -19
- package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigLanguage.js +2 -2
- package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigObjectId.js +14 -16
- package/Components/JsonConfigComponent/ConfigObjectId.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPattern.js +1 -1
- package/Components/JsonConfigComponent/ConfigPattern.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigRoom.js +12 -6
- package/Components/JsonConfigComponent/ConfigRoom.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSelect.js +1 -1
- package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSendto.js +54 -41
- package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSetState.js +70 -76
- package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTable.js +21 -23
- package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTextSendTo.js +2 -2
- package/Components/JsonConfigComponent/ConfigTextSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigUUID.js +13 -15
- package/Components/JsonConfigComponent/ConfigUUID.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigUser.js +2 -2
- package/Components/JsonConfigComponent/ConfigUser.js.map +1 -1
- package/Components/ObjectBrowser.js +198 -204
- package/Components/ObjectBrowser.js.map +1 -1
- package/Components/Schedule.js.map +1 -1
- package/Dialogs/SelectFile.js.map +1 -1
- package/Dialogs/SelectID.js.map +1 -1
- package/GenericApp.js +1 -1
- package/GenericApp.js.map +1 -1
- package/LICENSE +1 -1
- package/README.md +7 -3
- package/_Connection.js +23 -25
- package/_Connection.js.map +1 -1
- package/i18n/de.json +3 -1
- package/i18n/en.json +3 -1
- package/i18n/es.json +3 -1
- package/i18n/fr.json +3 -1
- package/i18n/it.json +3 -1
- package/i18n/nl.json +3 -1
- package/i18n/pl.json +3 -1
- package/i18n/pt.json +3 -1
- package/i18n/ru.json +3 -1
- package/i18n/uk.json +3 -1
- package/i18n/zh-cn.json +3 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schedule.js","names":["styles","theme","hr","border","borderTop","scrollWindow","width","overflow","height","rowDiv","modeDiv","display","verticalAlign","settingsDiv","inputTime","marginTop","marginLeft","inputDate","inputEvery","marginRight","inputRadio","padding","inputGroup","maxWidth","inputGroupElement","inputDateDay","inputDateDayCheck","inputSmallCheck","rowOnce","rowDays","background","palette","mode","rowDows","rowDates","rowWeeks","rowMonths","rowMonthsDates","rowYears","rowDaysDows","paddingLeft","paddingBottom","rowDowsDows","WEEKDAYS","MONTHS","PERIODS","ASTRO","num","TextTime","props","inputRef","other","placeholder","propTypes","PropTypes","func","isRequired","TextDate","DEFAULT","time","exactTime","start","end","interval","period","once","days","dows","dates","weeks","months","years","yearMonth","yearDate","valid","from","to","string2USdate","date","parts","split","length","Schedule","schedule","JSON","parse","e","Object","keys","onChange","setTimeout","state","assign","now2string","refFrom","React","createRef","refTo","refOnce","desc","state2text","stringify","force","isDiff","setState","copy","string2date","today","Date","setHours","setMinutes","setSeconds","setMilliseconds","wholeDay","day","night","fromTo","classes","_schedule","I18n","t","target","value","shrink","getPeriodSettingsMinutes","isAstro","indexOf","map","event","isOnce","timerOnce","clearTimeout","current","style","toString","getDate","getMonth","getFullYear","getPeriodSettingsDaily","getPeriodSettingsWeekdays","getPeriodSettingsWeekly","getPeriodSettingsMonthly","i","push","getPeriodSettingsDates","getPeriodSettingsYearly","parseInt","month","minutes","hours","isSpecific","includes","checked","splice","sort","a","b","paddingRight","parsedDates","result","opacity","cursor","userSelect","pointerEvents","parsedMonths","fontWeight","timerFrom","timerTo","getTimePeriodElements","getTimeExactElements","getDivider","getPeriodModes","getValidSettings","validFrom","now","tDows","last","pop","join","tMonths","getTime","isEnd","d","setDate","getMilliseconds","str","Component","string","withStyles"],"sources":["Schedule.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport Input from '@mui/material/Input';\nimport Radio from '@mui/material/Radio';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport FormGroup from '@mui/material/FormGroup';\nimport Checkbox from '@mui/material/Checkbox';\nimport MaskedInput from 'react-text-mask';\nimport MenuItem from '@mui/material/MenuItem';\nimport Select from '@mui/material/Select';\nimport TextField from '@mui/material/TextField';\n\nimport I18n from '../i18n';\n\nconst styles = theme => ({\n hr: {\n border: 0,\n borderTop: '1px solid gray'\n },\n scrollWindow: {\n width: '100%',\n overflow: 'auto',\n height: 'calc(100% - 22px)'\n },\n rowDiv: {\n width: '100%',\n },\n modeDiv: {\n width: 200,\n display: 'inline-block',\n verticalAlign: 'top'\n },\n settingsDiv: {\n display: 'inline-block',\n verticalAlign: 'top'\n },\n inputTime: {\n width: 90,\n marginTop: 0,\n marginLeft: 5\n },\n inputDate: {\n width: 140,\n marginTop: 0,\n marginLeft: 5\n },\n inputEvery: {\n width: 40,\n marginLeft: 5,\n marginRight: 5,\n },\n inputRadio: {\n padding: '4px 12px',\n verticalAlign: 'top'\n },\n inputGroup: {\n maxWidth: 400,\n display: 'inline-block'\n },\n inputGroupElement: {\n width: 120,\n },\n inputDateDay: {\n width: 60,\n },\n inputDateDayCheck: {\n padding: 4,\n },\n inputSmallCheck: {\n padding: 0,\n },\n rowOnce: {},\n\n rowDays: {\n background: theme.palette.mode !== 'dark' ? '#ddeaff' : '#4b5057'\n },\n rowDows: {\n background: theme.palette.mode !== 'dark' ? '#DDFFDD' : '#52646c'\n },\n rowDates: {\n background: theme.palette.mode !== 'dark' ? '#DDDDFF' : '#747a86'\n },\n rowWeeks: {\n background: theme.palette.mode !== 'dark' ? '#DDDDFF' : '#717680'\n },\n rowMonths: {\n background: theme.palette.mode !== 'dark' ? '#DDFFFF' : '#1f5557'\n },\n rowMonthsDates: {\n background: theme.palette.mode !== 'dark' ? '#EEFFFF' : '#3c5737',\n maxWidth: 600\n },\n rowYears: {\n background: theme.palette.mode !== 'dark' ? '#fbffdd' : '#574b33'\n },\n rowDaysDows: {\n background: theme.palette.mode !== 'dark' ? '#EEEAFF' : '#573544',\n paddingLeft: 10,\n paddingBottom: 10\n },\n rowDowsDows: {\n background: theme.palette.mode !== 'dark' ? '#EEFFEE' : '#3d4c54',\n paddingLeft: 10,\n paddingBottom: 10\n }\n});\n\nconst WEEKDAYS = [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n 'Sunday',\n];\nconst MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December'\n];\nconst PERIODS = {\n 'minutes': 'minutes',\n 'hours': 'hours',\n};\nconst ASTRO = [\n 'sunrise',\n 'sunriseEnd',\n 'goldenHourEnd',\n 'solarNoon',\n 'goldenHour',\n 'sunsetStart',\n 'sunset',\n 'dusk',\n 'nauticalDusk',\n 'night',\n 'nightEnd',\n 'nauticalDawn',\n 'dawn',\n 'nadir',\n];\n\nfunction padding(num) {\n if (num < 10) {\n return '0' + num;\n } else {\n return '' + num;\n }\n}\n\nfunction TextTime(props) {\n const {inputRef, ...other} = props;\n\n return <MaskedInput\n {...other}\n ref={inputRef}\n mask={[/[0-2]/, /[0-9]/, ':', /[0-5]/, /[0-9]/]}\n placeholderChar={props.placeholder || '00:00'}\n showMask\n />;\n}\n\nTextTime.propTypes = {\n inputRef: PropTypes.func.isRequired,\n};\n\nfunction TextDate(props) {\n const {inputRef, ...other} = props;\n\n return <MaskedInput\n {...other}\n ref={inputRef}\n mask={[/[0-3]/, /[0-9]/, '.', /[0-1]/, /[0-9]/, '.', '2', '0', /[0-9]/, /[0-9]/]}\n placeholderChar={props.placeholder || '01.01.2020'}\n showMask\n />;\n}\n\nTextDate.propTypes = {\n inputRef: PropTypes.func.isRequired,\n};\n\nconst DEFAULT = {\n time: {\n exactTime: false,\n\n start: '00:00',\n end: '23:59',\n\n mode: 'hours',\n interval: 1,\n },\n period: {\n once: '',\n days: 1,\n dows: '',\n dates: '',\n weeks: 0,\n months: '',\n\n years: 0,\n yearMonth: 0,\n yearDate: 0,\n },\n valid: {\n from: '',\n to: ''\n }\n};\n\nfunction string2USdate(date) {\n const parts = date.split('.');\n if (parts.length === 3) {\n return parts[2] + '-' + parts[1] + '-' + parts[0];\n }\n\n}\n\nclass Schedule extends React.Component {\n constructor(props) {\n super(props);\n let schedule;\n if (this.props.schedule && typeof this.props.schedule === 'string' && this.props.schedule[0] === '{') {\n try {\n schedule = JSON.parse(this.props.schedule);\n } catch (e) {\n\n }\n }\n\n if ((!schedule || !Object.keys(schedule).length) && this.props.onChange) {\n setTimeout(() => this.onChange(this.state.schedule, true), 200);\n }\n schedule = schedule || {};\n schedule = Object.assign({}, DEFAULT, schedule);\n schedule.valid.from = schedule.valid.from || Schedule.now2string();\n\n this.refFrom = React.createRef();\n this.refTo = React.createRef();\n this.refOnce = React.createRef();\n\n this.state = {\n schedule,\n desc: Schedule.state2text(schedule)\n };\n\n if (JSON.stringify(schedule) !== this.props.schedule) {\n setTimeout(() =>\n this.props.onChange && this.props.onChange(JSON.stringify(schedule)), 100);\n }\n }\n\n onChange(schedule, force) {\n const isDiff = JSON.stringify(schedule) !== JSON.stringify(this.state.schedule);\n if (force || isDiff) {\n isDiff && this.setState({schedule, desc: Schedule.state2text(schedule)});\n const copy = JSON.parse(JSON.stringify(schedule));\n if (copy.period.once) {\n let once = copy.period.once;\n delete copy.period;\n copy.period = {once};\n delete copy.valid;\n } else if (copy.period.days) {\n let days = copy.period.days;\n let dows = copy.period.dows;\n delete copy.period;\n copy.period = {days};\n if (dows && dows !== '[]') {\n copy.period.dows = dows;\n }\n } else if (copy.period.weeks) {\n let weeks = copy.period.weeks;\n let dows = copy.period.dows;\n delete copy.period;\n copy.period = {weeks};\n if (dows && dows !== '[]') {\n copy.period.dows = dows;\n }\n } else if (copy.period.months) {\n let months = copy.period.months;\n let dates = copy.period.dates;\n delete copy.period;\n copy.period = {months};\n if (dates && dates !== '[]') {\n copy.period.dates = dates;\n }\n } else if (copy.period.years) {\n let years = copy.period.years;\n let yearMonth = copy.period.yearMonth;\n let yearDate = copy.period.yearDate;\n delete copy.period;\n copy.period = {years, yearDate};\n if (yearMonth) {\n copy.period.yearMonth = yearMonth;\n }\n }\n\n if (copy.time.exactTime) {\n delete copy.time.end;\n delete copy.time.mode;\n delete copy.time.interval;\n } else {\n delete copy.time.exactTime;\n }\n if (copy.valid) {\n if (!copy.valid.to) {\n delete copy.valid.to;\n }\n if (copy.period.days === 1 || copy.period.weeks === 1 || copy.period.months === 1 || copy.period.years === 1) {\n const from = Schedule.string2date(copy.valid.from);\n const today = new Date();\n today.setHours(0);\n today.setMinutes(0);\n today.setSeconds(0);\n today.setMilliseconds(0);\n if (from <= today) {\n delete copy.valid.from;\n }\n }\n if (!copy.valid.from && !copy.valid.to) {\n delete copy.valid;\n }\n }\n\n this.props.onChange && this.props.onChange(JSON.stringify(copy), Schedule.state2text(schedule));\n }\n }\n\n static state2text(schedule) {\n if (typeof schedule === 'string') {\n try {\n schedule = JSON.parse(schedule);\n } catch (e) {\n schedule = {};\n }\n }\n\n let desc = [];\n let validFrom = Schedule.string2date(schedule.valid.from);\n if (schedule.period.once) {\n // once\n let once = Schedule.string2date(schedule.period.once);\n let now = new Date();\n now.setMilliseconds(0);\n now.setSeconds(0);\n now.setMinutes(0);\n now.setHours(0);\n\n //\n if (once < now) {\n // will ne be not executed any more, because start is in the past\n return I18n.t('sch_desc_onceInPast');\n } else {\n // only once\n desc.push(I18n.t('sch_desc_once_on', schedule.period.once));\n }\n } else if (schedule.period.days) {\n if (schedule.period.days === 1) {\n if (schedule.period.dows) {\n const dows = JSON.parse(schedule.period.dows);\n if (dows.length === 2 && dows[0] === 0 && dows[1] === 6) {\n // on weekends\n desc.push(I18n.t('sch_desc_onWeekends'));\n } else if (dows.length === 5 && dows[0] === 1 && dows[1] === 2 && dows[2] === 3 && dows[3] === 4 && dows[4] === 5) {\n // on workdays\n desc.push(I18n.t('sch_desc_onWorkdays'));\n } else {\n const tDows = dows.map(day => I18n.t(WEEKDAYS[day]));\n if (tDows.length === 1) {\n // on Monday\n desc.push(I18n.t('sch_desc_onWeekday', tDows[0]));\n } else if (tDows.length === 7) {\n // on every day\n desc.push(I18n.t('sch_desc_everyDay'));\n } else {\n const last = tDows.pop();\n // on Monday and Sunday\n desc.push(I18n.t('sch_desc_onWeekdays', tDows.join(', '), last));\n }\n }\n } else {\n desc.push(I18n.t('sch_desc_everyDay'));\n }\n } else {\n desc.push(I18n.t('sch_desc_everyNDay', schedule.period.days));\n }\n } else if (schedule.period.weeks) {\n if (schedule.period.weeks === 1) {\n desc.push(I18n.t('sch_desc_everyWeek'));\n } else {\n desc.push(I18n.t('sch_desc_everyNWeeks', schedule.period.weeks));\n }\n\n if (schedule.period.dows) {\n const dows = JSON.parse(schedule.period.dows);\n if (dows.length === 2 && dows[0] === 0 && dows[1] === 6) {\n // on weekends\n desc.push(I18n.t('sch_desc_onWeekends'));\n } else if (dows.length === 5 && dows[0] === 1 && dows[1] === 2 && dows[2] === 3 && dows[3] === 4 && dows[4] === 5) {\n // on workdays\n desc.push(I18n.t('sch_desc_onWorkdays'));\n } else {\n const tDows = dows.map(day => I18n.t(WEEKDAYS[day]));\n if (tDows.length === 1) {\n // on Monday\n desc.push(I18n.t('sch_desc_onWeekday', tDows[0]));\n } else if (tDows.length === 7) {\n // on every day\n desc.push(I18n.t('sch_desc_everyDay'));\n } else {\n const last = tDows.pop();\n // on Monday and Sunday\n desc.push(I18n.t('sch_desc_onWeekdays', tDows.join(', '), last));\n }\n }\n } else {\n return I18n.t('sch_desc_never');\n }\n } else if (schedule.period.months) {\n if (schedule.period.dates) {\n const dates = JSON.parse(schedule.period.dates);\n if (dates.length === 1) {\n // in 1 of month\n desc.push(I18n.t('sch_desc_onDate', dates[0]));\n } else if (dates.length === 31) {\n desc.push(I18n.t('sch_desc_onEveryDate'));\n } else if (!dates.length) {\n return I18n.t('sch_desc_never');\n } else {\n const last = dates.pop();\n // in 1 and 4 of month\n desc.push(I18n.t('sch_desc_onDates', dates.join(', '), last));\n }\n } else {\n desc.push(I18n.t('sch_desc_onEveryDate'));\n }\n\n if (schedule.period.months === 1) {\n desc.push(I18n.t('sch_desc_everyMonth'));\n } else if (typeof schedule.period.months === 'number') {\n desc.push(I18n.t('sch_desc_everyNMonths', schedule.period.months));\n } else {\n const months = JSON.parse(schedule.period.months);\n const tMonths = months.map(month => I18n.t(MONTHS[month - 1]));\n if (!tMonths.length) {\n // in January\n return I18n.t('sch_desc_never');\n } else if (tMonths.length === 1) {\n // in January\n desc.push(I18n.t('sch_desc_onMonth', tMonths[0]));\n } else if (tMonths.length === 12) {\n // every month\n desc.push(I18n.t('sch_desc_everyMonth'));\n } else {\n const last = tMonths.pop();\n // in January and May\n desc.push(I18n.t('sch_desc_onMonths', tMonths.join(', '), last));\n }\n }\n } else if (schedule.period.years) {\n if (schedule.period.years === 1) {\n desc.push(I18n.t('sch_desc_everyYear'));\n } else {\n desc.push(I18n.t('sch_desc_everyNYears', schedule.period.years));\n }\n desc.push(I18n.t('sch_desc_onDate', schedule.period.yearDate, schedule.period.yearMonth ? I18n.t(MONTHS[schedule.period.yearMonth - 1]) : I18n.t('sch_desc_everyMonth')));\n }\n\n // time\n if (schedule.time.exactTime) {\n if (ASTRO.indexOf(schedule.time.start) !== -1) {\n // at sunset\n desc.push(I18n.t('sch_desc_atTime', I18n.t('sch_astro_' + schedule.time.start)));\n } else {\n // at HH:MM\n desc.push(I18n.t('sch_desc_atTime', schedule.time.start));\n }\n } else {\n if (schedule.time.mode === PERIODS.minutes) {\n if (schedule.time.interval === 1) {\n // every minute\n desc.push(I18n.t('sch_desc_everyMinute'));\n } else {\n // every N minutes\n desc.push(I18n.t('sch_desc_everyNMinutes', schedule.time.interval));\n }\n } else {\n if (schedule.time.interval === 1) {\n // every minute\n desc.push(I18n.t('sch_desc_everyHour'));\n } else {\n // every N minutes\n desc.push(I18n.t('sch_desc_everyNHours', schedule.time.interval));\n }\n }\n const start = ASTRO.indexOf(schedule.time.start) !== -1 ? I18n.t('sch_astro_' + schedule.time.start) : schedule.time.start;\n const end = ASTRO.indexOf(schedule.time.end) !== -1 ? I18n.t('sch_astro_' + schedule.time.end) : schedule.time.end;\n if (start !== '00:00' || (end !== '24:00' && end !== '23:59')) {\n // from HH:mm to HH:mm\n desc.push(I18n.t('sch_desc_intervalFromTo', start, end));\n }\n }\n\n if (!schedule.period.once) {\n // valid\n if (validFrom.getTime() > Date.now() && schedule.valid.to) {\n // from XXX to XXXX\n desc.push(I18n.t('sch_desc_validFromTo', schedule.valid.from, schedule.valid.to));\n } else if (validFrom.getTime() > Date.now()) {\n // from XXXX\n desc.push(I18n.t('sch_desc_validFrom', schedule.valid.from));\n } else if (schedule.valid.to) {\n // till XXXX\n desc.push(I18n.t('sch_desc_validTo', schedule.valid.to));\n }\n }\n return desc.join(' ');\n }\n\n getTimePeriodElements() {\n const schedule = this.state.schedule;\n let wholeDay = false;\n let day = false;\n let night = false;\n let fromTo = true;\n if (schedule.time.start === '00:00' && schedule.time.end === '24:00') {\n wholeDay = true;\n fromTo = false;\n } else if (schedule.time.start === 'sunrise') {\n day = true;\n fromTo = false;\n } else if (schedule.time.start === 'sunset') {\n night = true;\n fromTo = false;\n }\n\n return <div key=\"timePeriod\" className={this.props.classes.rowDiv}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!schedule.time.exactTime}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.exactTime = false;\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_intervalTime')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <div className={this.props.classes.settingsDiv}>\n {!schedule.time.exactTime && <div>\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!fromTo}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = '00:00';\n _schedule.time.end = '23:59';\n this.onChange(_schedule);\n }}/>}\n label={!fromTo ? I18n.t('sch_fromTo') : ''}/>\n {fromTo && [\n <TextField\n variant=\"standard\"\n className={this.props.classes.inputTime}\n style={{marginRight: 10}}\n key=\"exactTimeFrom\"\n type=\"time\"\n value={this.state.schedule.time.start}\n //InputProps={{inputComponent: TextTime}}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n InputLabelProps={{shrink: true,}}\n label={I18n.t('sch_from')}\n margin=\"normal\"\n />,\n <TextField\n variant=\"standard\"\n className={this.props.classes.inputTime}\n key=\"exactTimeTo\"\n type=\"time\"\n value={this.state.schedule.time.end}\n //InputProps={{inputComponent: TextTime}}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.end = e.target.value;\n this.onChange(_schedule);\n }}\n InputLabelProps={{shrink: true,}}\n label={I18n.t('sch_to')}\n margin=\"normal\"\n />\n ]}\n </div>\n </div>}\n\n {!schedule.time.exactTime && <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!wholeDay}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = '00:00';\n _schedule.time.end = '24:00';\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_wholeDay')}/></div>}\n\n {!schedule.time.exactTime && <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!day}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = 'sunrise';\n _schedule.time.end = 'sunset';\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_astroDay')}/></div>}\n\n {!schedule.time.exactTime && <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!night} onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = 'sunset';\n _schedule.time.end = 'sunrise';\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_astroNight')}/></div>}\n </div>\n {!schedule.time.exactTime && this.getPeriodSettingsMinutes()}\n </div>\n </div>;\n }\n\n getTimeExactElements() {\n const isAstro = ASTRO.indexOf(this.state.schedule.time.start) !== -1;\n\n return <div key=\"timeExact\" className={this.props.classes.rowDiv}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!this.state.schedule.time.exactTime}\n onClick={() => {\n const schedule = JSON.parse(JSON.stringify(this.state.schedule));\n schedule.time.exactTime = true;\n this.onChange(schedule);\n }}/>} label={I18n.t('sch_exactTime')}/>\n </div>\n {this.state.schedule.time.exactTime && <Select\n variant=\"standard\"\n value={isAstro ? this.state.schedule.time.start : '00:00'}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n >\n <MenuItem key=\"specific\" value={'00:00'}>{I18n.t('sch_specificTime')}</MenuItem>\n {ASTRO.map(event => <MenuItem key={event} value={event}>{I18n.t('sch_astro_' + event)}</MenuItem>)}\n </Select>\n }\n {this.state.schedule.time.exactTime && !isAstro &&\n <div className={this.props.classes.settingsDiv}><TextField\n variant=\"standard\"\n className={this.props.classes.inputTime}\n key=\"exactTimeValue\"\n value={this.state.schedule.time.start}\n type=\"time\"\n // inputComponent={TextTime}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n /></div>\n }\n </div>;\n }\n\n getDivider() {\n return <hr className={this.props.classes.hr}/>;\n }\n\n getPeriodModes() {\n const schedule = this.state.schedule;\n const isOnce = !schedule.period.dows && !schedule.period.months && !schedule.period.dates && !schedule.period.years && !schedule.period.days && !schedule.period.weeks;\n if (isOnce && !schedule.period.once) {\n schedule.period.once = Schedule.now2string(true);\n }\n\n return [\n // ----- once ---\n <div key=\"once\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowOnce}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!isOnce}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.once = _schedule.period.once || Schedule.now2string(true);\n _schedule.period.dows = '';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodOnce')}/>\n </div>\n {isOnce && <div className={this.props.classes.settingsDiv}>\n {<TextField\n variant=\"standard\"\n className={this.props.classes.inputDate}\n type=\"date\"\n ref={this.refOnce}\n key=\"exactDateAt\"\n defaultValue={string2USdate(schedule.period.once)}\n //InputProps={{inputComponent: TextTime}}\n onChange={e => {\n this.timerOnce && clearTimeout(this.timerOnce);\n\n this.refOnce.current.style.background = '#ff000030';\n this.timerOnce = setTimeout(value => {\n this.timerOnce = null;\n this.refOnce.current.style.background = '';\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.period.once = padding(date.getDate()) + '.' + padding(date.getMonth() + 1) + '.' + date.getFullYear();\n this.onChange(_schedule);\n }\n }, 1500, e.target.value);\n }}\n InputLabelProps={{shrink: true,}}\n label={I18n.t('sch_at')}\n margin=\"normal\"\n />}\n </div>}\n </div>,\n\n\n // ----- days ---\n <div key=\"days\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowDays}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.days}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 1;\n _schedule.period.dows = '';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodDaily')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n {this.getPeriodSettingsDaily()}\n {schedule.period.days ? this.getPeriodSettingsWeekdays() : null}\n </div>\n </div>,\n\n\n // ----- days of weeks ---\n /*!schedule.period.days && (\n <div key=\"dows\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowDows}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel control={<Radio className={this.props.classes.inputRadio} checked={!!schedule.period.dows} onClick={() => {\n const schedule = JSON.parse(JSON.stringify(this.state.schedule));\n schedule.period.dows = schedule.period.dows ? '' : '[0,1,2,3,4,5,6]';\n this.onChange(schedule);\n }}/>}\n label={I18n.t('sch_periodWeekdays')} />\n </div>\n <div className={this.props.classes.settingsDiv}>\n {this.getPeriodSettingsWeekdays()}\n </div>\n </div>,\n*/\n // ----- weeks ---\n <div key=\"weeks\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowDows}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.weeks}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = schedule.period.weeks ? 0 : 1;\n _schedule.period.dows = schedule.period.dows || '[0]';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWeekly')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <div className={this.props.classes.settingsDiv}>{this.getPeriodSettingsWeekly()}</div>\n <div\n className={this.props.classes.settingsDiv + ' ' + this.props.classes.rowDowsDows}>{this.state.schedule.period.weeks ? this.getPeriodSettingsWeekdays() : null}</div>\n </div>\n </div>,\n\n\n // ----- months ---\n <div key=\"months\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowMonths}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.months}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 1;\n _schedule.period.dows = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodMonthly')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n {this.getPeriodSettingsMonthly()}\n {schedule.period.months ? <div>\n <div className={this.props.classes.settingsDiv + ' ' + this.props.classes.rowMonthsDates}>\n <FormControlLabel\n control={<Checkbox\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.dates}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = _schedule.period.months || 1;\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n _schedule.period.dates = _schedule.period.dates || JSON.stringify(dates);\n _schedule.period.dows = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodDates')}/></div>\n <div className={this.props.classes.settingsDiv + ' ' + this.props.classes.rowMonthsDates}>\n {this.getPeriodSettingsDates()}\n </div>\n </div> : null}\n </div>\n </div>,\n\n\n // ----- years ---\n <div key=\"years\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowYears}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.years}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 1;\n _schedule.period.yearDate = 1;\n _schedule.period.yearMonth = 1;\n _schedule.period.dows = '';\n _schedule.period.months = 0;\n _schedule.period.dates = '';\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodYearly')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <div className={this.props.classes.settingsDiv}>{this.getPeriodSettingsYearly()}</div>\n {!!schedule.period.years && <div className={this.props.classes.settingsDiv}>\n <span>{I18n.t('sch_on')}</span>\n <Input\n key=\"input\"\n value={this.state.schedule.period.yearDate}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"1\"\n max=\"31\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.yearDate = parseInt(e.target.value, 10);\n if (_schedule.period.yearDate < 1) _schedule.period.yearDate = 31;\n if (_schedule.period.yearDate > 31) _schedule.period.yearDate = 1;\n this.onChange(_schedule);\n }}/>\n <Select\n variant=\"standard\"\n value={schedule.period.yearMonth}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.yearMonth = e.target.value;\n this.onChange(_schedule);\n }}\n >\n <MenuItem key=\"every\" value={0}>{I18n.t('sch_yearEveryMonth')}</MenuItem>\n {MONTHS.map((month, i) => <MenuItem key={month} value={i + 1}>{I18n.t(month)}</MenuItem>)}\n </Select>\n </div>}\n </div>\n </div>,\n ];\n }\n\n getPeriodSettingsMinutes() {\n return <div style={{display: 'inline-block'}}>\n <label>{I18n.t('sch_every')}</label>\n <Input\n value={this.state.schedule.time.interval}\n style={{verticalAlign: 'bottom'}}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"1\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.interval = parseInt(e.target.value, 10);\n this.onChange(_schedule);\n }}/>\n <Select\n variant=\"standard\"\n value={this.state.schedule.time.mode}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.mode = e.target.value;\n this.onChange(_schedule);\n }}\n >\n <MenuItem value={PERIODS.minutes}>{I18n.t('sch_periodMinutes')}</MenuItem>\n <MenuItem value={PERIODS.hours}>{I18n.t('sch_periodHours')}</MenuItem>\n </Select>\n </div>;\n }\n\n getPeriodSettingsWeekdays() {\n // || this.state.schedule.period.dows === '[1, 2, 3, 4, 5]' || this.state.schedule.period.dows === '[0, 6]'\n const schedule = this.state.schedule;\n const isSpecific = schedule.period.dows && schedule.period.dows !== '[1, 2, 3, 4, 5]' && schedule.period.dows !== '[0, 6]';\n return [\n <div key=\"workdays\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.dows === '[1, 2, 3, 4, 5]'}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[1, 2, 3, 4, 5]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWorkdays')}/></div>,\n\n <div key=\"weekend\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.dows === '[0, 6]'}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[0, 6]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWeekend')}/></div>,\n\n <div\n key=\"specific\"\n style={{verticalAlign: 'top'}}\n ><FormControlLabel\n style={{verticalAlign: 'top'}}\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!isSpecific}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[0,1,2,3,4,5,6]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWeekdays')}/>\n {isSpecific && (schedule.period.days === 1 || schedule.period.weeks) &&\n <FormGroup row className={this.props.classes.inputGroup} style={{width: 150}}>\n {[1, 2, 3, 4, 5, 6, 0].map(i =>\n <FormControlLabel\n key={'specific_' + i}\n className={this.props.classes.inputGroupElement}\n control={\n <Checkbox\n className={this.props.classes.inputSmallCheck}\n checked={schedule.period.dows.includes('' + i)}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let dows;\n try {\n dows = JSON.parse(_schedule.period.dows);\n } catch (e) {\n dows = [];\n }\n if (e.target.checked && !dows.includes(i)) {\n dows.push(i);\n } else if (!e.target.checked && dows.includes(i)) {\n dows.splice(dows.indexOf(i), 1);\n }\n dows.sort((a, b) => a - b);\n _schedule.period.dows = JSON.stringify(dows);\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t(WEEKDAYS[i])}\n />)}\n </FormGroup>}\n </div>,\n ];\n }\n\n getPeriodSettingsDaily() {\n if (!this.state.schedule.period.days) {\n return;\n }\n const schedule = this.state.schedule;\n return [\n <div key=\"every_day\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.days === 1 && !schedule.period.dows}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 1;\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodEveryDay')}/></div>,\n <div key=\"everyN_day\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.days > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 2;\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodEvery')}/>\n {schedule.period.days > 1 && [<Input\n key=\"input\"\n value={this.state.schedule.period.days}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = parseInt(e.target.value, 10);\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}/>,\n <span key=\"span\" style={{paddingRight: 10}}>{I18n.t('sch_periodDay')}</span>]}\n </div>,\n ];\n }\n\n getPeriodSettingsWeekly() {\n if (!this.state.schedule.period.weeks) {\n return;\n }\n const schedule = this.state.schedule;\n return [\n <div key=\"radios\" style={{display: 'inline-block', verticalAlign: 'top'}}>\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.weeks === 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = 1;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEveryWeek')}/></div>\n <div>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.weeks > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = 2;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEvery')}/>\n {schedule.period.weeks > 1 && [<Input\n value={this.state.schedule.period.weeks}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = parseInt(e.target.value, 10);\n this.onChange(_schedule);\n }}/>, <span>{I18n.t('sch_periodWeek')}</span>]}\n </div>\n </div>,\n ];\n }\n\n getPeriodSettingsDates() {\n if (!this.state.schedule.period.dates) {\n return;\n }\n const schedule = this.state.schedule;\n\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n\n const parsedDates = JSON.parse(schedule.period.dates);\n\n return <FormGroup\n row\n className={this.props.classes.inputGroup}\n style={{maxWidth: 620}}\n >\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={parsedDates.length === 31}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n _schedule.period.dates = JSON.stringify(dates);\n this.onChange(_schedule);\n }}\n />\n } label={I18n.t('sch_all')}\n />\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={!parsedDates.length}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dates = '[]';\n this.onChange(_schedule);\n }}\n />\n } label={I18n.t('sch_no_one')}\n />\n {parsedDates.length !== 31 && !!parsedDates.length &&\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={false}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const result = [];\n const parsedDates = JSON.parse(_schedule.period.dates);\n for (let i = 1; i <= 31; i++) {\n if (parsedDates.indexOf(i) === -1) {\n result.push(i);\n }\n }\n result.sort((a, b) => a - b);\n _schedule.period.dates = JSON.stringify(result);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_invert')}\n />}\n <div/>\n {dates.map(i =>\n <FormControlLabel\n key={'date_' + i}\n className={this.props.classes.inputDateDay}\n style={!i ? {\n opacity: 0,\n cursor: 'default',\n userSelect: 'none',\n pointerEvents: 'none'\n } : {}}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={JSON.parse(schedule.period.dates).includes(i)}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let dates;\n try {\n dates = JSON.parse(_schedule.period.dates);\n } catch (e) {\n dates = [];\n }\n if (e.target.checked && dates.indexOf(i) === -1) {\n dates.push(i);\n } else if (!e.target.checked && dates.indexOf(i) !== -1) {\n dates.splice(dates.indexOf(i), 1);\n }\n dates.sort((a, b) => a - b);\n _schedule.period.dates = JSON.stringify(dates);\n this.onChange(_schedule);\n }}\n />\n }\n label={i < 10 ? [<span key=\"0\" style={{opacity: 0}}>0</span>,\n <span key=\"num\">{i}</span>] : i}\n />)}\n </FormGroup>;\n }\n\n getPeriodSettingsMonthly() {\n if (!this.state.schedule.period.months) {\n return;\n }\n const schedule = this.state.schedule;\n const parsedMonths = typeof schedule.period.months === 'string' ? JSON.parse(schedule.period.months) : [];\n\n return [\n <div key=\"every\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={typeof schedule.period.months === 'number' && schedule.period.months === 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 1;\n this.onChange(schedule);\n }}/>}\n label={I18n.t('sch_periodEveryMonth')}/></div>,\n <div key=\"everyN\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={typeof schedule.period.months === 'number' && schedule.period.months > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 2;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEvery')}/>\n {typeof schedule.period.months === 'number' && schedule.period.months > 1 && [<Input\n value={schedule.period.months}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = parseInt(e.target.value, 10);\n if (_schedule.period.months < 1) _schedule.period.months = 1;\n this.onChange(_schedule);\n }}/>, <span>{I18n.t('sch_periodMonth')}</span>]}\n </div>,\n <div key=\"specific\" style={{verticalAlign: 'top'}}><FormControlLabel\n style={{verticalAlign: 'top'}}\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={typeof schedule.period.months === 'string'}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = '[1,2,3,4,5,6,7,8,9,10,11,12]';\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodSpecificMonths')}/>\n {typeof schedule.period.months === 'string' &&\n <FormGroup\n row\n className={this.props.classes.inputGroup}>\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={parsedMonths.length === 12}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const months = [];\n for (let i = 1; i <= 12; i++) {\n months.push(i);\n }\n _schedule.period.months = JSON.stringify(months);\n this.onChange(_schedule);\n }}\n />\n } label={I18n.t('sch_all')}\n />\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={!parsedMonths.length}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = '[]';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_no_one')}\n />\n {parsedMonths.length !== 12 && !!parsedMonths.length &&\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={false}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const result = [];\n const parsedMonths = JSON.parse(_schedule.period.months);\n for (let i = 1; i <= 12; i++) {\n if (parsedMonths.indexOf(i) === -1) {\n result.push(i);\n }\n }\n result.sort((a, b) => a - b);\n _schedule.period.months = JSON.stringify(result);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_invert')}\n />}\n <div/>\n {MONTHS.map((month, i) =>\n <FormControlLabel\n className={this.props.classes.inputGroupElement}\n control={\n <Checkbox\n className={this.props.classes.inputSmallCheck}\n checked={JSON.parse(schedule.period.months).includes(i + 1)}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let months;\n try {\n months = JSON.parse(_schedule.period.months);\n } catch (e) {\n months = [];\n }\n if (e.target.checked && !months.includes(i + 1)) {\n months.push(i + 1);\n } else if (!e.target.checked && months.includes(i + 1)) {\n months.splice(months.indexOf(i + 1), 1);\n }\n months.sort((a, b) => a - b);\n _schedule.period.months = JSON.stringify(months);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t(month)}\n />)}\n </FormGroup>}\n </div>,\n ];\n }\n\n getPeriodSettingsYearly() {\n if (!this.state.schedule.period.years) {\n return;\n }\n const schedule = this.state.schedule;\n return [\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.years === 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 1;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEveryYear')}/></div>,\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.years > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 2;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEvery')}/>\n {schedule.period.years > 1 &&\n [<Input\n value={this.state.schedule.period.years}\n className={this.props.classes.inputEvery} type=\"number\" min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = parseInt(e.target.value, 10);\n if (_schedule.period.years < 1) _schedule.period.years = 1;\n this.onChange(_schedule);\n }}/>,\n <span>{I18n.t('sch_periodYear')}</span>]}\n </div>,\n ];\n }\n\n static now2string(isEnd) {\n const d = new Date();\n d.setHours(0);\n d.setMinutes(0);\n d.setSeconds(0);\n d.setMilliseconds(0);\n if (isEnd) {\n d.setDate(d.getDate() + 2);\n d.setMilliseconds(d.getMilliseconds() - 1);\n }\n\n return `${padding(d.getDate())}.${padding(d.getMonth() + 1)}.${padding(d.getFullYear())}`;\n }\n\n static string2date(str) {\n let parts = str.split('.'); // 31.12.2019\n if (parts.length === 1) {\n parts = str.split('-'); // 2018-12-31\n return new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10));\n } else {\n return new Date(parseInt(parts[2], 10), parseInt(parts[1], 10) - 1, parseInt(parts[0], 10));\n }\n }\n\n getValidSettings() {\n const schedule = this.state.schedule;\n // ----- from ---\n return <div className={this.props.classes.rowDiv}>\n <div className={this.props.classes.modeDiv} style={{verticalAlign: 'middle'}}>\n <span style={{fontWeight: 'bold', paddingRight: 10}}>{I18n.t('sch_valid')}</span>\n <span>{I18n.t('sch_validFrom')}</span>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <TextField\n variant=\"standard\"\n className={this.props.classes.inputDate}\n style={{marginRight: 10}}\n key=\"exactTimeFrom\"\n inputRef={this.refFrom}\n defaultValue={string2USdate(schedule.valid.from)}\n type=\"date\"\n //inputComponent={TextDate}\n onChange={e => {\n this.timerFrom && clearTimeout(this.timerFrom);\n\n this.refFrom.current.style.background = '#ff000030';\n\n this.timerFrom = setTimeout(value => {\n this.timerFrom = null;\n this.refFrom.current.style.background = '';\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.valid.from = `${padding(date.getDate())}.${padding(date.getMonth() + 1)}.${date.getFullYear()}`;\n this.onChange(_schedule);\n }\n }, 1500, e.target.value);\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n />\n <FormControlLabel\n control={<Checkbox\n className={this.props.classes.inputRadio}\n checked={!!schedule.valid.to}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.valid.to = _schedule.valid.to ? '' : Schedule.now2string(true);\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_validTo')}/>\n {!!schedule.valid.to && <TextField\n variant=\"standard\"\n inputRef={this.refTo}\n className={this.props.classes.inputDate}\n style={{marginRight: 10}}\n key=\"exactTimeFrom\"\n type=\"date\"\n defaultValue={string2USdate(schedule.valid.to)}\n //inputComponent={TextDate}\n onChange={e => {\n this.timerTo && clearTimeout(this.timerTo);\n\n this.refTo.current.style.background = '#ff000030';\n this.timerTo = setTimeout(value => {\n this.timerTo = null;\n this.refTo.current.style.background = '';\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.valid.to = `${padding(date.getDate())}.${padding(date.getMonth() + 1)}.${date.getFullYear()}`;\n this.onChange(_schedule);\n }\n }, 1500, e.target.value);\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n />}\n </div>\n </div>;\n }\n\n render() {\n return <div style={{height: 'calc(100% - 48px)', width: '100%', overflow: 'hidden'}}>\n <div>{this.state.desc}</div>\n <div className={this.props.classes.scrollWindow}>\n <h5>{I18n.t('sch_time')}</h5>\n {this.getTimePeriodElements()}\n {this.getTimeExactElements()}\n {this.getDivider()}\n <h5>{I18n.t('sch_period')}</h5>\n {this.getPeriodModes()}\n {!this.state.schedule.period.once && this.getDivider()}\n {!this.state.schedule.period.once && this.getValidSettings()}\n </div>\n </div>;\n }\n}\n\nSchedule.propTypes = {\n schedule: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default withStyles(styles)(Schedule);\n\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Schedule.js","names":["styles","theme","hr","border","borderTop","scrollWindow","width","overflow","height","rowDiv","modeDiv","display","verticalAlign","settingsDiv","inputTime","marginTop","marginLeft","inputDate","inputEvery","marginRight","inputRadio","padding","inputGroup","maxWidth","inputGroupElement","inputDateDay","inputDateDayCheck","inputSmallCheck","rowOnce","rowDays","background","palette","mode","rowDows","rowDates","rowWeeks","rowMonths","rowMonthsDates","rowYears","rowDaysDows","paddingLeft","paddingBottom","rowDowsDows","WEEKDAYS","MONTHS","PERIODS","ASTRO","num","TextTime","props","inputRef","other","placeholder","propTypes","PropTypes","func","isRequired","TextDate","DEFAULT","time","exactTime","start","end","interval","period","once","days","dows","dates","weeks","months","years","yearMonth","yearDate","valid","from","to","string2USdate","date","parts","split","length","Schedule","schedule","JSON","parse","e","Object","keys","onChange","setTimeout","state","assign","now2string","refFrom","React","createRef","refTo","refOnce","desc","state2text","stringify","force","isDiff","setState","copy","string2date","today","Date","setHours","setMinutes","setSeconds","setMilliseconds","wholeDay","day","night","fromTo","classes","_schedule","I18n","t","target","value","shrink","getPeriodSettingsMinutes","isAstro","indexOf","map","event","isOnce","timerOnce","clearTimeout","current","style","toString","getDate","getMonth","getFullYear","getPeriodSettingsDaily","getPeriodSettingsWeekdays","getPeriodSettingsWeekly","getPeriodSettingsMonthly","i","push","getPeriodSettingsDates","getPeriodSettingsYearly","parseInt","month","minutes","hours","isSpecific","includes","checked","splice","sort","a","b","paddingRight","parsedDates","result","opacity","cursor","userSelect","pointerEvents","parsedMonths","fontWeight","timerFrom","timerTo","getTimePeriodElements","getTimeExactElements","getDivider","getPeriodModes","getValidSettings","validFrom","now","tDows","last","pop","join","tMonths","getTime","isEnd","d","setDate","getMilliseconds","str","Component","string","withStyles"],"sources":["Schedule.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport Input from '@mui/material/Input';\nimport Radio from '@mui/material/Radio';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport FormGroup from '@mui/material/FormGroup';\nimport Checkbox from '@mui/material/Checkbox';\nimport MaskedInput from 'react-text-mask';\nimport MenuItem from '@mui/material/MenuItem';\nimport Select from '@mui/material/Select';\nimport TextField from '@mui/material/TextField';\n\nimport I18n from '../i18n';\n\nconst styles = theme => ({\n hr: {\n border: 0,\n borderTop: '1px solid gray'\n },\n scrollWindow: {\n width: '100%',\n overflow: 'auto',\n height: 'calc(100% - 22px)'\n },\n rowDiv: {\n width: '100%',\n },\n modeDiv: {\n width: 200,\n display: 'inline-block',\n verticalAlign: 'top'\n },\n settingsDiv: {\n display: 'inline-block',\n verticalAlign: 'top'\n },\n inputTime: {\n width: 90,\n marginTop: 0,\n marginLeft: 5\n },\n inputDate: {\n width: 140,\n marginTop: 0,\n marginLeft: 5\n },\n inputEvery: {\n width: 40,\n marginLeft: 5,\n marginRight: 5,\n },\n inputRadio: {\n padding: '4px 12px',\n verticalAlign: 'top'\n },\n inputGroup: {\n maxWidth: 400,\n display: 'inline-block'\n },\n inputGroupElement: {\n width: 120,\n },\n inputDateDay: {\n width: 60,\n },\n inputDateDayCheck: {\n padding: 4,\n },\n inputSmallCheck: {\n padding: 0,\n },\n rowOnce: {},\n\n rowDays: {\n background: theme.palette.mode !== 'dark' ? '#ddeaff' : '#4b5057'\n },\n rowDows: {\n background: theme.palette.mode !== 'dark' ? '#DDFFDD' : '#52646c'\n },\n rowDates: {\n background: theme.palette.mode !== 'dark' ? '#DDDDFF' : '#747a86'\n },\n rowWeeks: {\n background: theme.palette.mode !== 'dark' ? '#DDDDFF' : '#717680'\n },\n rowMonths: {\n background: theme.palette.mode !== 'dark' ? '#DDFFFF' : '#1f5557'\n },\n rowMonthsDates: {\n background: theme.palette.mode !== 'dark' ? '#EEFFFF' : '#3c5737',\n maxWidth: 600\n },\n rowYears: {\n background: theme.palette.mode !== 'dark' ? '#fbffdd' : '#574b33'\n },\n rowDaysDows: {\n background: theme.palette.mode !== 'dark' ? '#EEEAFF' : '#573544',\n paddingLeft: 10,\n paddingBottom: 10\n },\n rowDowsDows: {\n background: theme.palette.mode !== 'dark' ? '#EEFFEE' : '#3d4c54',\n paddingLeft: 10,\n paddingBottom: 10\n }\n});\n\nconst WEEKDAYS = [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n 'Sunday',\n];\nconst MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December'\n];\nconst PERIODS = {\n 'minutes': 'minutes',\n 'hours': 'hours',\n};\nconst ASTRO = [\n 'sunrise',\n 'sunriseEnd',\n 'goldenHourEnd',\n 'solarNoon',\n 'goldenHour',\n 'sunsetStart',\n 'sunset',\n 'dusk',\n 'nauticalDusk',\n 'night',\n 'nightEnd',\n 'nauticalDawn',\n 'dawn',\n 'nadir',\n];\n\nfunction padding(num) {\n if (num < 10) {\n return '0' + num;\n } else {\n return '' + num;\n }\n}\n\nfunction TextTime(props) {\n const {inputRef, ...other} = props;\n\n return <MaskedInput\n {...other}\n ref={inputRef}\n mask={[/[0-2]/, /[0-9]/, ':', /[0-5]/, /[0-9]/]}\n placeholderChar={props.placeholder || '00:00'}\n showMask\n />;\n}\n\nTextTime.propTypes = {\n inputRef: PropTypes.func.isRequired,\n};\n\nfunction TextDate(props) {\n const {inputRef, ...other} = props;\n\n return <MaskedInput\n {...other}\n ref={inputRef}\n mask={[/[0-3]/, /[0-9]/, '.', /[0-1]/, /[0-9]/, '.', '2', '0', /[0-9]/, /[0-9]/]}\n placeholderChar={props.placeholder || '01.01.2020'}\n showMask\n />;\n}\n\nTextDate.propTypes = {\n inputRef: PropTypes.func.isRequired,\n};\n\nconst DEFAULT = {\n time: {\n exactTime: false,\n\n start: '00:00',\n end: '23:59',\n\n mode: 'hours',\n interval: 1,\n },\n period: {\n once: '',\n days: 1,\n dows: '',\n dates: '',\n weeks: 0,\n months: '',\n\n years: 0,\n yearMonth: 0,\n yearDate: 0,\n },\n valid: {\n from: '',\n to: ''\n }\n};\n\nfunction string2USdate(date) {\n const parts = date.split('.');\n if (parts.length === 3) {\n return parts[2] + '-' + parts[1] + '-' + parts[0];\n }\n\n}\n\nclass Schedule extends React.Component {\n constructor(props) {\n super(props);\n let schedule;\n if (this.props.schedule && typeof this.props.schedule === 'string' && this.props.schedule[0] === '{') {\n try {\n schedule = JSON.parse(this.props.schedule);\n } catch (e) {\n\n }\n }\n\n if ((!schedule || !Object.keys(schedule).length) && this.props.onChange) {\n setTimeout(() => this.onChange(this.state.schedule, true), 200);\n }\n schedule = schedule || {};\n schedule = Object.assign({}, DEFAULT, schedule);\n schedule.valid.from = schedule.valid.from || Schedule.now2string();\n\n this.refFrom = React.createRef();\n this.refTo = React.createRef();\n this.refOnce = React.createRef();\n\n this.state = {\n schedule,\n desc: Schedule.state2text(schedule)\n };\n\n if (JSON.stringify(schedule) !== this.props.schedule) {\n setTimeout(() =>\n this.props.onChange && this.props.onChange(JSON.stringify(schedule)), 100);\n }\n }\n\n onChange(schedule, force) {\n const isDiff = JSON.stringify(schedule) !== JSON.stringify(this.state.schedule);\n if (force || isDiff) {\n isDiff && this.setState({schedule, desc: Schedule.state2text(schedule)});\n const copy = JSON.parse(JSON.stringify(schedule));\n if (copy.period.once) {\n let once = copy.period.once;\n delete copy.period;\n copy.period = {once};\n delete copy.valid;\n } else if (copy.period.days) {\n let days = copy.period.days;\n let dows = copy.period.dows;\n delete copy.period;\n copy.period = {days};\n if (dows && dows !== '[]') {\n copy.period.dows = dows;\n }\n } else if (copy.period.weeks) {\n let weeks = copy.period.weeks;\n let dows = copy.period.dows;\n delete copy.period;\n copy.period = {weeks};\n if (dows && dows !== '[]') {\n copy.period.dows = dows;\n }\n } else if (copy.period.months) {\n let months = copy.period.months;\n let dates = copy.period.dates;\n delete copy.period;\n copy.period = {months};\n if (dates && dates !== '[]') {\n copy.period.dates = dates;\n }\n } else if (copy.period.years) {\n let years = copy.period.years;\n let yearMonth = copy.period.yearMonth;\n let yearDate = copy.period.yearDate;\n delete copy.period;\n copy.period = {years, yearDate};\n if (yearMonth) {\n copy.period.yearMonth = yearMonth;\n }\n }\n\n if (copy.time.exactTime) {\n delete copy.time.end;\n delete copy.time.mode;\n delete copy.time.interval;\n } else {\n delete copy.time.exactTime;\n }\n if (copy.valid) {\n if (!copy.valid.to) {\n delete copy.valid.to;\n }\n if (copy.period.days === 1 || copy.period.weeks === 1 || copy.period.months === 1 || copy.period.years === 1) {\n const from = Schedule.string2date(copy.valid.from);\n const today = new Date();\n today.setHours(0);\n today.setMinutes(0);\n today.setSeconds(0);\n today.setMilliseconds(0);\n if (from <= today) {\n delete copy.valid.from;\n }\n }\n if (!copy.valid.from && !copy.valid.to) {\n delete copy.valid;\n }\n }\n\n this.props.onChange && this.props.onChange(JSON.stringify(copy), Schedule.state2text(schedule));\n }\n }\n\n static state2text(schedule) {\n if (typeof schedule === 'string') {\n try {\n schedule = JSON.parse(schedule);\n } catch (e) {\n schedule = {};\n }\n }\n\n let desc = [];\n let validFrom = Schedule.string2date(schedule.valid.from);\n if (schedule.period.once) {\n // once\n let once = Schedule.string2date(schedule.period.once);\n let now = new Date();\n now.setMilliseconds(0);\n now.setSeconds(0);\n now.setMinutes(0);\n now.setHours(0);\n\n //\n if (once < now) {\n // will ne be not executed any more, because start is in the past\n return I18n.t('sch_desc_onceInPast');\n } else {\n // only once\n desc.push(I18n.t('sch_desc_once_on', schedule.period.once));\n }\n } else if (schedule.period.days) {\n if (schedule.period.days === 1) {\n if (schedule.period.dows) {\n const dows = JSON.parse(schedule.period.dows);\n if (dows.length === 2 && dows[0] === 0 && dows[1] === 6) {\n // on weekends\n desc.push(I18n.t('sch_desc_onWeekends'));\n } else if (dows.length === 5 && dows[0] === 1 && dows[1] === 2 && dows[2] === 3 && dows[3] === 4 && dows[4] === 5) {\n // on workdays\n desc.push(I18n.t('sch_desc_onWorkdays'));\n } else {\n const tDows = dows.map(day => I18n.t(WEEKDAYS[day]));\n if (tDows.length === 1) {\n // on Monday\n desc.push(I18n.t('sch_desc_onWeekday', tDows[0]));\n } else if (tDows.length === 7) {\n // on every day\n desc.push(I18n.t('sch_desc_everyDay'));\n } else {\n const last = tDows.pop();\n // on Monday and Sunday\n desc.push(I18n.t('sch_desc_onWeekdays', tDows.join(', '), last));\n }\n }\n } else {\n desc.push(I18n.t('sch_desc_everyDay'));\n }\n } else {\n desc.push(I18n.t('sch_desc_everyNDay', schedule.period.days));\n }\n } else if (schedule.period.weeks) {\n if (schedule.period.weeks === 1) {\n desc.push(I18n.t('sch_desc_everyWeek'));\n } else {\n desc.push(I18n.t('sch_desc_everyNWeeks', schedule.period.weeks));\n }\n\n if (schedule.period.dows) {\n const dows = JSON.parse(schedule.period.dows);\n if (dows.length === 2 && dows[0] === 0 && dows[1] === 6) {\n // on weekends\n desc.push(I18n.t('sch_desc_onWeekends'));\n } else if (dows.length === 5 && dows[0] === 1 && dows[1] === 2 && dows[2] === 3 && dows[3] === 4 && dows[4] === 5) {\n // on workdays\n desc.push(I18n.t('sch_desc_onWorkdays'));\n } else {\n const tDows = dows.map(day => I18n.t(WEEKDAYS[day]));\n if (tDows.length === 1) {\n // on Monday\n desc.push(I18n.t('sch_desc_onWeekday', tDows[0]));\n } else if (tDows.length === 7) {\n // on every day\n desc.push(I18n.t('sch_desc_everyDay'));\n } else {\n const last = tDows.pop();\n // on Monday and Sunday\n desc.push(I18n.t('sch_desc_onWeekdays', tDows.join(', '), last));\n }\n }\n } else {\n return I18n.t('sch_desc_never');\n }\n } else if (schedule.period.months) {\n if (schedule.period.dates) {\n const dates = JSON.parse(schedule.period.dates);\n if (dates.length === 1) {\n // in 1 of month\n desc.push(I18n.t('sch_desc_onDate', dates[0]));\n } else if (dates.length === 31) {\n desc.push(I18n.t('sch_desc_onEveryDate'));\n } else if (!dates.length) {\n return I18n.t('sch_desc_never');\n } else {\n const last = dates.pop();\n // in 1 and 4 of month\n desc.push(I18n.t('sch_desc_onDates', dates.join(', '), last));\n }\n } else {\n desc.push(I18n.t('sch_desc_onEveryDate'));\n }\n\n if (schedule.period.months === 1) {\n desc.push(I18n.t('sch_desc_everyMonth'));\n } else if (typeof schedule.period.months === 'number') {\n desc.push(I18n.t('sch_desc_everyNMonths', schedule.period.months));\n } else {\n const months = JSON.parse(schedule.period.months);\n const tMonths = months.map(month => I18n.t(MONTHS[month - 1]));\n if (!tMonths.length) {\n // in January\n return I18n.t('sch_desc_never');\n } else if (tMonths.length === 1) {\n // in January\n desc.push(I18n.t('sch_desc_onMonth', tMonths[0]));\n } else if (tMonths.length === 12) {\n // every month\n desc.push(I18n.t('sch_desc_everyMonth'));\n } else {\n const last = tMonths.pop();\n // in January and May\n desc.push(I18n.t('sch_desc_onMonths', tMonths.join(', '), last));\n }\n }\n } else if (schedule.period.years) {\n if (schedule.period.years === 1) {\n desc.push(I18n.t('sch_desc_everyYear'));\n } else {\n desc.push(I18n.t('sch_desc_everyNYears', schedule.period.years));\n }\n desc.push(I18n.t('sch_desc_onDate', schedule.period.yearDate, schedule.period.yearMonth ? I18n.t(MONTHS[schedule.period.yearMonth - 1]) : I18n.t('sch_desc_everyMonth')));\n }\n\n // time\n if (schedule.time.exactTime) {\n if (ASTRO.indexOf(schedule.time.start) !== -1) {\n // at sunset\n desc.push(I18n.t('sch_desc_atTime', I18n.t('sch_astro_' + schedule.time.start)));\n } else {\n // at HH:MM\n desc.push(I18n.t('sch_desc_atTime', schedule.time.start));\n }\n } else {\n if (schedule.time.mode === PERIODS.minutes) {\n if (schedule.time.interval === 1) {\n // every minute\n desc.push(I18n.t('sch_desc_everyMinute'));\n } else {\n // every N minutes\n desc.push(I18n.t('sch_desc_everyNMinutes', schedule.time.interval));\n }\n } else {\n if (schedule.time.interval === 1) {\n // every minute\n desc.push(I18n.t('sch_desc_everyHour'));\n } else {\n // every N minutes\n desc.push(I18n.t('sch_desc_everyNHours', schedule.time.interval));\n }\n }\n const start = ASTRO.indexOf(schedule.time.start) !== -1 ? I18n.t('sch_astro_' + schedule.time.start) : schedule.time.start;\n const end = ASTRO.indexOf(schedule.time.end) !== -1 ? I18n.t('sch_astro_' + schedule.time.end) : schedule.time.end;\n if (start !== '00:00' || (end !== '24:00' && end !== '23:59')) {\n // from HH:mm to HH:mm\n desc.push(I18n.t('sch_desc_intervalFromTo', start, end));\n }\n }\n\n if (!schedule.period.once) {\n // valid\n if (validFrom.getTime() > Date.now() && schedule.valid.to) {\n // from XXX to XXXX\n desc.push(I18n.t('sch_desc_validFromTo', schedule.valid.from, schedule.valid.to));\n } else if (validFrom.getTime() > Date.now()) {\n // from XXXX\n desc.push(I18n.t('sch_desc_validFrom', schedule.valid.from));\n } else if (schedule.valid.to) {\n // till XXXX\n desc.push(I18n.t('sch_desc_validTo', schedule.valid.to));\n }\n }\n return desc.join(' ');\n }\n\n getTimePeriodElements() {\n const schedule = this.state.schedule;\n let wholeDay = false;\n let day = false;\n let night = false;\n let fromTo = true;\n if (schedule.time.start === '00:00' && schedule.time.end === '24:00') {\n wholeDay = true;\n fromTo = false;\n } else if (schedule.time.start === 'sunrise') {\n day = true;\n fromTo = false;\n } else if (schedule.time.start === 'sunset') {\n night = true;\n fromTo = false;\n }\n\n return <div key=\"timePeriod\" className={this.props.classes.rowDiv}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!schedule.time.exactTime}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.exactTime = false;\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_intervalTime')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <div className={this.props.classes.settingsDiv}>\n {!schedule.time.exactTime && <div>\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!fromTo}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = '00:00';\n _schedule.time.end = '23:59';\n this.onChange(_schedule);\n }}/>}\n label={!fromTo ? I18n.t('sch_fromTo') : ''}/>\n {fromTo && [\n <TextField\n variant=\"standard\"\n className={this.props.classes.inputTime}\n style={{marginRight: 10}}\n key=\"exactTimeFrom\"\n type=\"time\"\n value={this.state.schedule.time.start}\n //InputProps={{inputComponent: TextTime}}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n InputLabelProps={{shrink: true,}}\n label={I18n.t('sch_from')}\n margin=\"normal\"\n />,\n <TextField\n variant=\"standard\"\n className={this.props.classes.inputTime}\n key=\"exactTimeTo\"\n type=\"time\"\n value={this.state.schedule.time.end}\n //InputProps={{inputComponent: TextTime}}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.end = e.target.value;\n this.onChange(_schedule);\n }}\n InputLabelProps={{shrink: true,}}\n label={I18n.t('sch_to')}\n margin=\"normal\"\n />\n ]}\n </div>\n </div>}\n\n {!schedule.time.exactTime && <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!wholeDay}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = '00:00';\n _schedule.time.end = '24:00';\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_wholeDay')}/></div>}\n\n {!schedule.time.exactTime && <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!day}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = 'sunrise';\n _schedule.time.end = 'sunset';\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_astroDay')}/></div>}\n\n {!schedule.time.exactTime && <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!night} onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = 'sunset';\n _schedule.time.end = 'sunrise';\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_astroNight')}/></div>}\n </div>\n {!schedule.time.exactTime && this.getPeriodSettingsMinutes()}\n </div>\n </div>;\n }\n\n getTimeExactElements() {\n const isAstro = ASTRO.indexOf(this.state.schedule.time.start) !== -1;\n\n return <div key=\"timeExact\" className={this.props.classes.rowDiv}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!this.state.schedule.time.exactTime}\n onClick={() => {\n const schedule = JSON.parse(JSON.stringify(this.state.schedule));\n schedule.time.exactTime = true;\n this.onChange(schedule);\n }}/>} label={I18n.t('sch_exactTime')}/>\n </div>\n {this.state.schedule.time.exactTime && <Select\n variant=\"standard\"\n value={isAstro ? this.state.schedule.time.start : '00:00'}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n >\n <MenuItem key=\"specific\" value={'00:00'}>{I18n.t('sch_specificTime')}</MenuItem>\n {ASTRO.map(event => <MenuItem key={event} value={event}>{I18n.t('sch_astro_' + event)}</MenuItem>)}\n </Select>\n }\n {this.state.schedule.time.exactTime && !isAstro &&\n <div className={this.props.classes.settingsDiv}><TextField\n variant=\"standard\"\n className={this.props.classes.inputTime}\n key=\"exactTimeValue\"\n value={this.state.schedule.time.start}\n type=\"time\"\n // inputComponent={TextTime}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n /></div>\n }\n </div>;\n }\n\n getDivider() {\n return <hr className={this.props.classes.hr}/>;\n }\n\n getPeriodModes() {\n const schedule = this.state.schedule;\n const isOnce = !schedule.period.dows && !schedule.period.months && !schedule.period.dates && !schedule.period.years && !schedule.period.days && !schedule.period.weeks;\n if (isOnce && !schedule.period.once) {\n schedule.period.once = Schedule.now2string(true);\n }\n\n return [\n // ----- once ---\n <div key=\"once\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowOnce}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!isOnce}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.once = _schedule.period.once || Schedule.now2string(true);\n _schedule.period.dows = '';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodOnce')}/>\n </div>\n {isOnce && <div className={this.props.classes.settingsDiv}>\n {<TextField\n variant=\"standard\"\n className={this.props.classes.inputDate}\n type=\"date\"\n ref={this.refOnce}\n key=\"exactDateAt\"\n defaultValue={string2USdate(schedule.period.once)}\n //InputProps={{inputComponent: TextTime}}\n onChange={e => {\n this.timerOnce && clearTimeout(this.timerOnce);\n\n this.refOnce.current.style.background = '#ff000030';\n this.timerOnce = setTimeout(value => {\n this.timerOnce = null;\n this.refOnce.current.style.background = '';\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.period.once = padding(date.getDate()) + '.' + padding(date.getMonth() + 1) + '.' + date.getFullYear();\n this.onChange(_schedule);\n }\n }, 1500, e.target.value);\n }}\n InputLabelProps={{shrink: true,}}\n label={I18n.t('sch_at')}\n margin=\"normal\"\n />}\n </div>}\n </div>,\n\n\n // ----- days ---\n <div key=\"days\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowDays}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.days}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 1;\n _schedule.period.dows = '';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodDaily')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n {this.getPeriodSettingsDaily()}\n {schedule.period.days ? this.getPeriodSettingsWeekdays() : null}\n </div>\n </div>,\n\n\n // ----- days of weeks ---\n /*!schedule.period.days && (\n <div key=\"dows\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowDows}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel control={<Radio className={this.props.classes.inputRadio} checked={!!schedule.period.dows} onClick={() => {\n const schedule = JSON.parse(JSON.stringify(this.state.schedule));\n schedule.period.dows = schedule.period.dows ? '' : '[0,1,2,3,4,5,6]';\n this.onChange(schedule);\n }}/>}\n label={I18n.t('sch_periodWeekdays')} />\n </div>\n <div className={this.props.classes.settingsDiv}>\n {this.getPeriodSettingsWeekdays()}\n </div>\n </div>,\n*/\n // ----- weeks ---\n <div key=\"weeks\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowDows}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.weeks}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = schedule.period.weeks ? 0 : 1;\n _schedule.period.dows = schedule.period.dows || '[0]';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWeekly')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <div className={this.props.classes.settingsDiv}>{this.getPeriodSettingsWeekly()}</div>\n <div\n className={this.props.classes.settingsDiv + ' ' + this.props.classes.rowDowsDows}>{this.state.schedule.period.weeks ? this.getPeriodSettingsWeekdays() : null}</div>\n </div>\n </div>,\n\n\n // ----- months ---\n <div key=\"months\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowMonths}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.months}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 1;\n _schedule.period.dows = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodMonthly')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n {this.getPeriodSettingsMonthly()}\n {schedule.period.months ? <div>\n <div className={this.props.classes.settingsDiv + ' ' + this.props.classes.rowMonthsDates}>\n <FormControlLabel\n control={<Checkbox\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.dates}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = _schedule.period.months || 1;\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n _schedule.period.dates = _schedule.period.dates || JSON.stringify(dates);\n _schedule.period.dows = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodDates')}/></div>\n <div className={this.props.classes.settingsDiv + ' ' + this.props.classes.rowMonthsDates}>\n {this.getPeriodSettingsDates()}\n </div>\n </div> : null}\n </div>\n </div>,\n\n\n // ----- years ---\n <div key=\"years\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowYears}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.years}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 1;\n _schedule.period.yearDate = 1;\n _schedule.period.yearMonth = 1;\n _schedule.period.dows = '';\n _schedule.period.months = 0;\n _schedule.period.dates = '';\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodYearly')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <div className={this.props.classes.settingsDiv}>{this.getPeriodSettingsYearly()}</div>\n {!!schedule.period.years && <div className={this.props.classes.settingsDiv}>\n <span>{I18n.t('sch_on')}</span>\n <Input\n key=\"input\"\n value={this.state.schedule.period.yearDate}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"1\"\n max=\"31\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.yearDate = parseInt(e.target.value, 10);\n if (_schedule.period.yearDate < 1) _schedule.period.yearDate = 31;\n if (_schedule.period.yearDate > 31) _schedule.period.yearDate = 1;\n this.onChange(_schedule);\n }}/>\n <Select\n variant=\"standard\"\n value={schedule.period.yearMonth}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.yearMonth = e.target.value;\n this.onChange(_schedule);\n }}\n >\n <MenuItem key=\"every\" value={0}>{I18n.t('sch_yearEveryMonth')}</MenuItem>\n {MONTHS.map((month, i) => <MenuItem key={month} value={i + 1}>{I18n.t(month)}</MenuItem>)}\n </Select>\n </div>}\n </div>\n </div>,\n ];\n }\n\n getPeriodSettingsMinutes() {\n return <div style={{display: 'inline-block'}}>\n <label>{I18n.t('sch_every')}</label>\n <Input\n value={this.state.schedule.time.interval}\n style={{verticalAlign: 'bottom'}}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"1\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.interval = parseInt(e.target.value, 10);\n this.onChange(_schedule);\n }}/>\n <Select\n variant=\"standard\"\n value={this.state.schedule.time.mode}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.mode = e.target.value;\n this.onChange(_schedule);\n }}\n >\n <MenuItem value={PERIODS.minutes}>{I18n.t('sch_periodMinutes')}</MenuItem>\n <MenuItem value={PERIODS.hours}>{I18n.t('sch_periodHours')}</MenuItem>\n </Select>\n </div>;\n }\n\n getPeriodSettingsWeekdays() {\n // || this.state.schedule.period.dows === '[1, 2, 3, 4, 5]' || this.state.schedule.period.dows === '[0, 6]'\n const schedule = this.state.schedule;\n const isSpecific = schedule.period.dows && schedule.period.dows !== '[1, 2, 3, 4, 5]' && schedule.period.dows !== '[0, 6]';\n return [\n <div key=\"workdays\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.dows === '[1, 2, 3, 4, 5]'}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[1, 2, 3, 4, 5]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWorkdays')}/></div>,\n\n <div key=\"weekend\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.dows === '[0, 6]'}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[0, 6]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWeekend')}/></div>,\n\n <div\n key=\"specific\"\n style={{verticalAlign: 'top'}}\n ><FormControlLabel\n style={{verticalAlign: 'top'}}\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!isSpecific}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[0,1,2,3,4,5,6]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWeekdays')}/>\n {isSpecific && (schedule.period.days === 1 || schedule.period.weeks) &&\n <FormGroup row className={this.props.classes.inputGroup} style={{width: 150}}>\n {[1, 2, 3, 4, 5, 6, 0].map(i =>\n <FormControlLabel\n key={'specific_' + i}\n className={this.props.classes.inputGroupElement}\n control={\n <Checkbox\n className={this.props.classes.inputSmallCheck}\n checked={schedule.period.dows.includes('' + i)}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let dows;\n try {\n dows = JSON.parse(_schedule.period.dows);\n } catch (e) {\n dows = [];\n }\n if (e.target.checked && !dows.includes(i)) {\n dows.push(i);\n } else if (!e.target.checked && dows.includes(i)) {\n dows.splice(dows.indexOf(i), 1);\n }\n dows.sort((a, b) => a - b);\n _schedule.period.dows = JSON.stringify(dows);\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t(WEEKDAYS[i])}\n />)}\n </FormGroup>}\n </div>,\n ];\n }\n\n getPeriodSettingsDaily() {\n if (!this.state.schedule.period.days) {\n return;\n }\n const schedule = this.state.schedule;\n return [\n <div key=\"every_day\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.days === 1 && !schedule.period.dows}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 1;\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodEveryDay')}/></div>,\n <div key=\"everyN_day\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.days > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 2;\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodEvery')}/>\n {schedule.period.days > 1 && [<Input\n key=\"input\"\n value={this.state.schedule.period.days}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = parseInt(e.target.value, 10);\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}/>,\n <span key=\"span\" style={{paddingRight: 10}}>{I18n.t('sch_periodDay')}</span>]}\n </div>,\n ];\n }\n\n getPeriodSettingsWeekly() {\n if (!this.state.schedule.period.weeks) {\n return;\n }\n const schedule = this.state.schedule;\n return [\n <div key=\"radios\" style={{display: 'inline-block', verticalAlign: 'top'}}>\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.weeks === 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = 1;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEveryWeek')}/></div>\n <div>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.weeks > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = 2;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEvery')}/>\n {schedule.period.weeks > 1 && [<Input\n value={this.state.schedule.period.weeks}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = parseInt(e.target.value, 10);\n this.onChange(_schedule);\n }}/>, <span>{I18n.t('sch_periodWeek')}</span>]}\n </div>\n </div>,\n ];\n }\n\n getPeriodSettingsDates() {\n if (!this.state.schedule.period.dates) {\n return;\n }\n const schedule = this.state.schedule;\n\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n\n const parsedDates = JSON.parse(schedule.period.dates);\n\n return <FormGroup\n row\n className={this.props.classes.inputGroup}\n style={{maxWidth: 620}}\n >\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={parsedDates.length === 31}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n _schedule.period.dates = JSON.stringify(dates);\n this.onChange(_schedule);\n }}\n />\n } label={I18n.t('sch_all')}\n />\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={!parsedDates.length}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dates = '[]';\n this.onChange(_schedule);\n }}\n />\n } label={I18n.t('sch_no_one')}\n />\n {parsedDates.length !== 31 && !!parsedDates.length &&\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={false}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const result = [];\n const parsedDates = JSON.parse(_schedule.period.dates);\n for (let i = 1; i <= 31; i++) {\n if (parsedDates.indexOf(i) === -1) {\n result.push(i);\n }\n }\n result.sort((a, b) => a - b);\n _schedule.period.dates = JSON.stringify(result);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_invert')}\n />}\n <div/>\n {dates.map(i =>\n <FormControlLabel\n key={'date_' + i}\n className={this.props.classes.inputDateDay}\n style={!i ? {\n opacity: 0,\n cursor: 'default',\n userSelect: 'none',\n pointerEvents: 'none'\n } : {}}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={JSON.parse(schedule.period.dates).includes(i)}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let dates;\n try {\n dates = JSON.parse(_schedule.period.dates);\n } catch (e) {\n dates = [];\n }\n if (e.target.checked && dates.indexOf(i) === -1) {\n dates.push(i);\n } else if (!e.target.checked && dates.indexOf(i) !== -1) {\n dates.splice(dates.indexOf(i), 1);\n }\n dates.sort((a, b) => a - b);\n _schedule.period.dates = JSON.stringify(dates);\n this.onChange(_schedule);\n }}\n />\n }\n label={i < 10 ? [<span key=\"0\" style={{opacity: 0}}>0</span>,\n <span key=\"num\">{i}</span>] : i}\n />)}\n </FormGroup>;\n }\n\n getPeriodSettingsMonthly() {\n if (!this.state.schedule.period.months) {\n return;\n }\n const schedule = this.state.schedule;\n const parsedMonths = typeof schedule.period.months === 'string' ? JSON.parse(schedule.period.months) : [];\n\n return [\n <div key=\"every\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={typeof schedule.period.months === 'number' && schedule.period.months === 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 1;\n this.onChange(schedule);\n }}/>}\n label={I18n.t('sch_periodEveryMonth')}/></div>,\n <div key=\"everyN\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={typeof schedule.period.months === 'number' && schedule.period.months > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 2;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEvery')}/>\n {typeof schedule.period.months === 'number' && schedule.period.months > 1 && [<Input\n value={schedule.period.months}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = parseInt(e.target.value, 10);\n if (_schedule.period.months < 1) _schedule.period.months = 1;\n this.onChange(_schedule);\n }}/>, <span>{I18n.t('sch_periodMonth')}</span>]}\n </div>,\n <div key=\"specific\" style={{verticalAlign: 'top'}}><FormControlLabel\n style={{verticalAlign: 'top'}}\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={typeof schedule.period.months === 'string'}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = '[1,2,3,4,5,6,7,8,9,10,11,12]';\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodSpecificMonths')}/>\n {typeof schedule.period.months === 'string' &&\n <FormGroup\n row\n className={this.props.classes.inputGroup}>\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={parsedMonths.length === 12}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const months = [];\n for (let i = 1; i <= 12; i++) {\n months.push(i);\n }\n _schedule.period.months = JSON.stringify(months);\n this.onChange(_schedule);\n }}\n />\n } label={I18n.t('sch_all')}\n />\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={!parsedMonths.length}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = '[]';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_no_one')}\n />\n {parsedMonths.length !== 12 && !!parsedMonths.length &&\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={false}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const result = [];\n const parsedMonths = JSON.parse(_schedule.period.months);\n for (let i = 1; i <= 12; i++) {\n if (parsedMonths.indexOf(i) === -1) {\n result.push(i);\n }\n }\n result.sort((a, b) => a - b);\n _schedule.period.months = JSON.stringify(result);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_invert')}\n />}\n <div/>\n {MONTHS.map((month, i) =>\n <FormControlLabel\n className={this.props.classes.inputGroupElement}\n control={\n <Checkbox\n className={this.props.classes.inputSmallCheck}\n checked={JSON.parse(schedule.period.months).includes(i + 1)}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let months;\n try {\n months = JSON.parse(_schedule.period.months);\n } catch (e) {\n months = [];\n }\n if (e.target.checked && !months.includes(i + 1)) {\n months.push(i + 1);\n } else if (!e.target.checked && months.includes(i + 1)) {\n months.splice(months.indexOf(i + 1), 1);\n }\n months.sort((a, b) => a - b);\n _schedule.period.months = JSON.stringify(months);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t(month)}\n />)}\n </FormGroup>}\n </div>,\n ];\n }\n\n getPeriodSettingsYearly() {\n if (!this.state.schedule.period.years) {\n return;\n }\n const schedule = this.state.schedule;\n return [\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.years === 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 1;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEveryYear')}/></div>,\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.years > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 2;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEvery')}/>\n {schedule.period.years > 1 &&\n [<Input\n value={this.state.schedule.period.years}\n className={this.props.classes.inputEvery} type=\"number\" min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = parseInt(e.target.value, 10);\n if (_schedule.period.years < 1) _schedule.period.years = 1;\n this.onChange(_schedule);\n }}/>,\n <span>{I18n.t('sch_periodYear')}</span>]}\n </div>,\n ];\n }\n\n static now2string(isEnd) {\n const d = new Date();\n d.setHours(0);\n d.setMinutes(0);\n d.setSeconds(0);\n d.setMilliseconds(0);\n if (isEnd) {\n d.setDate(d.getDate() + 2);\n d.setMilliseconds(d.getMilliseconds() - 1);\n }\n\n return `${padding(d.getDate())}.${padding(d.getMonth() + 1)}.${padding(d.getFullYear())}`;\n }\n\n static string2date(str) {\n let parts = str.split('.'); // 31.12.2019\n if (parts.length === 1) {\n parts = str.split('-'); // 2018-12-31\n return new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10));\n } else {\n return new Date(parseInt(parts[2], 10), parseInt(parts[1], 10) - 1, parseInt(parts[0], 10));\n }\n }\n\n getValidSettings() {\n const schedule = this.state.schedule;\n // ----- from ---\n return <div className={this.props.classes.rowDiv}>\n <div className={this.props.classes.modeDiv} style={{verticalAlign: 'middle'}}>\n <span style={{fontWeight: 'bold', paddingRight: 10}}>{I18n.t('sch_valid')}</span>\n <span>{I18n.t('sch_validFrom')}</span>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <TextField\n variant=\"standard\"\n className={this.props.classes.inputDate}\n style={{marginRight: 10}}\n key=\"exactTimeFrom\"\n inputRef={this.refFrom}\n defaultValue={string2USdate(schedule.valid.from)}\n type=\"date\"\n //inputComponent={TextDate}\n onChange={e => {\n this.timerFrom && clearTimeout(this.timerFrom);\n\n this.refFrom.current.style.background = '#ff000030';\n\n this.timerFrom = setTimeout(value => {\n this.timerFrom = null;\n this.refFrom.current.style.background = '';\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.valid.from = `${padding(date.getDate())}.${padding(date.getMonth() + 1)}.${date.getFullYear()}`;\n this.onChange(_schedule);\n }\n }, 1500, e.target.value);\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n />\n <FormControlLabel\n control={<Checkbox\n className={this.props.classes.inputRadio}\n checked={!!schedule.valid.to}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.valid.to = _schedule.valid.to ? '' : Schedule.now2string(true);\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_validTo')}/>\n {!!schedule.valid.to && <TextField\n variant=\"standard\"\n inputRef={this.refTo}\n className={this.props.classes.inputDate}\n style={{marginRight: 10}}\n key=\"exactTimeFrom\"\n type=\"date\"\n defaultValue={string2USdate(schedule.valid.to)}\n //inputComponent={TextDate}\n onChange={e => {\n this.timerTo && clearTimeout(this.timerTo);\n\n this.refTo.current.style.background = '#ff000030';\n this.timerTo = setTimeout(value => {\n this.timerTo = null;\n this.refTo.current.style.background = '';\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.valid.to = `${padding(date.getDate())}.${padding(date.getMonth() + 1)}.${date.getFullYear()}`;\n this.onChange(_schedule);\n }\n }, 1500, e.target.value);\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n />}\n </div>\n </div>;\n }\n\n render() {\n return <div style={{height: 'calc(100% - 48px)', width: '100%', overflow: 'hidden'}}>\n <div>{this.state.desc}</div>\n <div className={this.props.classes.scrollWindow}>\n <h5>{I18n.t('sch_time')}</h5>\n {this.getTimePeriodElements()}\n {this.getTimeExactElements()}\n {this.getDivider()}\n <h5>{I18n.t('sch_period')}</h5>\n {this.getPeriodModes()}\n {!this.state.schedule.period.once && this.getDivider()}\n {!this.state.schedule.period.once && this.getValidSettings()}\n </div>\n </div>;\n }\n}\n\nSchedule.propTypes = {\n schedule: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default withStyles(styles)(Schedule);\n\n"],"mappings":"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"}
|