diff --git a/unleash-server/public/js/unleash.jsx b/unleash-server/public/js/unleash.jsx
index b747de3f76..6f085b4706 100644
--- a/unleash-server/public/js/unleash.jsx
+++ b/unleash-server/public/js/unleash.jsx
@@ -78,9 +78,13 @@ var UnsavedFeature = React.createClass({
-
@@ -97,6 +101,11 @@ var UnsavedFeature = React.createClass({
this.props.feature.enabled = this.refs.enabled.getDOMNode().checked;
this.props.onSubmit(this.props.feature);
+ },
+
+ cancelFeature: function(e) {
+ e.preventDefault();
+ this.props.onCancel(this.props.feature);
}
});
@@ -139,7 +148,8 @@ var FeatureList = React.createClass({
+ onSubmit={this.props.onFeatureSubmit}
+ onCancel={this.props.onFeatureCancel} />
);
}.bind(this));
@@ -281,6 +291,18 @@ var Unleash = React.createClass({
this.forceUpdate();
},
+ cancelNewFeature: function (feature) {
+ var unsaved = [];
+
+ this.state.unsavedFeatures.forEach(function (f) {
+ if (f.name !== feature.name) {
+ unsaved.push(f);
+ }
+ });
+
+ this.setState({unsavedFeatures: unsaved});
+ },
+
render: function() {
return (
@@ -291,6 +313,7 @@ var Unleash = React.createClass({
savedFeatures={this.state.savedFeatures}
onFeatureChanged={this.updateFeature}
onFeatureSubmit={this.createFeature}
+ onFeatureCancel={this.cancelNewFeature}
onNewFeature={this.newFeature}
/>