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 (
);
}
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 (
);
}
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 %>