diff options
author | Emiliano Ciavatta | 2020-09-27 15:48:38 +0000 |
---|---|---|
committer | Emiliano Ciavatta | 2020-09-27 15:48:38 +0000 |
commit | 1412a34f64e234dbc7d4e6815b841699f4dd104a (patch) | |
tree | 3575bfa3d8e4d926066d3a84991809ca14083d97 /frontend/src/components/fields/ButtonField.js | |
parent | 44af615b32faf53c04cd38cb63782cf1b1332c94 (diff) |
Add other custom fields
Diffstat (limited to 'frontend/src/components/fields/ButtonField.js')
-rw-r--r-- | frontend/src/components/fields/ButtonField.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/frontend/src/components/fields/ButtonField.js b/frontend/src/components/fields/ButtonField.js new file mode 100644 index 0000000..b32aee8 --- /dev/null +++ b/frontend/src/components/fields/ButtonField.js @@ -0,0 +1,44 @@ +import React, {Component} from 'react'; +import './ButtonField.scss'; +import './common.scss'; + +const classNames = require('classnames'); + +class ButtonField extends Component { + + constructor(props) { + super(props); + } + + render() { + const handler = () => { + if (typeof this.props.onClick === "function") { + this.props.onClick(); + } + }; + + let buttonClassnames = { + "button-bordered": this.props.bordered, + }; + if (this.props.variant) { + buttonClassnames[`button-variant-${this.props.variant}`] = true; + } + + let buttonStyle = {}; + if (this.props.color) { + buttonStyle["backgroundColor"] = this.props.color; + } + if (this.props.border) { + buttonStyle["borderColor"] = this.props.border; + } + + return ( + <div className={classNames( "field", "button-field", {"field-small": this.props.small})}> + <button type="button" className={classNames(classNames(buttonClassnames))} + onClick={handler} style={buttonStyle}>{this.props.name}</button> + </div> + ); + } +} + +export default ButtonField; |