var UIMailInput = React.createClass ({displayName: "UIMailInput", getInitialState: function() { return { email: "", validMail: undefined } }, handleChange: function(event) { this.setState({email: event.target.value, validMail: validateEmail(event.target.value) ? true : undefined}); }, handleSubmit: function() { if(validateEmail(this.state.email) == false) { this.setState({validMail: false}); return; } var message = { application: this.props.application, mail: this.state.email }; if(this.props.instance != undefined) { message.instance = this.props.instance; } if(this.props.component != undefined) { message.component = this.props.component; } nutella.net.publish("monitoring/alert/add", message); alertsModel.fetchData(); console.log(message); }, render: function() { var error = "has-success"; var btn = "btn-success"; if(this.state.validMail == false) { error = "has-error"; btn = "btn-danger"; } if(this.state.validMail == undefined) { error = "has-warning"; btn = "btn-warning"; } return( React.createElement("div", {className: "input-group input-group-lg "+error}, React.createElement("span", {className: "input-group-addon", id: "sizing-addon1"}, "@"), React.createElement("input", {type: "text", id: "subscribeEmail", className: "form-control", placeholder: "e-mail", "aria-describedby": "sizing-addon1", value: this.state.email, onChange: this.handleChange}), React.createElement("span", {className: "input-group-btn"}, React.createElement("button", {className: "btn "+btn, type: "button", id: "subscribeButton", onClick: this.handleSubmit}, "Subscribe") ) ) ) } }); var UIAlerts = React.createClass ({displayName: "UIAlerts", getInitialState: function() { return { application: undefined, instance: undefined, component: undefined, emails: [] } }, componentDidMount: function() { var self = this; notificationCenter.subscribe(Notifications.alerts.ALERT_CHANGE, function() { self.setState({ application: alertsModel.application, instance: alertsModel.instance, component: alertsModel.component }); }); notificationCenter.subscribe(Notifications.alerts.EMAILS_CHANGE, function() { self.setState({ emails: alertsModel.emails }); }); }, handleDelete: function(mail) { var message = { application: this.state.application, mail: mail }; if(this.state.instance != undefined) { message.instance = this.state.instance; } if(this.state.component != undefined) { message.component = this.state.component; } nutella.net.publish("monitoring/alert/remove", message); alertsModel.fetchData(); }, render: function() { var self = this; //