|
Packit Service |
eebd6f |
import React from "react";
|
|
Packit Service |
eebd6f |
import { Modal } from "patternfly-react";
|
|
Packit Service |
eebd6f |
import { FormattedMessage } from "react-intl";
|
|
Packit Service |
eebd6f |
import PropTypes from "prop-types";
|
|
Packit Service |
eebd6f |
import { connect } from "react-redux";
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
class EditDescription extends React.Component {
|
|
Packit Service |
eebd6f |
constructor(props) {
|
|
Packit Service |
eebd6f |
super(props);
|
|
Packit Service |
eebd6f |
this.state = {
|
|
Packit Service |
eebd6f |
showModal: false,
|
|
Packit Service |
eebd6f |
};
|
|
Packit Service |
eebd6f |
this.open = this.open.bind(this);
|
|
Packit Service |
eebd6f |
this.close = this.close.bind(this);
|
|
Packit Service |
eebd6f |
}
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
open(e) {
|
|
Packit Service |
eebd6f |
e.preventDefault();
|
|
Packit Service |
eebd6f |
e.stopPropagation();
|
|
Packit Service |
eebd6f |
this.setState({ showModal: true });
|
|
Packit Service |
eebd6f |
}
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
close() {
|
|
Packit Service |
eebd6f |
this.setState({ showModal: false });
|
|
Packit Service |
eebd6f |
}
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
render() {
|
|
Packit Service |
eebd6f |
return (
|
|
Packit Service |
eebd6f |
<>
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
{(this.props.descriptionAsLink && this.props.description) || (
|
|
Packit Service |
eebd6f |
<FormattedMessage defaultMessage="Edit description" />
|
|
Packit Service |
eebd6f |
)}
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
{this.state.showModal && (
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
description={this.props.description}
|
|
Packit Service |
eebd6f |
handleEditDescription={this.props.handleEditDescription}
|
|
Packit Service |
eebd6f |
close={this.close}
|
|
Packit Service |
eebd6f |
/>
|
|
Packit Service |
eebd6f |
)}
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
);
|
|
Packit Service |
eebd6f |
}
|
|
Packit Service |
eebd6f |
}
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
class EditDescriptionModal extends React.Component {
|
|
Packit Service |
eebd6f |
constructor(props) {
|
|
Packit Service |
eebd6f |
super(props);
|
|
Packit Service |
eebd6f |
this.state = {
|
|
Packit Service |
eebd6f |
description: "",
|
|
Packit Service |
eebd6f |
};
|
|
Packit Service |
eebd6f |
this.handleChange = this.handleChange.bind(this);
|
|
Packit Service |
eebd6f |
this.handleSubmit = this.handleSubmit.bind(this);
|
|
Packit Service |
eebd6f |
}
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
componentDidMount() {
|
|
Packit Service |
eebd6f |
this.setState({ description: this.props.description });
|
|
Packit Service |
eebd6f |
}
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
handleChange(e, prop) {
|
|
Packit Service |
eebd6f |
this.setState({ [prop]: e.target.value });
|
|
Packit Service |
eebd6f |
}
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
handleSubmit(e) {
|
|
Packit Service |
eebd6f |
this.props.close();
|
|
Packit Service |
eebd6f |
this.props.handleEditDescription(this.state.description);
|
|
Packit Service |
eebd6f |
e.preventDefault();
|
|
Packit Service |
eebd6f |
e.stopPropagation();
|
|
Packit Service |
eebd6f |
}
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
render() {
|
|
Packit Service |
eebd6f |
return (
|
|
Packit Service |
eebd6f |
<Modal show onHide={this.props.close} id="cmpsr-modal-edit-description">
|
|
Packit Service |
eebd6f |
<Modal.Header>
|
|
Packit Service |
eebd6f |
<Modal.CloseButton onClick={this.props.close} />
|
|
Packit Service |
eebd6f |
<Modal.Title>
|
|
Packit Service |
904037 |
<FormattedMessage defaultMessage="Edit description" />
|
|
Packit Service |
eebd6f |
</Modal.Title>
|
|
Packit Service |
eebd6f |
</Modal.Header>
|
|
Packit Service |
eebd6f |
<Modal.Body>
|
|
Packit Service |
eebd6f |
<form className="form-horizontal" data-form="description" onSubmit={this.handleSubmit}>
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
<label className="col-sm-3 control-label required-pf" htmlFor="textInput-modal-markup">
|
|
Packit Service |
eebd6f |
<FormattedMessage defaultMessage="Description" />
|
|
Packit Service |
eebd6f |
</label>
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
autoFocus
|
|
Packit Service |
eebd6f |
type="text"
|
|
Packit Service |
eebd6f |
id="textInput-modal-markup"
|
|
Packit Service |
eebd6f |
className="form-control"
|
|
Packit Service |
eebd6f |
value={this.state.description}
|
|
Packit Service |
eebd6f |
onChange={(e) => this.handleChange(e, "description")}
|
|
Packit Service |
eebd6f |
/>
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
</form>
|
|
Packit Service |
eebd6f |
</Modal.Body>
|
|
Packit Service |
eebd6f |
<Modal.Footer>
|
|
Packit Service |
eebd6f |
<button type="button" className="btn btn-default" onClick={this.props.close}>
|
|
Packit Service |
eebd6f |
<FormattedMessage defaultMessage="Cancel" />
|
|
Packit Service |
eebd6f |
</button>
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
id="edit-description-modal-submit-button"
|
|
Packit Service |
eebd6f |
type="button"
|
|
Packit Service |
eebd6f |
className="btn btn-primary"
|
|
Packit Service |
eebd6f |
onClick={this.handleSubmit}
|
|
Packit Service |
eebd6f |
>
|
|
Packit Service |
eebd6f |
<FormattedMessage defaultMessage="Save" />
|
|
Packit Service |
eebd6f |
</button>
|
|
Packit Service |
eebd6f |
</Modal.Footer>
|
|
Packit Service |
eebd6f |
</Modal>
|
|
Packit Service |
eebd6f |
);
|
|
Packit Service |
eebd6f |
}
|
|
Packit Service |
eebd6f |
}
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
EditDescription.propTypes = {
|
|
Packit Service |
eebd6f |
handleEditDescription: PropTypes.func.isRequired,
|
|
Packit Service |
eebd6f |
description: PropTypes.string,
|
|
Packit Service |
eebd6f |
descriptionAsLink: PropTypes.bool,
|
|
Packit Service |
eebd6f |
};
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
EditDescription.defaultProps = {
|
|
Packit Service |
eebd6f |
description: "",
|
|
Packit Service |
eebd6f |
descriptionAsLink: false,
|
|
Packit Service |
eebd6f |
};
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
EditDescriptionModal.propTypes = {
|
|
Packit Service |
eebd6f |
close: PropTypes.func.isRequired,
|
|
Packit Service |
eebd6f |
handleEditDescription: PropTypes.func,
|
|
Packit Service |
eebd6f |
description: PropTypes.string,
|
|
Packit Service |
eebd6f |
};
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
EditDescriptionModal.defaultProps = {
|
|
Packit Service |
eebd6f |
handleEditDescription() {},
|
|
Packit Service |
eebd6f |
description: "",
|
|
Packit Service |
eebd6f |
};
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
const mapStateToProps = () => ({});
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
export default connect(mapStateToProps, null)(EditDescription);
|