@iobroker/adapter-react-v5 4.2.1 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AdminConnection.js.map +1 -1
- package/Components/404.js +11 -14
- package/Components/404.js.map +1 -1
- package/Components/ColorPicker.js +2 -2
- package/Components/ColorPicker.js.map +1 -1
- package/Components/ComplexCron.d.ts +1 -1
- package/Components/ComplexCron.js +40 -50
- package/Components/ComplexCron.js.map +1 -1
- package/Components/CustomModal.js +8 -12
- package/Components/CustomModal.js.map +1 -1
- package/Components/FileBrowser.js +3 -2
- package/Components/FileBrowser.js.map +1 -1
- package/Components/FileViewer.d.ts +0 -2
- package/Components/FileViewer.js +25 -35
- package/Components/FileViewer.js.map +1 -1
- package/Components/Icon.d.ts +0 -2
- package/Components/Icon.js +37 -46
- package/Components/Icon.js.map +1 -1
- package/Components/IconPicker.js +8 -10
- package/Components/IconPicker.js.map +1 -1
- package/Components/IconSelector.js +1830 -1841
- package/Components/IconSelector.js.map +1 -1
- package/Components/Image.js +18 -17
- package/Components/Image.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTable.js +357 -38
- package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
- package/Components/Loader.js +9 -9
- package/Components/Loader.js.map +1 -1
- package/Components/Loaders/PT.js +2 -2
- package/Components/Loaders/PT.js.map +1 -1
- package/Components/Loaders/Vendor.d.ts +0 -7
- package/Components/Loaders/Vendor.js +1 -4
- package/Components/Loaders/Vendor.js.map +1 -1
- package/Components/Logo.js +16 -18
- package/Components/Logo.js.map +1 -1
- package/Components/MDUtils.js +2 -3
- package/Components/MDUtils.js.map +1 -1
- package/Components/ObjectBrowser.d.ts +20 -6
- package/Components/ObjectBrowser.js +635 -610
- package/Components/ObjectBrowser.js.map +1 -1
- package/Components/Router.d.ts +1 -1
- package/Components/Router.js +6 -6
- package/Components/Router.js.map +1 -1
- package/Components/SaveCloseButtons.d.ts +0 -1
- package/Components/SaveCloseButtons.js +17 -17
- package/Components/SaveCloseButtons.js.map +1 -1
- package/Components/Schedule.d.ts +1 -1
- package/Components/Schedule.js +171 -162
- package/Components/Schedule.js.map +1 -1
- package/Components/SelectWithIcon.d.ts +1 -1
- package/Components/SelectWithIcon.js +12 -11
- package/Components/SelectWithIcon.js.map +1 -1
- package/Components/SimpleCron/cron2text.js +71 -74
- package/Components/SimpleCron/cron2text.js.map +1 -1
- package/Components/SimpleCron/cronText.js +1 -1
- package/Components/SimpleCron/cronText.js.map +1 -1
- package/Components/SimpleCron/index.d.ts +1 -1
- package/Components/SimpleCron/index.js +3 -4
- package/Components/SimpleCron/index.js.map +1 -1
- package/Components/SimpleCron/jquery.cron.locale.js +77 -74
- package/Components/SimpleCron/jquery.cron.locale.js.map +1 -1
- package/Components/TabContainer.js +6 -7
- package/Components/TabContainer.js.map +1 -1
- package/Components/TabContent.js +4 -4
- package/Components/TabContent.js.map +1 -1
- package/Components/TabHeader.js +2 -2
- package/Components/TabHeader.js.map +1 -1
- package/Components/TableResize.js +6 -6
- package/Components/TableResize.js.map +1 -1
- package/Components/TextWithIcon.js +6 -3
- package/Components/TextWithIcon.js.map +1 -1
- package/Components/ToggleThemeMenu.d.ts +1 -1
- package/Components/ToggleThemeMenu.js +5 -8
- package/Components/ToggleThemeMenu.js.map +1 -1
- package/Components/TreeTable.js +170 -201
- package/Components/TreeTable.js.map +1 -1
- package/Components/UploadImage.js +11 -12
- package/Components/UploadImage.js.map +1 -1
- package/Components/Utils.d.ts +14 -7
- package/Components/Utils.js +219 -202
- package/Components/Utils.js.map +1 -1
- package/Components/copy-to-clipboard.js +8 -9
- package/Components/copy-to-clipboard.js.map +1 -1
- package/Components/withWidth.js.map +1 -1
- package/Connection.js.map +1 -1
- package/Dialogs/ComplexCron.d.ts +1 -3
- package/Dialogs/ComplexCron.js +2 -4
- package/Dialogs/ComplexCron.js.map +1 -1
- package/Dialogs/Confirm.d.ts +1 -1
- package/Dialogs/Confirm.js +2 -2
- package/Dialogs/Confirm.js.map +1 -1
- package/Dialogs/Cron.d.ts +1 -2
- package/Dialogs/Cron.js +10 -17
- package/Dialogs/Cron.js.map +1 -1
- package/Dialogs/Error.d.ts +0 -1
- package/Dialogs/Error.js +10 -24
- package/Dialogs/Error.js.map +1 -1
- package/Dialogs/Message.js.map +1 -1
- package/Dialogs/SelectFile.js +2 -2
- package/Dialogs/SelectFile.js.map +1 -1
- package/Dialogs/SelectID.d.ts +0 -4
- package/Dialogs/SelectID.js +3 -7
- package/Dialogs/SelectID.js.map +1 -1
- package/Dialogs/SimpleCron.d.ts +1 -3
- package/Dialogs/SimpleCron.js +3 -5
- package/Dialogs/SimpleCron.js.map +1 -1
- package/Dialogs/TextInput.d.ts +0 -1
- package/Dialogs/TextInput.js +9 -17
- package/Dialogs/TextInput.js.map +1 -1
- package/GenericApp.js +39 -42
- package/GenericApp.js.map +1 -1
- package/LegacyConnection.d.ts +6 -6
- package/LegacyConnection.js +61 -63
- package/LegacyConnection.js.map +1 -1
- package/Prompt.js.map +1 -1
- package/README.md +19 -10
- package/Theme.js +1 -1
- package/Theme.js.map +1 -1
- package/assets/devices/parseNames.js +1 -1
- package/assets/rooms/parseNames.js +1 -1
- package/i18n/de.json +12 -1
- package/i18n/en.json +12 -1
- package/i18n/es.json +12 -1
- package/i18n/fr.json +12 -1
- package/i18n/it.json +12 -1
- package/i18n/nl.json +12 -1
- package/i18n/pl.json +12 -1
- package/i18n/pt.json +12 -1
- package/i18n/ru.json +12 -1
- package/i18n/uk.json +12 -1
- package/i18n/zh-cn.json +12 -1
- package/i18n.d.ts +1 -1
- package/i18n.js +20 -18
- package/i18n.js.map +1 -1
- package/icons/IconAdapter.js.map +1 -1
- package/icons/IconAlias.js.map +1 -1
- package/icons/IconChannel.js.map +1 -1
- package/icons/IconClearFilter.js.map +1 -1
- package/icons/IconClosed.js.map +1 -1
- package/icons/IconCopy.js.map +1 -1
- package/icons/IconDevice.js.map +1 -1
- package/icons/IconDocument.js.map +1 -1
- package/icons/IconDocumentReadOnly.js.map +1 -1
- package/icons/IconExpert.js.map +1 -1
- package/icons/IconFx.js.map +1 -1
- package/icons/IconInstance.js.map +1 -1
- package/icons/IconLogout.js.map +1 -1
- package/icons/IconNoIcon.js.map +1 -1
- package/icons/IconOpen.js.map +1 -1
- package/icons/IconState.js.map +1 -1
- package/index.js +0 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schedule.js","names":["_react","_interopRequireDefault","require","_propTypes","_withStyles","_Input","_Radio","_FormControlLabel","_FormGroup","_Checkbox","_reactTextMask","_MenuItem","_Select","_TextField","_i18n","_excluded","_excluded2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","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","_objectWithoutProperties2","createElement","_extends2","ref","mask","placeholderChar","placeholder","showMask","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","_React$Component","_inherits2","_super","_this","_classCallCheck2","schedule","JSON","parse","Object","keys","onChange","setTimeout","state","assign","now2string","refFrom","React","createRef","refTo","refOnce","desc","state2text","stringify","_createClass2","key","value","force","isDiff","setState","copy","string2date","today","Date","setHours","setMinutes","setSeconds","setMilliseconds","getTimePeriodElements","_this2","wholeDay","day","night","fromTo","className","classes","control","checked","onClick","_schedule","label","I18n","t","variant","style","type","target","InputLabelProps","shrink","margin","getPeriodSettingsMinutes","getTimeExactElements","_this3","isAstro","indexOf","map","event","getDivider","getPeriodModes","_this4","isOnce","defaultValue","timerOnce","clearTimeout","current","toString","getDate","getMonth","getFullYear","getPeriodSettingsDaily","getPeriodSettingsWeekdays","getPeriodSettingsWeekly","getPeriodSettingsMonthly","i","push","getPeriodSettingsDates","getPeriodSettingsYearly","min","max","parseInt","month","_this5","minutes","hours","_this6","isSpecific","row","includes","splice","sort","a","b","_this7","paddingRight","_this8","_this9","parsedDates","opacity","cursor","userSelect","pointerEvents","_this10","parsedMonths","_this11","getValidSettings","_this12","fontWeight","timerFrom","concat","timerTo","render","validFrom","now","tDows","last","pop","join","tMonths","getTime","isEnd","d","setDate","getMilliseconds","str","Component","string","_default","withStyles","exports"],"sources":["Schedule.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport Input from '@mui/material/Input';\nimport Radio from '@mui/material/Radio';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport FormGroup from '@mui/material/FormGroup';\nimport Checkbox from '@mui/material/Checkbox';\nimport MaskedInput from 'react-text-mask';\nimport MenuItem from '@mui/material/MenuItem';\nimport Select from '@mui/material/Select';\nimport TextField from '@mui/material/TextField';\n\nimport I18n from '../i18n';\n\nconst styles = theme => ({\n hr: {\n border: 0,\n borderTop: '1px solid gray'\n },\n scrollWindow: {\n width: '100%',\n overflow: 'auto',\n height: 'calc(100% - 22px)'\n },\n rowDiv: {\n width: '100%',\n },\n modeDiv: {\n width: 200,\n display: 'inline-block',\n verticalAlign: 'top'\n },\n settingsDiv: {\n display: 'inline-block',\n verticalAlign: 'top'\n },\n inputTime: {\n width: 90,\n marginTop: 0,\n marginLeft: 5\n },\n inputDate: {\n width: 140,\n marginTop: 0,\n marginLeft: 5\n },\n inputEvery: {\n width: 40,\n marginLeft: 5,\n marginRight: 5,\n },\n inputRadio: {\n padding: '4px 12px',\n verticalAlign: 'top'\n },\n inputGroup: {\n maxWidth: 400,\n display: 'inline-block'\n },\n inputGroupElement: {\n width: 120,\n },\n inputDateDay: {\n width: 60,\n },\n inputDateDayCheck: {\n padding: 4,\n },\n inputSmallCheck: {\n padding: 0,\n },\n rowOnce: {},\n\n rowDays: {\n background: theme.palette.mode !== 'dark' ? '#ddeaff' : '#4b5057'\n },\n rowDows: {\n background: theme.palette.mode !== 'dark' ? '#DDFFDD' : '#52646c'\n },\n rowDates: {\n background: theme.palette.mode !== 'dark' ? '#DDDDFF' : '#747a86'\n },\n rowWeeks: {\n background: theme.palette.mode !== 'dark' ? '#DDDDFF' : '#717680'\n },\n rowMonths: {\n background: theme.palette.mode !== 'dark' ? '#DDFFFF' : '#1f5557'\n },\n rowMonthsDates: {\n background: theme.palette.mode !== 'dark' ? '#EEFFFF' : '#3c5737',\n maxWidth: 600\n },\n rowYears: {\n background: theme.palette.mode !== 'dark' ? '#fbffdd' : '#574b33'\n },\n rowDaysDows: {\n background: theme.palette.mode !== 'dark' ? '#EEEAFF' : '#573544',\n paddingLeft: 10,\n paddingBottom: 10\n },\n rowDowsDows: {\n background: theme.palette.mode !== 'dark' ? '#EEFFEE' : '#3d4c54',\n paddingLeft: 10,\n paddingBottom: 10\n }\n});\n\nconst WEEKDAYS = [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n 'Sunday',\n];\nconst MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December'\n];\nconst PERIODS = {\n 'minutes': 'minutes',\n 'hours': 'hours',\n};\nconst ASTRO = [\n 'sunrise',\n 'sunriseEnd',\n 'goldenHourEnd',\n 'solarNoon',\n 'goldenHour',\n 'sunsetStart',\n 'sunset',\n 'dusk',\n 'nauticalDusk',\n 'night',\n 'nightEnd',\n 'nauticalDawn',\n 'dawn',\n 'nadir',\n];\n\nfunction padding(num) {\n if (num < 10) {\n return '0' + num;\n } else {\n return '' + num;\n }\n}\n\nfunction TextTime(props) {\n const {inputRef, ...other} = props;\n\n return <MaskedInput\n {...other}\n ref={inputRef}\n mask={[/[0-2]/, /[0-9]/, ':', /[0-5]/, /[0-9]/]}\n placeholderChar={props.placeholder || '00:00'}\n showMask\n />;\n}\n\nTextTime.propTypes = {\n inputRef: PropTypes.func.isRequired,\n};\n\nfunction TextDate(props) {\n const {inputRef, ...other} = props;\n\n return <MaskedInput\n {...other}\n ref={inputRef}\n mask={[/[0-3]/, /[0-9]/, '.', /[0-1]/, /[0-9]/, '.', '2', '0', /[0-9]/, /[0-9]/]}\n placeholderChar={props.placeholder || '01.01.2020'}\n showMask\n />;\n}\n\nTextDate.propTypes = {\n inputRef: PropTypes.func.isRequired,\n};\n\nconst DEFAULT = {\n time: {\n exactTime: false,\n\n start: '00:00',\n end: '23:59',\n\n mode: 'hours',\n interval: 1,\n },\n period: {\n once: '',\n days: 1,\n dows: '',\n dates: '',\n weeks: 0,\n months: '',\n\n years: 0,\n yearMonth: 0,\n yearDate: 0,\n },\n valid: {\n from: '',\n to: ''\n }\n};\n\nfunction string2USdate(date) {\n const parts = date.split('.');\n if (parts.length === 3) {\n return parts[2] + '-' + parts[1] + '-' + parts[0];\n }\n\n}\n\nclass Schedule extends React.Component {\n constructor(props) {\n super(props);\n let schedule;\n if (this.props.schedule && typeof this.props.schedule === 'string' && this.props.schedule[0] === '{') {\n try {\n schedule = JSON.parse(this.props.schedule);\n } catch (e) {\n\n }\n }\n\n if ((!schedule || !Object.keys(schedule).length) && this.props.onChange) {\n setTimeout(() => this.onChange(this.state.schedule, true), 200);\n }\n schedule = schedule || {};\n schedule = Object.assign({}, DEFAULT, schedule);\n schedule.valid.from = schedule.valid.from || Schedule.now2string();\n\n this.refFrom = React.createRef();\n this.refTo = React.createRef();\n this.refOnce = React.createRef();\n\n this.state = {\n schedule,\n desc: Schedule.state2text(schedule)\n };\n\n if (JSON.stringify(schedule) !== this.props.schedule) {\n setTimeout(() =>\n this.props.onChange && this.props.onChange(JSON.stringify(schedule)), 100);\n }\n }\n\n onChange(schedule, force) {\n const isDiff = JSON.stringify(schedule) !== JSON.stringify(this.state.schedule);\n if (force || isDiff) {\n isDiff && this.setState({schedule, desc: Schedule.state2text(schedule)});\n const copy = JSON.parse(JSON.stringify(schedule));\n if (copy.period.once) {\n let once = copy.period.once;\n delete copy.period;\n copy.period = {once};\n delete copy.valid;\n } else if (copy.period.days) {\n let days = copy.period.days;\n let dows = copy.period.dows;\n delete copy.period;\n copy.period = {days};\n if (dows && dows !== '[]') {\n copy.period.dows = dows;\n }\n } else if (copy.period.weeks) {\n let weeks = copy.period.weeks;\n let dows = copy.period.dows;\n delete copy.period;\n copy.period = {weeks};\n if (dows && dows !== '[]') {\n copy.period.dows = dows;\n }\n } else if (copy.period.months) {\n let months = copy.period.months;\n let dates = copy.period.dates;\n delete copy.period;\n copy.period = {months};\n if (dates && dates !== '[]') {\n copy.period.dates = dates;\n }\n } else if (copy.period.years) {\n let years = copy.period.years;\n let yearMonth = copy.period.yearMonth;\n let yearDate = copy.period.yearDate;\n delete copy.period;\n copy.period = {years, yearDate};\n if (yearMonth) {\n copy.period.yearMonth = yearMonth;\n }\n }\n\n if (copy.time.exactTime) {\n delete copy.time.end;\n delete copy.time.mode;\n delete copy.time.interval;\n } else {\n delete copy.time.exactTime;\n }\n if (copy.valid) {\n if (!copy.valid.to) {\n delete copy.valid.to;\n }\n if (copy.period.days === 1 || copy.period.weeks === 1 || copy.period.months === 1 || copy.period.years === 1) {\n const from = Schedule.string2date(copy.valid.from);\n const today = new Date();\n today.setHours(0);\n today.setMinutes(0);\n today.setSeconds(0);\n today.setMilliseconds(0);\n if (from <= today) {\n delete copy.valid.from;\n }\n }\n if (!copy.valid.from && !copy.valid.to) {\n delete copy.valid;\n }\n }\n\n this.props.onChange && this.props.onChange(JSON.stringify(copy), Schedule.state2text(schedule));\n }\n }\n\n static state2text(schedule) {\n if (typeof schedule === 'string') {\n try {\n schedule = JSON.parse(schedule);\n } catch (e) {\n schedule = {};\n }\n }\n\n let desc = [];\n let validFrom = Schedule.string2date(schedule.valid.from);\n if (schedule.period.once) {\n // once\n let once = Schedule.string2date(schedule.period.once);\n let now = new Date();\n now.setMilliseconds(0);\n now.setSeconds(0);\n now.setMinutes(0);\n now.setHours(0);\n\n //\n if (once < now) {\n // will ne be not executed any more, because start is in the past\n return I18n.t('sch_desc_onceInPast');\n } else {\n // only once\n desc.push(I18n.t('sch_desc_once_on', schedule.period.once));\n }\n } else if (schedule.period.days) {\n if (schedule.period.days === 1) {\n if (schedule.period.dows) {\n const dows = JSON.parse(schedule.period.dows);\n if (dows.length === 2 && dows[0] === 0 && dows[1] === 6) {\n // on weekends\n desc.push(I18n.t('sch_desc_onWeekends'));\n } else if (dows.length === 5 && dows[0] === 1 && dows[1] === 2 && dows[2] === 3 && dows[3] === 4 && dows[4] === 5) {\n // on workdays\n desc.push(I18n.t('sch_desc_onWorkdays'));\n } else {\n const tDows = dows.map(day => I18n.t(WEEKDAYS[day]));\n if (tDows.length === 1) {\n // on Monday\n desc.push(I18n.t('sch_desc_onWeekday', tDows[0]));\n } else if (tDows.length === 7) {\n // on every day\n desc.push(I18n.t('sch_desc_everyDay'));\n } else {\n const last = tDows.pop();\n // on Monday and Sunday\n desc.push(I18n.t('sch_desc_onWeekdays', tDows.join(', '), last));\n }\n }\n } else {\n desc.push(I18n.t('sch_desc_everyDay'));\n }\n } else {\n desc.push(I18n.t('sch_desc_everyNDay', schedule.period.days));\n }\n } else if (schedule.period.weeks) {\n if (schedule.period.weeks === 1) {\n desc.push(I18n.t('sch_desc_everyWeek'));\n } else {\n desc.push(I18n.t('sch_desc_everyNWeeks', schedule.period.weeks));\n }\n\n if (schedule.period.dows) {\n const dows = JSON.parse(schedule.period.dows);\n if (dows.length === 2 && dows[0] === 0 && dows[1] === 6) {\n // on weekends\n desc.push(I18n.t('sch_desc_onWeekends'));\n } else if (dows.length === 5 && dows[0] === 1 && dows[1] === 2 && dows[2] === 3 && dows[3] === 4 && dows[4] === 5) {\n // on workdays\n desc.push(I18n.t('sch_desc_onWorkdays'));\n } else {\n const tDows = dows.map(day => I18n.t(WEEKDAYS[day]));\n if (tDows.length === 1) {\n // on Monday\n desc.push(I18n.t('sch_desc_onWeekday', tDows[0]));\n } else if (tDows.length === 7) {\n // on every day\n desc.push(I18n.t('sch_desc_everyDay'));\n } else {\n const last = tDows.pop();\n // on Monday and Sunday\n desc.push(I18n.t('sch_desc_onWeekdays', tDows.join(', '), last));\n }\n }\n } else {\n return I18n.t('sch_desc_never');\n }\n } else if (schedule.period.months) {\n if (schedule.period.dates) {\n const dates = JSON.parse(schedule.period.dates);\n if (dates.length === 1) {\n // in 1 of month\n desc.push(I18n.t('sch_desc_onDate', dates[0]));\n } else if (dates.length === 31) {\n desc.push(I18n.t('sch_desc_onEveryDate'));\n } else if (!dates.length) {\n return I18n.t('sch_desc_never');\n } else {\n const last = dates.pop();\n // in 1 and 4 of month\n desc.push(I18n.t('sch_desc_onDates', dates.join(', '), last));\n }\n } else {\n desc.push(I18n.t('sch_desc_onEveryDate'));\n }\n\n if (schedule.period.months === 1) {\n desc.push(I18n.t('sch_desc_everyMonth'));\n } else if (typeof schedule.period.months === 'number') {\n desc.push(I18n.t('sch_desc_everyNMonths', schedule.period.months));\n } else {\n const months = JSON.parse(schedule.period.months);\n const tMonths = months.map(month => I18n.t(MONTHS[month - 1]));\n if (!tMonths.length) {\n // in January\n return I18n.t('sch_desc_never');\n } else if (tMonths.length === 1) {\n // in January\n desc.push(I18n.t('sch_desc_onMonth', tMonths[0]));\n } else if (tMonths.length === 12) {\n // every month\n desc.push(I18n.t('sch_desc_everyMonth'));\n } else {\n const last = tMonths.pop();\n // in January and May\n desc.push(I18n.t('sch_desc_onMonths', tMonths.join(', '), last));\n }\n }\n } else if (schedule.period.years) {\n if (schedule.period.years === 1) {\n desc.push(I18n.t('sch_desc_everyYear'));\n } else {\n desc.push(I18n.t('sch_desc_everyNYears', schedule.period.years));\n }\n desc.push(I18n.t('sch_desc_onDate', schedule.period.yearDate, schedule.period.yearMonth ? I18n.t(MONTHS[schedule.period.yearMonth - 1]) : I18n.t('sch_desc_everyMonth')));\n }\n\n // time\n if (schedule.time.exactTime) {\n if (ASTRO.indexOf(schedule.time.start) !== -1) {\n // at sunset\n desc.push(I18n.t('sch_desc_atTime', I18n.t('sch_astro_' + schedule.time.start)));\n } else {\n // at HH:MM\n desc.push(I18n.t('sch_desc_atTime', schedule.time.start));\n }\n } else {\n if (schedule.time.mode === PERIODS.minutes) {\n if (schedule.time.interval === 1) {\n // every minute\n desc.push(I18n.t('sch_desc_everyMinute'));\n } else {\n // every N minutes\n desc.push(I18n.t('sch_desc_everyNMinutes', schedule.time.interval));\n }\n } else {\n if (schedule.time.interval === 1) {\n // every minute\n desc.push(I18n.t('sch_desc_everyHour'));\n } else {\n // every N minutes\n desc.push(I18n.t('sch_desc_everyNHours', schedule.time.interval));\n }\n }\n const start = ASTRO.indexOf(schedule.time.start) !== -1 ? I18n.t('sch_astro_' + schedule.time.start) : schedule.time.start;\n const end = ASTRO.indexOf(schedule.time.end) !== -1 ? I18n.t('sch_astro_' + schedule.time.end) : schedule.time.end;\n if (start !== '00:00' || (end !== '24:00' && end !== '23:59')) {\n // from HH:mm to HH:mm\n desc.push(I18n.t('sch_desc_intervalFromTo', start, end));\n }\n }\n\n if (!schedule.period.once) {\n // valid\n if (validFrom.getTime() > Date.now() && schedule.valid.to) {\n // from XXX to XXXX\n desc.push(I18n.t('sch_desc_validFromTo', schedule.valid.from, schedule.valid.to));\n } else if (validFrom.getTime() > Date.now()) {\n // from XXXX\n desc.push(I18n.t('sch_desc_validFrom', schedule.valid.from));\n } else if (schedule.valid.to) {\n // till XXXX\n desc.push(I18n.t('sch_desc_validTo', schedule.valid.to));\n }\n }\n return desc.join(' ');\n }\n\n getTimePeriodElements() {\n const schedule = this.state.schedule;\n let wholeDay = false;\n let day = false;\n let night = false;\n let fromTo = true;\n if (schedule.time.start === '00:00' && schedule.time.end === '24:00') {\n wholeDay = true;\n fromTo = false;\n } else if (schedule.time.start === 'sunrise') {\n day = true;\n fromTo = false;\n } else if (schedule.time.start === 'sunset') {\n night = true;\n fromTo = false;\n }\n\n return <div key=\"timePeriod\" className={this.props.classes.rowDiv}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!schedule.time.exactTime}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.exactTime = false;\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_intervalTime')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <div className={this.props.classes.settingsDiv}>\n {!schedule.time.exactTime && <div>\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!fromTo}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = '00:00';\n _schedule.time.end = '23:59';\n this.onChange(_schedule);\n }}/>}\n label={!fromTo ? I18n.t('sch_fromTo') : ''}/>\n {fromTo && [\n <TextField\n variant=\"standard\"\n className={this.props.classes.inputTime}\n style={{marginRight: 10}}\n key=\"exactTimeFrom\"\n type=\"time\"\n value={this.state.schedule.time.start}\n //InputProps={{inputComponent: TextTime}}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n InputLabelProps={{shrink: true,}}\n label={I18n.t('sch_from')}\n margin=\"normal\"\n />,\n <TextField\n variant=\"standard\"\n className={this.props.classes.inputTime}\n key=\"exactTimeTo\"\n type=\"time\"\n value={this.state.schedule.time.end}\n //InputProps={{inputComponent: TextTime}}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.end = e.target.value;\n this.onChange(_schedule);\n }}\n InputLabelProps={{shrink: true,}}\n label={I18n.t('sch_to')}\n margin=\"normal\"\n />\n ]}\n </div>\n </div>}\n\n {!schedule.time.exactTime && <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!wholeDay}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = '00:00';\n _schedule.time.end = '24:00';\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_wholeDay')}/></div>}\n\n {!schedule.time.exactTime && <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!day}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = 'sunrise';\n _schedule.time.end = 'sunset';\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_astroDay')}/></div>}\n\n {!schedule.time.exactTime && <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!night} onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = 'sunset';\n _schedule.time.end = 'sunrise';\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_astroNight')}/></div>}\n </div>\n {!schedule.time.exactTime && this.getPeriodSettingsMinutes()}\n </div>\n </div>;\n }\n\n getTimeExactElements() {\n const isAstro = ASTRO.indexOf(this.state.schedule.time.start) !== -1;\n\n return <div key=\"timeExact\" className={this.props.classes.rowDiv}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!this.state.schedule.time.exactTime}\n onClick={() => {\n const schedule = JSON.parse(JSON.stringify(this.state.schedule));\n schedule.time.exactTime = true;\n this.onChange(schedule);\n }}/>} label={I18n.t('sch_exactTime')}/>\n </div>\n {this.state.schedule.time.exactTime && <Select\n variant=\"standard\"\n value={isAstro ? this.state.schedule.time.start : '00:00'}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n >\n <MenuItem key=\"specific\" value={'00:00'}>{I18n.t('sch_specificTime')}</MenuItem>\n {ASTRO.map(event => <MenuItem key={event} value={event}>{I18n.t('sch_astro_' + event)}</MenuItem>)}\n </Select>\n }\n {this.state.schedule.time.exactTime && !isAstro &&\n <div className={this.props.classes.settingsDiv}><TextField\n variant=\"standard\"\n className={this.props.classes.inputTime}\n key=\"exactTimeValue\"\n value={this.state.schedule.time.start}\n type=\"time\"\n // inputComponent={TextTime}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n /></div>\n }\n </div>;\n }\n\n getDivider() {\n return <hr className={this.props.classes.hr}/>;\n }\n\n getPeriodModes() {\n const schedule = this.state.schedule;\n const isOnce = !schedule.period.dows && !schedule.period.months && !schedule.period.dates && !schedule.period.years && !schedule.period.days && !schedule.period.weeks;\n if (isOnce && !schedule.period.once) {\n schedule.period.once = Schedule.now2string(true);\n }\n\n return [\n // ----- once ---\n <div key=\"once\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowOnce}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!isOnce}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.once = _schedule.period.once || Schedule.now2string(true);\n _schedule.period.dows = '';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodOnce')}/>\n </div>\n {isOnce && <div className={this.props.classes.settingsDiv}>\n {<TextField\n variant=\"standard\"\n className={this.props.classes.inputDate}\n type=\"date\"\n ref={this.refOnce}\n key=\"exactDateAt\"\n defaultValue={string2USdate(schedule.period.once)}\n //InputProps={{inputComponent: TextTime}}\n onChange={e => {\n this.timerOnce && clearTimeout(this.timerOnce);\n\n this.refOnce.current.style.background = '#ff000030';\n this.timerOnce = setTimeout(value => {\n this.timerOnce = null;\n this.refOnce.current.style.background = '';\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.period.once = padding(date.getDate()) + '.' + padding(date.getMonth() + 1) + '.' + date.getFullYear();\n this.onChange(_schedule);\n }\n }, 1500, e.target.value);\n }}\n InputLabelProps={{shrink: true,}}\n label={I18n.t('sch_at')}\n margin=\"normal\"\n />}\n </div>}\n </div>,\n\n\n // ----- days ---\n <div key=\"days\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowDays}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.days}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 1;\n _schedule.period.dows = '';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodDaily')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n {this.getPeriodSettingsDaily()}\n {schedule.period.days ? this.getPeriodSettingsWeekdays() : null}\n </div>\n </div>,\n\n\n // ----- days of weeks ---\n /*!schedule.period.days && (\n <div key=\"dows\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowDows}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel control={<Radio className={this.props.classes.inputRadio} checked={!!schedule.period.dows} onClick={() => {\n const schedule = JSON.parse(JSON.stringify(this.state.schedule));\n schedule.period.dows = schedule.period.dows ? '' : '[0,1,2,3,4,5,6]';\n this.onChange(schedule);\n }}/>}\n label={I18n.t('sch_periodWeekdays')} />\n </div>\n <div className={this.props.classes.settingsDiv}>\n {this.getPeriodSettingsWeekdays()}\n </div>\n </div>,\n*/\n // ----- weeks ---\n <div key=\"weeks\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowDows}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.weeks}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = schedule.period.weeks ? 0 : 1;\n _schedule.period.dows = schedule.period.dows || '[0]';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWeekly')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <div className={this.props.classes.settingsDiv}>{this.getPeriodSettingsWeekly()}</div>\n <div\n className={this.props.classes.settingsDiv + ' ' + this.props.classes.rowDowsDows}>{this.state.schedule.period.weeks ? this.getPeriodSettingsWeekdays() : null}</div>\n </div>\n </div>,\n\n\n // ----- months ---\n <div key=\"months\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowMonths}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.months}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 1;\n _schedule.period.dows = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodMonthly')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n {this.getPeriodSettingsMonthly()}\n {schedule.period.months ? <div>\n <div className={this.props.classes.settingsDiv + ' ' + this.props.classes.rowMonthsDates}>\n <FormControlLabel\n control={<Checkbox\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.dates}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = _schedule.period.months || 1;\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n _schedule.period.dates = _schedule.period.dates || JSON.stringify(dates);\n _schedule.period.dows = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodDates')}/></div>\n <div className={this.props.classes.settingsDiv + ' ' + this.props.classes.rowMonthsDates}>\n {this.getPeriodSettingsDates()}\n </div>\n </div> : null}\n </div>\n </div>,\n\n\n // ----- years ---\n <div key=\"years\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowYears}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.years}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 1;\n _schedule.period.yearDate = 1;\n _schedule.period.yearMonth = 1;\n _schedule.period.dows = '';\n _schedule.period.months = 0;\n _schedule.period.dates = '';\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodYearly')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <div className={this.props.classes.settingsDiv}>{this.getPeriodSettingsYearly()}</div>\n {!!schedule.period.years && <div className={this.props.classes.settingsDiv}>\n <span>{I18n.t('sch_on')}</span>\n <Input\n key=\"input\"\n value={this.state.schedule.period.yearDate}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"1\"\n max=\"31\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.yearDate = parseInt(e.target.value, 10);\n if (_schedule.period.yearDate < 1) _schedule.period.yearDate = 31;\n if (_schedule.period.yearDate > 31) _schedule.period.yearDate = 1;\n this.onChange(_schedule);\n }}/>\n <Select\n variant=\"standard\"\n value={schedule.period.yearMonth}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.yearMonth = e.target.value;\n this.onChange(_schedule);\n }}\n >\n <MenuItem key=\"every\" value={0}>{I18n.t('sch_yearEveryMonth')}</MenuItem>\n {MONTHS.map((month, i) => <MenuItem key={month} value={i + 1}>{I18n.t(month)}</MenuItem>)}\n </Select>\n </div>}\n </div>\n </div>,\n ];\n }\n\n getPeriodSettingsMinutes() {\n return <div style={{display: 'inline-block'}}>\n <label>{I18n.t('sch_every')}</label>\n <Input\n value={this.state.schedule.time.interval}\n style={{verticalAlign: 'bottom'}}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"1\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.interval = parseInt(e.target.value, 10);\n this.onChange(_schedule);\n }}/>\n <Select\n variant=\"standard\"\n value={this.state.schedule.time.mode}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.mode = e.target.value;\n this.onChange(_schedule);\n }}\n >\n <MenuItem value={PERIODS.minutes}>{I18n.t('sch_periodMinutes')}</MenuItem>\n <MenuItem value={PERIODS.hours}>{I18n.t('sch_periodHours')}</MenuItem>\n </Select>\n </div>;\n }\n\n getPeriodSettingsWeekdays() {\n // || this.state.schedule.period.dows === '[1, 2, 3, 4, 5]' || this.state.schedule.period.dows === '[0, 6]'\n const schedule = this.state.schedule;\n const isSpecific = schedule.period.dows && schedule.period.dows !== '[1, 2, 3, 4, 5]' && schedule.period.dows !== '[0, 6]';\n return [\n <div key=\"workdays\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.dows === '[1, 2, 3, 4, 5]'}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[1, 2, 3, 4, 5]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWorkdays')}/></div>,\n\n <div key=\"weekend\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.dows === '[0, 6]'}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[0, 6]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWeekend')}/></div>,\n\n <div\n key=\"specific\"\n style={{verticalAlign: 'top'}}\n ><FormControlLabel\n style={{verticalAlign: 'top'}}\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!isSpecific}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[0,1,2,3,4,5,6]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWeekdays')}/>\n {isSpecific && (schedule.period.days === 1 || schedule.period.weeks) &&\n <FormGroup row className={this.props.classes.inputGroup} style={{width: 150}}>\n {[1, 2, 3, 4, 5, 6, 0].map(i =>\n <FormControlLabel\n key={'specific_' + i}\n className={this.props.classes.inputGroupElement}\n control={\n <Checkbox\n className={this.props.classes.inputSmallCheck}\n checked={schedule.period.dows.includes('' + i)}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let dows;\n try {\n dows = JSON.parse(_schedule.period.dows);\n } catch (e) {\n dows = [];\n }\n if (e.target.checked && !dows.includes(i)) {\n dows.push(i);\n } else if (!e.target.checked && dows.includes(i)) {\n dows.splice(dows.indexOf(i), 1);\n }\n dows.sort((a, b) => a - b);\n _schedule.period.dows = JSON.stringify(dows);\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t(WEEKDAYS[i])}\n />)}\n </FormGroup>}\n </div>,\n ];\n }\n\n getPeriodSettingsDaily() {\n if (!this.state.schedule.period.days) {\n return;\n }\n const schedule = this.state.schedule;\n return [\n <div key=\"every_day\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.days === 1 && !schedule.period.dows}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 1;\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodEveryDay')}/></div>,\n <div key=\"everyN_day\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.days > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 2;\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodEvery')}/>\n {schedule.period.days > 1 && [<Input\n key=\"input\"\n value={this.state.schedule.period.days}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = parseInt(e.target.value, 10);\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}/>,\n <span key=\"span\" style={{paddingRight: 10}}>{I18n.t('sch_periodDay')}</span>]}\n </div>,\n ];\n }\n\n getPeriodSettingsWeekly() {\n if (!this.state.schedule.period.weeks) {\n return;\n }\n const schedule = this.state.schedule;\n return [\n <div key=\"radios\" style={{display: 'inline-block', verticalAlign: 'top'}}>\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.weeks === 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = 1;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEveryWeek')}/></div>\n <div>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.weeks > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = 2;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEvery')}/>\n {schedule.period.weeks > 1 && [<Input\n value={this.state.schedule.period.weeks}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = parseInt(e.target.value, 10);\n this.onChange(_schedule);\n }}/>, <span>{I18n.t('sch_periodWeek')}</span>]}\n </div>\n </div>,\n ];\n }\n\n getPeriodSettingsDates() {\n if (!this.state.schedule.period.dates) {\n return;\n }\n const schedule = this.state.schedule;\n\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n\n const parsedDates = JSON.parse(schedule.period.dates);\n\n return <FormGroup\n row\n className={this.props.classes.inputGroup}\n style={{maxWidth: 620}}\n >\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={parsedDates.length === 31}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n _schedule.period.dates = JSON.stringify(dates);\n this.onChange(_schedule);\n }}\n />\n } label={I18n.t('sch_all')}\n />\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={!parsedDates.length}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dates = '[]';\n this.onChange(_schedule);\n }}\n />\n } label={I18n.t('sch_no_one')}\n />\n {parsedDates.length !== 31 && !!parsedDates.length &&\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={false}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const result = [];\n const parsedDates = JSON.parse(_schedule.period.dates);\n for (let i = 1; i <= 31; i++) {\n if (parsedDates.indexOf(i) === -1) {\n result.push(i);\n }\n }\n result.sort((a, b) => a - b);\n _schedule.period.dates = JSON.stringify(result);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_invert')}\n />}\n <div/>\n {dates.map(i =>\n <FormControlLabel\n key={'date_' + i}\n className={this.props.classes.inputDateDay}\n style={!i ? {\n opacity: 0,\n cursor: 'default',\n userSelect: 'none',\n pointerEvents: 'none'\n } : {}}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={JSON.parse(schedule.period.dates).includes(i)}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let dates;\n try {\n dates = JSON.parse(_schedule.period.dates);\n } catch (e) {\n dates = [];\n }\n if (e.target.checked && dates.indexOf(i) === -1) {\n dates.push(i);\n } else if (!e.target.checked && dates.indexOf(i) !== -1) {\n dates.splice(dates.indexOf(i), 1);\n }\n dates.sort((a, b) => a - b);\n _schedule.period.dates = JSON.stringify(dates);\n this.onChange(_schedule);\n }}\n />\n }\n label={i < 10 ? [<span key=\"0\" style={{opacity: 0}}>0</span>,\n <span key=\"num\">{i}</span>] : i}\n />)}\n </FormGroup>;\n }\n\n getPeriodSettingsMonthly() {\n if (!this.state.schedule.period.months) {\n return;\n }\n const schedule = this.state.schedule;\n const parsedMonths = typeof schedule.period.months === 'string' ? JSON.parse(schedule.period.months) : [];\n\n return [\n <div key=\"every\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={typeof schedule.period.months === 'number' && schedule.period.months === 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 1;\n this.onChange(schedule);\n }}/>}\n label={I18n.t('sch_periodEveryMonth')}/></div>,\n <div key=\"everyN\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={typeof schedule.period.months === 'number' && schedule.period.months > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 2;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEvery')}/>\n {typeof schedule.period.months === 'number' && schedule.period.months > 1 && [<Input\n value={schedule.period.months}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = parseInt(e.target.value, 10);\n if (_schedule.period.months < 1) _schedule.period.months = 1;\n this.onChange(_schedule);\n }}/>, <span>{I18n.t('sch_periodMonth')}</span>]}\n </div>,\n <div key=\"specific\" style={{verticalAlign: 'top'}}><FormControlLabel\n style={{verticalAlign: 'top'}}\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={typeof schedule.period.months === 'string'}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = '[1,2,3,4,5,6,7,8,9,10,11,12]';\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodSpecificMonths')}/>\n {typeof schedule.period.months === 'string' &&\n <FormGroup\n row\n className={this.props.classes.inputGroup}>\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={parsedMonths.length === 12}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const months = [];\n for (let i = 1; i <= 12; i++) {\n months.push(i);\n }\n _schedule.period.months = JSON.stringify(months);\n this.onChange(_schedule);\n }}\n />\n } label={I18n.t('sch_all')}\n />\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={!parsedMonths.length}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = '[]';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_no_one')}\n />\n {parsedMonths.length !== 12 && !!parsedMonths.length &&\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={false}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const result = [];\n const parsedMonths = JSON.parse(_schedule.period.months);\n for (let i = 1; i <= 12; i++) {\n if (parsedMonths.indexOf(i) === -1) {\n result.push(i);\n }\n }\n result.sort((a, b) => a - b);\n _schedule.period.months = JSON.stringify(result);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_invert')}\n />}\n <div/>\n {MONTHS.map((month, i) =>\n <FormControlLabel\n className={this.props.classes.inputGroupElement}\n control={\n <Checkbox\n className={this.props.classes.inputSmallCheck}\n checked={JSON.parse(schedule.period.months).includes(i + 1)}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let months;\n try {\n months = JSON.parse(_schedule.period.months);\n } catch (e) {\n months = [];\n }\n if (e.target.checked && !months.includes(i + 1)) {\n months.push(i + 1);\n } else if (!e.target.checked && months.includes(i + 1)) {\n months.splice(months.indexOf(i + 1), 1);\n }\n months.sort((a, b) => a - b);\n _schedule.period.months = JSON.stringify(months);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t(month)}\n />)}\n </FormGroup>}\n </div>,\n ];\n }\n\n getPeriodSettingsYearly() {\n if (!this.state.schedule.period.years) {\n return;\n }\n const schedule = this.state.schedule;\n return [\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.years === 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 1;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEveryYear')}/></div>,\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.years > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 2;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEvery')}/>\n {schedule.period.years > 1 &&\n [<Input\n value={this.state.schedule.period.years}\n className={this.props.classes.inputEvery} type=\"number\" min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = parseInt(e.target.value, 10);\n if (_schedule.period.years < 1) _schedule.period.years = 1;\n this.onChange(_schedule);\n }}/>,\n <span>{I18n.t('sch_periodYear')}</span>]}\n </div>,\n ];\n }\n\n static now2string(isEnd) {\n const d = new Date();\n d.setHours(0);\n d.setMinutes(0);\n d.setSeconds(0);\n d.setMilliseconds(0);\n if (isEnd) {\n d.setDate(d.getDate() + 2);\n d.setMilliseconds(d.getMilliseconds() - 1);\n }\n\n return `${padding(d.getDate())}.${padding(d.getMonth() + 1)}.${padding(d.getFullYear())}`;\n }\n\n static string2date(str) {\n let parts = str.split('.'); // 31.12.2019\n if (parts.length === 1) {\n parts = str.split('-'); // 2018-12-31\n return new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10));\n } else {\n return new Date(parseInt(parts[2], 10), parseInt(parts[1], 10) - 1, parseInt(parts[0], 10));\n }\n }\n\n getValidSettings() {\n const schedule = this.state.schedule;\n // ----- from ---\n return <div className={this.props.classes.rowDiv}>\n <div className={this.props.classes.modeDiv} style={{verticalAlign: 'middle'}}>\n <span style={{fontWeight: 'bold', paddingRight: 10}}>{I18n.t('sch_valid')}</span>\n <span>{I18n.t('sch_validFrom')}</span>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <TextField\n variant=\"standard\"\n className={this.props.classes.inputDate}\n style={{marginRight: 10}}\n key=\"exactTimeFrom\"\n inputRef={this.refFrom}\n defaultValue={string2USdate(schedule.valid.from)}\n type=\"date\"\n //inputComponent={TextDate}\n onChange={e => {\n this.timerFrom && clearTimeout(this.timerFrom);\n\n this.refFrom.current.style.background = '#ff000030';\n\n this.timerFrom = setTimeout(value => {\n this.timerFrom = null;\n this.refFrom.current.style.background = '';\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.valid.from = `${padding(date.getDate())}.${padding(date.getMonth() + 1)}.${date.getFullYear()}`;\n this.onChange(_schedule);\n }\n }, 1500, e.target.value);\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n />\n <FormControlLabel\n control={<Checkbox\n className={this.props.classes.inputRadio}\n checked={!!schedule.valid.to}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.valid.to = _schedule.valid.to ? '' : Schedule.now2string(true);\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_validTo')}/>\n {!!schedule.valid.to && <TextField\n variant=\"standard\"\n inputRef={this.refTo}\n className={this.props.classes.inputDate}\n style={{marginRight: 10}}\n key=\"exactTimeFrom\"\n type=\"date\"\n defaultValue={string2USdate(schedule.valid.to)}\n //inputComponent={TextDate}\n onChange={e => {\n this.timerTo && clearTimeout(this.timerTo);\n\n this.refTo.current.style.background = '#ff000030';\n this.timerTo = setTimeout(value => {\n this.timerTo = null;\n this.refTo.current.style.background = '';\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.valid.to = `${padding(date.getDate())}.${padding(date.getMonth() + 1)}.${date.getFullYear()}`;\n this.onChange(_schedule);\n }\n }, 1500, e.target.value);\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n />}\n </div>\n </div>;\n }\n\n render() {\n return <div style={{height: 'calc(100% - 48px)', width: '100%', overflow: 'hidden'}}>\n <div>{this.state.desc}</div>\n <div className={this.props.classes.scrollWindow}>\n <h5>{I18n.t('sch_time')}</h5>\n {this.getTimePeriodElements()}\n {this.getTimeExactElements()}\n {this.getDivider()}\n <h5>{I18n.t('sch_period')}</h5>\n {this.getPeriodModes()}\n {!this.state.schedule.period.once && this.getDivider()}\n {!this.state.schedule.period.once && this.getValidSettings()}\n </div>\n </div>;\n }\n}\n\nSchedule.propTypes = {\n schedule: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default withStyles(styles)(Schedule);\n\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Schedule.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_reactTextMask","_material","_i18n","_excluded","_excluded2","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","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","minutes","hours","ASTRO","num","concat","TextTime","props","inputRef","other","_objectWithoutProperties2","createElement","_extends2","ref","mask","placeholderChar","placeholder","showMask","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","Schedule","_React$Component","_inherits2","_super","_this","_classCallCheck2","schedule","JSON","parse","onChange","setTimeout","state","now2string","refFrom","React","createRef","refTo","refOnce","desc","state2text","stringify","_createClass2","value","force","isDiff","setState","copy","string2date","today","Date","setHours","setMinutes","setSeconds","setMilliseconds","getTimePeriodElements","_this2","wholeDay","day","night","fromTo","className","classes","FormControlLabel","control","Radio","checked","onClick","_schedule","label","I18n","t","TextField","variant","style","type","InputLabelProps","shrink","margin","getPeriodSettingsMinutes","getTimeExactElements","_this3","isAstro","includes","Select","MenuItem","map","event","getDivider","getPeriodModes","_this4","isOnce","defaultValue","timerOnce","clearTimeout","current","toString","getDate","getMonth","getFullYear","getPeriodSettingsDaily","getPeriodSettingsWeekdays","getPeriodSettingsWeekly","getPeriodSettingsMonthly","Checkbox","getPeriodSettingsDates","getPeriodSettingsYearly","Input","min","max","parseInt","month","_this5","_this6","isSpecific","FormGroup","row","splice","indexOf","sort","a","b","_this7","paddingRight","_this8","_this9","parsedDates","opacity","cursor","userSelect","pointerEvents","_this10","parsedMonths","_this11","getValidSettings","_this12","fontWeight","timerFrom","timerTo","render","validFrom","now","tDows","last","pop","join","tMonths","getTime","isEnd","d","setDate","getMilliseconds","str","Component","string","_default","withStyles","exports"],"sources":["Schedule.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\nimport MaskedInput from 'react-text-mask';\n\nimport {\n Input,\n Radio,\n FormControlLabel,\n FormGroup,\n Checkbox,\n MenuItem,\n Select,\n TextField,\n} from '@mui/material';\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 },\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 }\n return '' + num;\n}\n\nfunction TextTime(props) {\n const { inputRef, ...other } = props;\n\n return <MaskedInput\n {...other}\n ref={inputRef}\n mask={[/[0-2]/, /[0-9]/, ':', /[0-5]/, /[0-9]/]}\n placeholderChar={props.placeholder || '00:00'}\n showMask\n />;\n}\n\nTextTime.propTypes = {\n inputRef: PropTypes.func.isRequired,\n};\n\nfunction TextDate(props) {\n const { inputRef, ...other } = props;\n\n return <MaskedInput\n {...other}\n ref={inputRef}\n mask={[/[0-3]/, /[0-9]/, '.', /[0-1]/, /[0-9]/, '.', '2', '0', /[0-9]/, /[0-9]/]}\n placeholderChar={props.placeholder || '01.01.2020'}\n showMask\n />;\n}\n\nTextDate.propTypes = {\n inputRef: PropTypes.func.isRequired,\n};\n\nconst DEFAULT = {\n time: {\n exactTime: false,\n\n start: '00:00',\n end: '23:59',\n\n mode: 'hours',\n interval: 1,\n },\n period: {\n once: '',\n days: 1,\n dows: '',\n dates: '',\n weeks: 0,\n months: '',\n\n years: 0,\n yearMonth: 0,\n yearDate: 0,\n },\n valid: {\n from: '',\n to: '',\n },\n};\n\nfunction string2USdate(date) {\n const parts = date.split('.');\n if (parts.length === 3) {\n return `${parts[2]}-${parts[1]}-${parts[0]}`;\n }\n return '';\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 // ignore\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 = { ...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 const once = copy.period.once;\n delete copy.period;\n copy.period = { once };\n delete copy.valid;\n } else if (copy.period.days) {\n const days = copy.period.days;\n const 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 const weeks = copy.period.weeks;\n const 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 const months = copy.period.months;\n const 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 const years = copy.period.years;\n const yearMonth = copy.period.yearMonth;\n const 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 const once = Schedule.string2date(schedule.period.once);\n const 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 be not executed anymore, because start is in the past\n return I18n.t('sch_desc_onceInPast');\n }\n // only once\n desc.push(I18n.t('sch_desc_once_on', schedule.period.once));\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 }\n 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 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 }}\n />}\n label={I18n.t('sch_intervalTime')}\n />\n </div>\n <div className={this.props.classes.settingsDiv}>\n <div className={this.props.classes.settingsDiv}>\n {!schedule.time.exactTime && <div>\n <div>\n <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 />}\n label={!fromTo ? I18n.t('sch_fromTo') : ''}\n />\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>\n <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 }}\n />}\n label={I18n.t('sch_wholeDay')}\n />\n </div>}\n\n {!schedule.time.exactTime && <div>\n <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 }}\n />}\n label={I18n.t('sch_astroDay')}\n />\n </div>}\n\n {!schedule.time.exactTime && <div>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!night}\n 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 }}\n />}\n label={I18n.t('sch_astroNight')}\n />\n </div>}\n </div>\n {!schedule.time.exactTime && this.getPeriodSettingsMinutes()}\n </div>\n </div>;\n }\n\n getTimeExactElements() {\n const isAstro = ASTRO.includes(this.state.schedule.time.start);\n\n return <div key=\"timeExact\" 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={!!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 }}\n />}\n label={I18n.t('sch_exactTime')}\n />\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 {this.state.schedule.time.exactTime && !isAstro &&\n <div className={this.props.classes.settingsDiv}>\n <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 />\n </div>}\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 />}\n label={I18n.t('sch_periodOnce')}\n />\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 // ----- 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 />}\n label={I18n.t('sch_periodDaily')}\n />\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 // ----- days of weeks ---\n /*\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 />}\n label={I18n.t('sch_periodWeekly')}\n />\n </div>\n <div className={this.props.classes.settingsDiv}>\n <div className={this.props.classes.settingsDiv}>{this.getPeriodSettingsWeekly()}</div>\n <div className={`${this.props.classes.settingsDiv} ${this.props.classes.rowDowsDows}`}>\n {this.state.schedule.period.weeks ? this.getPeriodSettingsWeekdays() : null}\n </div>\n </div>\n </div>,\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 />}\n label={I18n.t('sch_periodMonthly')}\n />\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 />}\n label={I18n.t('sch_periodDates')}\n />\n </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 // ----- 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 />}\n label={I18n.t('sch_periodYearly')}\n />\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 />\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 />\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\">\n <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 />}\n label={I18n.t('sch_periodWorkdays')}\n />\n </div>,\n\n <div key=\"weekend\">\n <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 />}\n label={I18n.t('sch_periodWeekend')}\n />\n </div>,\n\n <div\n key=\"specific\"\n style={{ verticalAlign: 'top' }}\n >\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 />}\n label={I18n.t('sch_periodWeekdays')}\n />\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\">\n <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 />}\n label={I18n.t('sch_periodEveryDay')}\n />\n </div>,\n <div key=\"everyN_day\">\n <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 />}\n label={I18n.t('sch_periodEvery')}\n />\n {schedule.period.days > 1 && [\n <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 />,\n <span key=\"span\" style={{ paddingRight: 10 }}>{I18n.t('sch_periodDay')}</span>,\n ]}\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>\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 = 1;\n this.onChange(_schedule);\n }} />}\n label={I18n.t('sch_periodEveryWeek')}\n />\n </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 />\n {schedule.period.weeks > 1 && [\n <Input\n key=\"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 }}\n />,\n <span key=\"text\">{I18n.t('sch_periodWeek')}</span>,\n ]}\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={() => {\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 }\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={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dates = '[]';\n this.onChange(_schedule);\n }}\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={() => {\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 ? [\n <span key=\"0\" style={{ opacity: 0 }}>0</span>,\n <span key=\"num\">{i}</span>,\n ] : 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\">\n <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 />}\n label={I18n.t('sch_periodEveryMonth')}\n />\n </div>,\n <div key=\"everyN\">\n <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 />\n {typeof schedule.period.months === 'number' && schedule.period.months > 1 && [\n <Input\n key=\"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 }}\n />,\n <span key=\"text\">{I18n.t('sch_periodMonth')}</span>,\n ]}\n </div>,\n <div key=\"specific\" style={{ verticalAlign: 'top' }}>\n <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 />\n {typeof schedule.period.months === 'string' &&\n <FormGroup\n row\n className={this.props.classes.inputGroup}\n >\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 }\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={() => {\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={() => {\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 key=\"year\">\n <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')}\n />\n </div>,\n <div key=\"every\">\n <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 />\n {schedule.period.years > 1 && [\n <Input\n key=\"input\"\n value={this.state.schedule.period.years}\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.years = parseInt(e.target.value, 10);\n if (_schedule.period.years < 1) _schedule.period.years = 1;\n this.onChange(_schedule);\n }}\n />,\n <span key=\"text\">{I18n.t('sch_periodYear')}</span>,\n ]}\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 }\n return new Date(parseInt(parts[2], 10), parseInt(parts[1], 10) - 1, parseInt(parts[0], 10));\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 />}\n label={I18n.t('sch_validTo')}\n />\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"],"mappings":"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"}
|