@iobroker/adapter-react-v5 2.1.0 → 2.1.3

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["SimpleCron/index.js"],"names":["styles","theme","mainDiv","width","height","overflow","formControl","margin","minWidth","formControlMarginRight","marginRight","formControlPaddingTop","paddingTop","PERIODIC","once","interval","intervalBetween","specific","PERIODIC_TYPES","seconds","minutes","WEEKDAYS","padding","num","DEFAULT_STATE","mode","period","unit","SimpleCron","props","cron","cronExpression","replace","state","cron2state","extended","state2cron","time","date","timeFrom","timeTo","weekdays","Object","assign","setTimeout","onChange","type","settings","paddingLeft","maxWidth","I18n","t","map","day","indexOf","e","JSON","parse","stringify","pos","target","checked","push","splice","sort","setState","recalcCron","toString","display","marginBottom","marginTop","verticalAlign","parseInt","value","shrink","hours","keys","classes","root","d","Date","getDate","getMonth","className","marginLeft","getControlsTime","getControlsDate","getControlsPeriodElements","hour","getControlsWeekdaysElements","language","onModeChange","name","id","getOnceElements","getIntervalElements","getIntervalBetweenElements","getSpecificTimeElements","list","max","length","text","start","end","i","join","parts","split","forEach","part","_parts","trim","cronParts","options","months","dow","text2weekdays","undefined","periodArray2text","partsDate","month","React","Component","propTypes","PropTypes","string","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport MenuItem from '@mui/material/MenuItem';\nimport FormControl from '@mui/material/FormControl';\nimport Select from '@mui/material/Select';\nimport TextField from '@mui/material/TextField';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport Checkbox from '@mui/material/Checkbox';\n\nimport convertCronToText from './cronText';\n\nimport I18n from '../../i18n';\n\nconst styles = theme => ({\n mainDiv: {\n width: '100%',\n height: '100%',\n overflow: 'auto'\n },\n formControl: {\n margin: 0,\n minWidth: 120,\n },\n formControlMarginRight: {\n marginRight: 5\n },\n formControlPaddingTop: {\n paddingTop: 6.2\n }\n});\n\nconst PERIODIC = {\n once: 'once',\n interval: 'interval',\n intervalBetween: 'intervalBetween',\n specific: 'specific'\n};\nconst PERIODIC_TYPES = {\n seconds: 'seconds',\n minutes: 'minutes',\n //hours: 'hours',\n};\nconst WEEKDAYS = [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n 'Sunday',\n];\n\nfunction padding(num) {\n if (num < 10){\n return '0' + num;\n } else {\n return '' + num;\n }\n}\nconst DEFAULT_STATE = {\n mode: PERIODIC.interval,\n interval: {\n period: 1,\n unit: PERIODIC_TYPES.minutes\n }\n};\n\nclass SimpleCron extends React.Component {\n constructor(props) {\n super(props);\n let cron = (typeof this.props.cronExpression === 'string') ? this.props.cronExpression.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '') : '';\n if (cron[0] === '{') {\n cron = '';\n }\n const state = SimpleCron.cron2state(cron || '* * * * *') || DEFAULT_STATE;\n\n this.state = {\n extended: false,\n cron: SimpleCron.state2cron(state),\n mode: 'interval',\n once: {\n time: '00:00',\n date: ''\n },\n interval: {\n period: 1,\n unit: PERIODIC_TYPES.minutes\n },\n intervalBetween: {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n timeFrom: 0,\n timeTo: 24,\n weekdays: [0, 1, 2, 3, 4, 5, 6]\n },\n specific: {\n time: '00:00',\n weekdays: [0, 1, 2, 3, 4, 5, 6]\n }\n };\n Object.assign(this.state, state);\n\n if (this.state.cron !== this.props.cronExpression) {\n setTimeout(() => this.props.onChange && this.props.onChange(this.state.cron), 100);\n }\n }\n\n static periodArray2text(list, max) {\n max = max || 7;\n if (list.length === max) {\n return '*';\n } else {\n let text = [];\n let start = null;\n let end = null;\n for (let i = 0; i < list.length; i++) {\n if (start === null) {\n start = list[i];\n end = list[i];\n } else if (list[i - 1] + 1 === list[i]) {\n end = list[i];\n } else {\n if (start !== end) {\n text.push(start + '-' + end);\n } else {\n text.push(start);\n }\n start = list[i];\n end = list[i];\n }\n }\n if (start !== end) {\n text.push(start + '-' + end);\n } else {\n text.push(start);\n }\n return text.join(',');\n }\n }\n\n static text2weekdays(text) {\n if (text === '*') {\n return [0,1,2,3,4,5,6];\n }\n const parts = text.split(',');\n const list = [];\n parts.forEach(part => {\n const _parts = part.split('-');\n if (_parts.length === 2) {\n const start = parseInt(_parts[0], 10);\n const end = parseInt(_parts[1], 10);\n for (let day = start; day <= end; day++) {\n if (list.indexOf(day === 7 ? 0 : day) === -1) {\n list.push(day === 7 ? 0 : day);\n }\n }\n } else {\n if (part === '7') {\n part = 0;\n }\n part = parseInt(part, 10);\n if (list.indexOf(part) === -1) {\n list.push(part);\n }\n }\n });\n list.sort();\n return list;\n }\n\n static cron2state(cron) {\n cron = cron.replace(/['\"]/g, '').trim();\n const cronParts = cron.split(' ');\n const options = {};\n const state = {\n mode: ''\n };\n if (cronParts.length === 6) {\n options.seconds = cronParts[0] || '*';\n options.minutes = cronParts[1] || '*';\n options.hours = cronParts[2] || '*';\n options.date = cronParts[3] || '*';\n options.months = cronParts[4] || '*';\n options.dow = cronParts[5] || '*';\n } else {\n options.seconds = null;\n options.minutes = cronParts[0] || '*';\n options.hours = cronParts[1] || '*';\n options.date = cronParts[2] || '*';\n options.months = cronParts[3] || '*';\n options.dow = cronParts[4] || '*';\n }\n\n // * * * * *\n if (options.seconds === null &&\n options.minutes === '*' &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*') {\n state.mode = PERIODIC.interval;\n state.interval = {\n period: 1,\n unit: PERIODIC_TYPES.minutes\n };\n } // * * * * * *\n if (options.seconds === '*' &&\n options.minutes === '*' &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*') {\n state.mode = PERIODIC.interval;\n state.interval = {\n period: 1,\n unit: PERIODIC_TYPES.seconds\n };\n } else// */n * * * *\n if (options.seconds === null &&\n options.minutes.indexOf('/') !== -1 &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*') {\n state.mode = PERIODIC.interval;\n state.interval = {\n period: parseInt(options.minutes.split('/')[1], 10),\n unit: PERIODIC_TYPES.minutes\n };\n } else\n // */n * * * * *\n if (options.seconds !== null && options.seconds.indexOf('/') !== -1 &&\n options.minutes === '*' &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*') {\n state.mode = PERIODIC.interval;\n state.interval = {\n period: parseInt(options.seconds.split('/')[1], 10),\n unit: PERIODIC_TYPES.seconds\n };\n } else\n // */n * 1-24 * * 1-7 or */n * 1-24 * * *\n if (options.seconds !== null && options.seconds.indexOf('/') !== -1 &&\n options.minutes === '*' &&\n options.hours.indexOf('-') !== -1 &&\n options.date === '*' &&\n options.months === '*') {\n state.mode = PERIODIC.intervalBetween;\n state.intervalBetween = {\n period: parseInt(options.seconds.split('/')[1], 10),\n unit: PERIODIC_TYPES.seconds,\n timeFrom: parseInt(options.hours.split('-')[0], 10),\n timeTo: parseInt(options.hours.split('-')[1], 10),\n weekdays: SimpleCron.text2weekdays(options.dow)\n };\n } else\n // */n 1-24 * * 1-7 or */n 1-24 * * *\n if (options.seconds === null &&\n options.minutes.indexOf('/') !== -1 &&\n options.hours.indexOf('-') !== -1 &&\n options.date === '*' &&\n options.months === '*') {\n state.mode = PERIODIC.intervalBetween;\n state.intervalBetween = {\n period: parseInt(options.minutes.split('/')[1], 10),\n unit: PERIODIC_TYPES.minutes,\n timeFrom: parseInt(options.hours.split('-')[0], 10),\n timeTo: parseInt(options.hours.split('-')[1], 10),\n weekdays: SimpleCron.text2weekdays(options.dow)\n };\n } else\n // m h * * 1-7 or m h * * *\n if (options.seconds === null &&\n parseInt(options.minutes, 10).toString() === options.minutes &&\n parseInt(options.hours, 10).toString() === options.hours &&\n options.date === '*' &&\n options.months === '*') {\n state.mode = PERIODIC.specific;\n state.specific = {\n time: padding(parseInt(options.hours, 10)) + ':' + padding(parseInt(options.minutes, 10)),\n weekdays: SimpleCron.text2weekdays(options.dow)\n };\n } else\n // m h d M *\n if (options.seconds === null &&\n parseInt(options.minutes, 10).toString() === options.minutes &&\n parseInt(options.hours, 10).toString() === options.hours &&\n parseInt(options.date, 10).toString() === options.date &&\n parseInt(options.months, 10).toString() === options.months &&\n options.dow === '*') {\n state.mode = PERIODIC.once;\n state.once = {\n time: padding(parseInt(options.hours, 10)) + ':' + padding(parseInt(options.minutes, 10)),\n date: padding(parseInt(options.date, 10)) + '.' + padding(parseInt(options.months, 10)),\n // ignored\n weekdays: SimpleCron.text2weekdays(options.dow)\n }\n }\n\n if (state.mode) {\n return state;\n } else {\n return null;\n }\n }\n\n static state2cron(state) {\n let cron = '* * * * *';\n if (state.mode === PERIODIC.interval) {\n const settings = state.interval || {};\n if (settings.period > 60) settings.period = 60;\n if (settings.period < 1) settings.period = 1;\n\n if (settings.minutes > 60) settings.minutes = 60;\n if (settings.minutes < 1) settings.minutes = 1;\n\n if (settings.hours > 24) settings.hours = 24;\n if (settings.hours < 1) settings.hours = 1;\n\n if (state.extended) {\n cron = `${settings.minutes > 1 ? '*/' + settings.minutes : '*'} ${settings.hours > 1 ? '*/' + settings.hours : '*'} * * *`;\n } else {\n switch (settings.unit) {\n case PERIODIC_TYPES.seconds:\n cron = `${settings.period > 1 ? '*/' + settings.period : '*'} * * * * *`;\n break;\n case PERIODIC_TYPES.minutes:\n cron = `${settings.period > 1 ? '*/' + settings.period : '*'} * * * *`;\n break;\n default:\n break;\n }\n }\n } else if (state.mode === PERIODIC.intervalBetween) {\n const settings = state.intervalBetween || {};\n let hours;\n settings.timeFrom = settings.timeFrom || 0;\n settings.timeTo = settings.timeTo === undefined ? 24 : settings.timeTo;\n if (settings.timeFrom === 0 && settings.timeTo === 24) {\n hours = '*';\n } else {\n hours = settings.timeFrom !== settings.timeTo ? settings.timeFrom + '-' + settings.timeTo : '*';\n }\n if (settings.period > 60) settings.period = 60;\n if (settings.period < 1) settings.period = 1;\n settings.unit = settings.unit || PERIODIC_TYPES.minutes;\n switch (settings.unit) {\n case PERIODIC_TYPES.seconds:\n cron = `${settings.period > 1 ? '*/' + settings.period : '*'} * ${hours} * * ${this.periodArray2text(settings.weekdays)}`;\n break;\n case PERIODIC_TYPES.minutes:\n cron = `${settings.period > 1 ? '*/' + settings.period : '*'} ${hours} * * ${this.periodArray2text(settings.weekdays)}`;\n break;\n default:\n break;\n }\n } else if (state.mode === PERIODIC.specific) {\n const settings = state.specific || {};\n const parts = (settings.time || '00:00').split(':');\n let minutes = parseInt(parts[1], 10) || 0;\n if (minutes > 59) minutes = 59;\n if (minutes < 0) minutes = 0;\n let hours = parseInt(parts[0], 10) || 0;\n if (hours > 23) hours = 59;\n if (hours < 0) hours = 0;\n\n cron = `${minutes} ${hours} * * ${this.periodArray2text(settings.weekdays || [])}`;\n } else if (state.mode === PERIODIC.once) {\n const settings = state.once || {};\n if (!settings.date) {\n settings.date = new Date().getDate() + '.' + padding(new Date().getMonth() + 1);\n }\n const parts = (settings.time || '00:00').split(':');\n const partsDate = settings.date.split('.');\n let minutes = parseInt(parts[1], 10) || 0;\n if (minutes > 59) minutes = 59;\n if (minutes < 0) minutes = 0;\n let hours = parseInt(parts[0], 10) || 0;\n if (hours > 23) hours = 59;\n if (hours < 0) hours = 0;\n let date = parseInt(partsDate[0], 10) || 1;\n if (date > 31) date = 31;\n if (date < 1) hours = 1;\n let month = parseInt(partsDate[1], 10) || 1;\n if (month > 12) month = 12;\n if (month < 1) month = 1;\n\n cron = `${minutes} ${hours} ${date} ${month} *`;\n }\n return cron;\n }\n\n recalcCron() {\n this.onChange(SimpleCron.state2cron(this.state));\n }\n\n getControlsWeekdaysElements(type) {\n const settings = this.state[type];\n return <div key=\"weekdays\" style={{paddingLeft: 8, width: '100%', maxWidth: 600}}>\n <h5>{I18n.t('ra_On weekdays')}</h5>\n {[1,2,3,4,5,6,0].map(day => (\n <FormControlLabel\n key={WEEKDAYS[day]}\n control={\n <Checkbox\n checked={settings.weekdays.indexOf(day) !== -1}\n onChange={e => {\n const settings = JSON.parse(JSON.stringify(this.state[type]));\n const pos = settings.weekdays.indexOf(day);\n e.target.checked && pos === -1 && settings.weekdays.push(day);\n !e.target.checked && pos !== -1 && settings.weekdays.splice(pos, 1);\n settings.weekdays.sort();\n this.setState({[type]: settings}, () => this.recalcCron());\n }}\n value={day.toString()}\n />\n }\n label={I18n.t(WEEKDAYS[day])}\n />))\n }</div>;\n }\n\n getControlsPeriodElements(type) {\n const settings = this.state[type];\n\n if (this.state.extended) {\n return <div key=\"period\" style={{paddingLeft: 8, display: 'inline-block'}}>\n <h5 style={{marginBottom: 5}}>{I18n.t('sc_period')}</h5>\n <TextField\n variant=\"standard\" \n style={{marginTop: 0, marginBottom: 0, verticalAlign: 'bottom'}}\n key=\"value\"\n label={I18n.t('sc_minutes')}\n value={settings.minutes}\n onChange={e => {\n const settings = JSON.parse(JSON.stringify(this.state[type]));\n settings.minutes = parseInt(e.target.value, 10);\n if (settings.minutes < 1) settings.minutes = 1;\n this.setState({[type]: settings}, () => this.recalcCron());\n }}\n min={1}\n max={60}\n type=\"number\"\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n />\n <TextField\n variant=\"standard\" \n style={{marginTop: 0, marginBottom: 0, verticalAlign: 'bottom'}}\n key=\"value\"\n label={I18n.t('sc_hours')}\n value={settings.hours}\n onChange={e => {\n const settings = JSON.parse(JSON.stringify(this.state[type]));\n settings.hours = parseInt(e.target.value, 10);\n if (settings.hours < 1) settings.hours = 1;\n this.setState({[type]: settings}, () => this.recalcCron());\n }}\n min={1}\n max={24}\n type=\"number\"\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n />\n </div>;\n } else {\n return <div key=\"period\" style={{paddingLeft: 8, display: 'inline-block'}}>\n <h5 style={{marginBottom: 5}}>{I18n.t('sc_period')}</h5>\n <TextField\n variant=\"standard\" \n style={{marginTop: 0, marginBottom: 0, verticalAlign: 'bottom'}}\n key=\"value\"\n label={I18n.t('sc_every')}\n value={settings.period}\n onChange={e => {\n const settings = JSON.parse(JSON.stringify(this.state[type]));\n settings.period = parseInt(e.target.value, 10);\n if (settings.period < 1) settings.period = 1;\n this.setState({[type]: settings}, () => this.recalcCron());\n }}\n min={1}\n max={60}\n type=\"number\"\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n /><Select\n variant=\"standard\"\n style={{verticalAlign: 'bottom'}}\n value={settings.unit}\n onChange={e => {\n const settings = JSON.parse(JSON.stringify(this.state[type]));\n settings.unit = e.target.value;\n this.setState({[type]: settings}, () => this.recalcCron());\n }}>\n {Object.keys(PERIODIC_TYPES).map(mode => <MenuItem key={PERIODIC_TYPES[mode]} value={PERIODIC_TYPES[mode]}>{I18n.t('sc_' + PERIODIC_TYPES[mode])}</MenuItem>)}\n </Select></div>;\n }\n }\n\n getControlsTime(type) {\n const settings = this.state[type];\n return <FormControl variant=\"standard\" className={this.props.classes.formControl} classes={{root: this.props.classes.formControlMarginRight}}>\n <TextField\n variant=\"standard\" \n key=\"at\"\n label={I18n.t('sc_time')}\n value={settings.time}\n type=\"time\"\n onChange={e => {\n const settings = JSON.parse(JSON.stringify(this.state[type]));\n settings.time = e.target.value;\n this.setState({[type]: settings}, () => this.recalcCron());\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n />\n </FormControl>;\n }\n\n getControlsDate(type) {\n const settings = this.state[type];\n\n if (!settings.date) {\n const d = new Date();\n settings.date = d.getDate() + '.' + padding(d.getMonth() + 1);\n }\n\n //<InputLabel htmlFor=\"formatted-text-mask-input\">{I18n.t('sc_at')}</InputLabel>\n return <FormControl variant=\"standard\" className={this.props.classes.formControl}>\n <TextField\n variant=\"standard\" \n key=\"date\"\n label={I18n.t('sc_date')}\n value={settings.date}\n type=\"text\"\n inputProps={{className: this.props.classes.formControlPaddingTop}}\n onChange={e => {\n const settings = JSON.parse(JSON.stringify(this.state[type]));\n settings.date = e.target.value;\n this.setState({[type]: settings}, () => this.recalcCron());\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n />\n </FormControl>;\n }\n\n getOnceElements() {\n return <div style={{marginLeft: 8}}>\n {this.getControlsTime('once')}\n {this.getControlsDate('once')}\n </div>;\n }\n\n getIntervalElements() {\n return this.getControlsPeriodElements('interval');\n }\n\n getIntervalBetweenElements() {\n const settings = this.state.intervalBetween;\n return [\n this.getControlsPeriodElements('intervalBetween'),\n <div key=\"between\" style={{paddingLeft: 8, display: 'inline-block', verticalAlign: 'top'}}>\n <h5 style={{marginBottom: 5}}>{I18n.t('sc_hours')}</h5>\n <FormControl variant=\"standard\" className={this.props.classes.formControl}>\n <InputLabel shrink htmlFor=\"age-label-placeholder\">{I18n.t('sc_from')}</InputLabel>\n <Select\n variant=\"standard\"\n style={{width: 100}}\n value={settings.timeFrom}\n onChange={e => {\n const settings = JSON.parse(JSON.stringify(this.state.intervalBetween));\n settings.timeFrom = parseInt(e.target.value, 10);\n this.setState({intervalBetween: settings}, () => this.recalcCron());\n }}>\n {[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23].map(hour => (<MenuItem key={'B_' + hour} value={hour}>{padding(hour) + ':00'}</MenuItem>))}\n </Select>\n </FormControl>\n <FormControl variant=\"standard\" className={this.props.classes.formControl}>\n <InputLabel shrink htmlFor=\"age-label-placeholder\">{I18n.t('sc_to')}</InputLabel>\n <Select\n variant=\"standard\"\n style={{width: 100}}\n value={settings.timeTo}\n onChange={e => {\n const settings = JSON.parse(JSON.stringify(this.state.intervalBetween));\n settings.timeTo = parseInt(e.target.value, 10);\n this.setState({intervalBetween: settings}, () => this.recalcCron());\n }}>\n {[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24].map(hour => (<MenuItem key={'A_' + hour} value={hour}>{padding(hour) + ':00'}</MenuItem>))}\n </Select>\n </FormControl>\n </div>,\n this.getControlsWeekdaysElements('intervalBetween')\n ];\n }\n\n getSpecificTimeElements() {\n return [\n <div key=\"time\" style={{marginLeft: 8}}>{this.getControlsTime('specific')}</div>,\n this.getControlsWeekdaysElements('specific')\n ]\n }\n\n onModeChange(mode) {\n if (mode !== this.state.mode) {\n this.setState({mode}, () => this.recalcCron());\n }\n }\n\n onChange(cron) {\n if (cron !== this.state.cron) {\n this.setState({cron});\n this.props.onChange && this.props.onChange(cron);\n }\n }\n\n render() {\n return <div className={this.props.classes.mainDiv}>\n <div style={{paddingLeft: 8, width: '100%'}}><TextField style={{width: '100%'}} value={this.state.cron} disabled={true}/></div>\n <div style={{paddingLeft: 8, width: '100%', height: 60}}>{convertCronToText(this.state.cron, this.props.language || 'en')}</div>\n <div><FormControl variant=\"standard\" style={{marginLeft: 8, marginTop: 8}} className={this.props.classes.formControl}>\n <InputLabel>{I18n.t('ra_Repeat')}</InputLabel>\n <Select\n variant=\"standard\"\n value={this.state.mode}\n onChange={e => this.onModeChange(e.target.value)}\n inputProps={{name: 'mode', id: 'mode',}}>\n {Object.keys(PERIODIC).map(mode => (<MenuItem key={PERIODIC[mode]} value={PERIODIC[mode]}>{I18n.t('sc_' + PERIODIC[mode])}</MenuItem>))}\n </Select>\n </FormControl></div>\n {this.state.mode === PERIODIC.once && this.getOnceElements()}\n {this.state.mode === PERIODIC.interval && this.getIntervalElements()}\n {this.state.mode === PERIODIC.intervalBetween && this.getIntervalBetweenElements()}\n {this.state.mode === PERIODIC.specific && this.getSpecificTimeElements()}\n </div>;\n }\n}\n\nSimpleCron.propTypes = {\n cronExpression: PropTypes.string,\n onChange: PropTypes.func,\n language: PropTypes.string,\n};\n\nexport default withStyles(styles)(SimpleCron);\n\n"],"file":"index.js"}
1
+ {"version":3,"sources":["SimpleCron/index.js"],"names":["styles","theme","mainDiv","width","height","overflow","formControl","margin","minWidth","formControlMarginRight","marginRight","formControlPaddingTop","paddingTop","PERIODIC","once","interval","intervalBetween","specific","PERIODIC_TYPES","seconds","minutes","WEEKDAYS","padding","num","DEFAULT_STATE","mode","period","unit","SimpleCron","props","cron","cronExpression","replace","state","cron2state","extended","state2cron","time","date","timeFrom","timeTo","weekdays","Object","assign","setTimeout","onChange","type","settings","paddingLeft","maxWidth","I18n","t","map","day","indexOf","e","JSON","parse","stringify","pos","target","checked","push","splice","sort","setState","recalcCron","toString","display","marginBottom","marginTop","verticalAlign","parseInt","value","shrink","hours","keys","classes","root","d","Date","getDate","getMonth","className","marginLeft","getControlsTime","getControlsDate","getControlsPeriodElements","hour","getControlsWeekdaysElements","language","onModeChange","name","id","getOnceElements","getIntervalElements","getIntervalBetweenElements","getSpecificTimeElements","list","max","length","text","start","end","i","join","parts","split","forEach","part","_parts","trim","cronParts","options","months","dow","text2weekdays","undefined","periodArray2text","partsDate","month","React","Component","propTypes","PropTypes","string","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport MenuItem from '@mui/material/MenuItem';\nimport FormControl from '@mui/material/FormControl';\nimport Select from '@mui/material/Select';\nimport TextField from '@mui/material/TextField';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport Checkbox from '@mui/material/Checkbox';\n\nimport convertCronToText from './cronText';\n\nimport I18n from '../../i18n';\n\nconst styles = theme => ({\n mainDiv: {\n width: '100%',\n height: '100%',\n overflow: 'auto'\n },\n formControl: {\n margin: 0,\n minWidth: 120,\n },\n formControlMarginRight: {\n marginRight: 5\n },\n formControlPaddingTop: {\n paddingTop: 6.2\n }\n});\n\nconst PERIODIC = {\n once: 'once',\n interval: 'interval',\n intervalBetween: 'intervalBetween',\n specific: 'specific'\n};\nconst PERIODIC_TYPES = {\n seconds: 'seconds',\n minutes: 'minutes',\n //hours: 'hours',\n};\nconst WEEKDAYS = [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n 'Sunday',\n];\n\nfunction padding(num) {\n if (num < 10){\n return '0' + num;\n } else {\n return '' + num;\n }\n}\nconst DEFAULT_STATE = {\n mode: PERIODIC.interval,\n interval: {\n period: 1,\n unit: PERIODIC_TYPES.minutes\n }\n};\n\nclass SimpleCron extends React.Component {\n constructor(props) {\n super(props);\n let cron = (typeof this.props.cronExpression === 'string') ? this.props.cronExpression.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '') : '';\n if (cron[0] === '{') {\n cron = '';\n }\n const state = SimpleCron.cron2state(cron || '* * * * *') || DEFAULT_STATE;\n\n this.state = {\n extended: false,\n cron: SimpleCron.state2cron(state),\n mode: 'interval',\n once: {\n time: '00:00',\n date: ''\n },\n interval: {\n period: 1,\n unit: PERIODIC_TYPES.minutes\n },\n intervalBetween: {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n timeFrom: 0,\n timeTo: 24,\n weekdays: [0, 1, 2, 3, 4, 5, 6]\n },\n specific: {\n time: '00:00',\n weekdays: [0, 1, 2, 3, 4, 5, 6]\n }\n };\n Object.assign(this.state, state);\n\n if (this.state.cron !== this.props.cronExpression) {\n setTimeout(() => this.props.onChange && this.props.onChange(this.state.cron), 100);\n }\n }\n\n static periodArray2text(list, max) {\n max = max || 7;\n if (list.length === max) {\n return '*';\n } else {\n let text = [];\n let start = null;\n let end = null;\n for (let i = 0; i < list.length; i++) {\n if (start === null) {\n start = list[i];\n end = list[i];\n } else if (list[i - 1] + 1 === list[i]) {\n end = list[i];\n } else {\n if (start !== end) {\n text.push(start + '-' + end);\n } else {\n text.push(start);\n }\n start = list[i];\n end = list[i];\n }\n }\n if (start !== end) {\n text.push(start + '-' + end);\n } else {\n text.push(start);\n }\n return text.join(',');\n }\n }\n\n static text2weekdays(text) {\n if (text === '*') {\n return [0,1,2,3,4,5,6];\n }\n const parts = text.split(',');\n const list = [];\n parts.forEach(part => {\n const _parts = part.split('-');\n if (_parts.length === 2) {\n const start = parseInt(_parts[0], 10);\n const end = parseInt(_parts[1], 10);\n for (let day = start; day <= end; day++) {\n if (list.indexOf(day === 7 ? 0 : day) === -1) {\n list.push(day === 7 ? 0 : day);\n }\n }\n } else {\n if (part === '7') {\n part = 0;\n }\n part = parseInt(part, 10);\n if (list.indexOf(part) === -1) {\n list.push(part);\n }\n }\n });\n list.sort();\n return list;\n }\n\n static cron2state(cron) {\n cron = cron.replace(/['\"]/g, '').trim();\n const cronParts = cron.split(' ');\n const options = {};\n const state = {\n mode: ''\n };\n if (cronParts.length === 6) {\n options.seconds = cronParts[0] || '*';\n options.minutes = cronParts[1] || '*';\n options.hours = cronParts[2] || '*';\n options.date = cronParts[3] || '*';\n options.months = cronParts[4] || '*';\n options.dow = cronParts[5] || '*';\n } else {\n options.seconds = null;\n options.minutes = cronParts[0] || '*';\n options.hours = cronParts[1] || '*';\n options.date = cronParts[2] || '*';\n options.months = cronParts[3] || '*';\n options.dow = cronParts[4] || '*';\n }\n\n // * * * * *\n if (options.seconds === null &&\n options.minutes === '*' &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*') {\n state.mode = PERIODIC.interval;\n state.interval = {\n period: 1,\n unit: PERIODIC_TYPES.minutes\n };\n } // * * * * * *\n if (options.seconds === '*' &&\n options.minutes === '*' &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*') {\n state.mode = PERIODIC.interval;\n state.interval = {\n period: 1,\n unit: PERIODIC_TYPES.seconds\n };\n } else// */n * * * *\n if (options.seconds === null &&\n options.minutes.indexOf('/') !== -1 &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*') {\n state.mode = PERIODIC.interval;\n state.interval = {\n period: parseInt(options.minutes.split('/')[1], 10),\n unit: PERIODIC_TYPES.minutes\n };\n } else\n // */n * * * * *\n if (options.seconds !== null && options.seconds.indexOf('/') !== -1 &&\n options.minutes === '*' &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*') {\n state.mode = PERIODIC.interval;\n state.interval = {\n period: parseInt(options.seconds.split('/')[1], 10),\n unit: PERIODIC_TYPES.seconds\n };\n } else\n // */n * 1-24 * * 1-7 or */n * 1-24 * * *\n if (options.seconds !== null && options.seconds.indexOf('/') !== -1 &&\n options.minutes === '*' &&\n options.hours.indexOf('-') !== -1 &&\n options.date === '*' &&\n options.months === '*') {\n state.mode = PERIODIC.intervalBetween;\n state.intervalBetween = {\n period: parseInt(options.seconds.split('/')[1], 10),\n unit: PERIODIC_TYPES.seconds,\n timeFrom: parseInt(options.hours.split('-')[0], 10),\n timeTo: parseInt(options.hours.split('-')[1], 10),\n weekdays: SimpleCron.text2weekdays(options.dow)\n };\n } else\n // */n 1-24 * * 1-7 or */n 1-24 * * *\n if (options.seconds === null &&\n options.minutes.indexOf('/') !== -1 &&\n options.hours.indexOf('-') !== -1 &&\n options.date === '*' &&\n options.months === '*') {\n state.mode = PERIODIC.intervalBetween;\n state.intervalBetween = {\n period: parseInt(options.minutes.split('/')[1], 10),\n unit: PERIODIC_TYPES.minutes,\n timeFrom: parseInt(options.hours.split('-')[0], 10),\n timeTo: parseInt(options.hours.split('-')[1], 10),\n weekdays: SimpleCron.text2weekdays(options.dow)\n };\n } else\n // m h * * 1-7 or m h * * *\n if (options.seconds === null &&\n parseInt(options.minutes, 10).toString() === options.minutes &&\n parseInt(options.hours, 10).toString() === options.hours &&\n options.date === '*' &&\n options.months === '*') {\n state.mode = PERIODIC.specific;\n state.specific = {\n time: padding(parseInt(options.hours, 10)) + ':' + padding(parseInt(options.minutes, 10)),\n weekdays: SimpleCron.text2weekdays(options.dow)\n };\n } else\n // m h d M *\n if (options.seconds === null &&\n parseInt(options.minutes, 10).toString() === options.minutes &&\n parseInt(options.hours, 10).toString() === options.hours &&\n parseInt(options.date, 10).toString() === options.date &&\n parseInt(options.months, 10).toString() === options.months &&\n options.dow === '*') {\n state.mode = PERIODIC.once;\n state.once = {\n time: padding(parseInt(options.hours, 10)) + ':' + padding(parseInt(options.minutes, 10)),\n date: padding(parseInt(options.date, 10)) + '.' + padding(parseInt(options.months, 10)),\n // ignored\n weekdays: SimpleCron.text2weekdays(options.dow)\n }\n }\n\n if (state.mode) {\n return state;\n } else {\n return null;\n }\n }\n\n static state2cron(state) {\n let cron = '* * * * *';\n if (state.mode === PERIODIC.interval) {\n const settings = state.interval || {};\n if (settings.period > 60) settings.period = 60;\n if (settings.period < 1) settings.period = 1;\n\n if (settings.minutes > 60) settings.minutes = 60;\n if (settings.minutes < 1) settings.minutes = 1;\n\n if (settings.hours > 24) settings.hours = 24;\n if (settings.hours < 1) settings.hours = 1;\n\n if (state.extended) {\n cron = `${settings.minutes > 1 ? '*/' + settings.minutes : '*'} ${settings.hours > 1 ? '*/' + settings.hours : '*'} * * *`;\n } else {\n switch (settings.unit) {\n case PERIODIC_TYPES.seconds:\n cron = `${settings.period > 1 ? '*/' + settings.period : '*'} * * * * *`;\n break;\n case PERIODIC_TYPES.minutes:\n cron = `${settings.period > 1 ? '*/' + settings.period : '*'} * * * *`;\n break;\n default:\n break;\n }\n }\n } else if (state.mode === PERIODIC.intervalBetween) {\n const settings = state.intervalBetween || {};\n let hours;\n settings.timeFrom = settings.timeFrom || 0;\n settings.timeTo = settings.timeTo === undefined ? 24 : settings.timeTo;\n if (settings.timeFrom === 0 && settings.timeTo === 24) {\n hours = '*';\n } else {\n hours = settings.timeFrom !== settings.timeTo ? settings.timeFrom + '-' + settings.timeTo : '*';\n }\n if (settings.period > 60) settings.period = 60;\n if (settings.period < 1) settings.period = 1;\n settings.unit = settings.unit || PERIODIC_TYPES.minutes;\n switch (settings.unit) {\n case PERIODIC_TYPES.seconds:\n cron = `${settings.period > 1 ? '*/' + settings.period : '*'} * ${hours} * * ${this.periodArray2text(settings.weekdays)}`;\n break;\n case PERIODIC_TYPES.minutes:\n cron = `${settings.period > 1 ? '*/' + settings.period : '*'} ${hours} * * ${this.periodArray2text(settings.weekdays)}`;\n break;\n default:\n break;\n }\n } else if (state.mode === PERIODIC.specific) {\n const settings = state.specific || {};\n const parts = (settings.time || '00:00').split(':');\n let minutes = parseInt(parts[1], 10) || 0;\n if (minutes > 59) minutes = 59;\n if (minutes < 0) minutes = 0;\n let hours = parseInt(parts[0], 10) || 0;\n if (hours > 23) hours = 59;\n if (hours < 0) hours = 0;\n\n cron = `${minutes} ${hours} * * ${this.periodArray2text(settings.weekdays || [])}`;\n } else if (state.mode === PERIODIC.once) {\n const settings = state.once || {};\n if (!settings.date) {\n settings.date = new Date().getDate() + '.' + padding(new Date().getMonth() + 1);\n }\n const parts = (settings.time || '00:00').split(':');\n const partsDate = settings.date.split('.');\n let minutes = parseInt(parts[1], 10) || 0;\n if (minutes > 59) minutes = 59;\n if (minutes < 0) minutes = 0;\n let hours = parseInt(parts[0], 10) || 0;\n if (hours > 23) hours = 59;\n if (hours < 0) hours = 0;\n let date = parseInt(partsDate[0], 10) || 1;\n if (date > 31) date = 31;\n if (date < 1) hours = 1;\n let month = parseInt(partsDate[1], 10) || 1;\n if (month > 12) month = 12;\n if (month < 1) month = 1;\n\n cron = `${minutes} ${hours} ${date} ${month} *`;\n }\n return cron;\n }\n\n recalcCron() {\n this.onChange(SimpleCron.state2cron(this.state));\n }\n\n getControlsWeekdaysElements(type) {\n const settings = this.state[type];\n return <div key=\"weekdays\" style={{paddingLeft: 8, width: '100%', maxWidth: 600}}>\n <h5>{I18n.t('ra_On weekdays')}</h5>\n {[1,2,3,4,5,6,0].map(day => (\n <FormControlLabel\n key={WEEKDAYS[day]}\n control={\n <Checkbox\n checked={settings.weekdays.indexOf(day) !== -1}\n onChange={e => {\n const settings = JSON.parse(JSON.stringify(this.state[type]));\n const pos = settings.weekdays.indexOf(day);\n e.target.checked && pos === -1 && settings.weekdays.push(day);\n !e.target.checked && pos !== -1 && settings.weekdays.splice(pos, 1);\n settings.weekdays.sort();\n this.setState({[type]: settings}, () => this.recalcCron());\n }}\n value={day.toString()}\n />\n }\n label={I18n.t(WEEKDAYS[day])}\n />))\n }</div>;\n }\n\n getControlsPeriodElements(type) {\n const settings = this.state[type];\n\n if (this.state.extended) {\n return <div key=\"period\" style={{paddingLeft: 8, display: 'inline-block'}}>\n <h5 style={{marginBottom: 5}}>{I18n.t('sc_period')}</h5>\n <TextField\n variant=\"standard\"\n style={{marginTop: 0, marginBottom: 0, verticalAlign: 'bottom'}}\n key=\"value\"\n label={I18n.t('sc_minutes')}\n value={settings.minutes}\n onChange={e => {\n const settings = JSON.parse(JSON.stringify(this.state[type]));\n settings.minutes = parseInt(e.target.value, 10);\n if (settings.minutes < 1) settings.minutes = 1;\n this.setState({[type]: settings}, () => this.recalcCron());\n }}\n min={1}\n max={60}\n type=\"number\"\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n />\n <TextField\n variant=\"standard\"\n style={{marginTop: 0, marginBottom: 0, verticalAlign: 'bottom'}}\n key=\"value\"\n label={I18n.t('sc_hours')}\n value={settings.hours}\n onChange={e => {\n const settings = JSON.parse(JSON.stringify(this.state[type]));\n settings.hours = parseInt(e.target.value, 10);\n if (settings.hours < 1) settings.hours = 1;\n this.setState({[type]: settings}, () => this.recalcCron());\n }}\n min={1}\n max={24}\n type=\"number\"\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n />\n </div>;\n } else {\n return <div key=\"period\" style={{paddingLeft: 8, display: 'inline-block'}}>\n <h5 style={{marginBottom: 5}}>{I18n.t('sc_period')}</h5>\n <TextField\n variant=\"standard\"\n style={{marginTop: 0, marginBottom: 0, verticalAlign: 'bottom'}}\n key=\"value\"\n label={I18n.t('sc_every')}\n value={settings.period}\n onChange={e => {\n const settings = JSON.parse(JSON.stringify(this.state[type]));\n settings.period = parseInt(e.target.value, 10);\n if (settings.period < 1) settings.period = 1;\n this.setState({[type]: settings}, () => this.recalcCron());\n }}\n min={1}\n max={60}\n type=\"number\"\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n /><Select\n variant=\"standard\"\n style={{verticalAlign: 'bottom'}}\n value={settings.unit}\n onChange={e => {\n const settings = JSON.parse(JSON.stringify(this.state[type]));\n settings.unit = e.target.value;\n this.setState({[type]: settings}, () => this.recalcCron());\n }}>\n {Object.keys(PERIODIC_TYPES).map(mode => <MenuItem key={PERIODIC_TYPES[mode]} value={PERIODIC_TYPES[mode]}>{I18n.t('sc_' + PERIODIC_TYPES[mode])}</MenuItem>)}\n </Select></div>;\n }\n }\n\n getControlsTime(type) {\n const settings = this.state[type];\n return <FormControl variant=\"standard\" className={this.props.classes.formControl} classes={{root: this.props.classes.formControlMarginRight}}>\n <TextField\n variant=\"standard\"\n key=\"at\"\n label={I18n.t('sc_time')}\n value={settings.time}\n type=\"time\"\n onChange={e => {\n const settings = JSON.parse(JSON.stringify(this.state[type]));\n settings.time = e.target.value;\n this.setState({[type]: settings}, () => this.recalcCron());\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n />\n </FormControl>;\n }\n\n getControlsDate(type) {\n const settings = this.state[type];\n\n if (!settings.date) {\n const d = new Date();\n settings.date = d.getDate() + '.' + padding(d.getMonth() + 1);\n }\n\n //<InputLabel htmlFor=\"formatted-text-mask-input\">{I18n.t('sc_at')}</InputLabel>\n return <FormControl variant=\"standard\" className={this.props.classes.formControl}>\n <TextField\n variant=\"standard\"\n key=\"date\"\n label={I18n.t('sc_date')}\n value={settings.date}\n type=\"text\"\n inputProps={{className: this.props.classes.formControlPaddingTop}}\n onChange={e => {\n const settings = JSON.parse(JSON.stringify(this.state[type]));\n settings.date = e.target.value;\n this.setState({[type]: settings}, () => this.recalcCron());\n }}\n InputLabelProps={{shrink: true,}}\n margin=\"normal\"\n />\n </FormControl>;\n }\n\n getOnceElements() {\n return <div style={{marginLeft: 8}}>\n {this.getControlsTime('once')}\n {this.getControlsDate('once')}\n </div>;\n }\n\n getIntervalElements() {\n return this.getControlsPeriodElements('interval');\n }\n\n getIntervalBetweenElements() {\n const settings = this.state.intervalBetween;\n return [\n this.getControlsPeriodElements('intervalBetween'),\n <div key=\"between\" style={{paddingLeft: 8, display: 'inline-block', verticalAlign: 'top'}}>\n <h5 style={{marginBottom: 5}}>{I18n.t('sc_hours')}</h5>\n <FormControl variant=\"standard\" className={this.props.classes.formControl}>\n <InputLabel shrink htmlFor=\"age-label-placeholder\">{I18n.t('sc_from')}</InputLabel>\n <Select\n variant=\"standard\"\n style={{width: 100}}\n value={settings.timeFrom}\n onChange={e => {\n const settings = JSON.parse(JSON.stringify(this.state.intervalBetween));\n settings.timeFrom = parseInt(e.target.value, 10);\n this.setState({intervalBetween: settings}, () => this.recalcCron());\n }}>\n {[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23].map(hour => (<MenuItem key={'B_' + hour} value={hour}>{padding(hour) + ':00'}</MenuItem>))}\n </Select>\n </FormControl>\n <FormControl variant=\"standard\" className={this.props.classes.formControl}>\n <InputLabel shrink htmlFor=\"age-label-placeholder\">{I18n.t('sc_to')}</InputLabel>\n <Select\n variant=\"standard\"\n style={{width: 100}}\n value={settings.timeTo}\n onChange={e => {\n const settings = JSON.parse(JSON.stringify(this.state.intervalBetween));\n settings.timeTo = parseInt(e.target.value, 10);\n this.setState({intervalBetween: settings}, () => this.recalcCron());\n }}>\n {[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24].map(hour => (<MenuItem key={'A_' + hour} value={hour}>{padding(hour) + ':00'}</MenuItem>))}\n </Select>\n </FormControl>\n </div>,\n this.getControlsWeekdaysElements('intervalBetween')\n ];\n }\n\n getSpecificTimeElements() {\n return [\n <div key=\"time\" style={{marginLeft: 8}}>{this.getControlsTime('specific')}</div>,\n this.getControlsWeekdaysElements('specific')\n ]\n }\n\n onModeChange(mode) {\n if (mode !== this.state.mode) {\n this.setState({mode}, () => this.recalcCron());\n }\n }\n\n onChange(cron) {\n if (cron !== this.state.cron) {\n this.setState({cron});\n this.props.onChange && this.props.onChange(cron);\n }\n }\n\n render() {\n return <div className={this.props.classes.mainDiv}>\n <div style={{paddingLeft: 8, width: '100%'}}><TextField style={{width: '100%'}} value={this.state.cron} disabled={true}/></div>\n <div style={{paddingLeft: 8, width: '100%', height: 60}}>{convertCronToText(this.state.cron, this.props.language || 'en')}</div>\n <div><FormControl variant=\"standard\" style={{marginLeft: 8, marginTop: 8}} className={this.props.classes.formControl}>\n <InputLabel>{I18n.t('ra_Repeat')}</InputLabel>\n <Select\n variant=\"standard\"\n value={this.state.mode}\n onChange={e => this.onModeChange(e.target.value)}\n inputProps={{name: 'mode', id: 'mode',}}>\n {Object.keys(PERIODIC).map(mode => <MenuItem key={PERIODIC[mode]} value={PERIODIC[mode]}>{I18n.t('sc_' + PERIODIC[mode])}</MenuItem>)}\n </Select>\n </FormControl></div>\n {this.state.mode === PERIODIC.once && this.getOnceElements()}\n {this.state.mode === PERIODIC.interval && this.getIntervalElements()}\n {this.state.mode === PERIODIC.intervalBetween && this.getIntervalBetweenElements()}\n {this.state.mode === PERIODIC.specific && this.getSpecificTimeElements()}\n </div>;\n }\n}\n\nSimpleCron.propTypes = {\n cronExpression: PropTypes.string,\n onChange: PropTypes.func,\n language: PropTypes.string,\n};\n\nexport default withStyles(styles)(SimpleCron);\n\n"],"file":"index.js"}
@@ -30,7 +30,7 @@ function ToggleThemeMenu(_ref) {
30
30
  className: className || undefined,
31
31
  style: style || undefined
32
32
  }, /*#__PURE__*/_react["default"].createElement(_material.Tooltip, {
33
- title: t('Change color theme')
33
+ title: t('ra_Change color theme')
34
34
  }, /*#__PURE__*/_react["default"].createElement(_material.IconButton, {
35
35
  onClick: function onClick() {
36
36
  return toggleTheme();
@@ -1 +1 @@
1
- {"version":3,"sources":["ToggleThemeMenu.js"],"names":["ToggleThemeMenu","themeName","toggleTheme","t","className","style","size","undefined"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEe,SAASA,eAAT,OAAgF;AAAA,MAArDC,SAAqD,QAArDA,SAAqD;AAAA,MAA1CC,WAA0C,QAA1CA,WAA0C;AAAA,MAA7BC,CAA6B,QAA7BA,CAA6B;AAAA,MAA1BC,SAA0B,QAA1BA,SAA0B;AAAA,MAAfC,KAAe,QAAfA,KAAe;AAAA,MAARC,IAAQ,QAARA,IAAQ;AAC3F,sBAAO;AAAK,IAAA,SAAS,EAAEF,SAAS,IAAIG,SAA7B;AAAwC,IAAA,KAAK,EAAEF,KAAK,IAAIE;AAAxD,kBACH,gCAAC,iBAAD;AAAS,IAAA,KAAK,EAAEJ,CAAC,CAAC,oBAAD;AAAjB,kBACI,gCAAC,oBAAD;AAAY,IAAA,OAAO,EAAE;AAAA,aAAMD,WAAW,EAAjB;AAAA,KAArB;AAA0C,IAAA,IAAI,EAAEI,IAAI,IAAI;AAAxD,KACKL,SAAS,KAAK,MAAd,iBAAwB,gCAAC,sBAAD;AAAiB,IAAA,SAAS,EAAEG;AAA5B,IAD7B,EAEKH,SAAS,KAAK,MAAd,iBAAwB,gCAAC,uBAAD;AAAiB,IAAA,SAAS,EAAEG;AAA5B,IAF7B,EAGKH,SAAS,KAAK,SAAd,iBAA2B,gCAAC,uBAAD;AAAiB,IAAA,SAAS,EAAEG;AAA5B,IAHhC,EAIKH,SAAS,KAAK,OAAd,iBAAyB,gCAAC,uBAAD;AAAiB,IAAA,SAAS,EAAEG;AAA5B,IAJ9B,CADJ,CADG,CAAP;AAUH","sourcesContent":["import React from 'react';\nimport { IconButton, Tooltip } from '@mui/material';\nimport Brightness4Icon from '@mui/icons-material/Brightness4';\nimport Brightness5Icon from '@mui/icons-material/Brightness5';\nimport Brightness6Icon from '@mui/icons-material/Brightness6';\nimport Brightness7Icon from '@mui/icons-material/Brightness7';\n\nexport default function ToggleThemeMenu({ themeName, toggleTheme, t, className, style, size }) {\n return <div className={className || undefined} style={style || undefined}>\n <Tooltip title={t('Change color theme')}>\n <IconButton onClick={() => toggleTheme()} size={size || 'medium'}>\n {themeName === 'dark' && <Brightness4Icon className={className} />}\n {themeName === 'blue' && <Brightness5Icon className={className} />}\n {themeName === 'colored' && <Brightness6Icon className={className} />}\n {themeName === 'light' && <Brightness7Icon className={className} />}\n </IconButton>\n </Tooltip>\n </div>;\n}"],"file":"ToggleThemeMenu.js"}
1
+ {"version":3,"sources":["ToggleThemeMenu.js"],"names":["ToggleThemeMenu","themeName","toggleTheme","t","className","style","size","undefined"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEe,SAASA,eAAT,OAAgF;AAAA,MAArDC,SAAqD,QAArDA,SAAqD;AAAA,MAA1CC,WAA0C,QAA1CA,WAA0C;AAAA,MAA7BC,CAA6B,QAA7BA,CAA6B;AAAA,MAA1BC,SAA0B,QAA1BA,SAA0B;AAAA,MAAfC,KAAe,QAAfA,KAAe;AAAA,MAARC,IAAQ,QAARA,IAAQ;AAC3F,sBAAO;AAAK,IAAA,SAAS,EAAEF,SAAS,IAAIG,SAA7B;AAAwC,IAAA,KAAK,EAAEF,KAAK,IAAIE;AAAxD,kBACH,gCAAC,iBAAD;AAAS,IAAA,KAAK,EAAEJ,CAAC,CAAC,uBAAD;AAAjB,kBACI,gCAAC,oBAAD;AAAY,IAAA,OAAO,EAAE;AAAA,aAAMD,WAAW,EAAjB;AAAA,KAArB;AAA0C,IAAA,IAAI,EAAEI,IAAI,IAAI;AAAxD,KACKL,SAAS,KAAK,MAAd,iBAAwB,gCAAC,sBAAD;AAAiB,IAAA,SAAS,EAAEG;AAA5B,IAD7B,EAEKH,SAAS,KAAK,MAAd,iBAAwB,gCAAC,uBAAD;AAAiB,IAAA,SAAS,EAAEG;AAA5B,IAF7B,EAGKH,SAAS,KAAK,SAAd,iBAA2B,gCAAC,uBAAD;AAAiB,IAAA,SAAS,EAAEG;AAA5B,IAHhC,EAIKH,SAAS,KAAK,OAAd,iBAAyB,gCAAC,uBAAD;AAAiB,IAAA,SAAS,EAAEG;AAA5B,IAJ9B,CADJ,CADG,CAAP;AAUH","sourcesContent":["import React from 'react';\nimport { IconButton, Tooltip } from '@mui/material';\nimport Brightness4Icon from '@mui/icons-material/Brightness4';\nimport Brightness5Icon from '@mui/icons-material/Brightness5';\nimport Brightness6Icon from '@mui/icons-material/Brightness6';\nimport Brightness7Icon from '@mui/icons-material/Brightness7';\n\nexport default function ToggleThemeMenu({ themeName, toggleTheme, t, className, style, size }) {\n return <div className={className || undefined} style={style || undefined}>\n <Tooltip title={t('ra_Change color theme')}>\n <IconButton onClick={() => toggleTheme()} size={size || 'medium'}>\n {themeName === 'dark' && <Brightness4Icon className={className} />}\n {themeName === 'blue' && <Brightness5Icon className={className} />}\n {themeName === 'colored' && <Brightness6Icon className={className} />}\n {themeName === 'light' && <Brightness7Icon className={className} />}\n </IconButton>\n </Tooltip>\n </div>;\n}"],"file":"ToggleThemeMenu.js"}
@@ -314,6 +314,12 @@ var TreeTable = /*#__PURE__*/function (_React$Component) {
314
314
  showSelectColor: false,
315
315
  glowOnChange: props.glowOnChange
316
316
  };
317
+ _this.levelShift = _this.props.levelShift;
318
+
319
+ if (_this.levelShift === undefined) {
320
+ _this.levelShift = 24;
321
+ }
322
+
317
323
  return _this;
318
324
  }
319
325
 
@@ -401,7 +407,14 @@ var TreeTable = /*#__PURE__*/function (_React$Component) {
401
407
  value: function renderCellEditCustom(item, col, val) {
402
408
  var _this4 = this;
403
409
 
404
- var EditComponent = col.editComponent;
410
+ var EditComponent = col.editComponent; // use new value if exists
411
+
412
+ if (this.state.editData && this.state.editData[col.field] !== undefined) {
413
+ val = this.state.editData[col.field];
414
+ item = JSON.parse(JSON.stringify(item));
415
+ item[col.field] = val;
416
+ }
417
+
405
418
  return /*#__PURE__*/_react["default"].createElement(EditComponent, {
406
419
  value: val,
407
420
  rowData: item,
@@ -684,13 +697,13 @@ var TreeTable = /*#__PURE__*/function (_React$Component) {
684
697
  if (!level && item.parentId) {
685
698
  return null;
686
699
  } else if (level && !item.parentId) {
687
- return null; // should never happens
700
+ return null; // should never happen
688
701
  } else {
689
702
  // try to find children
703
+ var opened = this.state.opened.includes(item.id);
690
704
  var children = this.props.data.filter(function (it) {
691
705
  return it.parentId === item.id;
692
706
  });
693
- var opened = this.state.opened.includes(item.id);
694
707
  return [/*#__PURE__*/_react["default"].createElement(_TableRow["default"], {
695
708
  key: item.id,
696
709
  className: _Utils["default"].clsx('table-row-' + (item.id || '').toString().replace(/[.$]/g, '_'), this.state.update && this.state.update.includes(item.id) && this.props.classes.glow, this.props.classes.row, level && this.props.classes.rowSecondary, !level && children.length && this.props.classes.rowMainWithChildren, !level && !children.length && this.props.classes.rowMainWithoutChildren, this.state.editMode !== false && this.state.editMode !== i && this.props.classes.rowNoEdit, this.state.deleteMode !== false && this.state.deleteMode !== i && this.props.classes.rowNoEdit)
@@ -715,11 +728,13 @@ var TreeTable = /*#__PURE__*/function (_React$Component) {
715
728
  opened: opened
716
729
  });
717
730
  },
718
- size: "large"
731
+ size: "small"
719
732
  }, opened ? /*#__PURE__*/_react["default"].createElement(_ExpandMore["default"], null) : /*#__PURE__*/_react["default"].createElement(_NavigateNext["default"], null)) : null), /*#__PURE__*/_react["default"].createElement(_TableCell["default"], {
720
733
  scope: "row",
721
734
  className: _Utils["default"].clsx(this.props.classes.cell, level && this.props.classes.cellSecondary),
722
- style: this.props.columns[0].cellStyle
735
+ style: Object.assign({}, this.props.columns[0].cellStyle, {
736
+ paddingLeft: this.levelShift * level
737
+ })
723
738
  }, this.props.columns[0].subField ? this.renderCellWithSubField(item, this.props.columns[0]) : getAttr(item, this.props.columns[0].field, this.props.columns[0].lookup)), this.props.columns.map(function (col, ii) {
724
739
  return !ii && !col.hidden ? null : _this10.renderCell(item, col, level, i);
725
740
  }), this.props.onUpdate ? /*#__PURE__*/_react["default"].createElement(_TableCell["default"], {
@@ -774,7 +789,7 @@ var TreeTable = /*#__PURE__*/function (_React$Component) {
774
789
  });
775
790
  },
776
791
  size: "large"
777
- }, /*#__PURE__*/_react["default"].createElement(_Delete["default"], null)) : null) : null), !level && this.state.opened.includes(item.id) ? children.map(function (item) {
792
+ }, /*#__PURE__*/_react["default"].createElement(_Delete["default"], null)) : null) : null), !level && opened ? children.map(function (item) {
778
793
  return _this10.renderLine(item, level + 1);
779
794
  }) : null];
780
795
  }
@@ -802,8 +817,8 @@ var TreeTable = /*#__PURE__*/function (_React$Component) {
802
817
  component: "th",
803
818
  className: _Utils["default"].clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes['width_' + this.props.columns[0].field.replace(/\./g, '_')]),
804
819
  style: this.props.columns[0].headerStyle || this.props.columns[0].cellStyle,
805
- sortDirection: this.state.orderBy === this.props.columns[0].field ? this.state.order : false
806
- }, /*#__PURE__*/_react["default"].createElement(_TableSortLabel["default"], {
820
+ sortDirection: this.props.noSort ? false : this.state.orderBy === this.props.columns[0].field ? this.state.order : false
821
+ }, this.props.noSort ? null : /*#__PURE__*/_react["default"].createElement(_TableSortLabel["default"], {
807
822
  active: this.state.orderBy === this.props.columns[0].field,
808
823
  direction: this.state.orderBy === this.props.columns[0].field ? this.state.order : 'asc',
809
824
  onClick: function onClick() {
@@ -817,7 +832,7 @@ var TreeTable = /*#__PURE__*/function (_React$Component) {
817
832
  className: _Utils["default"].clsx(_this11.props.classes.cell, _this11.props.classes.cellHeader, _this11.props.classes['width_' + col.field.replace(/\./g, '_')]),
818
833
  style: col.headerStyle || col.cellStyle,
819
834
  component: "th"
820
- }, /*#__PURE__*/_react["default"].createElement(_TableSortLabel["default"], {
835
+ }, _this11.props.noSort ? null : /*#__PURE__*/_react["default"].createElement(_TableSortLabel["default"], {
821
836
  active: _this11.state.orderBy === col.field,
822
837
  direction: _this11.state.orderBy === col.field ? _this11.state.order : 'asc',
823
838
  onClick: function onClick() {
@@ -1002,7 +1017,7 @@ TreeTable.propTypes = {
1002
1017
  // name of table to save settings in localStorage
1003
1018
  columns: _propTypes["default"].arrayOf(_propTypes["default"].shape({
1004
1019
  cellStyle: _propTypes["default"].object,
1005
- editComponent: _propTypes["default"].element,
1020
+ editComponent: _propTypes["default"].func,
1006
1021
  field: _propTypes["default"].string,
1007
1022
  headerStyle: _propTypes["default"].object,
1008
1023
  hidden: _propTypes["default"].bool,
@@ -1013,14 +1028,15 @@ TreeTable.propTypes = {
1013
1028
  'oid', 'color'])
1014
1029
  })).isRequired,
1015
1030
  noSort: _propTypes["default"].bool,
1016
- // todo
1017
1031
  onUpdate: _propTypes["default"].func,
1018
1032
  onDelete: _propTypes["default"].func,
1019
1033
  noAdd: _propTypes["default"].bool,
1020
1034
  // hide add button
1021
1035
  themeType: _propTypes["default"].string,
1022
1036
  glowOnChange: _propTypes["default"].bool,
1023
- socket: _propTypes["default"].object // only if oid type is used
1037
+ socket: _propTypes["default"].object,
1038
+ // only if oid type is used
1039
+ levelShift: _propTypes["default"].number // Shift in pixels for every level
1024
1040
 
1025
1041
  };
1026
1042