@iobroker/adapter-react-v5 3.1.34 → 3.1.35

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.
Files changed (243) hide show
  1. package/Components/404.js +0 -23
  2. package/Components/404.js.map +1 -1
  3. package/Components/ColorPicker.js +6 -37
  4. package/Components/ColorPicker.js.map +1 -1
  5. package/Components/ComplexCron.js +10 -84
  6. package/Components/ComplexCron.js.map +1 -1
  7. package/Components/CustomModal.js +29 -54
  8. package/Components/CustomModal.js.map +1 -1
  9. package/Components/FileBrowser.js +15 -265
  10. package/Components/FileBrowser.js.map +1 -1
  11. package/Components/FileViewer.js +7 -68
  12. package/Components/FileViewer.js.map +1 -1
  13. package/Components/Icon.d.ts +1 -1
  14. package/Components/Icon.js +2 -42
  15. package/Components/Icon.js.map +1 -1
  16. package/Components/IconPicker.js +6 -28
  17. package/Components/IconPicker.js.map +1 -1
  18. package/Components/IconSelector.js +3 -55
  19. package/Components/IconSelector.js.map +1 -1
  20. package/Components/Image.js +1 -38
  21. package/Components/Image.js.map +1 -1
  22. package/Components/JsonConfigComponent/ChipInput.js +66 -197
  23. package/Components/JsonConfigComponent/ChipInput.js.map +1 -1
  24. package/Components/JsonConfigComponent/ConfigAlive.js +0 -31
  25. package/Components/JsonConfigComponent/ConfigAlive.js.map +1 -1
  26. package/Components/JsonConfigComponent/ConfigAutocomplete.js +6 -39
  27. package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +1 -1
  28. package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js +6 -52
  29. package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -1
  30. package/Components/JsonConfigComponent/ConfigCRON.js +5 -39
  31. package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -1
  32. package/Components/JsonConfigComponent/ConfigCertificateSelect.js +4 -42
  33. package/Components/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -1
  34. package/Components/JsonConfigComponent/ConfigCheckbox.js +0 -28
  35. package/Components/JsonConfigComponent/ConfigCheckbox.js.map +1 -1
  36. package/Components/JsonConfigComponent/ConfigChip.js +4 -33
  37. package/Components/JsonConfigComponent/ConfigChip.js.map +1 -1
  38. package/Components/JsonConfigComponent/ConfigColor.js +0 -34
  39. package/Components/JsonConfigComponent/ConfigColor.js.map +1 -1
  40. package/Components/JsonConfigComponent/ConfigCoordinates.js +0 -33
  41. package/Components/JsonConfigComponent/ConfigCoordinates.js.map +1 -1
  42. package/Components/JsonConfigComponent/ConfigCustom.js +14 -73
  43. package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
  44. package/Components/JsonConfigComponent/ConfigDatePicker.js +0 -25
  45. package/Components/JsonConfigComponent/ConfigDatePicker.js.map +1 -1
  46. package/Components/JsonConfigComponent/ConfigFile.js +0 -46
  47. package/Components/JsonConfigComponent/ConfigFile.js.map +1 -1
  48. package/Components/JsonConfigComponent/ConfigFileSelector.js +7 -126
  49. package/Components/JsonConfigComponent/ConfigFileSelector.js.map +1 -1
  50. package/Components/JsonConfigComponent/ConfigFunc.js +0 -34
  51. package/Components/JsonConfigComponent/ConfigFunc.js.map +1 -1
  52. package/Components/JsonConfigComponent/ConfigGeneric.js +15 -110
  53. package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
  54. package/Components/JsonConfigComponent/ConfigIP.js +2 -35
  55. package/Components/JsonConfigComponent/ConfigIP.js.map +1 -1
  56. package/Components/JsonConfigComponent/ConfigImageUpload.js +4 -44
  57. package/Components/JsonConfigComponent/ConfigImageUpload.js.map +1 -1
  58. package/Components/JsonConfigComponent/ConfigInstanceSelect.js +1 -59
  59. package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
  60. package/Components/JsonConfigComponent/ConfigJsonEditor.js +7 -40
  61. package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -1
  62. package/Components/JsonConfigComponent/ConfigLanguage.js +2 -42
  63. package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
  64. package/Components/JsonConfigComponent/ConfigNumber.js +2 -45
  65. package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
  66. package/Components/JsonConfigComponent/ConfigObjectId.js +6 -40
  67. package/Components/JsonConfigComponent/ConfigObjectId.js.map +1 -1
  68. package/Components/JsonConfigComponent/ConfigPanel.js +7 -91
  69. package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
  70. package/Components/JsonConfigComponent/ConfigPassword.js +0 -42
  71. package/Components/JsonConfigComponent/ConfigPassword.js.map +1 -1
  72. package/Components/JsonConfigComponent/ConfigPattern.js +0 -25
  73. package/Components/JsonConfigComponent/ConfigPattern.js.map +1 -1
  74. package/Components/JsonConfigComponent/ConfigRoom.js +0 -34
  75. package/Components/JsonConfigComponent/ConfigRoom.js.map +1 -1
  76. package/Components/JsonConfigComponent/ConfigSelect.js +4 -34
  77. package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -1
  78. package/Components/JsonConfigComponent/ConfigSelectSendTo.js +11 -67
  79. package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -1
  80. package/Components/JsonConfigComponent/ConfigSendto.js +8 -91
  81. package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
  82. package/Components/JsonConfigComponent/ConfigSetState.js +0 -55
  83. package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -1
  84. package/Components/JsonConfigComponent/ConfigSlider.js +0 -28
  85. package/Components/JsonConfigComponent/ConfigSlider.js.map +1 -1
  86. package/Components/JsonConfigComponent/ConfigStaticDivider.js +0 -21
  87. package/Components/JsonConfigComponent/ConfigStaticDivider.js.map +1 -1
  88. package/Components/JsonConfigComponent/ConfigStaticHeader.js +0 -24
  89. package/Components/JsonConfigComponent/ConfigStaticHeader.js.map +1 -1
  90. package/Components/JsonConfigComponent/ConfigStaticImage.js +0 -23
  91. package/Components/JsonConfigComponent/ConfigStaticImage.js.map +1 -1
  92. package/Components/JsonConfigComponent/ConfigStaticText.js +0 -31
  93. package/Components/JsonConfigComponent/ConfigStaticText.js.map +1 -1
  94. package/Components/JsonConfigComponent/ConfigTable.js +13 -105
  95. package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
  96. package/Components/JsonConfigComponent/ConfigTabs.js +2 -35
  97. package/Components/JsonConfigComponent/ConfigTabs.js.map +1 -1
  98. package/Components/JsonConfigComponent/ConfigText.js +0 -34
  99. package/Components/JsonConfigComponent/ConfigText.js.map +1 -1
  100. package/Components/JsonConfigComponent/ConfigTextSendTo.js +0 -37
  101. package/Components/JsonConfigComponent/ConfigTextSendTo.js.map +1 -1
  102. package/Components/JsonConfigComponent/ConfigTimePicker.js +0 -25
  103. package/Components/JsonConfigComponent/ConfigTimePicker.js.map +1 -1
  104. package/Components/JsonConfigComponent/ConfigTopic.js +0 -29
  105. package/Components/JsonConfigComponent/ConfigTopic.js.map +1 -1
  106. package/Components/JsonConfigComponent/ConfigUser.js +2 -40
  107. package/Components/JsonConfigComponent/ConfigUser.js.map +1 -1
  108. package/Components/JsonConfigComponent/index.js +5 -81
  109. package/Components/JsonConfigComponent/index.js.map +1 -1
  110. package/Components/Loader.js +2 -20
  111. package/Components/Loader.js.map +1 -1
  112. package/Components/Loaders/PT.js +2 -20
  113. package/Components/Loaders/PT.js.map +1 -1
  114. package/Components/Loaders/Vendor.js +2 -21
  115. package/Components/Loaders/Vendor.js.map +1 -1
  116. package/Components/Logo.js +6 -39
  117. package/Components/Logo.js.map +1 -1
  118. package/Components/MDUtils.js +3 -27
  119. package/Components/MDUtils.js.map +1 -1
  120. package/Components/ObjectBrowser.d.ts +1 -1
  121. package/Components/ObjectBrowser.js +181 -788
  122. package/Components/ObjectBrowser.js.map +1 -1
  123. package/Components/Router.js +7 -31
  124. package/Components/Router.js.map +1 -1
  125. package/Components/SaveCloseButtons.js +2 -32
  126. package/Components/SaveCloseButtons.js.map +1 -1
  127. package/Components/Schedule.js +29 -251
  128. package/Components/Schedule.js.map +1 -1
  129. package/Components/SelectWithIcon.d.ts +1 -1
  130. package/Components/SelectWithIcon.js +0 -48
  131. package/Components/SelectWithIcon.js.map +1 -1
  132. package/Components/SimpleCron/cron2text.js +45 -91
  133. package/Components/SimpleCron/cron2text.js.map +1 -1
  134. package/Components/SimpleCron/cronText.js +0 -6
  135. package/Components/SimpleCron/cronText.js.map +1 -1
  136. package/Components/SimpleCron/index.js +19 -102
  137. package/Components/SimpleCron/index.js.map +1 -1
  138. package/Components/SimpleCron/jquery.cron.locale.js +44 -24
  139. package/Components/SimpleCron/jquery.cron.locale.js.map +1 -1
  140. package/Components/TabContainer.js +2 -23
  141. package/Components/TabContainer.js.map +1 -1
  142. package/Components/TabContent.js +2 -22
  143. package/Components/TabContent.js.map +1 -1
  144. package/Components/TabHeader.js +1 -17
  145. package/Components/TabHeader.js.map +1 -1
  146. package/Components/TableResize.js +6 -51
  147. package/Components/TableResize.js.map +1 -1
  148. package/Components/TextWithIcon.js +0 -20
  149. package/Components/TextWithIcon.js.map +1 -1
  150. package/Components/ToggleThemeMenu.js +5 -13
  151. package/Components/ToggleThemeMenu.js.map +1 -1
  152. package/Components/TreeTable.js +4 -121
  153. package/Components/TreeTable.js.map +1 -1
  154. package/Components/UploadImage.js +17 -60
  155. package/Components/UploadImage.js.map +1 -1
  156. package/Components/Utils.js +87 -263
  157. package/Components/Utils.js.map +1 -1
  158. package/Components/copy-to-clipboard.js +16 -38
  159. package/Components/copy-to-clipboard.js.map +1 -1
  160. package/Components/withWidth.js +2 -10
  161. package/Components/withWidth.js.map +1 -1
  162. package/Connection.d.ts +1 -0
  163. package/Connection.js +156 -527
  164. package/Connection.js.map +1 -1
  165. package/Dialogs/ComplexCron.js +0 -34
  166. package/Dialogs/ComplexCron.js.map +1 -1
  167. package/Dialogs/Confirm.js +1 -39
  168. package/Dialogs/Confirm.js.map +1 -1
  169. package/Dialogs/Cron.js +1 -37
  170. package/Dialogs/Cron.js.map +1 -1
  171. package/Dialogs/Error.d.ts +1 -1
  172. package/Dialogs/Error.js +2 -29
  173. package/Dialogs/Error.js.map +1 -1
  174. package/Dialogs/FileSelect.js +2 -36
  175. package/Dialogs/FileSelect.js.map +1 -1
  176. package/Dialogs/Message.js +2 -27
  177. package/Dialogs/Message.js.map +1 -1
  178. package/Dialogs/SelectID.d.ts +1 -1
  179. package/Dialogs/SelectID.js +3 -40
  180. package/Dialogs/SelectID.js.map +1 -1
  181. package/Dialogs/SimpleCron.js +1 -33
  182. package/Dialogs/SimpleCron.js.map +1 -1
  183. package/Dialogs/TextInput.js +2 -34
  184. package/Dialogs/TextInput.js.map +1 -1
  185. package/GenericApp.js +54 -150
  186. package/GenericApp.js.map +1 -1
  187. package/Prompt.js +0 -2
  188. package/Prompt.js.map +1 -1
  189. package/README.md +8 -4
  190. package/Theme.js +7 -22
  191. package/Theme.js.map +1 -1
  192. package/i18n.d.ts +2 -0
  193. package/i18n.js +9 -29
  194. package/i18n.js.map +1 -1
  195. package/icons/IconAdapter.d.ts +2 -2
  196. package/icons/IconAdapter.js +2 -6
  197. package/icons/IconAdapter.js.map +1 -1
  198. package/icons/IconAlias.d.ts +2 -2
  199. package/icons/IconAlias.js +2 -6
  200. package/icons/IconAlias.js.map +1 -1
  201. package/icons/IconChannel.d.ts +2 -2
  202. package/icons/IconChannel.js +2 -6
  203. package/icons/IconChannel.js.map +1 -1
  204. package/icons/IconClearFilter.d.ts +2 -2
  205. package/icons/IconClearFilter.js +0 -5
  206. package/icons/IconClearFilter.js.map +1 -1
  207. package/icons/IconClosed.d.ts +2 -2
  208. package/icons/IconClosed.js +0 -5
  209. package/icons/IconClosed.js.map +1 -1
  210. package/icons/IconCopy.d.ts +2 -2
  211. package/icons/IconCopy.js +0 -5
  212. package/icons/IconCopy.js.map +1 -1
  213. package/icons/IconDevice.d.ts +2 -2
  214. package/icons/IconDevice.js +0 -5
  215. package/icons/IconDevice.js.map +1 -1
  216. package/icons/IconDocument.d.ts +2 -2
  217. package/icons/IconDocument.js +0 -5
  218. package/icons/IconDocument.js.map +1 -1
  219. package/icons/IconDocumentReadOnly.d.ts +2 -2
  220. package/icons/IconDocumentReadOnly.js +0 -5
  221. package/icons/IconDocumentReadOnly.js.map +1 -1
  222. package/icons/IconExpert.d.ts +2 -2
  223. package/icons/IconExpert.js +0 -5
  224. package/icons/IconExpert.js.map +1 -1
  225. package/icons/IconFx.d.ts +2 -2
  226. package/icons/IconFx.js +0 -5
  227. package/icons/IconFx.js.map +1 -1
  228. package/icons/IconInstance.d.ts +2 -2
  229. package/icons/IconInstance.js +0 -5
  230. package/icons/IconInstance.js.map +1 -1
  231. package/icons/IconLogout.d.ts +2 -2
  232. package/icons/IconLogout.js +0 -5
  233. package/icons/IconLogout.js.map +1 -1
  234. package/icons/IconNoIcon.d.ts +2 -2
  235. package/icons/IconNoIcon.js +0 -5
  236. package/icons/IconNoIcon.js.map +1 -1
  237. package/icons/IconOpen.d.ts +2 -2
  238. package/icons/IconOpen.js +0 -5
  239. package/icons/IconOpen.js.map +1 -1
  240. package/icons/IconState.d.ts +2 -2
  241. package/icons/IconState.js +0 -6
  242. package/icons/IconState.js.map +1 -1
  243. package/package.json +15 -15
@@ -1 +1 @@
1
- {"version":3,"file":"Schedule.js","names":["styles","theme","hr","border","borderTop","scrollWindow","width","overflow","height","rowDiv","modeDiv","display","verticalAlign","settingsDiv","inputTime","marginTop","marginLeft","inputDate","inputEvery","marginRight","inputRadio","padding","inputGroup","maxWidth","inputGroupElement","inputDateDay","inputDateDayCheck","inputSmallCheck","rowOnce","rowDays","background","palette","mode","rowDows","rowDates","rowWeeks","rowMonths","rowMonthsDates","rowYears","rowDaysDows","paddingLeft","paddingBottom","rowDowsDows","WEEKDAYS","MONTHS","PERIODS","ASTRO","num","TextTime","props","inputRef","other","placeholder","propTypes","PropTypes","func","isRequired","TextDate","DEFAULT","time","exactTime","start","end","interval","period","once","days","dows","dates","weeks","months","years","yearMonth","yearDate","valid","from","to","string2USdate","date","parts","split","length","Schedule","schedule","JSON","parse","e","Object","keys","onChange","setTimeout","state","assign","now2string","refFrom","React","createRef","refTo","refOnce","desc","state2text","stringify","force","isDiff","setState","copy","string2date","today","Date","setHours","setMinutes","setSeconds","setMilliseconds","wholeDay","day","night","fromTo","classes","_schedule","I18n","t","target","value","shrink","getPeriodSettingsMinutes","isAstro","indexOf","map","event","isOnce","timerOnce","clearTimeout","current","style","toString","getDate","getMonth","getFullYear","getPeriodSettingsDaily","getPeriodSettingsWeekdays","getPeriodSettingsWeekly","getPeriodSettingsMonthly","i","push","getPeriodSettingsDates","getPeriodSettingsYearly","parseInt","month","minutes","hours","isSpecific","includes","checked","splice","sort","a","b","paddingRight","parsedDates","result","opacity","cursor","userSelect","pointerEvents","parsedMonths","fontWeight","timerFrom","timerTo","getTimePeriodElements","getTimeExactElements","getDivider","getPeriodModes","getValidSettings","validFrom","now","tDows","last","pop","join","tMonths","getTime","isEnd","d","setDate","getMilliseconds","str","Component","string","withStyles"],"sources":["Schedule.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport Input from '@mui/material/Input';\nimport Radio from '@mui/material/Radio';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport FormGroup from '@mui/material/FormGroup';\nimport Checkbox from '@mui/material/Checkbox';\nimport MaskedInput from 'react-text-mask';\nimport MenuItem from '@mui/material/MenuItem';\nimport Select from '@mui/material/Select';\nimport TextField from '@mui/material/TextField';\n\nimport I18n from '../i18n';\n\nconst styles = theme => ({\n hr: {\n border: 0,\n borderTop: '1px solid gray'\n },\n scrollWindow: {\n width: '100%',\n overflow: 'auto',\n height: 'calc(100% - 22px)'\n },\n rowDiv: {\n width: '100%',\n },\n modeDiv: {\n width: 200,\n display: 'inline-block',\n verticalAlign: 'top'\n },\n settingsDiv: {\n display: 'inline-block',\n verticalAlign: 'top'\n },\n inputTime: {\n width: 90,\n marginTop: 0,\n marginLeft: 5\n },\n inputDate: {\n width: 140,\n marginTop: 0,\n marginLeft: 5\n },\n inputEvery: {\n width: 40,\n marginLeft: 5,\n marginRight: 5,\n },\n inputRadio: {\n padding: '4px 12px',\n verticalAlign: 'top'\n },\n inputGroup: {\n maxWidth: 400,\n display: 'inline-block'\n },\n inputGroupElement: {\n width: 120,\n },\n inputDateDay: {\n width: 60,\n },\n inputDateDayCheck: {\n padding: 4,\n },\n inputSmallCheck: {\n padding: 0,\n },\n rowOnce: {},\n\n rowDays: {\n background: theme.palette.mode !== 'dark' ? '#ddeaff' : '#4b5057'\n },\n rowDows: {\n background: theme.palette.mode !== 'dark' ? '#DDFFDD' : '#52646c'\n },\n rowDates: {\n background: theme.palette.mode !== 'dark' ? '#DDDDFF' : '#747a86'\n },\n rowWeeks: {\n background: theme.palette.mode !== 'dark' ? '#DDDDFF' : '#717680'\n },\n rowMonths: {\n background: theme.palette.mode !== 'dark' ? '#DDFFFF' : '#1f5557'\n },\n rowMonthsDates: {\n background: theme.palette.mode !== 'dark' ? '#EEFFFF' : '#3c5737',\n maxWidth: 600\n },\n rowYears: {\n background: theme.palette.mode !== 'dark' ? '#fbffdd' : '#574b33'\n },\n rowDaysDows: {\n background: theme.palette.mode !== 'dark' ? '#EEEAFF' : '#573544',\n paddingLeft: 10,\n paddingBottom: 10\n },\n rowDowsDows: {\n background: theme.palette.mode !== 'dark' ? '#EEFFEE' : '#3d4c54',\n paddingLeft: 10,\n paddingBottom: 10\n }\n});\n\nconst WEEKDAYS = [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n 'Sunday',\n];\nconst MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December'\n];\nconst PERIODS = {\n 'minutes': 'minutes',\n 'hours': 'hours',\n};\nconst ASTRO = [\n 'sunrise',\n 'sunriseEnd',\n 'goldenHourEnd',\n 'solarNoon',\n 'goldenHour',\n 'sunsetStart',\n 'sunset',\n 'dusk',\n 'nauticalDusk',\n 'night',\n 'nightEnd',\n 'nauticalDawn',\n 'dawn',\n 'nadir',\n];\n\nfunction padding(num) {\n if (num < 10) {\n return '0' + num;\n } else {\n return '' + num;\n }\n}\n\nfunction TextTime(props) {\n const {inputRef, ...other} = props;\n\n return <MaskedInput\n {...other}\n ref={inputRef}\n mask={[/[0-2]/, /[0-9]/, ':', /[0-5]/, /[0-9]/]}\n placeholderChar={props.placeholder || '00:00'}\n showMask\n />;\n}\n\nTextTime.propTypes = {\n inputRef: PropTypes.func.isRequired,\n};\n\nfunction TextDate(props) {\n const {inputRef, ...other} = props;\n\n return <MaskedInput\n {...other}\n ref={inputRef}\n mask={[/[0-3]/, /[0-9]/, '.', /[0-1]/, /[0-9]/, '.', '2', '0', /[0-9]/, /[0-9]/]}\n placeholderChar={props.placeholder || '01.01.2020'}\n showMask\n />;\n}\n\nTextDate.propTypes = {\n inputRef: PropTypes.func.isRequired,\n};\n\nconst DEFAULT = {\n time: {\n exactTime: false,\n\n start: '00:00',\n end: '23:59',\n\n mode: 'hours',\n interval: 1,\n },\n period: {\n once: '',\n days: 1,\n dows: '',\n dates: '',\n weeks: 0,\n months: '',\n\n years: 0,\n yearMonth: 0,\n yearDate: 0,\n },\n valid: {\n from: '',\n to: ''\n }\n};\n\nfunction string2USdate(date) {\n const parts = date.split('.');\n if (parts.length === 3) {\n return parts[2] + '-' + parts[1] + '-' + parts[0];\n }\n\n}\n\nclass Schedule extends React.Component {\n constructor(props) {\n super(props);\n let schedule;\n if (this.props.schedule && typeof this.props.schedule === 'string' && this.props.schedule[0] === '{') {\n try {\n schedule = JSON.parse(this.props.schedule);\n } catch (e) {\n\n }\n }\n\n if ((!schedule || !Object.keys(schedule).length) && this.props.onChange) {\n setTimeout(() => this.onChange(this.state.schedule, true), 200);\n }\n schedule = schedule || {};\n schedule = Object.assign({}, DEFAULT, schedule);\n schedule.valid.from = schedule.valid.from || Schedule.now2string();\n\n this.refFrom = React.createRef();\n this.refTo = React.createRef();\n this.refOnce = React.createRef();\n\n this.state = {\n schedule,\n desc: Schedule.state2text(schedule)\n };\n\n if (JSON.stringify(schedule) !== this.props.schedule) {\n setTimeout(() =>\n this.props.onChange && this.props.onChange(JSON.stringify(schedule)), 100);\n }\n }\n\n onChange(schedule, force) {\n const isDiff = JSON.stringify(schedule) !== JSON.stringify(this.state.schedule);\n if (force || isDiff) {\n isDiff && this.setState({schedule, desc: Schedule.state2text(schedule)});\n const copy = JSON.parse(JSON.stringify(schedule));\n if (copy.period.once) {\n let once = copy.period.once;\n delete copy.period;\n copy.period = {once};\n delete copy.valid;\n } else if (copy.period.days) {\n let days = copy.period.days;\n let dows = copy.period.dows;\n delete copy.period;\n copy.period = {days};\n if (dows && dows !== '[]') {\n copy.period.dows = dows;\n }\n } else if (copy.period.weeks) {\n let weeks = copy.period.weeks;\n let dows = copy.period.dows;\n delete copy.period;\n copy.period = {weeks};\n if (dows && dows !== '[]') {\n copy.period.dows = dows;\n }\n } else if (copy.period.months) {\n let months = copy.period.months;\n let dates = copy.period.dates;\n delete copy.period;\n copy.period = {months};\n if (dates && dates !== '[]') {\n copy.period.dates = dates;\n }\n } else if (copy.period.years) {\n let years = copy.period.years;\n let yearMonth = copy.period.yearMonth;\n let yearDate = copy.period.yearDate;\n delete copy.period;\n copy.period = {years, yearDate};\n if (yearMonth) {\n copy.period.yearMonth = yearMonth;\n }\n }\n\n if (copy.time.exactTime) {\n delete copy.time.end;\n delete copy.time.mode;\n delete copy.time.interval;\n } else {\n delete copy.time.exactTime;\n }\n if (copy.valid) {\n if (!copy.valid.to) {\n delete copy.valid.to;\n }\n if (copy.period.days === 1 || copy.period.weeks === 1 || copy.period.months === 1 || copy.period.years === 1) {\n const from = Schedule.string2date(copy.valid.from);\n const today = new Date();\n today.setHours(0);\n today.setMinutes(0);\n today.setSeconds(0);\n today.setMilliseconds(0);\n if (from <= today) {\n delete copy.valid.from;\n }\n }\n if (!copy.valid.from && !copy.valid.to) {\n delete copy.valid;\n }\n }\n\n this.props.onChange && this.props.onChange(JSON.stringify(copy), Schedule.state2text(schedule));\n }\n }\n\n static state2text(schedule) {\n if (typeof schedule === 'string') {\n try {\n schedule = JSON.parse(schedule);\n } catch (e) {\n schedule = {};\n }\n }\n\n let desc = [];\n let validFrom = Schedule.string2date(schedule.valid.from);\n if (schedule.period.once) {\n // once\n let once = Schedule.string2date(schedule.period.once);\n let now = new Date();\n now.setMilliseconds(0);\n now.setSeconds(0);\n now.setMinutes(0);\n now.setHours(0);\n\n //\n if (once < now) {\n // will ne be not executed any more, because start is in the past\n return I18n.t('sch_desc_onceInPast');\n } else {\n // only once\n desc.push(I18n.t('sch_desc_once_on', schedule.period.once));\n }\n } else if (schedule.period.days) {\n if (schedule.period.days === 1) {\n if (schedule.period.dows) {\n const dows = JSON.parse(schedule.period.dows);\n if (dows.length === 2 && dows[0] === 0 && dows[1] === 6) {\n // on weekends\n desc.push(I18n.t('sch_desc_onWeekends'));\n } else if (dows.length === 5 && dows[0] === 1 && dows[1] === 2 && dows[2] === 3 && dows[3] === 4 && dows[4] === 5) {\n // on workdays\n desc.push(I18n.t('sch_desc_onWorkdays'));\n } else {\n const tDows = dows.map(day => I18n.t(WEEKDAYS[day]));\n if (tDows.length === 1) {\n // on Monday\n desc.push(I18n.t('sch_desc_onWeekday', tDows[0]));\n } else if (tDows.length === 7) {\n // on every day\n desc.push(I18n.t('sch_desc_everyDay'));\n } else {\n const last = tDows.pop();\n // on Monday and Sunday\n desc.push(I18n.t('sch_desc_onWeekdays', tDows.join(', '), last));\n }\n }\n } else {\n desc.push(I18n.t('sch_desc_everyDay'));\n }\n } else {\n desc.push(I18n.t('sch_desc_everyNDay', schedule.period.days));\n }\n } else if (schedule.period.weeks) {\n if (schedule.period.weeks === 1) {\n desc.push(I18n.t('sch_desc_everyWeek'));\n } else {\n desc.push(I18n.t('sch_desc_everyNWeeks', schedule.period.weeks));\n }\n\n if (schedule.period.dows) {\n const dows = JSON.parse(schedule.period.dows);\n if (dows.length === 2 && dows[0] === 0 && dows[1] === 6) {\n // on weekends\n desc.push(I18n.t('sch_desc_onWeekends'));\n } else if (dows.length === 5 && dows[0] === 1 && dows[1] === 2 && dows[2] === 3 && dows[3] === 4 && dows[4] === 5) {\n // on workdays\n desc.push(I18n.t('sch_desc_onWorkdays'));\n } else {\n const tDows = dows.map(day => I18n.t(WEEKDAYS[day]));\n if (tDows.length === 1) {\n // on Monday\n desc.push(I18n.t('sch_desc_onWeekday', tDows[0]));\n } else if (tDows.length === 7) {\n // on every day\n desc.push(I18n.t('sch_desc_everyDay'));\n } else {\n const last = tDows.pop();\n // on Monday and Sunday\n desc.push(I18n.t('sch_desc_onWeekdays', tDows.join(', '), last));\n }\n }\n } else {\n return I18n.t('sch_desc_never');\n }\n } else if (schedule.period.months) {\n if (schedule.period.dates) {\n const dates = JSON.parse(schedule.period.dates);\n if (dates.length === 1) {\n // in 1 of month\n desc.push(I18n.t('sch_desc_onDate', dates[0]));\n } else if (dates.length === 31) {\n desc.push(I18n.t('sch_desc_onEveryDate'));\n } else if (!dates.length) {\n return I18n.t('sch_desc_never');\n } else {\n const last = dates.pop();\n // in 1 and 4 of month\n desc.push(I18n.t('sch_desc_onDates', dates.join(', '), last));\n }\n } else {\n desc.push(I18n.t('sch_desc_onEveryDate'));\n }\n\n if (schedule.period.months === 1) {\n desc.push(I18n.t('sch_desc_everyMonth'));\n } else if (typeof schedule.period.months === 'number') {\n desc.push(I18n.t('sch_desc_everyNMonths', schedule.period.months));\n } else {\n const months = JSON.parse(schedule.period.months);\n const tMonths = months.map(month => I18n.t(MONTHS[month - 1]));\n if (!tMonths.length) {\n // in January\n return I18n.t('sch_desc_never');\n } else if (tMonths.length === 1) {\n // in January\n desc.push(I18n.t('sch_desc_onMonth', tMonths[0]));\n } else if (tMonths.length === 12) {\n // every month\n desc.push(I18n.t('sch_desc_everyMonth'));\n } else {\n const last = tMonths.pop();\n // in January and May\n desc.push(I18n.t('sch_desc_onMonths', tMonths.join(', '), last));\n }\n }\n } else if (schedule.period.years) {\n if (schedule.period.years === 1) {\n desc.push(I18n.t('sch_desc_everyYear'));\n } else {\n desc.push(I18n.t('sch_desc_everyNYears', schedule.period.years));\n }\n desc.push(I18n.t('sch_desc_onDate', schedule.period.yearDate, schedule.period.yearMonth ? I18n.t(MONTHS[schedule.period.yearMonth - 1]) : I18n.t('sch_desc_everyMonth')));\n }\n\n // time\n if (schedule.time.exactTime) {\n if (ASTRO.indexOf(schedule.time.start) !== -1) {\n // at sunset\n desc.push(I18n.t('sch_desc_atTime', I18n.t('sch_astro_' + schedule.time.start)));\n } else {\n // at HH:MM\n desc.push(I18n.t('sch_desc_atTime', schedule.time.start));\n }\n } else {\n if (schedule.time.mode === PERIODS.minutes) {\n if (schedule.time.interval === 1) {\n // every minute\n desc.push(I18n.t('sch_desc_everyMinute'));\n } else {\n // every N minutes\n desc.push(I18n.t('sch_desc_everyNMinutes', schedule.time.interval));\n }\n } else {\n if (schedule.time.interval === 1) {\n // every minute\n desc.push(I18n.t('sch_desc_everyHour'));\n } else {\n // every N minutes\n desc.push(I18n.t('sch_desc_everyNHours', schedule.time.interval));\n }\n }\n const start = ASTRO.indexOf(schedule.time.start) !== -1 ? I18n.t('sch_astro_' + schedule.time.start) : schedule.time.start;\n const end = ASTRO.indexOf(schedule.time.end) !== -1 ? I18n.t('sch_astro_' + schedule.time.end) : schedule.time.end;\n if (start !== '00:00' || (end !== '24:00' && end !== '23:59')) {\n // from HH:mm to HH:mm\n desc.push(I18n.t('sch_desc_intervalFromTo', start, end));\n }\n }\n\n if (!schedule.period.once) {\n // valid\n if (validFrom.getTime() > Date.now() && schedule.valid.to) {\n // from XXX to XXXX\n desc.push(I18n.t('sch_desc_validFromTo', schedule.valid.from, schedule.valid.to));\n } else if (validFrom.getTime() > Date.now()) {\n // from XXXX\n desc.push(I18n.t('sch_desc_validFrom', schedule.valid.from));\n } else if (schedule.valid.to) {\n // till XXXX\n desc.push(I18n.t('sch_desc_validTo', schedule.valid.to));\n }\n }\n return desc.join(' ');\n }\n\n getTimePeriodElements() {\n const schedule = this.state.schedule;\n let wholeDay = false;\n let day = false;\n let night = false;\n let fromTo = true;\n if (schedule.time.start === '00:00' && schedule.time.end === '24:00') {\n wholeDay = true;\n fromTo = false;\n } else if (schedule.time.start === 'sunrise') {\n day = true;\n fromTo = false;\n } else if (schedule.time.start === 'sunset') {\n night = true;\n fromTo = false;\n }\n\n return <div key=\"timePeriod\" className={this.props.classes.rowDiv}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!schedule.time.exactTime}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.exactTime = false;\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_intervalTime')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <div className={this.props.classes.settingsDiv}>\n {!schedule.time.exactTime && <div>\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!fromTo}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = '00:00';\n _schedule.time.end = '23:59';\n this.onChange(_schedule);\n }}/>}\n label={!fromTo ? I18n.t('sch_fromTo') : ''}/>\n {fromTo && [\n <TextField\n variant=\"standard\"\n className={this.props.classes.inputTime}\n style={{marginRight: 10}}\n key=\"exactTimeFrom\"\n type=\"time\"\n value={this.state.schedule.time.start}\n //InputProps={{inputComponent: TextTime}}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n InputLabelProps={{shrink: true,}}\n label={I18n.t('sch_from')}\n margin=\"normal\"\n />,\n <TextField\n variant=\"standard\"\n className={this.props.classes.inputTime}\n key=\"exactTimeTo\"\n type=\"time\"\n value={this.state.schedule.time.end}\n //InputProps={{inputComponent: TextTime}}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.end = e.target.value;\n this.onChange(_schedule);\n }}\n InputLabelProps={{shrink: true,}}\n label={I18n.t('sch_to')}\n margin=\"normal\"\n />\n ]}\n </div>\n </div>}\n\n {!schedule.time.exactTime && <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!wholeDay}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = '00:00';\n _schedule.time.end = '24:00';\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_wholeDay')}/></div>}\n\n {!schedule.time.exactTime && <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!day}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = 'sunrise';\n _schedule.time.end = 'sunset';\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_astroDay')}/></div>}\n\n {!schedule.time.exactTime && <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!night} onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = 'sunset';\n _schedule.time.end = 'sunrise';\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_astroNight')}/></div>}\n </div>\n {!schedule.time.exactTime && this.getPeriodSettingsMinutes()}\n </div>\n </div>;\n }\n\n getTimeExactElements() {\n const isAstro = ASTRO.indexOf(this.state.schedule.time.start) !== -1;\n\n return <div key=\"timeExact\" className={this.props.classes.rowDiv}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!this.state.schedule.time.exactTime}\n onClick={() => {\n const schedule = JSON.parse(JSON.stringify(this.state.schedule));\n schedule.time.exactTime = true;\n this.onChange(schedule);\n }}/>} label={I18n.t('sch_exactTime')}/>\n </div>\n {this.state.schedule.time.exactTime && <Select\n variant=\"standard\"\n value={isAstro ? this.state.schedule.time.start : '00:00'}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n >\n <MenuItem key=\"specific\" value={'00:00'}>{I18n.t('sch_specificTime')}</MenuItem>\n {ASTRO.map(event => <MenuItem key={event} value={event}>{I18n.t('sch_astro_' + event)}</MenuItem>)}\n </Select>\n }\n {this.state.schedule.time.exactTime && !isAstro &&\n <div className={this.props.classes.settingsDiv}><TextField\n variant=\"standard\"\n className={this.props.classes.inputTime}\n key=\"exactTimeValue\"\n value={this.state.schedule.time.start}\n type=\"time\"\n // inputComponent={TextTime}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n /></div>\n }\n </div>;\n }\n\n getDivider() {\n return <hr className={this.props.classes.hr}/>;\n }\n\n getPeriodModes() {\n const schedule = this.state.schedule;\n const isOnce = !schedule.period.dows && !schedule.period.months && !schedule.period.dates && !schedule.period.years && !schedule.period.days && !schedule.period.weeks;\n if (isOnce && !schedule.period.once) {\n schedule.period.once = Schedule.now2string(true);\n }\n\n return [\n // ----- once ---\n <div key=\"once\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowOnce}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!isOnce}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.once = _schedule.period.once || Schedule.now2string(true);\n _schedule.period.dows = '';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodOnce')}/>\n </div>\n {isOnce && <div className={this.props.classes.settingsDiv}>\n {<TextField\n variant=\"standard\"\n className={this.props.classes.inputDate}\n type=\"date\"\n ref={this.refOnce}\n key=\"exactDateAt\"\n defaultValue={string2USdate(schedule.period.once)}\n //InputProps={{inputComponent: TextTime}}\n onChange={e => {\n this.timerOnce && clearTimeout(this.timerOnce);\n\n this.refOnce.current.style.background = '#ff000030';\n this.timerOnce = setTimeout(value => {\n this.timerOnce = null;\n this.refOnce.current.style.background = '';\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.period.once = padding(date.getDate()) + '.' + padding(date.getMonth() + 1) + '.' + date.getFullYear();\n this.onChange(_schedule);\n }\n }, 1500, e.target.value);\n }}\n InputLabelProps={{shrink: true,}}\n label={I18n.t('sch_at')}\n margin=\"normal\"\n />}\n </div>}\n </div>,\n\n\n // ----- days ---\n <div key=\"days\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowDays}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.days}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 1;\n _schedule.period.dows = '';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodDaily')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n {this.getPeriodSettingsDaily()}\n {schedule.period.days ? this.getPeriodSettingsWeekdays() : null}\n </div>\n </div>,\n\n\n // ----- days of weeks ---\n /*!schedule.period.days && (\n <div key=\"dows\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowDows}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel control={<Radio className={this.props.classes.inputRadio} checked={!!schedule.period.dows} onClick={() => {\n const schedule = JSON.parse(JSON.stringify(this.state.schedule));\n schedule.period.dows = schedule.period.dows ? '' : '[0,1,2,3,4,5,6]';\n this.onChange(schedule);\n }}/>}\n label={I18n.t('sch_periodWeekdays')} />\n </div>\n <div className={this.props.classes.settingsDiv}>\n {this.getPeriodSettingsWeekdays()}\n </div>\n </div>,\n*/\n // ----- weeks ---\n <div key=\"weeks\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowDows}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.weeks}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = schedule.period.weeks ? 0 : 1;\n _schedule.period.dows = schedule.period.dows || '[0]';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWeekly')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <div className={this.props.classes.settingsDiv}>{this.getPeriodSettingsWeekly()}</div>\n <div\n className={this.props.classes.settingsDiv + ' ' + this.props.classes.rowDowsDows}>{this.state.schedule.period.weeks ? this.getPeriodSettingsWeekdays() : null}</div>\n </div>\n </div>,\n\n\n // ----- months ---\n <div key=\"months\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowMonths}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.months}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 1;\n _schedule.period.dows = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodMonthly')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n {this.getPeriodSettingsMonthly()}\n {schedule.period.months ? <div>\n <div className={this.props.classes.settingsDiv + ' ' + this.props.classes.rowMonthsDates}>\n <FormControlLabel\n control={<Checkbox\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.dates}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = _schedule.period.months || 1;\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n _schedule.period.dates = _schedule.period.dates || JSON.stringify(dates);\n _schedule.period.dows = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodDates')}/></div>\n <div className={this.props.classes.settingsDiv + ' ' + this.props.classes.rowMonthsDates}>\n {this.getPeriodSettingsDates()}\n </div>\n </div> : null}\n </div>\n </div>,\n\n\n // ----- years ---\n <div key=\"years\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowYears}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.years}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 1;\n _schedule.period.yearDate = 1;\n _schedule.period.yearMonth = 1;\n _schedule.period.dows = '';\n _schedule.period.months = 0;\n _schedule.period.dates = '';\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodYearly')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <div className={this.props.classes.settingsDiv}>{this.getPeriodSettingsYearly()}</div>\n {!!schedule.period.years && <div className={this.props.classes.settingsDiv}>\n <span>{I18n.t('sch_on')}</span>\n <Input\n key=\"input\"\n value={this.state.schedule.period.yearDate}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"1\"\n max=\"31\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.yearDate = parseInt(e.target.value, 10);\n if (_schedule.period.yearDate < 1) _schedule.period.yearDate = 31;\n if (_schedule.period.yearDate > 31) _schedule.period.yearDate = 1;\n this.onChange(_schedule);\n }}/>\n <Select\n variant=\"standard\"\n value={schedule.period.yearMonth}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.yearMonth = e.target.value;\n this.onChange(_schedule);\n }}\n >\n <MenuItem key=\"every\" value={0}>{I18n.t('sch_yearEveryMonth')}</MenuItem>\n {MONTHS.map((month, i) => <MenuItem key={month} value={i + 1}>{I18n.t(month)}</MenuItem>)}\n </Select>\n </div>}\n </div>\n </div>,\n ];\n }\n\n getPeriodSettingsMinutes() {\n return <div style={{display: 'inline-block'}}>\n <label>{I18n.t('sch_every')}</label>\n <Input\n value={this.state.schedule.time.interval}\n style={{verticalAlign: 'bottom'}}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"1\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.interval = parseInt(e.target.value, 10);\n this.onChange(_schedule);\n }}/>\n <Select\n variant=\"standard\"\n value={this.state.schedule.time.mode}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.mode = e.target.value;\n this.onChange(_schedule);\n }}\n >\n <MenuItem value={PERIODS.minutes}>{I18n.t('sch_periodMinutes')}</MenuItem>\n <MenuItem value={PERIODS.hours}>{I18n.t('sch_periodHours')}</MenuItem>\n </Select>\n </div>;\n }\n\n getPeriodSettingsWeekdays() {\n // || this.state.schedule.period.dows === '[1, 2, 3, 4, 5]' || this.state.schedule.period.dows === '[0, 6]'\n const schedule = this.state.schedule;\n const isSpecific = schedule.period.dows && schedule.period.dows !== '[1, 2, 3, 4, 5]' && schedule.period.dows !== '[0, 6]';\n return [\n <div key=\"workdays\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.dows === '[1, 2, 3, 4, 5]'}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[1, 2, 3, 4, 5]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWorkdays')}/></div>,\n\n <div key=\"weekend\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.dows === '[0, 6]'}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[0, 6]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWeekend')}/></div>,\n\n <div\n key=\"specific\"\n style={{verticalAlign: 'top'}}\n ><FormControlLabel\n style={{verticalAlign: 'top'}}\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!isSpecific}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[0,1,2,3,4,5,6]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWeekdays')}/>\n {isSpecific && (schedule.period.days === 1 || schedule.period.weeks) &&\n <FormGroup row className={this.props.classes.inputGroup} style={{width: 150}}>\n {[1, 2, 3, 4, 5, 6, 0].map(i =>\n <FormControlLabel\n key={'specific_' + i}\n className={this.props.classes.inputGroupElement}\n control={\n <Checkbox\n className={this.props.classes.inputSmallCheck}\n checked={schedule.period.dows.includes('' + i)}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let dows;\n try {\n dows = JSON.parse(_schedule.period.dows);\n } catch (e) {\n dows = [];\n }\n if (e.target.checked && !dows.includes(i)) {\n dows.push(i);\n } else if (!e.target.checked && dows.includes(i)) {\n dows.splice(dows.indexOf(i), 1);\n }\n dows.sort((a, b) => a - b);\n _schedule.period.dows = JSON.stringify(dows);\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t(WEEKDAYS[i])}\n />)}\n </FormGroup>}\n </div>,\n ];\n }\n\n getPeriodSettingsDaily() {\n if (!this.state.schedule.period.days) {\n return;\n }\n const schedule = this.state.schedule;\n return [\n <div key=\"every_day\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.days === 1 && !schedule.period.dows}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 1;\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodEveryDay')}/></div>,\n <div key=\"everyN_day\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.days > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 2;\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodEvery')}/>\n {schedule.period.days > 1 && [<Input\n key=\"input\"\n value={this.state.schedule.period.days}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = parseInt(e.target.value, 10);\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}/>,\n <span key=\"span\" style={{paddingRight: 10}}>{I18n.t('sch_periodDay')}</span>]}\n </div>,\n ];\n }\n\n getPeriodSettingsWeekly() {\n if (!this.state.schedule.period.weeks) {\n return;\n }\n const schedule = this.state.schedule;\n return [\n <div key=\"radios\" style={{display: 'inline-block', verticalAlign: 'top'}}>\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.weeks === 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = 1;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEveryWeek')}/></div>\n <div>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.weeks > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = 2;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEvery')}/>\n {schedule.period.weeks > 1 && [<Input\n value={this.state.schedule.period.weeks}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = parseInt(e.target.value, 10);\n this.onChange(_schedule);\n }}/>, <span>{I18n.t('sch_periodWeek')}</span>]}\n </div>\n </div>,\n ];\n }\n\n getPeriodSettingsDates() {\n if (!this.state.schedule.period.dates) {\n return;\n }\n const schedule = this.state.schedule;\n\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n\n const parsedDates = JSON.parse(schedule.period.dates);\n\n return <FormGroup\n row\n className={this.props.classes.inputGroup}\n style={{maxWidth: 620}}\n >\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={parsedDates.length === 31}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n _schedule.period.dates = JSON.stringify(dates);\n this.onChange(_schedule);\n }}\n />\n } label={I18n.t('sch_all')}\n />\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={!parsedDates.length}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dates = '[]';\n this.onChange(_schedule);\n }}\n />\n } label={I18n.t('sch_no_one')}\n />\n {parsedDates.length !== 31 && !!parsedDates.length &&\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={false}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const result = [];\n const parsedDates = JSON.parse(_schedule.period.dates);\n for (let i = 1; i <= 31; i++) {\n if (parsedDates.indexOf(i) === -1) {\n result.push(i);\n }\n }\n result.sort((a, b) => a - b);\n _schedule.period.dates = JSON.stringify(result);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_invert')}\n />}\n <div/>\n {dates.map(i =>\n <FormControlLabel\n key={'date_' + i}\n className={this.props.classes.inputDateDay}\n style={!i ? {\n opacity: 0,\n cursor: 'default',\n userSelect: 'none',\n pointerEvents: 'none'\n } : {}}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={JSON.parse(schedule.period.dates).includes(i)}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let dates;\n try {\n dates = JSON.parse(_schedule.period.dates);\n } catch (e) {\n dates = [];\n }\n if (e.target.checked && dates.indexOf(i) === -1) {\n dates.push(i);\n } else if (!e.target.checked && dates.indexOf(i) !== -1) {\n dates.splice(dates.indexOf(i), 1);\n }\n dates.sort((a, b) => a - b);\n _schedule.period.dates = JSON.stringify(dates);\n this.onChange(_schedule);\n }}\n />\n }\n label={i < 10 ? [<span key=\"0\" style={{opacity: 0}}>0</span>,\n <span key=\"num\">{i}</span>] : i}\n />)}\n </FormGroup>;\n }\n\n getPeriodSettingsMonthly() {\n if (!this.state.schedule.period.months) {\n return;\n }\n const schedule = this.state.schedule;\n const parsedMonths = typeof schedule.period.months === 'string' ? JSON.parse(schedule.period.months) : [];\n\n return [\n <div key=\"every\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={typeof schedule.period.months === 'number' && schedule.period.months === 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 1;\n this.onChange(schedule);\n }}/>}\n label={I18n.t('sch_periodEveryMonth')}/></div>,\n <div key=\"everyN\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={typeof schedule.period.months === 'number' && schedule.period.months > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 2;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEvery')}/>\n {typeof schedule.period.months === 'number' && schedule.period.months > 1 && [<Input\n value={schedule.period.months}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = parseInt(e.target.value, 10);\n if (_schedule.period.months < 1) _schedule.period.months = 1;\n this.onChange(_schedule);\n }}/>, <span>{I18n.t('sch_periodMonth')}</span>]}\n </div>,\n <div key=\"specific\" style={{verticalAlign: 'top'}}><FormControlLabel\n style={{verticalAlign: 'top'}}\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={typeof schedule.period.months === 'string'}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = '[1,2,3,4,5,6,7,8,9,10,11,12]';\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodSpecificMonths')}/>\n {typeof schedule.period.months === 'string' &&\n <FormGroup\n row\n className={this.props.classes.inputGroup}>\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={parsedMonths.length === 12}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const months = [];\n for (let i = 1; i <= 12; i++) {\n months.push(i);\n }\n _schedule.period.months = JSON.stringify(months);\n this.onChange(_schedule);\n }}\n />\n } label={I18n.t('sch_all')}\n />\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={!parsedMonths.length}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = '[]';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_no_one')}\n />\n {parsedMonths.length !== 12 && !!parsedMonths.length &&\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={false}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const result = [];\n const parsedMonths = JSON.parse(_schedule.period.months);\n for (let i = 1; i <= 12; i++) {\n if (parsedMonths.indexOf(i) === -1) {\n result.push(i);\n }\n }\n result.sort((a, b) => a - b);\n _schedule.period.months = JSON.stringify(result);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_invert')}\n />}\n <div/>\n {MONTHS.map((month, i) =>\n <FormControlLabel\n className={this.props.classes.inputGroupElement}\n control={\n <Checkbox\n className={this.props.classes.inputSmallCheck}\n checked={JSON.parse(schedule.period.months).includes(i + 1)}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let months;\n try {\n months = JSON.parse(_schedule.period.months);\n } catch (e) {\n months = [];\n }\n if (e.target.checked && !months.includes(i + 1)) {\n months.push(i + 1);\n } else if (!e.target.checked && months.includes(i + 1)) {\n months.splice(months.indexOf(i + 1), 1);\n }\n months.sort((a, b) => a - b);\n _schedule.period.months = JSON.stringify(months);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t(month)}\n />)}\n </FormGroup>}\n </div>,\n ];\n }\n\n getPeriodSettingsYearly() {\n if (!this.state.schedule.period.years) {\n return;\n }\n const schedule = this.state.schedule;\n return [\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.years === 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 1;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEveryYear')}/></div>,\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.years > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 2;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEvery')}/>\n {schedule.period.years > 1 &&\n [<Input\n value={this.state.schedule.period.years}\n className={this.props.classes.inputEvery} type=\"number\" min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = parseInt(e.target.value, 10);\n if (_schedule.period.years < 1) _schedule.period.years = 1;\n this.onChange(_schedule);\n }}/>,\n <span>{I18n.t('sch_periodYear')}</span>]}\n </div>,\n ];\n }\n\n static now2string(isEnd) {\n const d = new Date();\n d.setHours(0);\n d.setMinutes(0);\n d.setSeconds(0);\n d.setMilliseconds(0);\n if (isEnd) {\n d.setDate(d.getDate() + 2);\n d.setMilliseconds(d.getMilliseconds() - 1);\n }\n\n return `${padding(d.getDate())}.${padding(d.getMonth() + 1)}.${padding(d.getFullYear())}`;\n }\n\n static string2date(str) {\n let parts = str.split('.'); // 31.12.2019\n if (parts.length === 1) {\n parts = str.split('-'); // 2018-12-31\n return new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10));\n } else {\n return new Date(parseInt(parts[2], 10), parseInt(parts[1], 10) - 1, parseInt(parts[0], 10));\n }\n }\n\n getValidSettings() {\n const schedule = this.state.schedule;\n // ----- from ---\n return <div className={this.props.classes.rowDiv}>\n <div className={this.props.classes.modeDiv} style={{verticalAlign: 'middle'}}>\n <span style={{fontWeight: 'bold', paddingRight: 10}}>{I18n.t('sch_valid')}</span>\n <span>{I18n.t('sch_validFrom')}</span>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <TextField\n variant=\"standard\"\n className={this.props.classes.inputDate}\n style={{marginRight: 10}}\n key=\"exactTimeFrom\"\n inputRef={this.refFrom}\n defaultValue={string2USdate(schedule.valid.from)}\n type=\"date\"\n //inputComponent={TextDate}\n onChange={e => {\n this.timerFrom && clearTimeout(this.timerFrom);\n\n this.refFrom.current.style.background = '#ff000030';\n\n this.timerFrom = setTimeout(value => {\n this.timerFrom = null;\n this.refFrom.current.style.background = '';\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.valid.from = `${padding(date.getDate())}.${padding(date.getMonth() + 1)}.${date.getFullYear()}`;\n this.onChange(_schedule);\n }\n }, 1500, e.target.value);\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n />\n <FormControlLabel\n control={<Checkbox\n className={this.props.classes.inputRadio}\n checked={!!schedule.valid.to}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.valid.to = _schedule.valid.to ? '' : Schedule.now2string(true);\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_validTo')}/>\n {!!schedule.valid.to && <TextField\n variant=\"standard\"\n inputRef={this.refTo}\n className={this.props.classes.inputDate}\n style={{marginRight: 10}}\n key=\"exactTimeFrom\"\n type=\"date\"\n defaultValue={string2USdate(schedule.valid.to)}\n //inputComponent={TextDate}\n onChange={e => {\n this.timerTo && clearTimeout(this.timerTo);\n\n this.refTo.current.style.background = '#ff000030';\n this.timerTo = setTimeout(value => {\n this.timerTo = null;\n this.refTo.current.style.background = '';\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.valid.to = `${padding(date.getDate())}.${padding(date.getMonth() + 1)}.${date.getFullYear()}`;\n this.onChange(_schedule);\n }\n }, 1500, e.target.value);\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n />}\n </div>\n </div>;\n }\n\n render() {\n return <div style={{height: 'calc(100% - 48px)', width: '100%', overflow: 'hidden'}}>\n <div>{this.state.desc}</div>\n <div className={this.props.classes.scrollWindow}>\n <h5>{I18n.t('sch_time')}</h5>\n {this.getTimePeriodElements()}\n {this.getTimeExactElements()}\n {this.getDivider()}\n <h5>{I18n.t('sch_period')}</h5>\n {this.getPeriodModes()}\n {!this.state.schedule.period.once && this.getDivider()}\n {!this.state.schedule.period.once && this.getValidSettings()}\n </div>\n </div>;\n }\n}\n\nSchedule.propTypes = {\n schedule: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default withStyles(styles)(Schedule);\n\n"],"mappings":"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"}
1
+ {"version":3,"file":"Schedule.js","names":["styles","theme","hr","border","borderTop","scrollWindow","width","overflow","height","rowDiv","modeDiv","display","verticalAlign","settingsDiv","inputTime","marginTop","marginLeft","inputDate","inputEvery","marginRight","inputRadio","padding","inputGroup","maxWidth","inputGroupElement","inputDateDay","inputDateDayCheck","inputSmallCheck","rowOnce","rowDays","background","palette","mode","rowDows","rowDates","rowWeeks","rowMonths","rowMonthsDates","rowYears","rowDaysDows","paddingLeft","paddingBottom","rowDowsDows","WEEKDAYS","MONTHS","PERIODS","ASTRO","num","TextTime","props","inputRef","other","placeholder","propTypes","PropTypes","func","isRequired","TextDate","DEFAULT","time","exactTime","start","end","interval","period","once","days","dows","dates","weeks","months","years","yearMonth","yearDate","valid","from","to","string2USdate","date","parts","split","length","Schedule","schedule","JSON","parse","e","Object","keys","onChange","setTimeout","state","assign","now2string","refFrom","React","createRef","refTo","refOnce","desc","state2text","stringify","force","isDiff","setState","copy","string2date","today","Date","setHours","setMinutes","setSeconds","setMilliseconds","wholeDay","day","night","fromTo","classes","_schedule","I18n","t","target","value","shrink","getPeriodSettingsMinutes","isAstro","indexOf","map","event","isOnce","timerOnce","clearTimeout","current","style","toString","getDate","getMonth","getFullYear","getPeriodSettingsDaily","getPeriodSettingsWeekdays","getPeriodSettingsWeekly","getPeriodSettingsMonthly","i","push","getPeriodSettingsDates","getPeriodSettingsYearly","parseInt","month","minutes","hours","isSpecific","includes","checked","splice","sort","a","b","paddingRight","parsedDates","result","opacity","cursor","userSelect","pointerEvents","parsedMonths","fontWeight","timerFrom","timerTo","getTimePeriodElements","getTimeExactElements","getDivider","getPeriodModes","getValidSettings","validFrom","now","tDows","last","pop","join","tMonths","getTime","isEnd","d","setDate","getMilliseconds","str","Component","string","withStyles"],"sources":["Schedule.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport Input from '@mui/material/Input';\nimport Radio from '@mui/material/Radio';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport FormGroup from '@mui/material/FormGroup';\nimport Checkbox from '@mui/material/Checkbox';\nimport MaskedInput from 'react-text-mask';\nimport MenuItem from '@mui/material/MenuItem';\nimport Select from '@mui/material/Select';\nimport TextField from '@mui/material/TextField';\n\nimport I18n from '../i18n';\n\nconst styles = theme => ({\n hr: {\n border: 0,\n borderTop: '1px solid gray'\n },\n scrollWindow: {\n width: '100%',\n overflow: 'auto',\n height: 'calc(100% - 22px)'\n },\n rowDiv: {\n width: '100%',\n },\n modeDiv: {\n width: 200,\n display: 'inline-block',\n verticalAlign: 'top'\n },\n settingsDiv: {\n display: 'inline-block',\n verticalAlign: 'top'\n },\n inputTime: {\n width: 90,\n marginTop: 0,\n marginLeft: 5\n },\n inputDate: {\n width: 140,\n marginTop: 0,\n marginLeft: 5\n },\n inputEvery: {\n width: 40,\n marginLeft: 5,\n marginRight: 5,\n },\n inputRadio: {\n padding: '4px 12px',\n verticalAlign: 'top'\n },\n inputGroup: {\n maxWidth: 400,\n display: 'inline-block'\n },\n inputGroupElement: {\n width: 120,\n },\n inputDateDay: {\n width: 60,\n },\n inputDateDayCheck: {\n padding: 4,\n },\n inputSmallCheck: {\n padding: 0,\n },\n rowOnce: {},\n\n rowDays: {\n background: theme.palette.mode !== 'dark' ? '#ddeaff' : '#4b5057'\n },\n rowDows: {\n background: theme.palette.mode !== 'dark' ? '#DDFFDD' : '#52646c'\n },\n rowDates: {\n background: theme.palette.mode !== 'dark' ? '#DDDDFF' : '#747a86'\n },\n rowWeeks: {\n background: theme.palette.mode !== 'dark' ? '#DDDDFF' : '#717680'\n },\n rowMonths: {\n background: theme.palette.mode !== 'dark' ? '#DDFFFF' : '#1f5557'\n },\n rowMonthsDates: {\n background: theme.palette.mode !== 'dark' ? '#EEFFFF' : '#3c5737',\n maxWidth: 600\n },\n rowYears: {\n background: theme.palette.mode !== 'dark' ? '#fbffdd' : '#574b33'\n },\n rowDaysDows: {\n background: theme.palette.mode !== 'dark' ? '#EEEAFF' : '#573544',\n paddingLeft: 10,\n paddingBottom: 10\n },\n rowDowsDows: {\n background: theme.palette.mode !== 'dark' ? '#EEFFEE' : '#3d4c54',\n paddingLeft: 10,\n paddingBottom: 10\n }\n});\n\nconst WEEKDAYS = [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n 'Sunday',\n];\nconst MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December'\n];\nconst PERIODS = {\n 'minutes': 'minutes',\n 'hours': 'hours',\n};\nconst ASTRO = [\n 'sunrise',\n 'sunriseEnd',\n 'goldenHourEnd',\n 'solarNoon',\n 'goldenHour',\n 'sunsetStart',\n 'sunset',\n 'dusk',\n 'nauticalDusk',\n 'night',\n 'nightEnd',\n 'nauticalDawn',\n 'dawn',\n 'nadir',\n];\n\nfunction padding(num) {\n if (num < 10) {\n return '0' + num;\n } else {\n return '' + num;\n }\n}\n\nfunction TextTime(props) {\n const {inputRef, ...other} = props;\n\n return <MaskedInput\n {...other}\n ref={inputRef}\n mask={[/[0-2]/, /[0-9]/, ':', /[0-5]/, /[0-9]/]}\n placeholderChar={props.placeholder || '00:00'}\n showMask\n />;\n}\n\nTextTime.propTypes = {\n inputRef: PropTypes.func.isRequired,\n};\n\nfunction TextDate(props) {\n const {inputRef, ...other} = props;\n\n return <MaskedInput\n {...other}\n ref={inputRef}\n mask={[/[0-3]/, /[0-9]/, '.', /[0-1]/, /[0-9]/, '.', '2', '0', /[0-9]/, /[0-9]/]}\n placeholderChar={props.placeholder || '01.01.2020'}\n showMask\n />;\n}\n\nTextDate.propTypes = {\n inputRef: PropTypes.func.isRequired,\n};\n\nconst DEFAULT = {\n time: {\n exactTime: false,\n\n start: '00:00',\n end: '23:59',\n\n mode: 'hours',\n interval: 1,\n },\n period: {\n once: '',\n days: 1,\n dows: '',\n dates: '',\n weeks: 0,\n months: '',\n\n years: 0,\n yearMonth: 0,\n yearDate: 0,\n },\n valid: {\n from: '',\n to: ''\n }\n};\n\nfunction string2USdate(date) {\n const parts = date.split('.');\n if (parts.length === 3) {\n return parts[2] + '-' + parts[1] + '-' + parts[0];\n }\n\n}\n\nclass Schedule extends React.Component {\n constructor(props) {\n super(props);\n let schedule;\n if (this.props.schedule && typeof this.props.schedule === 'string' && this.props.schedule[0] === '{') {\n try {\n schedule = JSON.parse(this.props.schedule);\n } catch (e) {\n\n }\n }\n\n if ((!schedule || !Object.keys(schedule).length) && this.props.onChange) {\n setTimeout(() => this.onChange(this.state.schedule, true), 200);\n }\n schedule = schedule || {};\n schedule = Object.assign({}, DEFAULT, schedule);\n schedule.valid.from = schedule.valid.from || Schedule.now2string();\n\n this.refFrom = React.createRef();\n this.refTo = React.createRef();\n this.refOnce = React.createRef();\n\n this.state = {\n schedule,\n desc: Schedule.state2text(schedule)\n };\n\n if (JSON.stringify(schedule) !== this.props.schedule) {\n setTimeout(() =>\n this.props.onChange && this.props.onChange(JSON.stringify(schedule)), 100);\n }\n }\n\n onChange(schedule, force) {\n const isDiff = JSON.stringify(schedule) !== JSON.stringify(this.state.schedule);\n if (force || isDiff) {\n isDiff && this.setState({schedule, desc: Schedule.state2text(schedule)});\n const copy = JSON.parse(JSON.stringify(schedule));\n if (copy.period.once) {\n let once = copy.period.once;\n delete copy.period;\n copy.period = {once};\n delete copy.valid;\n } else if (copy.period.days) {\n let days = copy.period.days;\n let dows = copy.period.dows;\n delete copy.period;\n copy.period = {days};\n if (dows && dows !== '[]') {\n copy.period.dows = dows;\n }\n } else if (copy.period.weeks) {\n let weeks = copy.period.weeks;\n let dows = copy.period.dows;\n delete copy.period;\n copy.period = {weeks};\n if (dows && dows !== '[]') {\n copy.period.dows = dows;\n }\n } else if (copy.period.months) {\n let months = copy.period.months;\n let dates = copy.period.dates;\n delete copy.period;\n copy.period = {months};\n if (dates && dates !== '[]') {\n copy.period.dates = dates;\n }\n } else if (copy.period.years) {\n let years = copy.period.years;\n let yearMonth = copy.period.yearMonth;\n let yearDate = copy.period.yearDate;\n delete copy.period;\n copy.period = {years, yearDate};\n if (yearMonth) {\n copy.period.yearMonth = yearMonth;\n }\n }\n\n if (copy.time.exactTime) {\n delete copy.time.end;\n delete copy.time.mode;\n delete copy.time.interval;\n } else {\n delete copy.time.exactTime;\n }\n if (copy.valid) {\n if (!copy.valid.to) {\n delete copy.valid.to;\n }\n if (copy.period.days === 1 || copy.period.weeks === 1 || copy.period.months === 1 || copy.period.years === 1) {\n const from = Schedule.string2date(copy.valid.from);\n const today = new Date();\n today.setHours(0);\n today.setMinutes(0);\n today.setSeconds(0);\n today.setMilliseconds(0);\n if (from <= today) {\n delete copy.valid.from;\n }\n }\n if (!copy.valid.from && !copy.valid.to) {\n delete copy.valid;\n }\n }\n\n this.props.onChange && this.props.onChange(JSON.stringify(copy), Schedule.state2text(schedule));\n }\n }\n\n static state2text(schedule) {\n if (typeof schedule === 'string') {\n try {\n schedule = JSON.parse(schedule);\n } catch (e) {\n schedule = {};\n }\n }\n\n let desc = [];\n let validFrom = Schedule.string2date(schedule.valid.from);\n if (schedule.period.once) {\n // once\n let once = Schedule.string2date(schedule.period.once);\n let now = new Date();\n now.setMilliseconds(0);\n now.setSeconds(0);\n now.setMinutes(0);\n now.setHours(0);\n\n //\n if (once < now) {\n // will ne be not executed any more, because start is in the past\n return I18n.t('sch_desc_onceInPast');\n } else {\n // only once\n desc.push(I18n.t('sch_desc_once_on', schedule.period.once));\n }\n } else if (schedule.period.days) {\n if (schedule.period.days === 1) {\n if (schedule.period.dows) {\n const dows = JSON.parse(schedule.period.dows);\n if (dows.length === 2 && dows[0] === 0 && dows[1] === 6) {\n // on weekends\n desc.push(I18n.t('sch_desc_onWeekends'));\n } else if (dows.length === 5 && dows[0] === 1 && dows[1] === 2 && dows[2] === 3 && dows[3] === 4 && dows[4] === 5) {\n // on workdays\n desc.push(I18n.t('sch_desc_onWorkdays'));\n } else {\n const tDows = dows.map(day => I18n.t(WEEKDAYS[day]));\n if (tDows.length === 1) {\n // on Monday\n desc.push(I18n.t('sch_desc_onWeekday', tDows[0]));\n } else if (tDows.length === 7) {\n // on every day\n desc.push(I18n.t('sch_desc_everyDay'));\n } else {\n const last = tDows.pop();\n // on Monday and Sunday\n desc.push(I18n.t('sch_desc_onWeekdays', tDows.join(', '), last));\n }\n }\n } else {\n desc.push(I18n.t('sch_desc_everyDay'));\n }\n } else {\n desc.push(I18n.t('sch_desc_everyNDay', schedule.period.days));\n }\n } else if (schedule.period.weeks) {\n if (schedule.period.weeks === 1) {\n desc.push(I18n.t('sch_desc_everyWeek'));\n } else {\n desc.push(I18n.t('sch_desc_everyNWeeks', schedule.period.weeks));\n }\n\n if (schedule.period.dows) {\n const dows = JSON.parse(schedule.period.dows);\n if (dows.length === 2 && dows[0] === 0 && dows[1] === 6) {\n // on weekends\n desc.push(I18n.t('sch_desc_onWeekends'));\n } else if (dows.length === 5 && dows[0] === 1 && dows[1] === 2 && dows[2] === 3 && dows[3] === 4 && dows[4] === 5) {\n // on workdays\n desc.push(I18n.t('sch_desc_onWorkdays'));\n } else {\n const tDows = dows.map(day => I18n.t(WEEKDAYS[day]));\n if (tDows.length === 1) {\n // on Monday\n desc.push(I18n.t('sch_desc_onWeekday', tDows[0]));\n } else if (tDows.length === 7) {\n // on every day\n desc.push(I18n.t('sch_desc_everyDay'));\n } else {\n const last = tDows.pop();\n // on Monday and Sunday\n desc.push(I18n.t('sch_desc_onWeekdays', tDows.join(', '), last));\n }\n }\n } else {\n return I18n.t('sch_desc_never');\n }\n } else if (schedule.period.months) {\n if (schedule.period.dates) {\n const dates = JSON.parse(schedule.period.dates);\n if (dates.length === 1) {\n // in 1 of month\n desc.push(I18n.t('sch_desc_onDate', dates[0]));\n } else if (dates.length === 31) {\n desc.push(I18n.t('sch_desc_onEveryDate'));\n } else if (!dates.length) {\n return I18n.t('sch_desc_never');\n } else {\n const last = dates.pop();\n // in 1 and 4 of month\n desc.push(I18n.t('sch_desc_onDates', dates.join(', '), last));\n }\n } else {\n desc.push(I18n.t('sch_desc_onEveryDate'));\n }\n\n if (schedule.period.months === 1) {\n desc.push(I18n.t('sch_desc_everyMonth'));\n } else if (typeof schedule.period.months === 'number') {\n desc.push(I18n.t('sch_desc_everyNMonths', schedule.period.months));\n } else {\n const months = JSON.parse(schedule.period.months);\n const tMonths = months.map(month => I18n.t(MONTHS[month - 1]));\n if (!tMonths.length) {\n // in January\n return I18n.t('sch_desc_never');\n } else if (tMonths.length === 1) {\n // in January\n desc.push(I18n.t('sch_desc_onMonth', tMonths[0]));\n } else if (tMonths.length === 12) {\n // every month\n desc.push(I18n.t('sch_desc_everyMonth'));\n } else {\n const last = tMonths.pop();\n // in January and May\n desc.push(I18n.t('sch_desc_onMonths', tMonths.join(', '), last));\n }\n }\n } else if (schedule.period.years) {\n if (schedule.period.years === 1) {\n desc.push(I18n.t('sch_desc_everyYear'));\n } else {\n desc.push(I18n.t('sch_desc_everyNYears', schedule.period.years));\n }\n desc.push(I18n.t('sch_desc_onDate', schedule.period.yearDate, schedule.period.yearMonth ? I18n.t(MONTHS[schedule.period.yearMonth - 1]) : I18n.t('sch_desc_everyMonth')));\n }\n\n // time\n if (schedule.time.exactTime) {\n if (ASTRO.indexOf(schedule.time.start) !== -1) {\n // at sunset\n desc.push(I18n.t('sch_desc_atTime', I18n.t('sch_astro_' + schedule.time.start)));\n } else {\n // at HH:MM\n desc.push(I18n.t('sch_desc_atTime', schedule.time.start));\n }\n } else {\n if (schedule.time.mode === PERIODS.minutes) {\n if (schedule.time.interval === 1) {\n // every minute\n desc.push(I18n.t('sch_desc_everyMinute'));\n } else {\n // every N minutes\n desc.push(I18n.t('sch_desc_everyNMinutes', schedule.time.interval));\n }\n } else {\n if (schedule.time.interval === 1) {\n // every minute\n desc.push(I18n.t('sch_desc_everyHour'));\n } else {\n // every N minutes\n desc.push(I18n.t('sch_desc_everyNHours', schedule.time.interval));\n }\n }\n const start = ASTRO.indexOf(schedule.time.start) !== -1 ? I18n.t('sch_astro_' + schedule.time.start) : schedule.time.start;\n const end = ASTRO.indexOf(schedule.time.end) !== -1 ? I18n.t('sch_astro_' + schedule.time.end) : schedule.time.end;\n if (start !== '00:00' || (end !== '24:00' && end !== '23:59')) {\n // from HH:mm to HH:mm\n desc.push(I18n.t('sch_desc_intervalFromTo', start, end));\n }\n }\n\n if (!schedule.period.once) {\n // valid\n if (validFrom.getTime() > Date.now() && schedule.valid.to) {\n // from XXX to XXXX\n desc.push(I18n.t('sch_desc_validFromTo', schedule.valid.from, schedule.valid.to));\n } else if (validFrom.getTime() > Date.now()) {\n // from XXXX\n desc.push(I18n.t('sch_desc_validFrom', schedule.valid.from));\n } else if (schedule.valid.to) {\n // till XXXX\n desc.push(I18n.t('sch_desc_validTo', schedule.valid.to));\n }\n }\n return desc.join(' ');\n }\n\n getTimePeriodElements() {\n const schedule = this.state.schedule;\n let wholeDay = false;\n let day = false;\n let night = false;\n let fromTo = true;\n if (schedule.time.start === '00:00' && schedule.time.end === '24:00') {\n wholeDay = true;\n fromTo = false;\n } else if (schedule.time.start === 'sunrise') {\n day = true;\n fromTo = false;\n } else if (schedule.time.start === 'sunset') {\n night = true;\n fromTo = false;\n }\n\n return <div key=\"timePeriod\" className={this.props.classes.rowDiv}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!schedule.time.exactTime}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.exactTime = false;\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_intervalTime')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <div className={this.props.classes.settingsDiv}>\n {!schedule.time.exactTime && <div>\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!fromTo}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = '00:00';\n _schedule.time.end = '23:59';\n this.onChange(_schedule);\n }}/>}\n label={!fromTo ? I18n.t('sch_fromTo') : ''}/>\n {fromTo && [\n <TextField\n variant=\"standard\"\n className={this.props.classes.inputTime}\n style={{marginRight: 10}}\n key=\"exactTimeFrom\"\n type=\"time\"\n value={this.state.schedule.time.start}\n //InputProps={{inputComponent: TextTime}}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n InputLabelProps={{shrink: true,}}\n label={I18n.t('sch_from')}\n margin=\"normal\"\n />,\n <TextField\n variant=\"standard\"\n className={this.props.classes.inputTime}\n key=\"exactTimeTo\"\n type=\"time\"\n value={this.state.schedule.time.end}\n //InputProps={{inputComponent: TextTime}}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.end = e.target.value;\n this.onChange(_schedule);\n }}\n InputLabelProps={{shrink: true,}}\n label={I18n.t('sch_to')}\n margin=\"normal\"\n />\n ]}\n </div>\n </div>}\n\n {!schedule.time.exactTime && <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!wholeDay}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = '00:00';\n _schedule.time.end = '24:00';\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_wholeDay')}/></div>}\n\n {!schedule.time.exactTime && <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!day}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = 'sunrise';\n _schedule.time.end = 'sunset';\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_astroDay')}/></div>}\n\n {!schedule.time.exactTime && <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!night} onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = 'sunset';\n _schedule.time.end = 'sunrise';\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_astroNight')}/></div>}\n </div>\n {!schedule.time.exactTime && this.getPeriodSettingsMinutes()}\n </div>\n </div>;\n }\n\n getTimeExactElements() {\n const isAstro = ASTRO.indexOf(this.state.schedule.time.start) !== -1;\n\n return <div key=\"timeExact\" className={this.props.classes.rowDiv}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!this.state.schedule.time.exactTime}\n onClick={() => {\n const schedule = JSON.parse(JSON.stringify(this.state.schedule));\n schedule.time.exactTime = true;\n this.onChange(schedule);\n }}/>} label={I18n.t('sch_exactTime')}/>\n </div>\n {this.state.schedule.time.exactTime && <Select\n variant=\"standard\"\n value={isAstro ? this.state.schedule.time.start : '00:00'}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n >\n <MenuItem key=\"specific\" value={'00:00'}>{I18n.t('sch_specificTime')}</MenuItem>\n {ASTRO.map(event => <MenuItem key={event} value={event}>{I18n.t('sch_astro_' + event)}</MenuItem>)}\n </Select>\n }\n {this.state.schedule.time.exactTime && !isAstro &&\n <div className={this.props.classes.settingsDiv}><TextField\n variant=\"standard\"\n className={this.props.classes.inputTime}\n key=\"exactTimeValue\"\n value={this.state.schedule.time.start}\n type=\"time\"\n // inputComponent={TextTime}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n /></div>\n }\n </div>;\n }\n\n getDivider() {\n return <hr className={this.props.classes.hr}/>;\n }\n\n getPeriodModes() {\n const schedule = this.state.schedule;\n const isOnce = !schedule.period.dows && !schedule.period.months && !schedule.period.dates && !schedule.period.years && !schedule.period.days && !schedule.period.weeks;\n if (isOnce && !schedule.period.once) {\n schedule.period.once = Schedule.now2string(true);\n }\n\n return [\n // ----- once ---\n <div key=\"once\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowOnce}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!isOnce}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.once = _schedule.period.once || Schedule.now2string(true);\n _schedule.period.dows = '';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodOnce')}/>\n </div>\n {isOnce && <div className={this.props.classes.settingsDiv}>\n {<TextField\n variant=\"standard\"\n className={this.props.classes.inputDate}\n type=\"date\"\n ref={this.refOnce}\n key=\"exactDateAt\"\n defaultValue={string2USdate(schedule.period.once)}\n //InputProps={{inputComponent: TextTime}}\n onChange={e => {\n this.timerOnce && clearTimeout(this.timerOnce);\n\n this.refOnce.current.style.background = '#ff000030';\n this.timerOnce = setTimeout(value => {\n this.timerOnce = null;\n this.refOnce.current.style.background = '';\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.period.once = padding(date.getDate()) + '.' + padding(date.getMonth() + 1) + '.' + date.getFullYear();\n this.onChange(_schedule);\n }\n }, 1500, e.target.value);\n }}\n InputLabelProps={{shrink: true,}}\n label={I18n.t('sch_at')}\n margin=\"normal\"\n />}\n </div>}\n </div>,\n\n\n // ----- days ---\n <div key=\"days\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowDays}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.days}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 1;\n _schedule.period.dows = '';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodDaily')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n {this.getPeriodSettingsDaily()}\n {schedule.period.days ? this.getPeriodSettingsWeekdays() : null}\n </div>\n </div>,\n\n\n // ----- days of weeks ---\n /*!schedule.period.days && (\n <div key=\"dows\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowDows}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel control={<Radio className={this.props.classes.inputRadio} checked={!!schedule.period.dows} onClick={() => {\n const schedule = JSON.parse(JSON.stringify(this.state.schedule));\n schedule.period.dows = schedule.period.dows ? '' : '[0,1,2,3,4,5,6]';\n this.onChange(schedule);\n }}/>}\n label={I18n.t('sch_periodWeekdays')} />\n </div>\n <div className={this.props.classes.settingsDiv}>\n {this.getPeriodSettingsWeekdays()}\n </div>\n </div>,\n*/\n // ----- weeks ---\n <div key=\"weeks\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowDows}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.weeks}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = schedule.period.weeks ? 0 : 1;\n _schedule.period.dows = schedule.period.dows || '[0]';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWeekly')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <div className={this.props.classes.settingsDiv}>{this.getPeriodSettingsWeekly()}</div>\n <div\n className={this.props.classes.settingsDiv + ' ' + this.props.classes.rowDowsDows}>{this.state.schedule.period.weeks ? this.getPeriodSettingsWeekdays() : null}</div>\n </div>\n </div>,\n\n\n // ----- months ---\n <div key=\"months\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowMonths}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.months}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 1;\n _schedule.period.dows = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodMonthly')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n {this.getPeriodSettingsMonthly()}\n {schedule.period.months ? <div>\n <div className={this.props.classes.settingsDiv + ' ' + this.props.classes.rowMonthsDates}>\n <FormControlLabel\n control={<Checkbox\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.dates}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = _schedule.period.months || 1;\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n _schedule.period.dates = _schedule.period.dates || JSON.stringify(dates);\n _schedule.period.dows = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodDates')}/></div>\n <div className={this.props.classes.settingsDiv + ' ' + this.props.classes.rowMonthsDates}>\n {this.getPeriodSettingsDates()}\n </div>\n </div> : null}\n </div>\n </div>,\n\n\n // ----- years ---\n <div key=\"years\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowYears}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.years}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 1;\n _schedule.period.yearDate = 1;\n _schedule.period.yearMonth = 1;\n _schedule.period.dows = '';\n _schedule.period.months = 0;\n _schedule.period.dates = '';\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodYearly')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <div className={this.props.classes.settingsDiv}>{this.getPeriodSettingsYearly()}</div>\n {!!schedule.period.years && <div className={this.props.classes.settingsDiv}>\n <span>{I18n.t('sch_on')}</span>\n <Input\n key=\"input\"\n value={this.state.schedule.period.yearDate}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"1\"\n max=\"31\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.yearDate = parseInt(e.target.value, 10);\n if (_schedule.period.yearDate < 1) _schedule.period.yearDate = 31;\n if (_schedule.period.yearDate > 31) _schedule.period.yearDate = 1;\n this.onChange(_schedule);\n }}/>\n <Select\n variant=\"standard\"\n value={schedule.period.yearMonth}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.yearMonth = e.target.value;\n this.onChange(_schedule);\n }}\n >\n <MenuItem key=\"every\" value={0}>{I18n.t('sch_yearEveryMonth')}</MenuItem>\n {MONTHS.map((month, i) => <MenuItem key={month} value={i + 1}>{I18n.t(month)}</MenuItem>)}\n </Select>\n </div>}\n </div>\n </div>,\n ];\n }\n\n getPeriodSettingsMinutes() {\n return <div style={{display: 'inline-block'}}>\n <label>{I18n.t('sch_every')}</label>\n <Input\n value={this.state.schedule.time.interval}\n style={{verticalAlign: 'bottom'}}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"1\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.interval = parseInt(e.target.value, 10);\n this.onChange(_schedule);\n }}/>\n <Select\n variant=\"standard\"\n value={this.state.schedule.time.mode}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.mode = e.target.value;\n this.onChange(_schedule);\n }}\n >\n <MenuItem value={PERIODS.minutes}>{I18n.t('sch_periodMinutes')}</MenuItem>\n <MenuItem value={PERIODS.hours}>{I18n.t('sch_periodHours')}</MenuItem>\n </Select>\n </div>;\n }\n\n getPeriodSettingsWeekdays() {\n // || this.state.schedule.period.dows === '[1, 2, 3, 4, 5]' || this.state.schedule.period.dows === '[0, 6]'\n const schedule = this.state.schedule;\n const isSpecific = schedule.period.dows && schedule.period.dows !== '[1, 2, 3, 4, 5]' && schedule.period.dows !== '[0, 6]';\n return [\n <div key=\"workdays\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.dows === '[1, 2, 3, 4, 5]'}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[1, 2, 3, 4, 5]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWorkdays')}/></div>,\n\n <div key=\"weekend\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.dows === '[0, 6]'}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[0, 6]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWeekend')}/></div>,\n\n <div\n key=\"specific\"\n style={{verticalAlign: 'top'}}\n ><FormControlLabel\n style={{verticalAlign: 'top'}}\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!isSpecific}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[0,1,2,3,4,5,6]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWeekdays')}/>\n {isSpecific && (schedule.period.days === 1 || schedule.period.weeks) &&\n <FormGroup row className={this.props.classes.inputGroup} style={{width: 150}}>\n {[1, 2, 3, 4, 5, 6, 0].map(i =>\n <FormControlLabel\n key={'specific_' + i}\n className={this.props.classes.inputGroupElement}\n control={\n <Checkbox\n className={this.props.classes.inputSmallCheck}\n checked={schedule.period.dows.includes('' + i)}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let dows;\n try {\n dows = JSON.parse(_schedule.period.dows);\n } catch (e) {\n dows = [];\n }\n if (e.target.checked && !dows.includes(i)) {\n dows.push(i);\n } else if (!e.target.checked && dows.includes(i)) {\n dows.splice(dows.indexOf(i), 1);\n }\n dows.sort((a, b) => a - b);\n _schedule.period.dows = JSON.stringify(dows);\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t(WEEKDAYS[i])}\n />)}\n </FormGroup>}\n </div>,\n ];\n }\n\n getPeriodSettingsDaily() {\n if (!this.state.schedule.period.days) {\n return;\n }\n const schedule = this.state.schedule;\n return [\n <div key=\"every_day\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.days === 1 && !schedule.period.dows}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 1;\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodEveryDay')}/></div>,\n <div key=\"everyN_day\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.days > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 2;\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodEvery')}/>\n {schedule.period.days > 1 && [<Input\n key=\"input\"\n value={this.state.schedule.period.days}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = parseInt(e.target.value, 10);\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}/>,\n <span key=\"span\" style={{paddingRight: 10}}>{I18n.t('sch_periodDay')}</span>]}\n </div>,\n ];\n }\n\n getPeriodSettingsWeekly() {\n if (!this.state.schedule.period.weeks) {\n return;\n }\n const schedule = this.state.schedule;\n return [\n <div key=\"radios\" style={{display: 'inline-block', verticalAlign: 'top'}}>\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.weeks === 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = 1;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEveryWeek')}/></div>\n <div>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.weeks > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = 2;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEvery')}/>\n {schedule.period.weeks > 1 && [<Input\n value={this.state.schedule.period.weeks}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = parseInt(e.target.value, 10);\n this.onChange(_schedule);\n }}/>, <span>{I18n.t('sch_periodWeek')}</span>]}\n </div>\n </div>,\n ];\n }\n\n getPeriodSettingsDates() {\n if (!this.state.schedule.period.dates) {\n return;\n }\n const schedule = this.state.schedule;\n\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n\n const parsedDates = JSON.parse(schedule.period.dates);\n\n return <FormGroup\n row\n className={this.props.classes.inputGroup}\n style={{maxWidth: 620}}\n >\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={parsedDates.length === 31}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n _schedule.period.dates = JSON.stringify(dates);\n this.onChange(_schedule);\n }}\n />\n } label={I18n.t('sch_all')}\n />\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={!parsedDates.length}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dates = '[]';\n this.onChange(_schedule);\n }}\n />\n } label={I18n.t('sch_no_one')}\n />\n {parsedDates.length !== 31 && !!parsedDates.length &&\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={false}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const result = [];\n const parsedDates = JSON.parse(_schedule.period.dates);\n for (let i = 1; i <= 31; i++) {\n if (parsedDates.indexOf(i) === -1) {\n result.push(i);\n }\n }\n result.sort((a, b) => a - b);\n _schedule.period.dates = JSON.stringify(result);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_invert')}\n />}\n <div/>\n {dates.map(i =>\n <FormControlLabel\n key={'date_' + i}\n className={this.props.classes.inputDateDay}\n style={!i ? {\n opacity: 0,\n cursor: 'default',\n userSelect: 'none',\n pointerEvents: 'none'\n } : {}}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={JSON.parse(schedule.period.dates).includes(i)}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let dates;\n try {\n dates = JSON.parse(_schedule.period.dates);\n } catch (e) {\n dates = [];\n }\n if (e.target.checked && dates.indexOf(i) === -1) {\n dates.push(i);\n } else if (!e.target.checked && dates.indexOf(i) !== -1) {\n dates.splice(dates.indexOf(i), 1);\n }\n dates.sort((a, b) => a - b);\n _schedule.period.dates = JSON.stringify(dates);\n this.onChange(_schedule);\n }}\n />\n }\n label={i < 10 ? [<span key=\"0\" style={{opacity: 0}}>0</span>,\n <span key=\"num\">{i}</span>] : i}\n />)}\n </FormGroup>;\n }\n\n getPeriodSettingsMonthly() {\n if (!this.state.schedule.period.months) {\n return;\n }\n const schedule = this.state.schedule;\n const parsedMonths = typeof schedule.period.months === 'string' ? JSON.parse(schedule.period.months) : [];\n\n return [\n <div key=\"every\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={typeof schedule.period.months === 'number' && schedule.period.months === 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 1;\n this.onChange(schedule);\n }}/>}\n label={I18n.t('sch_periodEveryMonth')}/></div>,\n <div key=\"everyN\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={typeof schedule.period.months === 'number' && schedule.period.months > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 2;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEvery')}/>\n {typeof schedule.period.months === 'number' && schedule.period.months > 1 && [<Input\n value={schedule.period.months}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = parseInt(e.target.value, 10);\n if (_schedule.period.months < 1) _schedule.period.months = 1;\n this.onChange(_schedule);\n }}/>, <span>{I18n.t('sch_periodMonth')}</span>]}\n </div>,\n <div key=\"specific\" style={{verticalAlign: 'top'}}><FormControlLabel\n style={{verticalAlign: 'top'}}\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={typeof schedule.period.months === 'string'}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = '[1,2,3,4,5,6,7,8,9,10,11,12]';\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodSpecificMonths')}/>\n {typeof schedule.period.months === 'string' &&\n <FormGroup\n row\n className={this.props.classes.inputGroup}>\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={parsedMonths.length === 12}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const months = [];\n for (let i = 1; i <= 12; i++) {\n months.push(i);\n }\n _schedule.period.months = JSON.stringify(months);\n this.onChange(_schedule);\n }}\n />\n } label={I18n.t('sch_all')}\n />\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={!parsedMonths.length}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = '[]';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_no_one')}\n />\n {parsedMonths.length !== 12 && !!parsedMonths.length &&\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={false}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const result = [];\n const parsedMonths = JSON.parse(_schedule.period.months);\n for (let i = 1; i <= 12; i++) {\n if (parsedMonths.indexOf(i) === -1) {\n result.push(i);\n }\n }\n result.sort((a, b) => a - b);\n _schedule.period.months = JSON.stringify(result);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_invert')}\n />}\n <div/>\n {MONTHS.map((month, i) =>\n <FormControlLabel\n className={this.props.classes.inputGroupElement}\n control={\n <Checkbox\n className={this.props.classes.inputSmallCheck}\n checked={JSON.parse(schedule.period.months).includes(i + 1)}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let months;\n try {\n months = JSON.parse(_schedule.period.months);\n } catch (e) {\n months = [];\n }\n if (e.target.checked && !months.includes(i + 1)) {\n months.push(i + 1);\n } else if (!e.target.checked && months.includes(i + 1)) {\n months.splice(months.indexOf(i + 1), 1);\n }\n months.sort((a, b) => a - b);\n _schedule.period.months = JSON.stringify(months);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t(month)}\n />)}\n </FormGroup>}\n </div>,\n ];\n }\n\n getPeriodSettingsYearly() {\n if (!this.state.schedule.period.years) {\n return;\n }\n const schedule = this.state.schedule;\n return [\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.years === 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 1;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEveryYear')}/></div>,\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.years > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 2;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEvery')}/>\n {schedule.period.years > 1 &&\n [<Input\n value={this.state.schedule.period.years}\n className={this.props.classes.inputEvery} type=\"number\" min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = parseInt(e.target.value, 10);\n if (_schedule.period.years < 1) _schedule.period.years = 1;\n this.onChange(_schedule);\n }}/>,\n <span>{I18n.t('sch_periodYear')}</span>]}\n </div>,\n ];\n }\n\n static now2string(isEnd) {\n const d = new Date();\n d.setHours(0);\n d.setMinutes(0);\n d.setSeconds(0);\n d.setMilliseconds(0);\n if (isEnd) {\n d.setDate(d.getDate() + 2);\n d.setMilliseconds(d.getMilliseconds() - 1);\n }\n\n return `${padding(d.getDate())}.${padding(d.getMonth() + 1)}.${padding(d.getFullYear())}`;\n }\n\n static string2date(str) {\n let parts = str.split('.'); // 31.12.2019\n if (parts.length === 1) {\n parts = str.split('-'); // 2018-12-31\n return new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10));\n } else {\n return new Date(parseInt(parts[2], 10), parseInt(parts[1], 10) - 1, parseInt(parts[0], 10));\n }\n }\n\n getValidSettings() {\n const schedule = this.state.schedule;\n // ----- from ---\n return <div className={this.props.classes.rowDiv}>\n <div className={this.props.classes.modeDiv} style={{verticalAlign: 'middle'}}>\n <span style={{fontWeight: 'bold', paddingRight: 10}}>{I18n.t('sch_valid')}</span>\n <span>{I18n.t('sch_validFrom')}</span>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <TextField\n variant=\"standard\"\n className={this.props.classes.inputDate}\n style={{marginRight: 10}}\n key=\"exactTimeFrom\"\n inputRef={this.refFrom}\n defaultValue={string2USdate(schedule.valid.from)}\n type=\"date\"\n //inputComponent={TextDate}\n onChange={e => {\n this.timerFrom && clearTimeout(this.timerFrom);\n\n this.refFrom.current.style.background = '#ff000030';\n\n this.timerFrom = setTimeout(value => {\n this.timerFrom = null;\n this.refFrom.current.style.background = '';\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.valid.from = `${padding(date.getDate())}.${padding(date.getMonth() + 1)}.${date.getFullYear()}`;\n this.onChange(_schedule);\n }\n }, 1500, e.target.value);\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n />\n <FormControlLabel\n control={<Checkbox\n className={this.props.classes.inputRadio}\n checked={!!schedule.valid.to}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.valid.to = _schedule.valid.to ? '' : Schedule.now2string(true);\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_validTo')}/>\n {!!schedule.valid.to && <TextField\n variant=\"standard\"\n inputRef={this.refTo}\n className={this.props.classes.inputDate}\n style={{marginRight: 10}}\n key=\"exactTimeFrom\"\n type=\"date\"\n defaultValue={string2USdate(schedule.valid.to)}\n //inputComponent={TextDate}\n onChange={e => {\n this.timerTo && clearTimeout(this.timerTo);\n\n this.refTo.current.style.background = '#ff000030';\n this.timerTo = setTimeout(value => {\n this.timerTo = null;\n this.refTo.current.style.background = '';\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.valid.to = `${padding(date.getDate())}.${padding(date.getMonth() + 1)}.${date.getFullYear()}`;\n this.onChange(_schedule);\n }\n }, 1500, e.target.value);\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n />}\n </div>\n </div>;\n }\n\n render() {\n return <div style={{height: 'calc(100% - 48px)', width: '100%', overflow: 'hidden'}}>\n <div>{this.state.desc}</div>\n <div className={this.props.classes.scrollWindow}>\n <h5>{I18n.t('sch_time')}</h5>\n {this.getTimePeriodElements()}\n {this.getTimeExactElements()}\n {this.getDivider()}\n <h5>{I18n.t('sch_period')}</h5>\n {this.getPeriodModes()}\n {!this.state.schedule.period.once && this.getDivider()}\n {!this.state.schedule.period.once && this.getValidSettings()}\n </div>\n </div>;\n }\n}\n\nSchedule.propTypes = {\n schedule: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default withStyles(styles)(Schedule);\n\n"],"mappings":"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"}