diff --git a/assets/js/src/form/fields/field.jsx b/assets/js/src/form/fields/field.jsx index 0dfdd151c6..c61d1d022b 100644 --- a/assets/js/src/form/fields/field.jsx +++ b/assets/js/src/form/fields/field.jsx @@ -15,7 +15,7 @@ function( FormFieldCheckbox ) { var FormField = React.createClass({ - renderField: function(data, inline = true) { + renderField: function(data, inline = false) { var description = false; if(data.field.description) { description = ( @@ -53,17 +53,17 @@ function( if(inline === true) { return ( - + { field } { description } ); } else { return ( -
+

{ field } { description } -

+

); } }, @@ -71,8 +71,9 @@ function( var field = false; if(this.props.field['fields'] !== undefined) { - field = this.props.field.fields.map(function(subfield) { + field = this.props.field.fields.map(function(subfield, index) { return this.renderField({ + index: index, field: subfield, item: this.props.item }); diff --git a/assets/js/src/form/fields/selection.jsx b/assets/js/src/form/fields/selection.jsx index 97396bfc7b..4a6560a12b 100644 --- a/assets/js/src/form/fields/selection.jsx +++ b/assets/js/src/form/fields/selection.jsx @@ -61,30 +61,9 @@ function( }.bind(this)); }, handleChange: function() { - var new_value = this.refs.selection.getDOMNode().value; - - if(this.props.multiple === false) { - if(new_value.trim().length === 0) { - new_value = false; - } - - this.setState({ - selected: new_value - }); - } else { - var selected_values = this.state.selected || []; - - if(selected_values.indexOf(new_value) !== -1) { - // value already present so remove it - selected_values.splice(selected_values.indexOf(new_value), 1); - } else { - selected_values.push(new_value); - } - - this.setState({ - selected: selected_values - }); - } + this.setState({ + selected: jQuery('#'+this.props.id).val() + }); }, getSelected: function() { return this.state.selected; diff --git a/assets/js/src/form/fields/text.jsx b/assets/js/src/form/fields/text.jsx index 3306ff29ac..825209d77c 100644 --- a/assets/js/src/form/fields/text.jsx +++ b/assets/js/src/form/fields/text.jsx @@ -10,11 +10,16 @@ function( 0) + ? this.props.field.size + : false + } name={ this.props.field.name } id={ 'field_'+this.props.field.name } value={ this.props.item[this.props.field.name] } placeholder={ this.props.field.placeholder } + defaultValue={ this.props.field.defaultValue } onChange={ this.props.onValueChange } /> ); } diff --git a/assets/js/src/form/fields/textarea.jsx b/assets/js/src/form/fields/textarea.jsx index d938bbae88..325bddc4ee 100644 --- a/assets/js/src/form/fields/textarea.jsx +++ b/assets/js/src/form/fields/textarea.jsx @@ -13,6 +13,8 @@ function( name={ this.props.field.name } id={ 'field_'+this.props.field.name } value={ this.props.item[this.props.field.name] } + placeholder={ this.props.field.placeholder } + defaultValue={ this.props.field.defaultValue } onChange={ this.props.onValueChange } /> ); } diff --git a/assets/js/src/form/form.jsx b/assets/js/src/form/form.jsx index 805441a83c..af3ef54dd8 100644 --- a/assets/js/src/form/form.jsx +++ b/assets/js/src/form/form.jsx @@ -128,8 +128,22 @@ define( ); }.bind(this)); + var actions = false; + if(this.props.children) { + actions = this.props.children; + } else { + actions = ( + + ); + } + return (
- + { actions }
); } diff --git a/assets/js/src/newsletters/send.jsx b/assets/js/src/newsletters/send.jsx index fc46f1cf1d..15054b6e9b 100644 --- a/assets/js/src/newsletters/send.jsx +++ b/assets/js/src/newsletters/send.jsx @@ -13,6 +13,9 @@ define( Selection, Breadcrumb ) { + + var settings = window.mailpoet_settings || {}; + var fields = [ { name: 'subject', @@ -41,13 +44,13 @@ define( name: 'from_name', type: 'text', placeholder: 'John Doe', - size: 'auto' + defaultValue: settings.from_name }, { name: 'from_email', type: 'text', placeholder: 'john.doe@email.com', - size: 'auto' + defaultValue: settings.from_address }, ] }, @@ -61,14 +64,12 @@ define( { name: 'reply_to_name', type: 'text', - placeholder: 'John Doe', - size: 'auto' + placeholder: 'John Doe' }, { name: 'reply_to_email', type: 'text', - placeholder: 'john.doe@email.com', - size: 'auto' + placeholder: 'john.doe@email.com' }, ] } @@ -81,6 +82,11 @@ define( }; var NewsletterSend = React.createClass({ + handleSend: function() { + console.log('send.'); + console.log(jQuery('#mailpoet_newsletter').serializeArray()); + console.log(jQuery('#mailpoet_segments').val()); + }, render: function() { return (
@@ -89,10 +95,32 @@ define(
+ messages={ messages }> + +

+ +   + +  or simply  + + go back to design + . +

+
); } diff --git a/lib/Config/Menu.php b/lib/Config/Menu.php index 6a141ca4b3..ad2c755339 100644 --- a/lib/Config/Menu.php +++ b/lib/Config/Menu.php @@ -1,6 +1,7 @@ renderer->render('newsletters.html', $data); } diff --git a/views/newsletters.html b/views/newsletters.html index bbaff9396f..db0b4fc244 100644 --- a/views/newsletters.html +++ b/views/newsletters.html @@ -12,5 +12,6 @@ <% endblock %>