diff options
author | Determinant <ted.sybil@gmail.com> | 2019-02-13 01:11:31 -0500 |
---|---|---|
committer | Determinant <ted.sybil@gmail.com> | 2019-02-13 01:11:31 -0500 |
commit | c594888953151ddfb4ca04b7752bfd51edc1d6da (patch) | |
tree | 59b6d0b0f514f76d152eee9a4359c08110f73531 /src/RegexField.js | |
parent | f28b818cc62c7fff67517a4147e64f08ebd73027 (diff) |
WIP: migrate to TypeScriptX
Diffstat (limited to 'src/RegexField.js')
-rw-r--r-- | src/RegexField.js | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/src/RegexField.js b/src/RegexField.js deleted file mode 100644 index e3fa9f4..0000000 --- a/src/RegexField.js +++ /dev/null @@ -1,98 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { withStyles } from '@material-ui/core/styles'; -import Select from '@material-ui/core/Select'; -import MenuItem from '@material-ui/core/MenuItem'; -import TextField from '@material-ui/core/TextField'; -import FormControl from '@material-ui/core/FormControl'; -import { Pattern } from './pattern'; - -const styles = theme => ({ - fieldNoRegex: { - width: 200 - }, - fieldRegex: { - marginRight: '0.5em' - } -}); - -class RegexField extends React.Component { - render() { - const { classes } = this.props; - let items = []; - var pitems = this.props.options; - const p0 = new Pattern.emptyPattern(); - pitems[p0.id] = p0; - for (let id in pitems) - { - const label = !pitems[id].isEmpty ? pitems[id].label : - <span style={{color: this.props.theme.palette.primary.dark}}>Custom</span>; - items.push(<MenuItem key={id} value={id}>{label}</MenuItem>); - } - const selectOnClick = event => { - let value; - if (pitems[event.target.value].label == null) { - value = new Pattern(0, true, - this.props.value.isRegex ? - this.props.value.value : - `^${this.props.value.value}$`, null); - } else { - value = pitems[event.target.value]; - } - this.props.onChange(value); - }; - - const regexTextOnChange = event => this.props.onChange( - new Pattern(0, true, event.target.value, null)); - - const className = this.props.value.isRegex ? classes.fieldRegex: classes.fieldNoRegex; - return ( - <FormControl> - <span> - <Select - value={this.props.value.id} - onChange={selectOnClick} - className={className}>{items} - </Select> - {this.props.value.label == null && ( - <TextField - value={this.props.value.value} - onChange={regexTextOnChange} /> - )} - </span> - </FormControl>); - } -} - -RegexField.propTypes = { - classes: PropTypes.object.isRequired, -}; - -const RegexFieldWithStyles = withStyles(styles)(RegexField); - -export function CalendarField(props) { - let options = {}; - for (let id in props.calendars) { - options[id] = new Pattern(id, false, - props.calendars[id].name, - props.calendars[id].name); - } - return ( - <RegexFieldWithStyles - value={props.value.cal} - options={options} - onChange={value => props.onChange('cal', value)} - theme={props.theme} />); -} - -export function EventField(props) { - let any = Pattern.anyPattern(); - let options = {}; - options[any.id] = any; - return ( - <RegexFieldWithStyles - value={props.value.event} - options={options} - onChange={value => props.onChange('event', value)} - theme={props.theme} />); -} |