diff --git a/assets/js/src/newsletters/send/notification.jsx b/assets/js/src/newsletters/send/notification.jsx index c21b841bfc..f796192ac9 100644 --- a/assets/js/src/newsletters/send/notification.jsx +++ b/assets/js/src/newsletters/send/notification.jsx @@ -1,11 +1,13 @@ define( [ 'mailpoet', + 'wp-js-hooks', 'newsletters/types/notification/scheduling.jsx', 'underscore' ], function( MailPoet, + Hooks, Scheduling, _ ) { @@ -101,6 +103,8 @@ define( } ]; + Hooks.doAction('mailpoet_newsletter_3rd_step_fields', fields); + return { getFields: function(newsletter) { return fields; diff --git a/assets/js/src/newsletters/send/standard.jsx b/assets/js/src/newsletters/send/standard.jsx index 935f227e92..41ce31865b 100644 --- a/assets/js/src/newsletters/send/standard.jsx +++ b/assets/js/src/newsletters/send/standard.jsx @@ -4,6 +4,7 @@ define( 'jquery', 'underscore', 'mailpoet', + 'wp-js-hooks', 'form/fields/checkbox.jsx', 'form/fields/select.jsx', 'form/fields/text.jsx', @@ -13,6 +14,7 @@ define( jQuery, _, MailPoet, + Hooks, Checkbox, Select, Text @@ -411,6 +413,8 @@ define( } ]; + Hooks.doAction('mailpoet_newsletter_3rd_step_fields', fields); + return { getFields: function(newsletter) { return fields; diff --git a/assets/js/src/newsletters/send/welcome.jsx b/assets/js/src/newsletters/send/welcome.jsx index d7983d8a1b..b2d0a0beec 100644 --- a/assets/js/src/newsletters/send/welcome.jsx +++ b/assets/js/src/newsletters/send/welcome.jsx @@ -1,10 +1,12 @@ define( [ 'mailpoet', + 'wp-js-hooks', 'newsletters/types/welcome/scheduling.jsx' ], function( MailPoet, + Hooks, Scheduling ) { @@ -71,6 +73,8 @@ define( } ]; + Hooks.doAction('mailpoet_newsletter_3rd_step_fields', fields); + return { getFields: function(newsletter) { return fields; @@ -83,4 +87,3 @@ define( }; } ); - diff --git a/package.json b/package.json index 680ade3c97..4b13359f14 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "filesaver": "eligrey/FileSaver.js.git" }, "dependencies": { + "WP-JS-Hooks": "github:carldanley/WP-JS-Hooks", "backbone": "1.3.3", "backbone.marionette": "2.4.7", "backbone.radio": "1.0.5", diff --git a/views/layout.html b/views/layout.html index 6beb835748..c69138ea57 100644 --- a/views/layout.html +++ b/views/layout.html @@ -51,6 +51,8 @@ jQuery('.toplevel_page_mailpoet-newsletters.menu-top-last') <% block translations %><% endblock %> +<% block before_admin_javascript %><% endblock %> + <%= javascript( 'admin.js' )%> diff --git a/views/newsletters.html b/views/newsletters.html index 3ffec1bafd..c12ffaea0b 100644 --- a/views/newsletters.html +++ b/views/newsletters.html @@ -244,3 +244,7 @@ 'mailerSendingResumedNotice': __('Sending has been resumed.') }) %> <% endblock %> + +<% block before_admin_javascript %> + <%= do_action('mailpoet_newsletters_3rd_step_form') %> +<% endblock %> diff --git a/webpack.config.js b/webpack.config.js index 777c939823..96e52617bb 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -26,6 +26,7 @@ baseConfig = { 'sticky-kit': 'vendor/jquery.sticky-kit.js', 'interact$': 'interact.js/interact.js', 'spectrum$': 'spectrum-colorpicker/spectrum.js', + 'wp-js-hooks': 'WP-JS-Hooks/src/event-manager.js', 'blob$': 'blob/Blob.js', 'filesaver$': 'filesaver/FileSaver.js', 'papaparse': 'papaparse/papaparse.min.js', @@ -59,6 +60,10 @@ baseConfig = { include: require.resolve('underscore'), loader: 'expose-loader?_', }, + { + test: /wp-js-hooks/i, + loader: 'exports-loader?window.wp.hooks', + }, { include: /Blob.js$/, loader: 'exports-loader?window.Blob', @@ -93,7 +98,8 @@ config.push(_.extend({}, baseConfig, { entry: { vendor: [ 'handlebars', - 'handlebars_helpers' + 'handlebars_helpers', + 'wp-js-hooks' ], mailpoet: [ 'mailpoet',