@iobroker/adapter-react-v5 0.0.4 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Components/ColorPicker.js +6 -2
- package/Components/ColorPicker.js.map +1 -1
- package/Components/ComplexCron.js +1 -1
- package/Components/ComplexCron.js.map +1 -1
- package/Components/FileBrowser.js +6 -6
- package/Components/FileBrowser.js.map +1 -1
- package/Components/FileViewer.js +5 -17
- package/Components/FileViewer.js.map +1 -1
- package/Components/Icon.js +1 -1
- package/Components/Icon.js.map +1 -1
- package/Components/IconPicker.js +1 -2
- package/Components/IconPicker.js.map +1 -1
- package/Components/Image.js +2 -1
- package/Components/Image.js.map +1 -1
- package/Components/Loader.js +8 -14
- package/Components/Loader.js.map +1 -1
- package/Components/Logo.js +8 -8
- package/Components/Logo.js.map +1 -1
- package/Components/MDUtils.js.map +1 -1
- package/Components/ObjectBrowser.js +7 -7
- package/Components/ObjectBrowser.js.map +1 -1
- package/Components/Schedule.js +1 -2
- package/Components/Schedule.js.map +1 -1
- package/Components/SelectWithIcon.js +40 -4
- package/Components/SelectWithIcon.js.map +1 -1
- package/Components/TextWithIcon.js +5 -3
- package/Components/TextWithIcon.js.map +1 -1
- package/Dialogs/ComplexCron.js +1 -1
- package/Dialogs/ComplexCron.js.map +1 -1
- package/Dialogs/Confirm.js +1 -1
- package/Dialogs/Confirm.js.map +1 -1
- package/Dialogs/Cron.js +1 -1
- package/Dialogs/Cron.js.map +1 -1
- package/Dialogs/Error.js +1 -1
- package/Dialogs/Error.js.map +1 -1
- package/Dialogs/Message.js +1 -1
- package/Dialogs/Message.js.map +1 -1
- package/Dialogs/SelectID.js +1 -1
- package/Dialogs/SelectID.js.map +1 -1
- package/Dialogs/SimpleCron.js +1 -1
- package/Dialogs/SimpleCron.js.map +1 -1
- package/Dialogs/TextInput.js +11 -11
- package/Dialogs/TextInput.js.map +1 -1
- package/GenericApp.js +7 -4
- package/GenericApp.js.map +1 -1
- package/README.md +6 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["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","language"],"mappings":"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","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 (\n <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}\n\nTextTime.propTypes = {\n inputRef: PropTypes.func.isRequired,\n};\n\nfunction TextDate(props) {\n const {inputRef, ...other} = props;\n\n return (\n <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}\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,\n language: PropTypes.string\n};\n\nexport default withStyles(styles)(Schedule);\n\n"],"file":"Schedule.js"}
|
|
1
|
+
{"version":3,"sources":["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"],"mappings":"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","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 (\n <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}\n\nTextTime.propTypes = {\n inputRef: PropTypes.func.isRequired,\n};\n\nfunction TextDate(props) {\n const {inputRef, ...other} = props;\n\n return (\n <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}\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"],"file":"Schedule.js"}
|