@iobroker/adapter-react-v5 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Components/404.js +155 -0
- package/Components/404.js.map +1 -0
- package/Components/ColorPicker.js +313 -0
- package/Components/ColorPicker.js.map +1 -0
- package/Components/ComplexCron.js +606 -0
- package/Components/ComplexCron.js.map +1 -0
- package/Components/FileBrowser.js +2147 -0
- package/Components/FileBrowser.js.map +1 -0
- package/Components/FileViewer.js +245 -0
- package/Components/FileViewer.js.map +1 -0
- package/Components/Icon.js +234 -0
- package/Components/Icon.js.map +1 -0
- package/Components/IconPicker.js +188 -0
- package/Components/IconPicker.js.map +1 -0
- package/Components/IconSelector.js +337 -0
- package/Components/IconSelector.js.map +1 -0
- package/Components/Image.js +215 -0
- package/Components/Image.js.map +1 -0
- package/Components/Loader.js +134 -0
- package/Components/Loader.js.map +1 -0
- package/Components/Loaders/PT.css +109 -0
- package/Components/Loaders/PT.js +104 -0
- package/Components/Loaders/PT.js.map +1 -0
- package/Components/Loaders/Vendor.css +13 -0
- package/Components/Loaders/Vendor.js +108 -0
- package/Components/Loaders/Vendor.js.map +1 -0
- package/Components/Logo.js +230 -0
- package/Components/Logo.js.map +1 -0
- package/Components/MDUtils.js +141 -0
- package/Components/MDUtils.js.map +1 -0
- package/Components/ObjectBrowser.js +6119 -0
- package/Components/ObjectBrowser.js.map +1 -0
- package/Components/Router.js +152 -0
- package/Components/Router.js.map +1 -0
- package/Components/SaveCloseButtons.js +177 -0
- package/Components/SaveCloseButtons.js.map +1 -0
- package/Components/Schedule.js +1891 -0
- package/Components/Schedule.js.map +1 -0
- package/Components/SelectWithIcon.js +235 -0
- package/Components/SelectWithIcon.js.map +1 -0
- package/Components/SimpleCron/cron2text.js +563 -0
- package/Components/SimpleCron/cron2text.js.map +1 -0
- package/Components/SimpleCron/cronText.js +60 -0
- package/Components/SimpleCron/cronText.js.map +1 -0
- package/Components/SimpleCron/index.js +861 -0
- package/Components/SimpleCron/index.js.map +1 -0
- package/Components/SimpleCron/jquery.cron.locale.js +322 -0
- package/Components/SimpleCron/jquery.cron.locale.js.map +1 -0
- package/Components/TabContainer.js +108 -0
- package/Components/TabContainer.js.map +1 -0
- package/Components/TabContent.js +96 -0
- package/Components/TabContent.js.map +1 -0
- package/Components/TabHeader.js +72 -0
- package/Components/TabHeader.js.map +1 -0
- package/Components/TextWithIcon.js +148 -0
- package/Components/TextWithIcon.js.map +1 -0
- package/Components/ToggleThemeMenu.js +49 -0
- package/Components/ToggleThemeMenu.js.map +1 -0
- package/Components/TreeTable.js +1030 -0
- package/Components/TreeTable.js.map +1 -0
- package/Components/Utils.js +1763 -0
- package/Components/Utils.js.map +1 -0
- package/Components/copy-to-clipboard.js +183 -0
- package/Components/copy-to-clipboard.js.map +1 -0
- package/Components/loader.css +222 -0
- package/Components/types.d.ts +121 -0
- package/Connection.js +3334 -0
- package/Connection.js.map +1 -0
- package/Dialogs/ComplexCron.js +193 -0
- package/Dialogs/ComplexCron.js.map +1 -0
- package/Dialogs/Confirm.js +211 -0
- package/Dialogs/Confirm.js.map +1 -0
- package/Dialogs/Cron.js +254 -0
- package/Dialogs/Cron.js.map +1 -0
- package/Dialogs/Error.js +137 -0
- package/Dialogs/Error.js.map +1 -0
- package/Dialogs/Message.js +118 -0
- package/Dialogs/Message.js.map +1 -0
- package/Dialogs/SelectID.js +313 -0
- package/Dialogs/SelectID.js.map +1 -0
- package/Dialogs/SimpleCron.js +177 -0
- package/Dialogs/SimpleCron.js.map +1 -0
- package/Dialogs/TextInput.js +194 -0
- package/Dialogs/TextInput.js.map +1 -0
- package/GenericApp.js +1022 -0
- package/GenericApp.js.map +1 -0
- package/LICENSE +22 -0
- package/Prompt.js +21 -0
- package/Prompt.js.map +1 -0
- package/README.md +645 -0
- package/Theme.js +422 -0
- package/Theme.js.map +1 -0
- package/assets/devices/Alarm Systems.svg +19 -0
- package/assets/devices/Amplifier.svg +22 -0
- package/assets/devices/Awnings.svg +5 -0
- package/assets/devices/Battery Status.svg +5 -0
- package/assets/devices/Ceiling Spotlights.svg +16 -0
- package/assets/devices/Chandelier.svg +7 -0
- package/assets/devices/Climate.svg +12 -0
- package/assets/devices/Coffee Makers.svg +6 -0
- package/assets/devices/Cold Water.svg +31 -0
- package/assets/devices/Computer.svg +21 -0
- package/assets/devices/Consumption.svg +8 -0
- package/assets/devices/Curtains.svg +43 -0
- package/assets/devices/Dishwashers.svg +12 -0
- package/assets/devices/Doors.svg +6 -0
- package/assets/devices/Doorstep.svg +35 -0
- package/assets/devices/Dryer.svg +14 -0
- package/assets/devices/Fan.svg +20 -0
- package/assets/devices/Floor Lamps.svg +5 -0
- package/assets/devices/Garage Doors.svg +9 -0
- package/assets/devices/Gates.svg +32 -0
- package/assets/devices/Hairdryer.svg +23 -0
- package/assets/devices/Handle.svg +6 -0
- package/assets/devices/Hanging Lamps.svg +9 -0
- package/assets/devices/Heater.svg +44 -0
- package/assets/devices/Hoods.svg +12 -0
- package/assets/devices/Hot Water.svg +10 -0
- package/assets/devices/Humidity.svg +41 -0
- package/assets/devices/Iron.svg +5 -0
- package/assets/devices/Irrigation.svg +42 -0
- package/assets/devices/Led Strip.svg +31 -0
- package/assets/devices/Light.svg +30 -0
- package/assets/devices/Lightings.svg +46 -0
- package/assets/devices/Lock.svg +19 -0
- package/assets/devices/Louvre.svg +7 -0
- package/assets/devices/Mowing Machine.svg +9 -0
- package/assets/devices/Music.svg +13 -0
- package/assets/devices/Outdoor Blinds.svg +7 -0
- package/assets/devices/People.svg +19 -0
- package/assets/devices/Pool.svg +8 -0
- package/assets/devices/Power Consumption.svg +13 -0
- package/assets/devices/Printer.svg +10 -0
- package/assets/devices/Pump.svg +10 -0
- package/assets/devices/Receiver.svg +19 -0
- package/assets/devices/Sconces.svg +10 -0
- package/assets/devices/Security.svg +34 -0
- package/assets/devices/Shading.svg +5 -0
- package/assets/devices/Shutters.svg +11 -0
- package/assets/devices/SmokeDetector.svg +13 -0
- package/assets/devices/Sockets.svg +13 -0
- package/assets/devices/Speaker.svg +35 -0
- package/assets/devices/Stove.svg +12 -0
- package/assets/devices/Table Lamps.svg +12 -0
- package/assets/devices/Temperature Sensors.svg +28 -0
- package/assets/devices/Tv.svg +8 -0
- package/assets/devices/Vacuum Cleaner.svg +16 -0
- package/assets/devices/Ventilation.svg +12 -0
- package/assets/devices/Washing Machines.svg +16 -0
- package/assets/devices/Water Consumption.svg +6 -0
- package/assets/devices/Water Heater.svg +8 -0
- package/assets/devices/Water.svg +40 -0
- package/assets/devices/Weather.svg +28 -0
- package/assets/devices/Window.svg +8 -0
- package/assets/devices/list.json +994 -0
- package/assets/devices/names.txt +63 -0
- package/assets/devices/parseNames.js +34 -0
- package/assets/lamp_ceiling.svg +9 -0
- package/assets/lamp_table.svg +8 -0
- package/assets/no_icon.svg +9 -0
- package/assets/rooms/Anteroom.svg +53 -0
- package/assets/rooms/Attic.svg +21 -0
- package/assets/rooms/Balcony.svg +13 -0
- package/assets/rooms/Barn.svg +6 -0
- package/assets/rooms/Basement.svg +5 -0
- package/assets/rooms/Bathroom.svg +38 -0
- package/assets/rooms/Bedroom.svg +5 -0
- package/assets/rooms/Boiler Room.svg +13 -0
- package/assets/rooms/Carport.svg +17 -0
- package/assets/rooms/Cellar.svg +89 -0
- package/assets/rooms/Chamber.svg +9 -0
- package/assets/rooms/Corridor.svg +53 -0
- package/assets/rooms/Dining Area.svg +37 -0
- package/assets/rooms/Dining Room.svg +37 -0
- package/assets/rooms/Dining.svg +37 -0
- package/assets/rooms/Dressing Room.svg +5 -0
- package/assets/rooms/Driveway.svg +15 -0
- package/assets/rooms/Entrance.svg +44 -0
- package/assets/rooms/Equipment Room.svg +15 -0
- package/assets/rooms/Front Yard.svg +64 -0
- package/assets/rooms/Gallery.svg +14 -0
- package/assets/rooms/Garage.svg +20 -0
- package/assets/rooms/Garden.svg +13 -0
- package/assets/rooms/Ground Floor.svg +95 -0
- package/assets/rooms/Guest Bathroom.svg +33 -0
- package/assets/rooms/Guest Room.svg +5 -0
- package/assets/rooms/Gym.svg +5 -0
- package/assets/rooms/Hall.svg +19 -0
- package/assets/rooms/Home Theater.svg +8 -0
- package/assets/rooms/Kitchen.svg +18 -0
- package/assets/rooms/Laundry Room.svg +12 -0
- package/assets/rooms/Living Area.svg +11 -0
- package/assets/rooms/Living Room.svg +10 -0
- package/assets/rooms/Locker Room.svg +17 -0
- package/assets/rooms/Nursery.svg +5 -0
- package/assets/rooms/Office.svg +8 -0
- package/assets/rooms/Outdoors.svg +7 -0
- package/assets/rooms/Playroom.svg +6 -0
- package/assets/rooms/Pool.svg +8 -0
- package/assets/rooms/Rear Wall.svg +30 -0
- package/assets/rooms/Second Floor.svg +95 -0
- package/assets/rooms/Shed.svg +16 -0
- package/assets/rooms/Sleeping Area.svg +22 -0
- package/assets/rooms/Stairway.svg +5 -0
- package/assets/rooms/Stairwell.svg +15 -0
- package/assets/rooms/Storeroom.svg +5 -0
- package/assets/rooms/Summer House.svg +27 -0
- package/assets/rooms/Swimming Pool.svg +21 -0
- package/assets/rooms/Terrace.svg +7 -0
- package/assets/rooms/Toilet.svg +10 -0
- package/assets/rooms/Upstairs.svg +6 -0
- package/assets/rooms/Wardrobe.svg +60 -0
- package/assets/rooms/Washroom.svg +20 -0
- package/assets/rooms/Wc.svg +10 -0
- package/assets/rooms/Windscreen.svg +60 -0
- package/assets/rooms/Workshop.svg +23 -0
- package/assets/rooms/Workspace.svg +8 -0
- package/assets/rooms/list.json +946 -0
- package/assets/rooms/names.txt +60 -0
- package/assets/rooms/parseNames.js +34 -0
- package/gulpfile.js +113 -0
- package/i18n/de.json +280 -0
- package/i18n/en.json +280 -0
- package/i18n/es.json +267 -0
- package/i18n/fr.json +267 -0
- package/i18n/it.json +267 -0
- package/i18n/nl.json +267 -0
- package/i18n/pl.json +267 -0
- package/i18n/pt.json +267 -0
- package/i18n/ru.json +280 -0
- package/i18n/zh-cn.json +267 -0
- package/i18n.js +171 -0
- package/i18n.js.map +1 -0
- package/icons/IconAdapter.js +39 -0
- package/icons/IconAdapter.js.map +1 -0
- package/icons/IconAlias.js +39 -0
- package/icons/IconAlias.js.map +1 -0
- package/icons/IconChannel.js +80 -0
- package/icons/IconChannel.js.map +1 -0
- package/icons/IconClearFilter.js +41 -0
- package/icons/IconClearFilter.js.map +1 -0
- package/icons/IconClosed.js +39 -0
- package/icons/IconClosed.js.map +1 -0
- package/icons/IconCopy.js +48 -0
- package/icons/IconCopy.js.map +1 -0
- package/icons/IconDevice.js +147 -0
- package/icons/IconDevice.js.map +1 -0
- package/icons/IconDocument.js +39 -0
- package/icons/IconDocument.js.map +1 -0
- package/icons/IconExpert.js +50 -0
- package/icons/IconExpert.js.map +1 -0
- package/icons/IconFx.js +39 -0
- package/icons/IconFx.js.map +1 -0
- package/icons/IconInstance.js +39 -0
- package/icons/IconInstance.js.map +1 -0
- package/icons/IconLogout.js +50 -0
- package/icons/IconLogout.js.map +1 -0
- package/icons/IconOpen.js +39 -0
- package/icons/IconOpen.js.map +1 -0
- package/icons/IconState.js +58 -0
- package/icons/IconState.js.map +1 -0
- package/index.css +55 -0
- package/package.json +42 -0
- package/types.d.ts +84 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["Schedule.js"],"names":["styles","theme","hr","border","borderTop","scrollWindow","width","overflow","height","rowDiv","modeDiv","display","verticalAlign","settingsDiv","inputTime","marginTop","marginLeft","inputDate","inputEvery","marginRight","inputRadio","padding","inputGroup","maxWidth","inputGroupElement","inputDateDay","inputDateDayCheck","inputSmallCheck","rowOnce","rowDays","background","palette","mode","rowDows","rowDates","rowWeeks","rowMonths","rowMonthsDates","rowYears","rowDaysDows","paddingLeft","paddingBottom","rowDowsDows","WEEKDAYS","MONTHS","PERIODS","ASTRO","num","TextTime","props","inputRef","other","placeholder","propTypes","PropTypes","func","isRequired","TextDate","DEFAULT","time","exactTime","start","end","interval","period","once","days","dows","dates","weeks","months","years","yearMonth","yearDate","valid","from","to","string2USdate","date","parts","split","length","Schedule","schedule","JSON","parse","e","Object","keys","onChange","setTimeout","state","assign","now2string","refFrom","React","createRef","refTo","refOnce","desc","state2text","stringify","force","isDiff","setState","copy","string2date","today","Date","setHours","setMinutes","setSeconds","setMilliseconds","wholeDay","day","night","fromTo","classes","_schedule","I18n","t","target","value","shrink","getPeriodSettingsMinutes","isAstro","indexOf","map","event","isOnce","timerOnce","clearTimeout","current","style","toString","getDate","getMonth","getFullYear","getPeriodSettingsDaily","getPeriodSettingsWeekdays","getPeriodSettingsWeekly","getPeriodSettingsMonthly","i","push","getPeriodSettingsDates","getPeriodSettingsYearly","parseInt","month","minutes","hours","isSpecific","includes","checked","splice","sort","a","b","paddingRight","parsedDates","result","opacity","cursor","userSelect","pointerEvents","parsedMonths","fontWeight","timerFrom","timerTo","getTimePeriodElements","getTimeExactElements","getDivider","getPeriodModes","getValidSettings","validFrom","now","tDows","last","pop","join","tMonths","getTime","isEnd","d","setDate","getMilliseconds","str","Component","string","language"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport Input from '@mui/material/Input';\nimport Radio from '@mui/material/Radio';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport FormGroup from '@mui/material/FormGroup';\nimport Checkbox from '@mui/material/Checkbox';\nimport MaskedInput from 'react-text-mask';\nimport MenuItem from '@mui/material/MenuItem';\nimport Select from '@mui/material/Select';\nimport TextField from '@mui/material/TextField';\n\nimport I18n from '../i18n';\n\nconst styles = theme => ({\n hr: {\n border: 0,\n borderTop: '1px solid gray'\n },\n scrollWindow: {\n width: '100%',\n overflow: 'auto',\n height: 'calc(100% - 22px)'\n },\n rowDiv: {\n width: '100%',\n },\n modeDiv: {\n width: 200,\n display: 'inline-block',\n verticalAlign: 'top'\n },\n settingsDiv: {\n display: 'inline-block',\n verticalAlign: 'top'\n },\n inputTime: {\n width: 90,\n marginTop: 0,\n marginLeft: 5\n },\n inputDate: {\n width: 140,\n marginTop: 0,\n marginLeft: 5\n },\n inputEvery: {\n width: 40,\n marginLeft: 5,\n marginRight: 5,\n },\n inputRadio: {\n padding: '4px 12px',\n verticalAlign: 'top'\n },\n inputGroup: {\n maxWidth: 400,\n display: 'inline-block'\n },\n inputGroupElement: {\n width: 120,\n },\n inputDateDay: {\n width: 60,\n },\n inputDateDayCheck: {\n padding: 4,\n },\n inputSmallCheck: {\n padding: 0,\n },\n rowOnce: {},\n\n rowDays: {\n background: theme.palette.mode !== 'dark' ? '#ddeaff' : '#4b5057'\n },\n rowDows: {\n background: theme.palette.mode !== 'dark' ? '#DDFFDD' : '#52646c'\n },\n rowDates: {\n background: theme.palette.mode !== 'dark' ? '#DDDDFF' : '#747a86'\n },\n rowWeeks: {\n background: theme.palette.mode !== 'dark' ? '#DDDDFF' : '#717680'\n },\n rowMonths: {\n background: theme.palette.mode !== 'dark' ? '#DDFFFF' : '#1f5557'\n },\n rowMonthsDates: {\n background: theme.palette.mode !== 'dark' ? '#EEFFFF' : '#3c5737',\n maxWidth: 600\n },\n rowYears: {\n background: theme.palette.mode !== 'dark' ? '#fbffdd' : '#574b33'\n },\n rowDaysDows: {\n background: theme.palette.mode !== 'dark' ? '#EEEAFF' : '#573544',\n paddingLeft: 10,\n paddingBottom: 10\n },\n rowDowsDows: {\n background: theme.palette.mode !== 'dark' ? '#EEFFEE' : '#3d4c54',\n paddingLeft: 10,\n paddingBottom: 10\n }\n});\n\nconst WEEKDAYS = [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n 'Sunday',\n];\nconst MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December'\n];\nconst PERIODS = {\n 'minutes': 'minutes',\n 'hours': 'hours',\n};\nconst ASTRO = [\n 'sunrise',\n 'sunriseEnd',\n 'goldenHourEnd',\n 'solarNoon',\n 'goldenHour',\n 'sunsetStart',\n 'sunset',\n 'dusk',\n 'nauticalDusk',\n 'night',\n 'nightEnd',\n 'nauticalDawn',\n 'dawn',\n 'nadir',\n];\n\nfunction padding(num) {\n if (num < 10) {\n return '0' + num;\n } else {\n return '' + num;\n }\n}\n\nfunction TextTime(props) {\n const {inputRef, ...other} = props;\n\n return (\n <MaskedInput\n {...other}\n ref={inputRef}\n mask={[/[0-2]/, /[0-9]/, ':', /[0-5]/, /[0-9]/]}\n placeholderChar={props.placeholder || '00:00'}\n showMask\n />\n );\n}\n\nTextTime.propTypes = {\n inputRef: PropTypes.func.isRequired,\n};\n\nfunction TextDate(props) {\n const {inputRef, ...other} = props;\n\n return (\n <MaskedInput\n {...other}\n ref={inputRef}\n mask={[/[0-3]/, /[0-9]/, '.', /[0-1]/, /[0-9]/, '.', '2', '0', /[0-9]/, /[0-9]/]}\n placeholderChar={props.placeholder || '01.01.2020'}\n showMask\n />\n );\n}\n\nTextDate.propTypes = {\n inputRef: PropTypes.func.isRequired,\n};\n\nconst DEFAULT = {\n time: {\n exactTime: false,\n\n start: '00:00',\n end: '23:59',\n\n mode: 'hours',\n interval: 1,\n },\n period: {\n once: '',\n days: 1,\n dows: '',\n dates: '',\n weeks: 0,\n months: '',\n\n years: 0,\n yearMonth: 0,\n yearDate: 0,\n },\n valid: {\n from: '',\n to: ''\n }\n};\n\nfunction string2USdate(date) {\n const parts = date.split('.');\n if (parts.length === 3) {\n return parts[2] + '-' + parts[1] + '-' + parts[0];\n }\n\n}\n\nclass Schedule extends React.Component {\n constructor(props) {\n super(props);\n let schedule;\n if (this.props.schedule && typeof this.props.schedule === 'string' && this.props.schedule[0] === '{') {\n try {\n schedule = JSON.parse(this.props.schedule);\n } catch (e) {\n\n }\n }\n\n if ((!schedule || !Object.keys(schedule).length) && this.props.onChange) {\n setTimeout(() => this.onChange(this.state.schedule, true), 200);\n }\n schedule = schedule || {};\n schedule = Object.assign({}, DEFAULT, schedule);\n schedule.valid.from = schedule.valid.from || Schedule.now2string();\n\n this.refFrom = React.createRef();\n this.refTo = React.createRef();\n this.refOnce = React.createRef();\n\n this.state = {\n schedule,\n desc: Schedule.state2text(schedule)\n };\n\n if (JSON.stringify(schedule) !== this.props.schedule) {\n setTimeout(() =>\n this.props.onChange && this.props.onChange(JSON.stringify(schedule)), 100);\n }\n }\n\n onChange(schedule, force) {\n const isDiff = JSON.stringify(schedule) !== JSON.stringify(this.state.schedule);\n if (force || isDiff) {\n isDiff && this.setState({schedule, desc: Schedule.state2text(schedule)});\n const copy = JSON.parse(JSON.stringify(schedule));\n if (copy.period.once) {\n let once = copy.period.once;\n delete copy.period;\n copy.period = {once};\n delete copy.valid;\n } else if (copy.period.days) {\n let days = copy.period.days;\n let dows = copy.period.dows;\n delete copy.period;\n copy.period = {days};\n if (dows && dows !== '[]') {\n copy.period.dows = dows;\n }\n } else if (copy.period.weeks) {\n let weeks = copy.period.weeks;\n let dows = copy.period.dows;\n delete copy.period;\n copy.period = {weeks};\n if (dows && dows !== '[]') {\n copy.period.dows = dows;\n }\n } else if (copy.period.months) {\n let months = copy.period.months;\n let dates = copy.period.dates;\n delete copy.period;\n copy.period = {months};\n if (dates && dates !== '[]') {\n copy.period.dates = dates;\n }\n } else if (copy.period.years) {\n let years = copy.period.years;\n let yearMonth = copy.period.yearMonth;\n let yearDate = copy.period.yearDate;\n delete copy.period;\n copy.period = {years, yearDate};\n if (yearMonth) {\n copy.period.yearMonth = yearMonth;\n }\n }\n\n if (copy.time.exactTime) {\n delete copy.time.end;\n delete copy.time.mode;\n delete copy.time.interval;\n } else {\n delete copy.time.exactTime;\n }\n if (copy.valid) {\n if (!copy.valid.to) {\n delete copy.valid.to;\n }\n if (copy.period.days === 1 || copy.period.weeks === 1 || copy.period.months === 1 || copy.period.years === 1) {\n const from = Schedule.string2date(copy.valid.from);\n const today = new Date();\n today.setHours(0);\n today.setMinutes(0);\n today.setSeconds(0);\n today.setMilliseconds(0);\n if (from <= today) {\n delete copy.valid.from;\n }\n }\n if (!copy.valid.from && !copy.valid.to) {\n delete copy.valid;\n }\n }\n\n this.props.onChange && this.props.onChange(JSON.stringify(copy), Schedule.state2text(schedule));\n }\n }\n\n static state2text(schedule) {\n if (typeof schedule === 'string') {\n try {\n schedule = JSON.parse(schedule);\n } catch (e) {\n schedule = {};\n }\n }\n\n let desc = [];\n let validFrom = Schedule.string2date(schedule.valid.from);\n if (schedule.period.once) {\n // once\n let once = Schedule.string2date(schedule.period.once);\n let now = new Date();\n now.setMilliseconds(0);\n now.setSeconds(0);\n now.setMinutes(0);\n now.setHours(0);\n\n //\n if (once < now) {\n // will ne be not executed any more, because start is in the past\n return I18n.t('sch_desc_onceInPast');\n } else {\n // only once\n desc.push(I18n.t('sch_desc_once_on', schedule.period.once));\n }\n } else if (schedule.period.days) {\n if (schedule.period.days === 1) {\n if (schedule.period.dows) {\n const dows = JSON.parse(schedule.period.dows);\n if (dows.length === 2 && dows[0] === 0 && dows[1] === 6) {\n // on weekends\n desc.push(I18n.t('sch_desc_onWeekends'));\n } else if (dows.length === 5 && dows[0] === 1 && dows[1] === 2 && dows[2] === 3 && dows[3] === 4 && dows[4] === 5) {\n // on workdays\n desc.push(I18n.t('sch_desc_onWorkdays'));\n } else {\n const tDows = dows.map(day => I18n.t(WEEKDAYS[day]));\n if (tDows.length === 1) {\n // on Monday\n desc.push(I18n.t('sch_desc_onWeekday', tDows[0]));\n } else if (tDows.length === 7) {\n // on every day\n desc.push(I18n.t('sch_desc_everyDay'));\n } else {\n const last = tDows.pop();\n // on Monday and Sunday\n desc.push(I18n.t('sch_desc_onWeekdays', tDows.join(', '), last));\n }\n }\n } else {\n desc.push(I18n.t('sch_desc_everyDay'));\n }\n } else {\n desc.push(I18n.t('sch_desc_everyNDay', schedule.period.days));\n }\n } else if (schedule.period.weeks) {\n if (schedule.period.weeks === 1) {\n desc.push(I18n.t('sch_desc_everyWeek'));\n } else {\n desc.push(I18n.t('sch_desc_everyNWeeks', schedule.period.weeks));\n }\n\n if (schedule.period.dows) {\n const dows = JSON.parse(schedule.period.dows);\n if (dows.length === 2 && dows[0] === 0 && dows[1] === 6) {\n // on weekends\n desc.push(I18n.t('sch_desc_onWeekends'));\n } else if (dows.length === 5 && dows[0] === 1 && dows[1] === 2 && dows[2] === 3 && dows[3] === 4 && dows[4] === 5) {\n // on workdays\n desc.push(I18n.t('sch_desc_onWorkdays'));\n } else {\n const tDows = dows.map(day => I18n.t(WEEKDAYS[day]));\n if (tDows.length === 1) {\n // on Monday\n desc.push(I18n.t('sch_desc_onWeekday', tDows[0]));\n } else if (tDows.length === 7) {\n // on every day\n desc.push(I18n.t('sch_desc_everyDay'));\n } else {\n const last = tDows.pop();\n // on Monday and Sunday\n desc.push(I18n.t('sch_desc_onWeekdays', tDows.join(', '), last));\n }\n }\n } else {\n return I18n.t('sch_desc_never');\n }\n } else if (schedule.period.months) {\n if (schedule.period.dates) {\n const dates = JSON.parse(schedule.period.dates);\n if (dates.length === 1) {\n // in 1 of month\n desc.push(I18n.t('sch_desc_onDate', dates[0]));\n } else if (dates.length === 31) {\n desc.push(I18n.t('sch_desc_onEveryDate'));\n } else if (!dates.length) {\n return I18n.t('sch_desc_never');\n } else {\n const last = dates.pop();\n // in 1 and 4 of month\n desc.push(I18n.t('sch_desc_onDates', dates.join(', '), last));\n }\n } else {\n desc.push(I18n.t('sch_desc_onEveryDate'));\n }\n\n if (schedule.period.months === 1) {\n desc.push(I18n.t('sch_desc_everyMonth'));\n } else if (typeof schedule.period.months === 'number') {\n desc.push(I18n.t('sch_desc_everyNMonths', schedule.period.months));\n } else {\n const months = JSON.parse(schedule.period.months);\n const tMonths = months.map(month => I18n.t(MONTHS[month - 1]));\n if (!tMonths.length) {\n // in January\n return I18n.t('sch_desc_never');\n } else if (tMonths.length === 1) {\n // in January\n desc.push(I18n.t('sch_desc_onMonth', tMonths[0]));\n } else if (tMonths.length === 12) {\n // every month\n desc.push(I18n.t('sch_desc_everyMonth'));\n } else {\n const last = tMonths.pop();\n // in January and May\n desc.push(I18n.t('sch_desc_onMonths', tMonths.join(', '), last));\n }\n }\n } else if (schedule.period.years) {\n if (schedule.period.years === 1) {\n desc.push(I18n.t('sch_desc_everyYear'));\n } else {\n desc.push(I18n.t('sch_desc_everyNYears', schedule.period.years));\n }\n desc.push(I18n.t('sch_desc_onDate', schedule.period.yearDate, schedule.period.yearMonth ? I18n.t(MONTHS[schedule.period.yearMonth - 1]) : I18n.t('sch_desc_everyMonth')));\n }\n\n // time\n if (schedule.time.exactTime) {\n if (ASTRO.indexOf(schedule.time.start) !== -1) {\n // at sunset\n desc.push(I18n.t('sch_desc_atTime', I18n.t('sch_astro_' + schedule.time.start)));\n } else {\n // at HH:MM\n desc.push(I18n.t('sch_desc_atTime', schedule.time.start));\n }\n } else {\n if (schedule.time.mode === PERIODS.minutes) {\n if (schedule.time.interval === 1) {\n // every minute\n desc.push(I18n.t('sch_desc_everyMinute'));\n } else {\n // every N minutes\n desc.push(I18n.t('sch_desc_everyNMinutes', schedule.time.interval));\n }\n } else {\n if (schedule.time.interval === 1) {\n // every minute\n desc.push(I18n.t('sch_desc_everyHour'));\n } else {\n // every N minutes\n desc.push(I18n.t('sch_desc_everyNHours', schedule.time.interval));\n }\n }\n const start = ASTRO.indexOf(schedule.time.start) !== -1 ? I18n.t('sch_astro_' + schedule.time.start) : schedule.time.start;\n const end = ASTRO.indexOf(schedule.time.end) !== -1 ? I18n.t('sch_astro_' + schedule.time.end) : schedule.time.end;\n if (start !== '00:00' || (end !== '24:00' && end !== '23:59')) {\n // from HH:mm to HH:mm\n desc.push(I18n.t('sch_desc_intervalFromTo', start, end));\n }\n }\n\n if (!schedule.period.once) {\n // valid\n if (validFrom.getTime() > Date.now() && schedule.valid.to) {\n // from XXX to XXXX\n desc.push(I18n.t('sch_desc_validFromTo', schedule.valid.from, schedule.valid.to));\n } else if (validFrom.getTime() > Date.now()) {\n // from XXXX\n desc.push(I18n.t('sch_desc_validFrom', schedule.valid.from));\n } else if (schedule.valid.to) {\n // till XXXX\n desc.push(I18n.t('sch_desc_validTo', schedule.valid.to));\n }\n }\n return desc.join(' ');\n }\n\n getTimePeriodElements() {\n const schedule = this.state.schedule;\n let wholeDay = false;\n let day = false;\n let night = false;\n let fromTo = true;\n if (schedule.time.start === '00:00' && schedule.time.end === '24:00') {\n wholeDay = true;\n fromTo = false;\n } else if (schedule.time.start === 'sunrise') {\n day = true;\n fromTo = false;\n } else if (schedule.time.start === 'sunset') {\n night = true;\n fromTo = false;\n }\n\n return <div key=\"timePeriod\" className={this.props.classes.rowDiv}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!schedule.time.exactTime}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.exactTime = false;\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_intervalTime')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <div className={this.props.classes.settingsDiv}>\n {!schedule.time.exactTime && <div>\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!fromTo}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = '00:00';\n _schedule.time.end = '23:59';\n this.onChange(_schedule);\n }}/>}\n label={!fromTo ? I18n.t('sch_fromTo') : ''}/>\n {fromTo && [\n <TextField\n variant=\"standard\" \n className={this.props.classes.inputTime}\n style={{marginRight: 10}}\n key=\"exactTimeFrom\"\n type=\"time\"\n value={this.state.schedule.time.start}\n //InputProps={{inputComponent: TextTime}}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n InputLabelProps={{shrink: true,}}\n label={I18n.t('sch_from')}\n margin=\"normal\"\n />,\n <TextField\n variant=\"standard\" \n className={this.props.classes.inputTime}\n key=\"exactTimeTo\"\n type=\"time\"\n value={this.state.schedule.time.end}\n //InputProps={{inputComponent: TextTime}}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.end = e.target.value;\n this.onChange(_schedule);\n }}\n InputLabelProps={{shrink: true,}}\n label={I18n.t('sch_to')}\n margin=\"normal\"\n />\n ]}\n </div>\n </div>}\n\n {!schedule.time.exactTime && <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!wholeDay}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = '00:00';\n _schedule.time.end = '24:00';\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_wholeDay')}/></div>}\n\n {!schedule.time.exactTime && <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!day}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = 'sunrise';\n _schedule.time.end = 'sunset';\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_astroDay')}/></div>}\n\n {!schedule.time.exactTime && <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!night} onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = 'sunset';\n _schedule.time.end = 'sunrise';\n this.onChange(_schedule);\n }}/>} label={I18n.t('sch_astroNight')}/></div>}\n </div>\n {!schedule.time.exactTime && this.getPeriodSettingsMinutes()}\n </div>\n </div>;\n }\n\n getTimeExactElements() {\n const isAstro = ASTRO.indexOf(this.state.schedule.time.start) !== -1;\n\n return <div key=\"timeExact\" className={this.props.classes.rowDiv}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!this.state.schedule.time.exactTime}\n onClick={() => {\n const schedule = JSON.parse(JSON.stringify(this.state.schedule));\n schedule.time.exactTime = true;\n this.onChange(schedule);\n }}/>} label={I18n.t('sch_exactTime')}/>\n </div>\n {this.state.schedule.time.exactTime && <Select\n variant=\"standard\"\n value={isAstro ? this.state.schedule.time.start : '00:00'}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n >\n <MenuItem key=\"specific\" value={'00:00'}>{I18n.t('sch_specificTime')}</MenuItem>\n {ASTRO.map(event => <MenuItem key={event} value={event}>{I18n.t('sch_astro_' + event)}</MenuItem>)}\n </Select>\n }\n {this.state.schedule.time.exactTime && !isAstro &&\n <div className={this.props.classes.settingsDiv}><TextField\n variant=\"standard\" \n className={this.props.classes.inputTime}\n key=\"exactTimeValue\"\n value={this.state.schedule.time.start}\n type=\"time\"\n // inputComponent={TextTime}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n /></div>\n }\n </div>;\n }\n\n getDivider() {\n return <hr className={this.props.classes.hr}/>;\n }\n\n getPeriodModes() {\n const schedule = this.state.schedule;\n const isOnce = !schedule.period.dows && !schedule.period.months && !schedule.period.dates && !schedule.period.years && !schedule.period.days && !schedule.period.weeks;\n if (isOnce && !schedule.period.once) {\n schedule.period.once = Schedule.now2string(true);\n }\n\n return [\n // ----- once ---\n <div key=\"once\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowOnce}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!isOnce}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.once = _schedule.period.once || Schedule.now2string(true);\n _schedule.period.dows = '';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodOnce')}/>\n </div>\n {isOnce && <div className={this.props.classes.settingsDiv}>\n {<TextField\n variant=\"standard\" \n className={this.props.classes.inputDate}\n type=\"date\"\n ref={this.refOnce}\n key=\"exactDateAt\"\n defaultValue={string2USdate(schedule.period.once)}\n //InputProps={{inputComponent: TextTime}}\n onChange={e => {\n this.timerOnce && clearTimeout(this.timerOnce);\n\n this.refOnce.current.style.background = '#ff000030';\n this.timerOnce = setTimeout(value => {\n this.timerOnce = null;\n this.refOnce.current.style.background = '';\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.period.once = padding(date.getDate()) + '.' + padding(date.getMonth() + 1) + '.' + date.getFullYear();\n this.onChange(_schedule);\n }\n }, 1500, e.target.value);\n }}\n InputLabelProps={{shrink: true,}}\n label={I18n.t('sch_at')}\n margin=\"normal\"\n />}\n </div>}\n </div>,\n\n\n // ----- days ---\n <div key=\"days\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowDays}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.days}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 1;\n _schedule.period.dows = '';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodDaily')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n {this.getPeriodSettingsDaily()}\n {schedule.period.days ? this.getPeriodSettingsWeekdays() : null}\n </div>\n </div>,\n\n\n // ----- days of weeks ---\n /*!schedule.period.days && (\n <div key=\"dows\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowDows}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel control={<Radio className={this.props.classes.inputRadio} checked={!!schedule.period.dows} onClick={() => {\n const schedule = JSON.parse(JSON.stringify(this.state.schedule));\n schedule.period.dows = schedule.period.dows ? '' : '[0,1,2,3,4,5,6]';\n this.onChange(schedule);\n }}/>}\n label={I18n.t('sch_periodWeekdays')} />\n </div>\n <div className={this.props.classes.settingsDiv}>\n {this.getPeriodSettingsWeekdays()}\n </div>\n </div>,\n*/\n // ----- weeks ---\n <div key=\"weeks\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowDows}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.weeks}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = schedule.period.weeks ? 0 : 1;\n _schedule.period.dows = schedule.period.dows || '[0]';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWeekly')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <div className={this.props.classes.settingsDiv}>{this.getPeriodSettingsWeekly()}</div>\n <div\n className={this.props.classes.settingsDiv + ' ' + this.props.classes.rowDowsDows}>{this.state.schedule.period.weeks ? this.getPeriodSettingsWeekdays() : null}</div>\n </div>\n </div>,\n\n\n // ----- months ---\n <div key=\"months\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowMonths}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.months}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 1;\n _schedule.period.dows = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodMonthly')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n {this.getPeriodSettingsMonthly()}\n {schedule.period.months ? <div>\n <div className={this.props.classes.settingsDiv + ' ' + this.props.classes.rowMonthsDates}>\n <FormControlLabel\n control={<Checkbox\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.dates}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = _schedule.period.months || 1;\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n _schedule.period.dates = _schedule.period.dates || JSON.stringify(dates);\n _schedule.period.dows = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodDates')}/></div>\n <div className={this.props.classes.settingsDiv + ' ' + this.props.classes.rowMonthsDates}>\n {this.getPeriodSettingsDates()}\n </div>\n </div> : null}\n </div>\n </div>,\n\n\n // ----- years ---\n <div key=\"years\" className={this.props.classes.rowDiv + ' ' + this.props.classes.rowYears}>\n <div className={this.props.classes.modeDiv}>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!schedule.period.years}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 1;\n _schedule.period.yearDate = 1;\n _schedule.period.yearMonth = 1;\n _schedule.period.dows = '';\n _schedule.period.months = 0;\n _schedule.period.dates = '';\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodYearly')}/>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <div className={this.props.classes.settingsDiv}>{this.getPeriodSettingsYearly()}</div>\n {!!schedule.period.years && <div className={this.props.classes.settingsDiv}>\n <span>{I18n.t('sch_on')}</span>\n <Input\n key=\"input\"\n value={this.state.schedule.period.yearDate}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"1\"\n max=\"31\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.yearDate = parseInt(e.target.value, 10);\n if (_schedule.period.yearDate < 1) _schedule.period.yearDate = 31;\n if (_schedule.period.yearDate > 31) _schedule.period.yearDate = 1;\n this.onChange(_schedule);\n }}/>\n <Select\n variant=\"standard\"\n value={schedule.period.yearMonth}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.yearMonth = e.target.value;\n this.onChange(_schedule);\n }}\n >\n <MenuItem key=\"every\" value={0}>{I18n.t('sch_yearEveryMonth')}</MenuItem>\n {MONTHS.map((month, i) => <MenuItem key={month} value={i + 1}>{I18n.t(month)}</MenuItem>)}\n </Select>\n </div>}\n </div>\n </div>,\n ];\n }\n\n getPeriodSettingsMinutes() {\n return <div style={{display: 'inline-block'}}>\n <label>{I18n.t('sch_every')}</label>\n <Input\n value={this.state.schedule.time.interval}\n style={{verticalAlign: 'bottom'}}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"1\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.interval = parseInt(e.target.value, 10);\n this.onChange(_schedule);\n }}/>\n <Select\n variant=\"standard\"\n value={this.state.schedule.time.mode}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.mode = e.target.value;\n this.onChange(_schedule);\n }}\n >\n <MenuItem value={PERIODS.minutes}>{I18n.t('sch_periodMinutes')}</MenuItem>\n <MenuItem value={PERIODS.hours}>{I18n.t('sch_periodHours')}</MenuItem>\n </Select>\n </div>;\n }\n\n getPeriodSettingsWeekdays() {\n // || this.state.schedule.period.dows === '[1, 2, 3, 4, 5]' || this.state.schedule.period.dows === '[0, 6]'\n const schedule = this.state.schedule;\n const isSpecific = schedule.period.dows && schedule.period.dows !== '[1, 2, 3, 4, 5]' && schedule.period.dows !== '[0, 6]';\n return [\n <div key=\"workdays\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.dows === '[1, 2, 3, 4, 5]'}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[1, 2, 3, 4, 5]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWorkdays')}/></div>,\n\n <div key=\"weekend\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.dows === '[0, 6]'}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[0, 6]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWeekend')}/></div>,\n\n <div\n key=\"specific\"\n style={{verticalAlign: 'top'}}\n ><FormControlLabel\n style={{verticalAlign: 'top'}}\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={!!isSpecific}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[0,1,2,3,4,5,6]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodWeekdays')}/>\n {isSpecific && (schedule.period.days === 1 || schedule.period.weeks) &&\n <FormGroup row className={this.props.classes.inputGroup} style={{width: 150}}>\n {[1, 2, 3, 4, 5, 6, 0].map(i =>\n <FormControlLabel\n key={'specific_' + i}\n className={this.props.classes.inputGroupElement}\n control={\n <Checkbox\n className={this.props.classes.inputSmallCheck}\n checked={schedule.period.dows.includes('' + i)}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let dows;\n try {\n dows = JSON.parse(_schedule.period.dows);\n } catch (e) {\n dows = [];\n }\n if (e.target.checked && !dows.includes(i)) {\n dows.push(i);\n } else if (!e.target.checked && dows.includes(i)) {\n dows.splice(dows.indexOf(i), 1);\n }\n dows.sort((a, b) => a - b);\n _schedule.period.dows = JSON.stringify(dows);\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t(WEEKDAYS[i])}\n />)}\n </FormGroup>}\n </div>,\n ];\n }\n\n getPeriodSettingsDaily() {\n if (!this.state.schedule.period.days) {\n return;\n }\n const schedule = this.state.schedule;\n return [\n <div key=\"every_day\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.days === 1 && !schedule.period.dows}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 1;\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodEveryDay')}/></div>,\n <div key=\"everyN_day\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.days > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 2;\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_periodEvery')}/>\n {schedule.period.days > 1 && [<Input\n key=\"input\"\n value={this.state.schedule.period.days}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = parseInt(e.target.value, 10);\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}/>,\n <span key=\"span\" style={{paddingRight: 10}}>{I18n.t('sch_periodDay')}</span>]}\n </div>,\n ];\n }\n\n getPeriodSettingsWeekly() {\n if (!this.state.schedule.period.weeks) {\n return;\n }\n const schedule = this.state.schedule;\n return [\n <div key=\"radios\" style={{display: 'inline-block', verticalAlign: 'top'}}>\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.weeks === 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = 1;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEveryWeek')}/></div>\n <div>\n <FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.weeks > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = 2;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEvery')}/>\n {schedule.period.weeks > 1 && [<Input\n value={this.state.schedule.period.weeks}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = parseInt(e.target.value, 10);\n this.onChange(_schedule);\n }}/>, <span>{I18n.t('sch_periodWeek')}</span>]}\n </div>\n </div>,\n ];\n }\n\n getPeriodSettingsDates() {\n if (!this.state.schedule.period.dates) {\n return;\n }\n const schedule = this.state.schedule;\n\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n\n const parsedDates = JSON.parse(schedule.period.dates);\n\n return <FormGroup\n row\n className={this.props.classes.inputGroup}\n style={{maxWidth: 620}}\n >\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={parsedDates.length === 31}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n _schedule.period.dates = JSON.stringify(dates);\n this.onChange(_schedule);\n }}\n />\n } label={I18n.t('sch_all')}\n />\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={!parsedDates.length}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dates = '[]';\n this.onChange(_schedule);\n }}\n />\n } label={I18n.t('sch_no_one')}\n />\n {parsedDates.length !== 31 && !!parsedDates.length &&\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={false}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const result = [];\n const parsedDates = JSON.parse(_schedule.period.dates);\n for (let i = 1; i <= 31; i++) {\n if (parsedDates.indexOf(i) === -1) {\n result.push(i);\n }\n }\n result.sort((a, b) => a - b);\n _schedule.period.dates = JSON.stringify(result);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_invert')}\n />}\n <div/>\n {dates.map(i =>\n <FormControlLabel\n key={'date_' + i}\n className={this.props.classes.inputDateDay}\n style={!i ? {\n opacity: 0,\n cursor: 'default',\n userSelect: 'none',\n pointerEvents: 'none'\n } : {}}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={JSON.parse(schedule.period.dates).includes(i)}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let dates;\n try {\n dates = JSON.parse(_schedule.period.dates);\n } catch (e) {\n dates = [];\n }\n if (e.target.checked && dates.indexOf(i) === -1) {\n dates.push(i);\n } else if (!e.target.checked && dates.indexOf(i) !== -1) {\n dates.splice(dates.indexOf(i), 1);\n }\n dates.sort((a, b) => a - b);\n _schedule.period.dates = JSON.stringify(dates);\n this.onChange(_schedule);\n }}\n />\n }\n label={i < 10 ? [<span key=\"0\" style={{opacity: 0}}>0</span>,\n <span key=\"num\">{i}</span>] : i}\n />)}\n </FormGroup>;\n }\n\n getPeriodSettingsMonthly() {\n if (!this.state.schedule.period.months) {\n return;\n }\n const schedule = this.state.schedule;\n const parsedMonths = typeof schedule.period.months === 'string' ? JSON.parse(schedule.period.months) : [];\n\n return [\n <div key=\"every\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={typeof schedule.period.months === 'number' && schedule.period.months === 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 1;\n this.onChange(schedule);\n }}/>}\n label={I18n.t('sch_periodEveryMonth')}/></div>,\n <div key=\"everyN\"><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={typeof schedule.period.months === 'number' && schedule.period.months > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 2;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEvery')}/>\n {typeof schedule.period.months === 'number' && schedule.period.months > 1 && [<Input\n value={schedule.period.months}\n className={this.props.classes.inputEvery}\n type=\"number\"\n min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = parseInt(e.target.value, 10);\n if (_schedule.period.months < 1) _schedule.period.months = 1;\n this.onChange(_schedule);\n }}/>, <span>{I18n.t('sch_periodMonth')}</span>]}\n </div>,\n <div key=\"specific\" style={{verticalAlign: 'top'}}><FormControlLabel\n style={{verticalAlign: 'top'}}\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={typeof schedule.period.months === 'string'}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = '[1,2,3,4,5,6,7,8,9,10,11,12]';\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodSpecificMonths')}/>\n {typeof schedule.period.months === 'string' &&\n <FormGroup\n row\n className={this.props.classes.inputGroup}>\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={parsedMonths.length === 12}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const months = [];\n for (let i = 1; i <= 12; i++) {\n months.push(i);\n }\n _schedule.period.months = JSON.stringify(months);\n this.onChange(_schedule);\n }}\n />\n } label={I18n.t('sch_all')}\n />\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={!parsedMonths.length}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = '[]';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_no_one')}\n />\n {parsedMonths.length !== 12 && !!parsedMonths.length &&\n <FormControlLabel\n className={this.props.classes.inputDateDay}\n control={\n <Checkbox\n className={this.props.classes.inputDateDayCheck}\n checked={false}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const result = [];\n const parsedMonths = JSON.parse(_schedule.period.months);\n for (let i = 1; i <= 12; i++) {\n if (parsedMonths.indexOf(i) === -1) {\n result.push(i);\n }\n }\n result.sort((a, b) => a - b);\n _schedule.period.months = JSON.stringify(result);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_invert')}\n />}\n <div/>\n {MONTHS.map((month, i) =>\n <FormControlLabel\n className={this.props.classes.inputGroupElement}\n control={\n <Checkbox\n className={this.props.classes.inputSmallCheck}\n checked={JSON.parse(schedule.period.months).includes(i + 1)}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let months;\n try {\n months = JSON.parse(_schedule.period.months);\n } catch (e) {\n months = [];\n }\n if (e.target.checked && !months.includes(i + 1)) {\n months.push(i + 1);\n } else if (!e.target.checked && months.includes(i + 1)) {\n months.splice(months.indexOf(i + 1), 1);\n }\n months.sort((a, b) => a - b);\n _schedule.period.months = JSON.stringify(months);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t(month)}\n />)}\n </FormGroup>}\n </div>,\n ];\n }\n\n getPeriodSettingsYearly() {\n if (!this.state.schedule.period.years) {\n return;\n }\n const schedule = this.state.schedule;\n return [\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.years === 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 1;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEveryYear')}/></div>,\n <div><FormControlLabel\n control={<Radio\n className={this.props.classes.inputRadio}\n checked={schedule.period.years > 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 2;\n this.onChange(_schedule);\n }}/>\n }\n label={I18n.t('sch_periodEvery')}/>\n {schedule.period.years > 1 &&\n [<Input\n value={this.state.schedule.period.years}\n className={this.props.classes.inputEvery} type=\"number\" min=\"2\"\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = parseInt(e.target.value, 10);\n if (_schedule.period.years < 1) _schedule.period.years = 1;\n this.onChange(_schedule);\n }}/>,\n <span>{I18n.t('sch_periodYear')}</span>]}\n </div>,\n ];\n }\n\n static now2string(isEnd) {\n const d = new Date();\n d.setHours(0);\n d.setMinutes(0);\n d.setSeconds(0);\n d.setMilliseconds(0);\n if (isEnd) {\n d.setDate(d.getDate() + 2);\n d.setMilliseconds(d.getMilliseconds() - 1);\n }\n\n return `${padding(d.getDate())}.${padding(d.getMonth() + 1)}.${padding(d.getFullYear())}`;\n }\n\n static string2date(str) {\n let parts = str.split('.'); // 31.12.2019\n if (parts.length === 1) {\n parts = str.split('-'); // 2018-12-31\n return new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10));\n } else {\n return new Date(parseInt(parts[2], 10), parseInt(parts[1], 10) - 1, parseInt(parts[0], 10));\n }\n }\n\n getValidSettings() {\n const schedule = this.state.schedule;\n // ----- from ---\n return <div className={this.props.classes.rowDiv}>\n <div className={this.props.classes.modeDiv} style={{verticalAlign: 'middle'}}>\n <span style={{fontWeight: 'bold', paddingRight: 10}}>{I18n.t('sch_valid')}</span>\n <span>{I18n.t('sch_validFrom')}</span>\n </div>\n <div className={this.props.classes.settingsDiv}>\n <TextField\n variant=\"standard\" \n className={this.props.classes.inputDate}\n style={{marginRight: 10}}\n key=\"exactTimeFrom\"\n inputRef={this.refFrom}\n defaultValue={string2USdate(schedule.valid.from)}\n type=\"date\"\n //inputComponent={TextDate}\n onChange={e => {\n this.timerFrom && clearTimeout(this.timerFrom);\n\n this.refFrom.current.style.background = '#ff000030';\n\n this.timerFrom = setTimeout(value => {\n this.timerFrom = null;\n this.refFrom.current.style.background = '';\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.valid.from = `${padding(date.getDate())}.${padding(date.getMonth() + 1)}.${date.getFullYear()}`;\n this.onChange(_schedule);\n }\n }, 1500, e.target.value);\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n />\n <FormControlLabel\n control={<Checkbox\n className={this.props.classes.inputRadio}\n checked={!!schedule.valid.to}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.valid.to = _schedule.valid.to ? '' : Schedule.now2string(true);\n this.onChange(_schedule);\n }}/>}\n label={I18n.t('sch_validTo')}/>\n {!!schedule.valid.to && <TextField\n variant=\"standard\" \n inputRef={this.refTo}\n className={this.props.classes.inputDate}\n style={{marginRight: 10}}\n key=\"exactTimeFrom\"\n type=\"date\"\n defaultValue={string2USdate(schedule.valid.to)}\n //inputComponent={TextDate}\n onChange={e => {\n this.timerTo && clearTimeout(this.timerTo);\n\n this.refTo.current.style.background = '#ff000030';\n this.timerTo = setTimeout(value => {\n this.timerTo = null;\n this.refTo.current.style.background = '';\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.valid.to = `${padding(date.getDate())}.${padding(date.getMonth() + 1)}.${date.getFullYear()}`;\n this.onChange(_schedule);\n }\n }, 1500, e.target.value);\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n />}\n </div>\n </div>;\n }\n\n render() {\n return <div style={{height: 'calc(100% - 48px)', width: '100%', overflow: 'hidden'}}>\n <div>{this.state.desc}</div>\n <div className={this.props.classes.scrollWindow}>\n <h5>{I18n.t('sch_time')}</h5>\n {this.getTimePeriodElements()}\n {this.getTimeExactElements()}\n {this.getDivider()}\n <h5>{I18n.t('sch_period')}</h5>\n {this.getPeriodModes()}\n {!this.state.schedule.period.once && this.getDivider()}\n {!this.state.schedule.period.once && this.getValidSettings()}\n </div>\n </div>;\n }\n}\n\nSchedule.propTypes = {\n schedule: PropTypes.string,\n onChange: PropTypes.func,\n language: PropTypes.string\n};\n\nexport default withStyles(styles)(Schedule);\n\n"],"file":"Schedule.js"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
|
|
14
|
+
var _withStyles = _interopRequireDefault(require("@mui/styles/withStyles"));
|
|
15
|
+
|
|
16
|
+
var _material = require("@mui/material");
|
|
17
|
+
|
|
18
|
+
var _Icon = _interopRequireDefault(require("./Icon"));
|
|
19
|
+
|
|
20
|
+
var _Utils = _interopRequireDefault(require("./Utils"));
|
|
21
|
+
|
|
22
|
+
var _i18n = _interopRequireDefault(require("../i18n"));
|
|
23
|
+
|
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
25
|
+
|
|
26
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
|
+
|
|
28
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
|
+
|
|
30
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
31
|
+
|
|
32
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
33
|
+
|
|
34
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
35
|
+
|
|
36
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
37
|
+
|
|
38
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
39
|
+
|
|
40
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
41
|
+
|
|
42
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
43
|
+
|
|
44
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
45
|
+
|
|
46
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
47
|
+
|
|
48
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
49
|
+
|
|
50
|
+
var styles = function styles(theme) {
|
|
51
|
+
return {
|
|
52
|
+
different: {
|
|
53
|
+
opacity: 0.5
|
|
54
|
+
},
|
|
55
|
+
icon: {
|
|
56
|
+
width: 16,
|
|
57
|
+
height: 16,
|
|
58
|
+
marginRight: 8
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
var SelectWithIcon = /*#__PURE__*/function (_Component) {
|
|
64
|
+
_inherits(SelectWithIcon, _Component);
|
|
65
|
+
|
|
66
|
+
var _super = _createSuper(SelectWithIcon);
|
|
67
|
+
|
|
68
|
+
function SelectWithIcon(props) {
|
|
69
|
+
var _this;
|
|
70
|
+
|
|
71
|
+
_classCallCheck(this, SelectWithIcon);
|
|
72
|
+
|
|
73
|
+
_this = _super.call(this, props);
|
|
74
|
+
|
|
75
|
+
if (_this.props.different) {
|
|
76
|
+
_this.wordDifferent = _this.props.t(_this.props.different);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
var list;
|
|
80
|
+
|
|
81
|
+
if (Array.isArray(_this.props.list || _this.props.options)) {
|
|
82
|
+
list = _this.props.list.map(function (obj) {
|
|
83
|
+
var _obj$common, _obj$common2;
|
|
84
|
+
|
|
85
|
+
return {
|
|
86
|
+
name: _Utils["default"].getObjectNameFromObj(obj, _this.props.lang).replace('system.group.', '').replace('system.user.', '').replace('enum.rooms.', '').replace('enum.functions.', ''),
|
|
87
|
+
value: obj._id,
|
|
88
|
+
icon: (_obj$common = obj.common) === null || _obj$common === void 0 ? void 0 : _obj$common.icon,
|
|
89
|
+
color: (_obj$common2 = obj.common) === null || _obj$common2 === void 0 ? void 0 : _obj$common2.color
|
|
90
|
+
};
|
|
91
|
+
});
|
|
92
|
+
} else {
|
|
93
|
+
list = Object.values(_this.props.list || _this.props.options).map(function (obj) {
|
|
94
|
+
var _obj$common3, _obj$common4;
|
|
95
|
+
|
|
96
|
+
return {
|
|
97
|
+
name: _Utils["default"].getObjectNameFromObj(obj, _this.props.lang).replace('system.group.', '').replace('system.user.', '').replace('enum.rooms.', '').replace('enum.functions.', ''),
|
|
98
|
+
value: obj._id,
|
|
99
|
+
icon: (_obj$common3 = obj.common) === null || _obj$common3 === void 0 ? void 0 : _obj$common3.icon,
|
|
100
|
+
color: (_obj$common4 = obj.common) === null || _obj$common4 === void 0 ? void 0 : _obj$common4.color
|
|
101
|
+
};
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if (_this.props.different && _this.props.value === _this.props.different) {
|
|
106
|
+
list.unshift({
|
|
107
|
+
value: _this.props.different,
|
|
108
|
+
name: _this.wordDifferent
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
if (_this.props.allowNone) {
|
|
113
|
+
list.unshift({
|
|
114
|
+
value: '',
|
|
115
|
+
name: _i18n["default"].t('ra_none')
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
_this.state = {
|
|
120
|
+
list: list
|
|
121
|
+
};
|
|
122
|
+
return _this;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
_createClass(SelectWithIcon, [{
|
|
126
|
+
key: "render",
|
|
127
|
+
value: function render() {
|
|
128
|
+
var _this2 = this;
|
|
129
|
+
|
|
130
|
+
var item = this.state.list.find(function (it) {
|
|
131
|
+
return it.value === _this2.props.value || _this2.props.removePrefix && it.value.replace(_this2.props.removePrefix, '') === _this2.props.value;
|
|
132
|
+
});
|
|
133
|
+
var style = this.props.value === this.props.different ? {} : {
|
|
134
|
+
color: (item === null || item === void 0 ? void 0 : item.color) || undefined,
|
|
135
|
+
backgroundColor: _Utils["default"].getInvertedColor(item === null || item === void 0 ? void 0 : item.color, this.props.themeType)
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
if (this.props.dense && this.props.style) {
|
|
139
|
+
Object.assign(style, this.props.style);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
var select = /*#__PURE__*/_react["default"].createElement(_material.Select, {
|
|
143
|
+
variant: "standard",
|
|
144
|
+
disabled: this.props.disabled,
|
|
145
|
+
value: this.props.value,
|
|
146
|
+
inputProps: this.props.inputProps,
|
|
147
|
+
renderValue: function renderValue(value) {
|
|
148
|
+
return /*#__PURE__*/_react["default"].createElement("span", null, item !== null && item !== void 0 && item.icon ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
149
|
+
src: item === null || item === void 0 ? void 0 : item.icon,
|
|
150
|
+
className: _this2.props.classes.icon
|
|
151
|
+
}) : null, item === null || item === void 0 ? void 0 : item.name);
|
|
152
|
+
},
|
|
153
|
+
classes: {
|
|
154
|
+
root: _Utils["default"].clsx(this.props.value === this.props.different ? this.props.classes.different : '', this.props.dense ? this.props.className : '')
|
|
155
|
+
},
|
|
156
|
+
style: style,
|
|
157
|
+
onChange: function onChange(el) {
|
|
158
|
+
if (_this2.props.different && el.target.value !== _this2.props.different) {
|
|
159
|
+
var pos = null;
|
|
160
|
+
|
|
161
|
+
for (var i = 0; i < _this2.state.list.length; i++) {
|
|
162
|
+
if (_this2.state.list[i].value === _this2.props.different) {
|
|
163
|
+
pos = i;
|
|
164
|
+
break;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
if (pos !== null) {
|
|
169
|
+
var list = _Utils["default"].clone(_this2.state.list);
|
|
170
|
+
|
|
171
|
+
list.splice(pos, 1);
|
|
172
|
+
return _this2.setState({
|
|
173
|
+
list: list
|
|
174
|
+
}, function () {
|
|
175
|
+
return _this2.props.onChange(el.target.value);
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
_this2.props.onChange(_this2.props.removePrefix ? el.target.value.replace(_this2.props.removePrefix, '') : el.target.value);
|
|
181
|
+
}
|
|
182
|
+
}, this.state.list.map(function (el) {
|
|
183
|
+
return /*#__PURE__*/_react["default"].createElement(_material.MenuItem, {
|
|
184
|
+
className: _this2.props.different && el.value === _this2.props.different ? _this2.props.classes.different : '',
|
|
185
|
+
style: _this2.props.different && el.value === _this2.props.different ? {} : {
|
|
186
|
+
color: el.color || undefined,
|
|
187
|
+
backgroundColor: _Utils["default"].getInvertedColor(el.color, _this2.props.themeType)
|
|
188
|
+
},
|
|
189
|
+
key: el.value,
|
|
190
|
+
value: el.value
|
|
191
|
+
}, el.icon ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
192
|
+
src: el.icon,
|
|
193
|
+
className: _this2.props.classes.icon
|
|
194
|
+
}) : null, el.name);
|
|
195
|
+
}));
|
|
196
|
+
|
|
197
|
+
if (this.props.dense) {
|
|
198
|
+
return select;
|
|
199
|
+
} else {
|
|
200
|
+
return /*#__PURE__*/_react["default"].createElement(_material.FormControl, {
|
|
201
|
+
variant: "standard",
|
|
202
|
+
fullWidth: !!this.props.fullWidth,
|
|
203
|
+
style: this.props.style,
|
|
204
|
+
className: this.props.className
|
|
205
|
+
}, /*#__PURE__*/_react["default"].createElement(_material.InputLabel, null, this.props.label), select);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}]);
|
|
209
|
+
|
|
210
|
+
return SelectWithIcon;
|
|
211
|
+
}(_react.Component);
|
|
212
|
+
|
|
213
|
+
SelectWithIcon.propTypes = {
|
|
214
|
+
t: _propTypes["default"].func,
|
|
215
|
+
lang: _propTypes["default"].string,
|
|
216
|
+
themeType: _propTypes["default"].string,
|
|
217
|
+
value: _propTypes["default"].string,
|
|
218
|
+
onChange: _propTypes["default"].func.isRequired,
|
|
219
|
+
disabled: _propTypes["default"].bool,
|
|
220
|
+
list: _propTypes["default"].oneOfType([_propTypes["default"].array, _propTypes["default"].object]),
|
|
221
|
+
options: _propTypes["default"].oneOfType([_propTypes["default"].array, _propTypes["default"].object]),
|
|
222
|
+
label: _propTypes["default"].string,
|
|
223
|
+
different: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].bool]),
|
|
224
|
+
fullWidth: _propTypes["default"].bool,
|
|
225
|
+
className: _propTypes["default"].string,
|
|
226
|
+
style: _propTypes["default"].object,
|
|
227
|
+
removePrefix: _propTypes["default"].string,
|
|
228
|
+
allowNone: _propTypes["default"].bool,
|
|
229
|
+
inputProps: _propTypes["default"].object
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
var _default = (0, _withStyles["default"])(styles)(SelectWithIcon);
|
|
233
|
+
|
|
234
|
+
exports["default"] = _default;
|
|
235
|
+
//# sourceMappingURL=SelectWithIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["SelectWithIcon.js"],"names":["styles","theme","different","opacity","icon","width","height","marginRight","SelectWithIcon","props","wordDifferent","t","list","Array","isArray","options","map","obj","name","Utils","getObjectNameFromObj","lang","replace","value","_id","common","color","Object","values","unshift","allowNone","I18n","state","item","find","it","removePrefix","style","undefined","backgroundColor","getInvertedColor","themeType","dense","assign","select","disabled","inputProps","classes","root","clsx","className","el","target","pos","i","length","clone","splice","setState","onChange","fullWidth","label","Component","propTypes","PropTypes","func","string","isRequired","bool","oneOfType","array","object"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport {FormControl, InputLabel, MenuItem, Select} from '@mui/material';\n\nimport Icon from './Icon';\nimport Utils from './Utils';\nimport I18n from '../i18n';\n\nconst styles = theme => ({\n different: {\n opacity: 0.5\n },\n icon: {\n width: 16,\n height: 16,\n marginRight: 8\n }\n});\n\nclass SelectWithIcon extends Component {\n constructor(props) {\n super(props);\n\n if (this.props.different) {\n this.wordDifferent = this.props.t(this.props.different);\n }\n\n let list;\n if (Array.isArray(this.props.list || this.props.options)) {\n list = this.props.list.map(obj => ({\n name: Utils.getObjectNameFromObj(obj, this.props.lang)\n .replace('system.group.', '')\n .replace('system.user.', '')\n .replace('enum.rooms.', '')\n .replace('enum.functions.', ''),\n value: obj._id,\n icon: obj.common?.icon,\n color: obj.common?.color,\n }))\n } else {\n list = Object.values(this.props.list || this.props.options).map(obj => ({\n name: Utils.getObjectNameFromObj(obj, this.props.lang)\n .replace('system.group.', '')\n .replace('system.user.', '')\n .replace('enum.rooms.', '')\n .replace('enum.functions.', ''),\n value: obj._id,\n icon: obj.common?.icon,\n color: obj.common?.color,\n }));\n }\n\n if (this.props.different && this.props.value === this.props.different) {\n list.unshift({value: this.props.different, name: this.wordDifferent});\n }\n\n if (this.props.allowNone) {\n list.unshift({value: '', name: I18n.t('ra_none')});\n }\n\n this.state = {\n list\n };\n }\n\n render() {\n const item = this.state.list.find(it => it.value === this.props.value || (this.props.removePrefix && it.value.replace(this.props.removePrefix, '') === this.props.value));\n\n const style = this.props.value === this.props.different ? {} :\n {\n color: item?.color || undefined,\n backgroundColor: Utils.getInvertedColor(item?.color, this.props.themeType)\n };\n\n if (this.props.dense && this.props.style) {\n Object.assign(style, this.props.style);\n }\n\n const select = <Select\n variant=\"standard\"\n disabled={this.props.disabled}\n value={this.props.value}\n inputProps={this.props.inputProps}\n renderValue={value => <span>{item?.icon ? <Icon src={item?.icon} className={this.props.classes.icon} /> : null}{item?.name}</span>}\n classes={{root: Utils.clsx(\n this.props.value === this.props.different ? this.props.classes.different : '',\n this.props.dense ? this.props.className : ''\n )}}\n style={style}\n onChange={el => {\n if (this.props.different && el.target.value !== this.props.different) {\n let pos = null;\n for (let i = 0; i < this.state.list.length; i++) {\n if (this.state.list[i].value === this.props.different) {\n pos = i;\n break;\n }\n }\n if (pos !== null) {\n const list = Utils.clone(this.state.list);\n list.splice(pos, 1);\n return this.setState({list}, () => this.props.onChange(el.target.value));\n }\n }\n\n this.props.onChange(this.props.removePrefix ? el.target.value.replace(this.props.removePrefix, '') : el.target.value);\n }}\n >\n {this.state.list.map(el => <MenuItem\n className={this.props.different && el.value === this.props.different ? this.props.classes.different : ''}\n style={this.props.different && el.value === this.props.different ? {} : { color: el.color || undefined, backgroundColor: Utils.getInvertedColor(el.color, this.props.themeType) }}\n key={el.value}\n value={el.value}\n >\n {el.icon ? <Icon src={el.icon} className={this.props.classes.icon} /> : null}\n {el.name}\n </MenuItem>)}\n </Select>;\n\n if (this.props.dense) {\n return select;\n } else {\n return <FormControl variant=\"standard\" fullWidth={!!this.props.fullWidth} style={this.props.style} className={this.props.className}>\n <InputLabel>{this.props.label}</InputLabel>\n {select}\n </FormControl>;\n\n }\n }\n}\n\nSelectWithIcon.propTypes = {\n t: PropTypes.func,\n lang: PropTypes.string,\n themeType: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n list: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n options: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n label: PropTypes.string,\n different: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n fullWidth: PropTypes.bool,\n className: PropTypes.string,\n style: PropTypes.object,\n removePrefix: PropTypes.string,\n allowNone: PropTypes.bool,\n inputProps: PropTypes.object,\n};\n\nexport default withStyles(styles)(SelectWithIcon);"],"file":"SelectWithIcon.js"}
|