Files
old-svijetlastrana-front/src/components/Shared/ValidationErrorsInfoDialog.js

67 lines
1.7 KiB
JavaScript
Raw Normal View History

2018-05-22 12:41:39 +02:00
import React, { Component } from 'react';
import FlatButton from 'material-ui/FlatButton';
import Dialog from './draggable-dialog';
2018-05-23 04:48:57 +02:00
import './draggable-dialog/css/index.css';
2018-05-22 12:41:39 +02:00
const defaultDialogHeight = 100; //px
const dialogHeightPerLine = 25; //px
2018-05-22 12:41:39 +02:00
export class ValidationErrorsInfoDialog extends React.Component {
state = {
2018-05-22 12:41:39 +02:00
open: this.props.open,
}
componentWillReceiveProps(newProps){
this.setState({open: newProps.open});
}
handleOpen = () => {
this.setState({ open: true });
};
handleClose = () => {
this.setState({ open: false });
this.props.onDismiss();
};
render() {
2018-05-23 04:48:57 +02:00
2018-05-28 16:21:12 +02:00
const actions = [
<FlatButton
label="Dismiss"
primary={true}
onClick={this.handleClose}
/>,
];
return (
<div className="container">
{
this.state.open &&
<Dialog
title={this.props.title ? this.props.title : 'Error'}
isDraggable={this.props.draggable ? this.props.draggable : false}
buttons={actions}
hasCloseIcon={false}
modal={this.props.modal ? this.props.modal : false}
height={defaultDialogHeight + this.props.errorMessages.length * dialogHeightPerLine}
>
{this.props.errorMessages.map(errorMessage => {
return (
<div>
<a>{errorMessage.message}</a>
<br/>
</div>
);})
}
</Dialog>
2018-05-23 04:48:57 +02:00
}
2018-05-28 16:21:12 +02:00
</div>
);
}
2018-05-22 12:41:39 +02:00
}
2018-05-28 16:21:12 +02:00
module.exports = ValidationErrorsInfoDialog;