Version Description
- 2017-09-12 =
- Added: hook to override default cron URL. Thanks Fred;
- Improved: WordPress user sync optimized for large membership sites; Thanks Nagui and @deltafactory!
- Improved: column blocks are highlighted when hovering over their tools in the newsletter editor. Now column blocks are easier to visualize;
- Improved: color picker in the the email designer got instant color previews and history of recent picks to help you design newsletter elements more rapidly;
- Fixed: Twig does not throw a deprecated notice. Thanks Pascal;
- Fixed: newsletter editor now longer hangs on Internet Explorer. Thanks Danielle;
Download this release
Release Info
Developer | wysija |
Plugin | MailPoet Newsletters (New) |
Version | 3.0.0-rc.2.0.3 |
Comparing to | |
See all releases |
Code changes from version 3.0.0-rc.2.0.2 to 3.0.0-rc.2.0.3
- assets/css/manifest.json +1 -1
- assets/css/{newsletter_editor.effbdd78.css → newsletter_editor.55f2b9dc.css} +4 -2
- assets/js/{admin.6527ae62.js → admin.d091b681.js} +452 -450
- assets/js/{admin_vendor.77fc9795.js → admin_vendor.ee9853ec.js} +3 -3
- assets/js/{form_editor.8b0c5294.js → form_editor.c0e36e82.js} +105 -99
- assets/js/{mailpoet.e52dab6e.js → mailpoet.81b583ba.js} +480 -481
- assets/js/manifest.json +8 -8
- assets/js/{mp2migrator.4acba493.js → mp2migrator.923dd5b2.js} +2 -2
- assets/js/{newsletter_editor.d11e861e.js → newsletter_editor.cc3c87be.js} +747 -681
- assets/js/{public.17607eba.js → public.02e5f1af.js} +64 -64
- assets/js/{vendor.f8675e02.js → vendor.f4549608.js} +74 -74
- lang/mailpoet-da_DK.mo +0 -0
- lang/mailpoet-de_DE.mo +0 -0
- lang/mailpoet-es_ES.mo +0 -0
- lang/mailpoet-fr_CA.mo +0 -0
- lang/mailpoet-fr_FR.mo +0 -0
- lang/mailpoet-nl_NL.mo +0 -0
- lang/mailpoet-pt_BR.mo +0 -0
- lang/mailpoet-ru_RU.mo +0 -0
- lang/mailpoet.pot +39 -31
- lib/Config/Activator.php +3 -2
- lib/Config/Initializer.php +48 -27
- lib/Config/Localizer.php +6 -21
- lib/Config/MP2Migrator.php +6 -6
- lib/Config/Migrator.php +2 -1
- lib/Config/PluginActivatedHook.php +1 -4
- lib/Config/Populator.php +3 -3
- lib/Config/PopulatorData/Templates/NewsDay.php +2 -2
- lib/Config/PopulatorData/Templates/NewsletterBlank12Column.php +1 -1
- lib/Config/PopulatorData/Templates/NewsletterBlank13Column.php +1 -1
- lib/Config/PopulatorData/Templates/NewsletterBlank1Column.php +1 -1
- lib/Config/PopulatorData/Templates/PostNotificationsBlank1Column.php +1 -1
- lib/Config/PopulatorData/Templates/SimpleText.php +1 -1
- lib/Config/PopulatorData/Templates/WelcomeBlank12Column.php +1 -1
- lib/Config/PopulatorData/Templates/WelcomeBlank1Column.php +1 -1
- lib/Config/PopulatorData/Templates/WorldCup.php +2 -2
- lib/Config/Renderer.php +0 -5
- lib/Config/ServicesChecker.php +2 -2
- lib/Cron/CronHelper.php +6 -1
- lib/Segments/WP.php +95 -14
- lib/Twig/Functions.php +11 -0
- mailpoet.php +2 -2
- readme.txt +9 -1
- vendor/autoload.php +1 -1
- vendor/composer/autoload_real.php +7 -7
- vendor/composer/autoload_static.php +5 -5
- views/index.html +1 -1
- views/layout.html +1 -1
- views/newsletter/editor.html +2 -2
- views/settings/mta.html +1 -1
- views/update.html +2 -2
- views/welcome.html +2 -2
assets/css/manifest.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
{
|
2 |
"admin.css": "admin.0df54f3d.css",
|
3 |
"importExport.css": "importExport.b3745466.css",
|
4 |
-
"newsletter_editor.css": "newsletter_editor.
|
5 |
"public.css": "public.cae357df.css",
|
6 |
"rtl.css": "rtl.d41d8cd9.css"
|
7 |
}
|
1 |
{
|
2 |
"admin.css": "admin.0df54f3d.css",
|
3 |
"importExport.css": "importExport.b3745466.css",
|
4 |
+
"newsletter_editor.css": "newsletter_editor.55f2b9dc.css",
|
5 |
"public.css": "public.cae357df.css",
|
6 |
"rtl.css": "rtl.d41d8cd9.css"
|
7 |
}
|
assets/css/{newsletter_editor.effbdd78.css → newsletter_editor.55f2b9dc.css}
RENAMED
@@ -1948,10 +1948,12 @@ input.mailpoet_option_offset_left_small {
|
|
1948 |
pointer-events: none;
|
1949 |
border: 1px solid rgba(255,255,255,0);
|
1950 |
}
|
1951 |
-
.mailpoet_block:hover > .mailpoet_block_highlight
|
1952 |
-
.mailpoet_block.mailpoet_highlight > .mailpoet_block_highlight {
|
1953 |
border: 1px dashed #0074a2;
|
1954 |
}
|
|
|
|
|
|
|
1955 |
.mailpoet_content {
|
1956 |
position: relative;
|
1957 |
line-height: 1.6em;
|
1948 |
pointer-events: none;
|
1949 |
border: 1px solid rgba(255,255,255,0);
|
1950 |
}
|
1951 |
+
.mailpoet_block:hover > .mailpoet_block_highlight {
|
|
|
1952 |
border: 1px dashed #0074a2;
|
1953 |
}
|
1954 |
+
.mailpoet_block.mailpoet_highlight > .mailpoet_block_highlight {
|
1955 |
+
border: 1px dashed #0074a2 !important;
|
1956 |
+
}
|
1957 |
.mailpoet_content {
|
1958 |
position: relative;
|
1959 |
line-height: 1.6em;
|
assets/js/{admin.6527ae62.js → admin.d091b681.js}
RENAMED
@@ -2901,7 +2901,7 @@ webpackJsonp([0],[
|
|
2901 |
_mailpoet2['default'].Notice.success(message);
|
2902 |
},
|
2903 |
onNoItemsFound: function onNoItemsFound(group) {
|
2904 |
-
if (group === 'bounced' && !mailpoet_premium_active) {
|
2905 |
return _react2['default'].createElement(
|
2906 |
'div',
|
2907 |
null,
|
@@ -3035,7 +3035,7 @@ webpackJsonp([0],[
|
|
3035 |
|
3036 |
getSegmentFromId: function getSegmentFromId(segment_id) {
|
3037 |
var result = false;
|
3038 |
-
mailpoet_segments.map(function (segment) {
|
3039 |
if (segment.id === segment_id) {
|
3040 |
result = segment;
|
3041 |
}
|
@@ -3183,7 +3183,7 @@ webpackJsonp([0],[
|
|
3183 |
)
|
3184 |
),
|
3185 |
_react2['default'].createElement(_listingListingJsx2['default'], {
|
3186 |
-
limit: mailpoet_listing_per_page,
|
3187 |
location: this.props.location,
|
3188 |
params: this.props.params,
|
3189 |
endpoint: 'subscribers',
|
@@ -3326,6 +3326,7 @@ webpackJsonp([0],[
|
|
3326 |
}
|
3327 |
},
|
3328 |
handleChange: function handleChange(e) {
|
|
|
3329 |
if (this.props.onValueChange !== undefined) {
|
3330 |
if (this.props.field.multiple) {
|
3331 |
value = jQuery('#' + this.refs.select.id).val();
|
@@ -9341,7 +9342,7 @@ webpackJsonp([0],[
|
|
9341 |
|
9342 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';
|
9343 |
|
9344 |
-
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(2), __webpack_require__(274), __webpack_require__(275), __webpack_require__(180), __webpack_require__(290)], __WEBPACK_AMD_DEFINE_RESULT__ = function (React, MailPoet, classNames, Router, FormField) {
|
9345 |
|
9346 |
var Form = React.createClass({
|
9347 |
displayName: 'Form',
|
@@ -9580,7 +9581,7 @@ webpackJsonp([0],[
|
|
9580 |
|
9581 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';
|
9582 |
|
9583 |
-
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(2), __webpack_require__(291), __webpack_require__(292), __webpack_require__(293), __webpack_require__(294), __webpack_require__(295), __webpack_require__(286), __webpack_require__(296)], __WEBPACK_AMD_DEFINE_RESULT__ = function (React, FormFieldText, FormFieldTextarea, FormFieldSelect, FormFieldRadio, FormFieldCheckbox, FormFieldSelection, FormFieldDate) {
|
9584 |
var FormField = React.createClass({
|
9585 |
displayName: 'FormField',
|
9586 |
|
@@ -10129,7 +10130,6 @@ webpackJsonp([0],[
|
|
10129 |
year: _this2.state.year,
|
10130 |
placeholder: _this2.props.field.year_placeholder
|
10131 |
});
|
10132 |
-
break;
|
10133 |
|
10134 |
case 'MM':
|
10135 |
return React.createElement(FormFieldDateMonth, {
|
@@ -10141,7 +10141,6 @@ webpackJsonp([0],[
|
|
10141 |
monthNames: monthNames,
|
10142 |
placeholder: _this2.props.field.month_placeholder
|
10143 |
});
|
10144 |
-
break;
|
10145 |
|
10146 |
case 'DD':
|
10147 |
return React.createElement(FormFieldDateDay, {
|
@@ -10152,7 +10151,6 @@ webpackJsonp([0],[
|
|
10152 |
day: _this2.state.day,
|
10153 |
placeholder: _this2.props.field.day_placeholder
|
10154 |
});
|
10155 |
-
break;
|
10156 |
}
|
10157 |
});
|
10158 |
|
@@ -35259,7 +35257,7 @@ webpackJsonp([0],[
|
|
35259 |
|
35260 |
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
35261 |
|
35262 |
-
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(2), __webpack_require__(180), __webpack_require__(278), __webpack_require__(274), __webpack_require__(289), __webpack_require__(
|
35263 |
|
35264 |
var NewsletterSend = React.createClass({
|
35265 |
displayName: 'NewsletterSend',
|
@@ -35574,6 +35572,240 @@ webpackJsonp([0],[
|
|
35574 |
|
35575 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';
|
35576 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35577 |
var _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();
|
35578 |
|
35579 |
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
@@ -35958,240 +36190,6 @@ webpackJsonp([0],[
|
|
35958 |
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
35959 |
|
35960 |
/***/ },
|
35961 |
-
/* 512 */
|
35962 |
-
/***/ function(module, exports, __webpack_require__) {
|
35963 |
-
|
35964 |
-
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';
|
35965 |
-
|
35966 |
-
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(274), __webpack_require__(422), __webpack_require__(513), __webpack_require__(278)], __WEBPACK_AMD_DEFINE_RESULT__ = function (MailPoet, Hooks, Scheduling, _) {
|
35967 |
-
|
35968 |
-
var fields = [{
|
35969 |
-
name: 'subject',
|
35970 |
-
label: MailPoet.I18n.t('subjectLine'),
|
35971 |
-
tip: MailPoet.I18n.t('postNotificationSubjectLineTip'),
|
35972 |
-
type: 'text',
|
35973 |
-
validation: {
|
35974 |
-
'data-parsley-required': true,
|
35975 |
-
'data-parsley-required-message': MailPoet.I18n.t('emptySubjectLineError')
|
35976 |
-
}
|
35977 |
-
}, {
|
35978 |
-
name: 'options',
|
35979 |
-
label: MailPoet.I18n.t('selectFrequency'),
|
35980 |
-
type: 'reactComponent',
|
35981 |
-
component: Scheduling
|
35982 |
-
}, {
|
35983 |
-
name: 'segments',
|
35984 |
-
label: MailPoet.I18n.t('segments'),
|
35985 |
-
tip: MailPoet.I18n.t('segmentsTip'),
|
35986 |
-
type: 'selection',
|
35987 |
-
placeholder: MailPoet.I18n.t('selectSegmentPlaceholder'),
|
35988 |
-
id: 'mailpoet_segments',
|
35989 |
-
api_version: window.mailpoet_api_version,
|
35990 |
-
endpoint: 'segments',
|
35991 |
-
multiple: true,
|
35992 |
-
filter: function filter(segment) {
|
35993 |
-
return !!!segment.deleted_at;
|
35994 |
-
},
|
35995 |
-
getLabel: function getLabel(segment) {
|
35996 |
-
return segment.name + ' (' + parseInt(segment.subscribers, 10).toLocaleString() + ')';
|
35997 |
-
},
|
35998 |
-
transformChangedValue: function transformChangedValue(segment_ids) {
|
35999 |
-
var all_segments = this.state.items;
|
36000 |
-
return _.map(segment_ids, function (id) {
|
36001 |
-
return _.find(all_segments, function (segment) {
|
36002 |
-
return segment.id === id;
|
36003 |
-
});
|
36004 |
-
});
|
36005 |
-
},
|
36006 |
-
validation: {
|
36007 |
-
'data-parsley-required': true,
|
36008 |
-
'data-parsley-required-message': MailPoet.I18n.t('noSegmentsSelectedError')
|
36009 |
-
}
|
36010 |
-
}, {
|
36011 |
-
name: 'sender',
|
36012 |
-
label: MailPoet.I18n.t('sender'),
|
36013 |
-
tip: MailPoet.I18n.t('senderTip'),
|
36014 |
-
fields: [{
|
36015 |
-
name: 'sender_name',
|
36016 |
-
type: 'text',
|
36017 |
-
placeholder: MailPoet.I18n.t('senderNamePlaceholder'),
|
36018 |
-
validation: {
|
36019 |
-
'data-parsley-required': true
|
36020 |
-
}
|
36021 |
-
}, {
|
36022 |
-
name: 'sender_address',
|
36023 |
-
type: 'text',
|
36024 |
-
placeholder: MailPoet.I18n.t('senderAddressPlaceholder'),
|
36025 |
-
validation: {
|
36026 |
-
'data-parsley-required': true,
|
36027 |
-
'data-parsley-type': 'email'
|
36028 |
-
}
|
36029 |
-
}]
|
36030 |
-
}, {
|
36031 |
-
name: 'reply-to',
|
36032 |
-
label: MailPoet.I18n.t('replyTo'),
|
36033 |
-
tip: MailPoet.I18n.t('replyToTip'),
|
36034 |
-
inline: true,
|
36035 |
-
fields: [{
|
36036 |
-
name: 'reply_to_name',
|
36037 |
-
type: 'text',
|
36038 |
-
placeholder: MailPoet.I18n.t('replyToNamePlaceholder')
|
36039 |
-
}, {
|
36040 |
-
name: 'reply_to_address',
|
36041 |
-
type: 'text',
|
36042 |
-
placeholder: MailPoet.I18n.t('replyToAddressPlaceholder')
|
36043 |
-
}]
|
36044 |
-
}];
|
36045 |
-
|
36046 |
-
fields = Hooks.applyFilters('mailpoet_newsletters_3rd_step_fields', fields);
|
36047 |
-
|
36048 |
-
return {
|
36049 |
-
getFields: function getFields() {
|
36050 |
-
return fields;
|
36051 |
-
},
|
36052 |
-
getSendButtonOptions: function getSendButtonOptions() {
|
36053 |
-
return {
|
36054 |
-
value: MailPoet.I18n.t('activate')
|
36055 |
-
};
|
36056 |
-
}
|
36057 |
-
};
|
36058 |
-
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
36059 |
-
|
36060 |
-
/***/ },
|
36061 |
-
/* 513 */
|
36062 |
-
/***/ function(module, exports, __webpack_require__) {
|
36063 |
-
|
36064 |
-
'use strict';
|
36065 |
-
|
36066 |
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
36067 |
-
|
36068 |
-
var _underscore = __webpack_require__(278);
|
36069 |
-
|
36070 |
-
var _underscore2 = _interopRequireDefault(_underscore);
|
36071 |
-
|
36072 |
-
var _react = __webpack_require__(2);
|
36073 |
-
|
36074 |
-
var _react2 = _interopRequireDefault(_react);
|
36075 |
-
|
36076 |
-
var _formFieldsSelectJsx = __webpack_require__(293);
|
36077 |
-
|
36078 |
-
var _formFieldsSelectJsx2 = _interopRequireDefault(_formFieldsSelectJsx);
|
36079 |
-
|
36080 |
-
var _newslettersSchedulingCommonJsx = __webpack_require__(514);
|
36081 |
-
|
36082 |
-
var intervalField = {
|
36083 |
-
name: 'intervalType',
|
36084 |
-
values: _newslettersSchedulingCommonJsx.intervalValues
|
36085 |
-
};
|
36086 |
-
|
36087 |
-
var timeOfDayField = {
|
36088 |
-
name: 'timeOfDay',
|
36089 |
-
values: _newslettersSchedulingCommonJsx.timeOfDayValues
|
36090 |
-
};
|
36091 |
-
|
36092 |
-
var weekDayField = {
|
36093 |
-
name: 'weekDay',
|
36094 |
-
values: _newslettersSchedulingCommonJsx.weekDayValues
|
36095 |
-
};
|
36096 |
-
|
36097 |
-
var monthDayField = {
|
36098 |
-
name: 'monthDay',
|
36099 |
-
values: _newslettersSchedulingCommonJsx.monthDayValues
|
36100 |
-
};
|
36101 |
-
|
36102 |
-
var nthWeekDayField = {
|
36103 |
-
name: 'nthWeekDay',
|
36104 |
-
values: _newslettersSchedulingCommonJsx.nthWeekDayValues
|
36105 |
-
};
|
36106 |
-
|
36107 |
-
var NotificationScheduling = _react2['default'].createClass({
|
36108 |
-
displayName: 'NotificationScheduling',
|
36109 |
-
|
36110 |
-
_getCurrentValue: function _getCurrentValue() {
|
36111 |
-
return this.props.item[this.props.field.name] || {};
|
36112 |
-
},
|
36113 |
-
handleValueChange: function handleValueChange(name, value) {
|
36114 |
-
var oldValue = this._getCurrentValue();
|
36115 |
-
var newValue = {};
|
36116 |
-
|
36117 |
-
newValue[name] = value;
|
36118 |
-
|
36119 |
-
return this.props.onValueChange({
|
36120 |
-
target: {
|
36121 |
-
name: this.props.field.name,
|
36122 |
-
value: _underscore2['default'].extend({}, oldValue, newValue)
|
36123 |
-
}
|
36124 |
-
});
|
36125 |
-
},
|
36126 |
-
handleIntervalChange: function handleIntervalChange(event) {
|
36127 |
-
return this.handleValueChange('intervalType', event.target.value);
|
36128 |
-
},
|
36129 |
-
handleTimeOfDayChange: function handleTimeOfDayChange(event) {
|
36130 |
-
return this.handleValueChange('timeOfDay', event.target.value);
|
36131 |
-
},
|
36132 |
-
handleWeekDayChange: function handleWeekDayChange(event) {
|
36133 |
-
return this.handleValueChange('weekDay', event.target.value);
|
36134 |
-
},
|
36135 |
-
handleMonthDayChange: function handleMonthDayChange(event) {
|
36136 |
-
return this.handleValueChange('monthDay', event.target.value);
|
36137 |
-
},
|
36138 |
-
handleNthWeekDayChange: function handleNthWeekDayChange(event) {
|
36139 |
-
return this.handleValueChange('nthWeekDay', event.target.value);
|
36140 |
-
},
|
36141 |
-
render: function render() {
|
36142 |
-
var value = this._getCurrentValue();
|
36143 |
-
var timeOfDaySelection = undefined;
|
36144 |
-
var weekDaySelection = undefined;
|
36145 |
-
var monthDaySelection = undefined;
|
36146 |
-
var nthWeekDaySelection = undefined;
|
36147 |
-
|
36148 |
-
if (value.intervalType !== 'immediately') {
|
36149 |
-
timeOfDaySelection = _react2['default'].createElement(_formFieldsSelectJsx2['default'], {
|
36150 |
-
field: timeOfDayField,
|
36151 |
-
item: this._getCurrentValue(),
|
36152 |
-
onValueChange: this.handleTimeOfDayChange });
|
36153 |
-
}
|
36154 |
-
|
36155 |
-
if (value.intervalType === 'weekly' || value.intervalType === 'nthWeekDay') {
|
36156 |
-
weekDaySelection = _react2['default'].createElement(_formFieldsSelectJsx2['default'], {
|
36157 |
-
field: weekDayField,
|
36158 |
-
item: this._getCurrentValue(),
|
36159 |
-
onValueChange: this.handleWeekDayChange });
|
36160 |
-
}
|
36161 |
-
|
36162 |
-
if (value.intervalType === 'monthly') {
|
36163 |
-
monthDaySelection = _react2['default'].createElement(_formFieldsSelectJsx2['default'], {
|
36164 |
-
field: monthDayField,
|
36165 |
-
item: this._getCurrentValue(),
|
36166 |
-
onValueChange: this.handleMonthDayChange });
|
36167 |
-
}
|
36168 |
-
|
36169 |
-
if (value.intervalType === 'nthWeekDay') {
|
36170 |
-
nthWeekDaySelection = _react2['default'].createElement(_formFieldsSelectJsx2['default'], {
|
36171 |
-
field: nthWeekDayField,
|
36172 |
-
item: this._getCurrentValue(),
|
36173 |
-
onValueChange: this.handleNthWeekDayChange });
|
36174 |
-
}
|
36175 |
-
|
36176 |
-
return _react2['default'].createElement(
|
36177 |
-
'div',
|
36178 |
-
null,
|
36179 |
-
_react2['default'].createElement(_formFieldsSelectJsx2['default'], {
|
36180 |
-
field: intervalField,
|
36181 |
-
item: this._getCurrentValue(),
|
36182 |
-
onValueChange: this.handleIntervalChange }),
|
36183 |
-
nthWeekDaySelection,
|
36184 |
-
monthDaySelection,
|
36185 |
-
weekDaySelection,
|
36186 |
-
timeOfDaySelection
|
36187 |
-
);
|
36188 |
-
}
|
36189 |
-
});
|
36190 |
-
|
36191 |
-
module.exports = NotificationScheduling;
|
36192 |
-
|
36193 |
-
/***/ },
|
36194 |
-
/* 514 */,
|
36195 |
/* 515 */
|
36196 |
/***/ function(module, exports, __webpack_require__) {
|
36197 |
|
@@ -36326,7 +36324,7 @@ webpackJsonp([0],[
|
|
36326 |
|
36327 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';
|
36328 |
|
36329 |
-
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(278), __webpack_require__(2), __webpack_require__(180), __webpack_require__(274), __webpack_require__(
|
36330 |
|
36331 |
var field = {
|
36332 |
name: 'options',
|
@@ -36642,7 +36640,7 @@ webpackJsonp([0],[
|
|
36642 |
),
|
36643 |
_react2['default'].createElement(_newslettersListingsTabsJsx2['default'], { tab: 'standard' }),
|
36644 |
_react2['default'].createElement(_listingListingJsx2['default'], {
|
36645 |
-
limit: mailpoet_listing_per_page,
|
36646 |
location: this.props.location,
|
36647 |
params: this.props.params,
|
36648 |
endpoint: 'newsletters',
|
@@ -37519,7 +37517,7 @@ webpackJsonp([0],[
|
|
37519 |
),
|
37520 |
_react2['default'].createElement(_newslettersListingsTabsJsx2['default'], { tab: 'welcome' }),
|
37521 |
_react2['default'].createElement(_listingListingJsx2['default'], {
|
37522 |
-
limit: mailpoet_listing_per_page,
|
37523 |
location: this.props.location,
|
37524 |
params: this.props.params,
|
37525 |
endpoint: 'newsletters',
|
@@ -37573,7 +37571,7 @@ webpackJsonp([0],[
|
|
37573 |
|
37574 |
var _mailpoet2 = _interopRequireDefault(_mailpoet);
|
37575 |
|
37576 |
-
var _newslettersSchedulingCommonJsx = __webpack_require__(
|
37577 |
|
37578 |
var messages = {
|
37579 |
onTrash: function onTrash(response) {
|
@@ -37865,7 +37863,7 @@ webpackJsonp([0],[
|
|
37865 |
),
|
37866 |
_react2['default'].createElement(_newslettersListingsTabsJsx2['default'], { tab: 'notification' }),
|
37867 |
_react2['default'].createElement(_listingListingJsx2['default'], {
|
37868 |
-
limit: mailpoet_listing_per_page,
|
37869 |
location: this.props.location,
|
37870 |
params: this.props.params,
|
37871 |
endpoint: 'newsletters',
|
@@ -38034,7 +38032,7 @@ webpackJsonp([0],[
|
|
38034 |
_mailpoet2['default'].I18n.t('backToPostNotifications')
|
38035 |
),
|
38036 |
_react2['default'].createElement(_listingListingJsx2['default'], {
|
38037 |
-
limit: mailpoet_listing_per_page,
|
38038 |
location: this.props.location,
|
38039 |
params: this.props.params,
|
38040 |
endpoint: 'newsletters',
|
@@ -38409,7 +38407,7 @@ webpackJsonp([0],[
|
|
38409 |
)
|
38410 |
),
|
38411 |
_react2['default'].createElement(_listingListingJsx2['default'], {
|
38412 |
-
limit: mailpoet_listing_per_page,
|
38413 |
location: this.props.location,
|
38414 |
params: this.props.params,
|
38415 |
messages: messages,
|
@@ -38511,9 +38509,9 @@ webpackJsonp([0],[
|
|
38511 |
|
38512 |
var _history = __webpack_require__(243);
|
38513 |
|
38514 |
-
var
|
38515 |
|
38516 |
-
var
|
38517 |
|
38518 |
var history = (0, _reactRouter.useRouterHistory)(_history.createHashHistory)({ queryKey: false });
|
38519 |
|
@@ -38534,8 +38532,8 @@ webpackJsonp([0],[
|
|
38534 |
_react2['default'].createElement(
|
38535 |
_reactRouter.Route,
|
38536 |
{ path: '/', component: App },
|
38537 |
-
_react2['default'].createElement(_reactRouter.IndexRoute, { component:
|
38538 |
-
_react2['default'].createElement(_reactRouter.Route, { path: '*', component:
|
38539 |
)
|
38540 |
), container);
|
38541 |
}
|
@@ -38552,10 +38550,6 @@ webpackJsonp([0],[
|
|
38552 |
|
38553 |
var _react2 = _interopRequireDefault(_react);
|
38554 |
|
38555 |
-
var _listingListingJsx = __webpack_require__(276);
|
38556 |
-
|
38557 |
-
var _listingListingJsx2 = _interopRequireDefault(_listingListingJsx);
|
38558 |
-
|
38559 |
var _classnames = __webpack_require__(275);
|
38560 |
|
38561 |
var _classnames2 = _interopRequireDefault(_classnames);
|
@@ -38564,6 +38558,14 @@ webpackJsonp([0],[
|
|
38564 |
|
38565 |
var _mailpoet2 = _interopRequireDefault(_mailpoet);
|
38566 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38567 |
var columns = [{
|
38568 |
name: 'name',
|
38569 |
label: _mailpoet2['default'].I18n.t('formName'),
|
@@ -38667,7 +38669,7 @@ webpackJsonp([0],[
|
|
38667 |
endpoint: 'forms',
|
38668 |
action: 'create'
|
38669 |
}).done(function (response) {
|
38670 |
-
window.location = mailpoet_form_edit_url + response.data.id;
|
38671 |
}).fail(function (response) {
|
38672 |
if (response.errors.length > 0) {
|
38673 |
_mailpoet2['default'].Notice.error(response.errors.map(function (error) {
|
@@ -38679,8 +38681,8 @@ webpackJsonp([0],[
|
|
38679 |
renderItem: function renderItem(form, actions) {
|
38680 |
var row_classes = (0, _classnames2['default'])('manage-column', 'column-primary', 'has-row-actions');
|
38681 |
|
38682 |
-
var segments = mailpoet_segments.filter(function (segment) {
|
38683 |
-
return
|
38684 |
}).map(function (segment) {
|
38685 |
return segment.name;
|
38686 |
}).join(', ');
|
@@ -38750,7 +38752,7 @@ webpackJsonp([0],[
|
|
38750 |
)
|
38751 |
),
|
38752 |
_react2['default'].createElement(_listingListingJsx2['default'], {
|
38753 |
-
limit: mailpoet_listing_per_page,
|
38754 |
location: this.props.location,
|
38755 |
params: this.props.params,
|
38756 |
messages: messages,
|
@@ -41149,16 +41151,16 @@ webpackJsonp([0],[
|
|
41149 |
/***/ function(module, exports, __webpack_require__) {
|
41150 |
|
41151 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
41152 |
-
|
41153 |
-
|
41154 |
-
|
41155 |
-
|
41156 |
-
|
41157 |
-
|
41158 |
-
|
41159 |
-
|
41160 |
-
|
41161 |
-
|
41162 |
Backbone,
|
41163 |
_,
|
41164 |
jQuery,
|
@@ -41175,7 +41177,7 @@ webpackJsonp([0],[
|
|
41175 |
jQuery(document).ready(function () {
|
41176 |
jQuery('input[name="select_method"]').attr('checked', false);
|
41177 |
// configure router
|
41178 |
-
router = new (Backbone.Router.extend({
|
41179 |
routes: {
|
41180 |
'': 'home',
|
41181 |
step1: 'step1',
|
@@ -41199,13 +41201,13 @@ webpackJsonp([0],[
|
|
41199 |
*/
|
41200 |
router.on('route:step1', function () {
|
41201 |
// set or reset temporary validation rule on all columns
|
41202 |
-
mailpoetColumns = jQuery.map(mailpoetColumns, function (column, columnIndex) {
|
41203 |
var col = column;
|
41204 |
col.validation_rule = false;
|
41205 |
return col;
|
41206 |
});
|
41207 |
|
41208 |
-
if (typeof (importData.step1) !== 'undefined') {
|
41209 |
showCurrentStep();
|
41210 |
return;
|
41211 |
}
|
@@ -41217,21 +41219,21 @@ webpackJsonp([0],[
|
|
41217 |
|
41218 |
// define reusable variables
|
41219 |
var currentStepE = jQuery(location.hash),
|
41220 |
-
|
41221 |
-
|
41222 |
-
|
41223 |
pasteInputElement.data('placeholder').replace(/\\n/g, '\n'),
|
41224 |
-
|
41225 |
jQuery('#method_paste > div.mailpoet_method_process')
|
41226 |
.find('a.mailpoet_process'),
|
41227 |
-
|
41228 |
-
|
41229 |
-
|
41230 |
-
|
41231 |
jQuery('#method_mailchimp > div.mailpoet_method_process')
|
41232 |
.find('a.mailpoet_process'),
|
41233 |
-
|
41234 |
-
|
41235 |
jQuery('#method_file > div.mailpoet_method_process')
|
41236 |
.find('a.mailpoet_process');
|
41237 |
|
@@ -41239,7 +41241,7 @@ webpackJsonp([0],[
|
|
41239 |
methodSelectionElement.change(function () {
|
41240 |
MailPoet.Notice.hide();
|
41241 |
var available_methods = jQuery(':radio[name="select_method"]'),
|
41242 |
-
|
41243 |
available_methods.index(available_methods.filter(':checked'));
|
41244 |
// hide all methods
|
41245 |
currentStepE.find('.inside')
|
@@ -41282,7 +41284,7 @@ webpackJsonp([0],[
|
|
41282 |
MailPoet.Notice.hide();
|
41283 |
// get an approximate size of textarea paste in bytes
|
41284 |
var pasteSize = encodeURI(pasteInputElement.val()).split(/%..|./).length - 1;
|
41285 |
-
if (pasteSize > maxPostSizeBytes) {
|
41286 |
MailPoet.Notice.error(MailPoet.I18n.t('maxPostSizeNotice'));
|
41287 |
return;
|
41288 |
}
|
@@ -41298,11 +41300,11 @@ webpackJsonp([0],[
|
|
41298 |
*/
|
41299 |
uploadElement.change(function () {
|
41300 |
MailPoet.Notice.hide();
|
41301 |
-
|
41302 |
-
|
41303 |
-
|
41304 |
-
|
41305 |
-
|
41306 |
|
41307 |
toggleNextStepButton(
|
41308 |
uploadProcessButtonElement,
|
@@ -41385,7 +41387,7 @@ webpackJsonp([0],[
|
|
41385 |
}).always(function(response) {
|
41386 |
MailPoet.Modal.loading(false);
|
41387 |
}).done(function(response) {
|
41388 |
-
importData.step1 = response.data;
|
41389 |
MailPoet.trackEvent('Subscribers import started', {
|
41390 |
source: 'MailChimp',
|
41391 |
'MailPoet Free version': window.mailpoet_version
|
@@ -41443,23 +41445,23 @@ webpackJsonp([0],[
|
|
41443 |
|
41444 |
function parseCSV(isFile) {
|
41445 |
var processedSubscribers = [],
|
41446 |
-
|
41447 |
-
|
41448 |
-
|
41449 |
-
|
41450 |
-
|
41451 |
-
|
41452 |
-
|
41453 |
-
|
41454 |
-
|
41455 |
-
|
41456 |
// trim spaces, commas, periods,
|
41457 |
// single/double quotes and convert to lowercase
|
41458 |
-
|
41459 |
-
|
41460 |
// decode HTML entities
|
41461 |
-
|
41462 |
-
|
41463 |
.toLowerCase()
|
41464 |
// left/right trim spaces, punctuation (e.g., " 'email@email.com'; ")
|
41465 |
// right trim non-printable characters (e.g., "email@email.com�")
|
@@ -41468,22 +41470,22 @@ webpackJsonp([0],[
|
|
41468 |
// remove urlencoded characters
|
41469 |
.replace(/\s+|%\d+|,+/g, '');
|
41470 |
// detect e-mails that will be otherwise rejected by email regex
|
41471 |
-
|
41472 |
-
|
41473 |
// is the email inside angle brackets (e.g., 'some@email.com <some@email.com>')?
|
41474 |
-
|
41475 |
-
|
41476 |
-
|
41477 |
-
|
41478 |
// is the email in 'mailto:email' format?
|
41479 |
-
|
41480 |
-
|
41481 |
// test for valid characters using WP's rule (https://core.trac.wordpress.org/browser/tags/4.7.3/src/wp-includes/formatting.php#L2902)
|
41482 |
-
|
41483 |
-
|
41484 |
-
|
41485 |
-
|
41486 |
-
|
41487 |
|
41488 |
return {
|
41489 |
skipEmptyLines: true,
|
@@ -41516,7 +41518,7 @@ webpackJsonp([0],[
|
|
41516 |
for (var column in rowData) {
|
41517 |
var email = detectAndCleanupEmail(rowData[column]);
|
41518 |
if (emailColumnPosition === null
|
41519 |
-
&& emailRegex.test(email)) {
|
41520 |
emailColumnPosition = column;
|
41521 |
parsedEmails[email] = true; // add current e-mail to an object index
|
41522 |
rowData[column] = email;
|
@@ -41535,7 +41537,7 @@ webpackJsonp([0],[
|
|
41535 |
if (_.has(parsedEmails, email)) {
|
41536 |
duplicateEmails.push(email);
|
41537 |
}
|
41538 |
-
else if (!emailRegex.test(email)) {
|
41539 |
invalidEmails.push(rowData[emailColumnPosition]);
|
41540 |
}
|
41541 |
// if we haven't yet processed this e-mail and it passed
|
@@ -41558,8 +41560,8 @@ webpackJsonp([0],[
|
|
41558 |
) {
|
41559 |
// since we assume that the header line is always present, we need
|
41560 |
// to detect the header by checking if it contains a valid e-mail address
|
41561 |
-
importData.step1 = {
|
41562 |
-
header: (!emailRegex.test(
|
41563 |
processedSubscribers[0][emailColumnPosition])
|
41564 |
) ? processedSubscribers.shift() : null,
|
41565 |
subscribers: processedSubscribers,
|
@@ -41586,37 +41588,37 @@ webpackJsonp([0],[
|
|
41586 |
});
|
41587 |
|
41588 |
router.on('route:step2', function () {
|
41589 |
-
if (typeof (importData.step1) === 'undefined') {
|
41590 |
router.navigate('step1', {trigger: true});
|
41591 |
return;
|
41592 |
}
|
41593 |
// define reusable variables
|
41594 |
var nextStepButton = jQuery('#step2_process'),
|
41595 |
-
|
41596 |
// create a copy of subscribers object for further manipulation
|
41597 |
-
|
41598 |
-
|
41599 |
Handlebars
|
41600 |
.compile(jQuery('#subscribers_data_template')
|
41601 |
.html()),
|
41602 |
-
|
41603 |
Handlebars
|
41604 |
.compile(jQuery('#subscribers_data_template_partial')
|
41605 |
.html()),
|
41606 |
-
|
41607 |
Handlebars
|
41608 |
.compile(jQuery('#subscribers_data_parse_results_template')
|
41609 |
.html()),
|
41610 |
-
|
41611 |
-
|
41612 |
-
|
41613 |
// create an array of filler data with the same number of
|
41614 |
// elements as in the subscribers' data row
|
41615 |
-
|
41616 |
null,
|
41617 |
new Array(subscribers.subscribers[0].length)
|
41618 |
).map(String.prototype.valueOf, filler),
|
41619 |
-
|
41620 |
|
41621 |
showCurrentStep();
|
41622 |
|
@@ -41674,7 +41676,7 @@ webpackJsonp([0],[
|
|
41674 |
});
|
41675 |
|
41676 |
// show available segments
|
41677 |
-
if (mailpoetSegments.length) {
|
41678 |
jQuery('.mailpoet_segments').show();
|
41679 |
}
|
41680 |
else {
|
@@ -41747,7 +41749,7 @@ webpackJsonp([0],[
|
|
41747 |
description: segmentDescription
|
41748 |
}
|
41749 |
}).done(function(response) {
|
41750 |
-
mailpoetSegments.push({
|
41751 |
id: response.data.id,
|
41752 |
name: response.data.name,
|
41753 |
subscriberCount: 0
|
@@ -41760,7 +41762,7 @@ webpackJsonp([0],[
|
|
41760 |
selected_values.push(response.data.id);
|
41761 |
}
|
41762 |
|
41763 |
-
enableSegmentSelection(mailpoetSegments);
|
41764 |
segmentSelectElement.val(selected_values).trigger('change');
|
41765 |
jQuery('.mailpoet_segments:hidden').show();
|
41766 |
jQuery('.mailpoet_no_segments:visible').hide();
|
@@ -41791,22 +41793,22 @@ webpackJsonp([0],[
|
|
41791 |
'show_and_match_columns',
|
41792 |
function (subscribers, options) {
|
41793 |
var displayedColumns = [],
|
41794 |
-
|
41795 |
// go through all elements of the first row in subscribers data
|
41796 |
for (var i in subscribers.subscribers[0]) {
|
41797 |
var columnData = subscribers.subscribers[0][i],
|
41798 |
-
|
41799 |
// if the column is not undefined and has a valid e-mail, set type as email
|
41800 |
-
if (columnData % 1 !== 0 && emailRegex.test(columnData)) {
|
41801 |
columnId = 'email';
|
41802 |
} else if (subscribers.header) {
|
41803 |
var headerName = subscribers.header[i],
|
41804 |
-
|
41805 |
-
|
41806 |
-
|
41807 |
// set column type using header
|
41808 |
if (headerNameMatch !== -1) {
|
41809 |
-
columnId = mailpoetColumns[headerNameMatch].id;
|
41810 |
}// set column type using header name
|
41811 |
else if (headerName) {
|
41812 |
if (/first|first name|given name/i.test(headerName)) {
|
@@ -41871,7 +41873,7 @@ webpackJsonp([0],[
|
|
41871 |
// filter displayed data
|
41872 |
jQuery('select.mailpoet_subscribers_column_data_match')
|
41873 |
.select2({
|
41874 |
-
data: mailpoetColumnsSelect2,
|
41875 |
width: '15em',
|
41876 |
templateResult: function (item) {
|
41877 |
return item.name;
|
@@ -41882,7 +41884,7 @@ webpackJsonp([0],[
|
|
41882 |
})
|
41883 |
.on('select2:selecting', function (selectEvent) {
|
41884 |
var selectElement = this,
|
41885 |
-
|
41886 |
// CREATE CUSTOM FIELD
|
41887 |
if (selectedOptionId === 'create') {
|
41888 |
selectEvent.preventDefault();
|
@@ -41910,21 +41912,21 @@ webpackJsonp([0],[
|
|
41910 |
custom: true
|
41911 |
};
|
41912 |
// if this is the first custom column, create an "optgroup"
|
41913 |
-
if (mailpoetColumnsSelect2.length === 2) {
|
41914 |
-
mailpoetColumnsSelect2.push({
|
41915 |
name: MailPoet.I18n.t('userColumns'),
|
41916 |
children: []
|
41917 |
});
|
41918 |
}
|
41919 |
-
mailpoetColumnsSelect2[2].children.push(new_column_data);
|
41920 |
-
mailpoetColumns.push(new_column_data);
|
41921 |
jQuery('select.mailpoet_subscribers_column_data_match')
|
41922 |
.each(function () {
|
41923 |
jQuery(this)
|
41924 |
.html('')
|
41925 |
.select2('destroy')
|
41926 |
.select2({
|
41927 |
-
data: mailpoetColumnsSelect2,
|
41928 |
width: '15em',
|
41929 |
templateResult: function (item) {
|
41930 |
return item.name;
|
@@ -41956,7 +41958,7 @@ webpackJsonp([0],[
|
|
41956 |
jQuery('select.mailpoet_subscribers_column_data_match')
|
41957 |
.each(function () {
|
41958 |
var element = this,
|
41959 |
-
|
41960 |
// if another column has the same value and it's not an 'ignore', prompt user
|
41961 |
if (elementId === selectedOptionId
|
41962 |
&& elementId !== 'ignore') {
|
@@ -41973,7 +41975,7 @@ webpackJsonp([0],[
|
|
41973 |
})
|
41974 |
.on('select2:select', function (selectEvent) {
|
41975 |
var selectElement = this,
|
41976 |
-
|
41977 |
jQuery(selectElement).data('column-id', selectedOptionId);
|
41978 |
filterSubscribers();
|
41979 |
});
|
@@ -41984,8 +41986,8 @@ webpackJsonp([0],[
|
|
41984 |
'[data-id="notice_invalidEmail"], [data-id="notice_invalidDate"]')
|
41985 |
.remove();
|
41986 |
var subscribersClone = jQuery.extend(true, {}, subscribers),
|
41987 |
-
|
41988 |
-
|
41989 |
jQuery('.mailpoet_subscribers_column_data_match'), function (element, elementIndex) {
|
41990 |
var columnId = jQuery(element).data('column-id');
|
41991 |
var validationRule = jQuery(element).data('validation-rule');
|
@@ -41993,14 +41995,14 @@ webpackJsonp([0],[
|
|
41993 |
return { id: columnId, index: elementIndex, validationRule: validationRule, element: element };
|
41994 |
});
|
41995 |
// iterate through the object of mailpoet columns
|
41996 |
-
jQuery.map(mailpoetColumns, function (column, columnIndex) {
|
41997 |
// check if the column id matches the selected id of one of the
|
41998 |
// subscriber's data columns
|
41999 |
var matchedColumn = _.find(displayedColumns, function(data) { return data.id === column.id; });
|
42000 |
// EMAIL filter: if the first value in the column doesn't have a valid
|
42001 |
// email, hide the next button
|
42002 |
if (column.id === 'email') {
|
42003 |
-
if (!emailRegex.test(subscribersClone.subscribers[0][matchedColumn.index])) {
|
42004 |
preventNextStep = true;
|
42005 |
if (!jQuery('[data-id="notice_invalidEmail"]').length) {
|
42006 |
MailPoet.Notice.error(MailPoet.I18n.t('columnContainsInvalidElement'), {
|
@@ -42144,7 +42146,7 @@ webpackJsonp([0],[
|
|
42144 |
return res;
|
42145 |
}, []);
|
42146 |
},
|
42147 |
-
subscribers = splitSubscribers(importData.step1.subscribers, batchSize);
|
42148 |
|
42149 |
_.each(jQuery('select.mailpoet_subscribers_column_data_match'),
|
42150 |
function (column, columnIndex) {
|
@@ -42168,7 +42170,7 @@ webpackJsonp([0],[
|
|
42168 |
subscribers: subscribers[batchNumber],
|
42169 |
timestamp: timestamp,
|
42170 |
segments: segmentSelectElement.val(),
|
42171 |
-
updateSubscribers: (jQuery(':radio[name="subscriber_update_option"]:checked').val() === 'yes')
|
42172 |
})
|
42173 |
}).done(function(response) {
|
42174 |
importResults.created += response.data.created;
|
@@ -42198,37 +42200,37 @@ webpackJsonp([0],[
|
|
42198 |
);
|
42199 |
}
|
42200 |
else {
|
42201 |
-
mailpoetSegments = importResults.segments;
|
42202 |
importResults.segments = _.map(segmentSelectElement.select2('data'),
|
42203 |
function (data) {
|
42204 |
return data.name;
|
42205 |
});
|
42206 |
-
importData.step2 = importResults;
|
42207 |
-
enableSegmentSelection(mailpoetSegments);
|
42208 |
router.navigate('step3', {trigger: true});
|
42209 |
}
|
42210 |
});
|
42211 |
});
|
42212 |
|
42213 |
filterSubscribers();
|
42214 |
-
enableSegmentSelection(mailpoetSegments);
|
42215 |
});
|
42216 |
|
42217 |
router.on('route:step3', function () {
|
42218 |
-
if (typeof (importData.step2) === 'undefined') {
|
42219 |
router.navigate('step2', {trigger: true});
|
42220 |
return;
|
42221 |
}
|
42222 |
|
42223 |
showCurrentStep();
|
42224 |
|
42225 |
-
if (importData.step2.errors.length > 0) {
|
42226 |
-
MailPoet.Notice.error(_.flatten(importData.step2.errors));
|
42227 |
}
|
42228 |
|
42229 |
MailPoet.trackEvent('Subscribers import finished', {
|
42230 |
-
'Subscribers created': importData.step2.created,
|
42231 |
-
'Subscribers updated': importData.step2.updated,
|
42232 |
'MailPoet Free version': window.mailpoet_version
|
42233 |
});
|
42234 |
|
@@ -42237,21 +42239,21 @@ webpackJsonp([0],[
|
|
42237 |
Handlebars
|
42238 |
.compile(jQuery('#subscribers_data_import_results_template')
|
42239 |
.html()),
|
42240 |
-
|
42241 |
-
|
42242 |
-
|
42243 |
? MailPoet.I18n.t('subscribersCreated')
|
42244 |
-
.replace('%1$s', '<strong>' + importData.step2.created.toLocaleString() + '</strong>')
|
42245 |
-
.replace('%2$s', '"' + importData.step2.segments.join('", "') + '"')
|
42246 |
: false,
|
42247 |
-
|
42248 |
? MailPoet.I18n.t('subscribersUpdated')
|
42249 |
-
.replace('%1$s', '<strong>' + importData.step2.updated.toLocaleString() + '</strong>')
|
42250 |
-
.replace('%2$s', '"' + importData.step2.segments.join('", "') + '"')
|
42251 |
: false,
|
42252 |
-
|
42253 |
-
|
42254 |
-
|
42255 |
|
42256 |
jQuery('#subscribers_data_import_results')
|
42257 |
.html(subscribersDataImportResultsTemplate(importResults))
|
@@ -42273,7 +42275,7 @@ webpackJsonp([0],[
|
|
42273 |
}
|
42274 |
|
42275 |
// reset previous step's data so that coming back to this step is prevented
|
42276 |
-
importData.step2 = undefined;
|
42277 |
});
|
42278 |
|
42279 |
if (!Backbone.History.started) {
|
@@ -42385,44 +42387,44 @@ webpackJsonp([0],[
|
|
42385 |
/***/ function(module, exports, __webpack_require__) {
|
42386 |
|
42387 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
42388 |
-
|
42389 |
-
|
42390 |
-
|
42391 |
-
|
42392 |
-
|
42393 |
-
|
42394 |
-
|
42395 |
-
|
42396 |
-
|
42397 |
-
|
42398 |
-
|
42399 |
) {
|
42400 |
if (!jQuery('#mailpoet_subscribers_export').length) {
|
42401 |
return;
|
42402 |
}
|
42403 |
jQuery(document).ready(function () {
|
42404 |
-
if (!exportData.segments) {
|
42405 |
return;
|
42406 |
}
|
42407 |
var subscribers_export_template =
|
42408 |
Handlebars.compile(jQuery('#mailpoet_subscribers_export_template').html());
|
42409 |
|
42410 |
//render template
|
42411 |
-
jQuery('#mailpoet_subscribers_export > div.inside').html(subscribers_export_template(exportData));
|
42412 |
|
42413 |
// define reusable variables
|
42414 |
var segmentsContainerElement = jQuery('#export_lists'),
|
42415 |
-
|
42416 |
-
|
42417 |
-
|
42418 |
-
|
42419 |
-
|
42420 |
-
|
42421 |
-
|
42422 |
.html('')
|
42423 |
.select2('destroy');
|
42424 |
-
|
42425 |
-
|
42426 |
.select2({
|
42427 |
data: data,
|
42428 |
width: '20em',
|
@@ -42439,11 +42441,11 @@ webpackJsonp([0],[
|
|
42439 |
})
|
42440 |
.on('select2:selecting', function (selectEvent) {
|
42441 |
var selectElement = this,
|
42442 |
-
|
42443 |
-
|
42444 |
-
|
42445 |
-
|
42446 |
-
|
42447 |
if (_.contains(fieldsToExclude, selectedOptionId)) {
|
42448 |
selectEvent.preventDefault();
|
42449 |
if (selectedOptionId === 'deselect') {
|
@@ -42461,9 +42463,9 @@ webpackJsonp([0],[
|
|
42461 |
}
|
42462 |
})
|
42463 |
.on('change', function () {
|
42464 |
-
if ((exportData.segments && segmentsContainerElement.select2('data').length && subscriberFieldsContainerElement.select2('data').length)
|
42465 |
||
|
42466 |
-
(!exportData.segments && subscriberFieldsContainerElement.select2('data').length)
|
42467 |
) {
|
42468 |
toggleNextStepButton('on');
|
42469 |
}
|
@@ -42471,20 +42473,20 @@ webpackJsonp([0],[
|
|
42471 |
toggleNextStepButton('off');
|
42472 |
}
|
42473 |
|
42474 |
-
if (segmentsContainerElement.select2('data').length > 1 && exportData.groupBySegmentOption) {
|
42475 |
jQuery('.mailpoet_group_by_list').show();
|
42476 |
}
|
42477 |
-
else if (exportData.groupBySegmentOption) {
|
42478 |
jQuery('.mailpoet_group_by_list').hide();
|
42479 |
}
|
42480 |
});
|
42481 |
-
|
42482 |
|
42483 |
// set confirmed subscribers export option to false
|
42484 |
-
exportData.exportConfirmedOption = false;
|
42485 |
|
42486 |
-
renderSegmentsAndFields(subscriberFieldsContainerElement, subscriberFieldsSelect2);
|
42487 |
-
renderSegmentsAndFields(segmentsContainerElement, segments);
|
42488 |
|
42489 |
subscriberFieldsContainerElement.val([
|
42490 |
'email',
|
@@ -42496,12 +42498,12 @@ webpackJsonp([0],[
|
|
42496 |
exportConfirmedOptionElement.change(function () {
|
42497 |
var selectedSegments = segmentsContainerElement.val();
|
42498 |
if (this.value == 1) {
|
42499 |
-
exportData.exportConfirmedOption = true;
|
42500 |
-
renderSegmentsAndFields(segmentsContainerElement, segmentsWithConfirmedSubscribers);
|
42501 |
}
|
42502 |
else {
|
42503 |
-
exportData.exportConfirmedOption = false;
|
42504 |
-
renderSegmentsAndFields(segmentsContainerElement, segments);
|
42505 |
}
|
42506 |
segmentsContainerElement.val(selectedSegments).trigger('change');
|
42507 |
});
|
@@ -42523,39 +42525,39 @@ webpackJsonp([0],[
|
|
42523 |
MailPoet.Modal.loading(true);
|
42524 |
var exportFormat = jQuery(':radio[name="option_format"]:checked').val();
|
42525 |
MailPoet.Ajax.post({
|
42526 |
-
|
42527 |
-
|
42528 |
-
|
42529 |
-
|
42530 |
-
|
42531 |
-
|
42532 |
-
|
42533 |
-
|
42534 |
-
|
42535 |
-
|
42536 |
-
|
42537 |
-
|
42538 |
-
|
42539 |
-
|
42540 |
-
|
42541 |
-
|
42542 |
-
|
42543 |
-
|
42544 |
-
|
42545 |
-
|
42546 |
-
|
42547 |
-
|
42548 |
-
|
42549 |
-
|
42550 |
-
|
42551 |
-
|
42552 |
-
|
42553 |
-
|
42554 |
response.errors.map(function(error) { return error.message; }),
|
42555 |
{ scroll: true }
|
42556 |
);
|
42557 |
-
|
42558 |
-
|
42559 |
});
|
42560 |
});
|
42561 |
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
2901 |
_mailpoet2['default'].Notice.success(message);
|
2902 |
},
|
2903 |
onNoItemsFound: function onNoItemsFound(group) {
|
2904 |
+
if (group === 'bounced' && !window.mailpoet_premium_active) {
|
2905 |
return _react2['default'].createElement(
|
2906 |
'div',
|
2907 |
null,
|
3035 |
|
3036 |
getSegmentFromId: function getSegmentFromId(segment_id) {
|
3037 |
var result = false;
|
3038 |
+
window.mailpoet_segments.map(function (segment) {
|
3039 |
if (segment.id === segment_id) {
|
3040 |
result = segment;
|
3041 |
}
|
3183 |
)
|
3184 |
),
|
3185 |
_react2['default'].createElement(_listingListingJsx2['default'], {
|
3186 |
+
limit: window.mailpoet_listing_per_page,
|
3187 |
location: this.props.location,
|
3188 |
params: this.props.params,
|
3189 |
endpoint: 'subscribers',
|
3326 |
}
|
3327 |
},
|
3328 |
handleChange: function handleChange(e) {
|
3329 |
+
var value = undefined;
|
3330 |
if (this.props.onValueChange !== undefined) {
|
3331 |
if (this.props.field.multiple) {
|
3332 |
value = jQuery('#' + this.refs.select.id).val();
|
9342 |
|
9343 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';
|
9344 |
|
9345 |
+
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(2), __webpack_require__(274), __webpack_require__(275), __webpack_require__(180), __webpack_require__(290), __webpack_require__(273)], __WEBPACK_AMD_DEFINE_RESULT__ = function (React, MailPoet, classNames, Router, FormField, jQuery) {
|
9346 |
|
9347 |
var Form = React.createClass({
|
9348 |
displayName: 'Form',
|
9581 |
|
9582 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';
|
9583 |
|
9584 |
+
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(2), __webpack_require__(291), __webpack_require__(292), __webpack_require__(293), __webpack_require__(294), __webpack_require__(295), __webpack_require__(286), __webpack_require__(296), __webpack_require__(273)], __WEBPACK_AMD_DEFINE_RESULT__ = function (React, FormFieldText, FormFieldTextarea, FormFieldSelect, FormFieldRadio, FormFieldCheckbox, FormFieldSelection, FormFieldDate, jQuery) {
|
9585 |
var FormField = React.createClass({
|
9586 |
displayName: 'FormField',
|
9587 |
|
10130 |
year: _this2.state.year,
|
10131 |
placeholder: _this2.props.field.year_placeholder
|
10132 |
});
|
|
|
10133 |
|
10134 |
case 'MM':
|
10135 |
return React.createElement(FormFieldDateMonth, {
|
10141 |
monthNames: monthNames,
|
10142 |
placeholder: _this2.props.field.month_placeholder
|
10143 |
});
|
|
|
10144 |
|
10145 |
case 'DD':
|
10146 |
return React.createElement(FormFieldDateDay, {
|
10151 |
day: _this2.state.day,
|
10152 |
placeholder: _this2.props.field.day_placeholder
|
10153 |
});
|
|
|
10154 |
}
|
10155 |
});
|
10156 |
|
35257 |
|
35258 |
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
35259 |
|
35260 |
+
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(2), __webpack_require__(180), __webpack_require__(278), __webpack_require__(274), __webpack_require__(289), __webpack_require__(514), __webpack_require__(511), __webpack_require__(515), __webpack_require__(425), __webpack_require__(428), __webpack_require__(273)], __WEBPACK_AMD_DEFINE_RESULT__ = function (React, Router, _, MailPoet, Form, StandardNewsletterFields, NotificationNewsletterFields, WelcomeNewsletterFields, Breadcrumb, HelpTooltip, jQuery) {
|
35261 |
|
35262 |
var NewsletterSend = React.createClass({
|
35263 |
displayName: 'NewsletterSend',
|
35572 |
|
35573 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';
|
35574 |
|
35575 |
+
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(274), __webpack_require__(422), __webpack_require__(512), __webpack_require__(278)], __WEBPACK_AMD_DEFINE_RESULT__ = function (MailPoet, Hooks, Scheduling, _) {
|
35576 |
+
|
35577 |
+
var fields = [{
|
35578 |
+
name: 'subject',
|
35579 |
+
label: MailPoet.I18n.t('subjectLine'),
|
35580 |
+
tip: MailPoet.I18n.t('postNotificationSubjectLineTip'),
|
35581 |
+
type: 'text',
|
35582 |
+
validation: {
|
35583 |
+
'data-parsley-required': true,
|
35584 |
+
'data-parsley-required-message': MailPoet.I18n.t('emptySubjectLineError')
|
35585 |
+
}
|
35586 |
+
}, {
|
35587 |
+
name: 'options',
|
35588 |
+
label: MailPoet.I18n.t('selectFrequency'),
|
35589 |
+
type: 'reactComponent',
|
35590 |
+
component: Scheduling
|
35591 |
+
}, {
|
35592 |
+
name: 'segments',
|
35593 |
+
label: MailPoet.I18n.t('segments'),
|
35594 |
+
tip: MailPoet.I18n.t('segmentsTip'),
|
35595 |
+
type: 'selection',
|
35596 |
+
placeholder: MailPoet.I18n.t('selectSegmentPlaceholder'),
|
35597 |
+
id: 'mailpoet_segments',
|
35598 |
+
api_version: window.mailpoet_api_version,
|
35599 |
+
endpoint: 'segments',
|
35600 |
+
multiple: true,
|
35601 |
+
filter: function filter(segment) {
|
35602 |
+
return !!!segment.deleted_at;
|
35603 |
+
},
|
35604 |
+
getLabel: function getLabel(segment) {
|
35605 |
+
return segment.name + ' (' + parseInt(segment.subscribers, 10).toLocaleString() + ')';
|
35606 |
+
},
|
35607 |
+
transformChangedValue: function transformChangedValue(segment_ids) {
|
35608 |
+
var all_segments = this.state.items;
|
35609 |
+
return _.map(segment_ids, function (id) {
|
35610 |
+
return _.find(all_segments, function (segment) {
|
35611 |
+
return segment.id === id;
|
35612 |
+
});
|
35613 |
+
});
|
35614 |
+
},
|
35615 |
+
validation: {
|
35616 |
+
'data-parsley-required': true,
|
35617 |
+
'data-parsley-required-message': MailPoet.I18n.t('noSegmentsSelectedError')
|
35618 |
+
}
|
35619 |
+
}, {
|
35620 |
+
name: 'sender',
|
35621 |
+
label: MailPoet.I18n.t('sender'),
|
35622 |
+
tip: MailPoet.I18n.t('senderTip'),
|
35623 |
+
fields: [{
|
35624 |
+
name: 'sender_name',
|
35625 |
+
type: 'text',
|
35626 |
+
placeholder: MailPoet.I18n.t('senderNamePlaceholder'),
|
35627 |
+
validation: {
|
35628 |
+
'data-parsley-required': true
|
35629 |
+
}
|
35630 |
+
}, {
|
35631 |
+
name: 'sender_address',
|
35632 |
+
type: 'text',
|
35633 |
+
placeholder: MailPoet.I18n.t('senderAddressPlaceholder'),
|
35634 |
+
validation: {
|
35635 |
+
'data-parsley-required': true,
|
35636 |
+
'data-parsley-type': 'email'
|
35637 |
+
}
|
35638 |
+
}]
|
35639 |
+
}, {
|
35640 |
+
name: 'reply-to',
|
35641 |
+
label: MailPoet.I18n.t('replyTo'),
|
35642 |
+
tip: MailPoet.I18n.t('replyToTip'),
|
35643 |
+
inline: true,
|
35644 |
+
fields: [{
|
35645 |
+
name: 'reply_to_name',
|
35646 |
+
type: 'text',
|
35647 |
+
placeholder: MailPoet.I18n.t('replyToNamePlaceholder')
|
35648 |
+
}, {
|
35649 |
+
name: 'reply_to_address',
|
35650 |
+
type: 'text',
|
35651 |
+
placeholder: MailPoet.I18n.t('replyToAddressPlaceholder')
|
35652 |
+
}]
|
35653 |
+
}];
|
35654 |
+
|
35655 |
+
fields = Hooks.applyFilters('mailpoet_newsletters_3rd_step_fields', fields);
|
35656 |
+
|
35657 |
+
return {
|
35658 |
+
getFields: function getFields() {
|
35659 |
+
return fields;
|
35660 |
+
},
|
35661 |
+
getSendButtonOptions: function getSendButtonOptions() {
|
35662 |
+
return {
|
35663 |
+
value: MailPoet.I18n.t('activate')
|
35664 |
+
};
|
35665 |
+
}
|
35666 |
+
};
|
35667 |
+
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
35668 |
+
|
35669 |
+
/***/ },
|
35670 |
+
/* 512 */
|
35671 |
+
/***/ function(module, exports, __webpack_require__) {
|
35672 |
+
|
35673 |
+
'use strict';
|
35674 |
+
|
35675 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
35676 |
+
|
35677 |
+
var _underscore = __webpack_require__(278);
|
35678 |
+
|
35679 |
+
var _underscore2 = _interopRequireDefault(_underscore);
|
35680 |
+
|
35681 |
+
var _react = __webpack_require__(2);
|
35682 |
+
|
35683 |
+
var _react2 = _interopRequireDefault(_react);
|
35684 |
+
|
35685 |
+
var _formFieldsSelectJsx = __webpack_require__(293);
|
35686 |
+
|
35687 |
+
var _formFieldsSelectJsx2 = _interopRequireDefault(_formFieldsSelectJsx);
|
35688 |
+
|
35689 |
+
var _newslettersSchedulingCommonJsx = __webpack_require__(513);
|
35690 |
+
|
35691 |
+
var intervalField = {
|
35692 |
+
name: 'intervalType',
|
35693 |
+
values: _newslettersSchedulingCommonJsx.intervalValues
|
35694 |
+
};
|
35695 |
+
|
35696 |
+
var timeOfDayField = {
|
35697 |
+
name: 'timeOfDay',
|
35698 |
+
values: _newslettersSchedulingCommonJsx.timeOfDayValues
|
35699 |
+
};
|
35700 |
+
|
35701 |
+
var weekDayField = {
|
35702 |
+
name: 'weekDay',
|
35703 |
+
values: _newslettersSchedulingCommonJsx.weekDayValues
|
35704 |
+
};
|
35705 |
+
|
35706 |
+
var monthDayField = {
|
35707 |
+
name: 'monthDay',
|
35708 |
+
values: _newslettersSchedulingCommonJsx.monthDayValues
|
35709 |
+
};
|
35710 |
+
|
35711 |
+
var nthWeekDayField = {
|
35712 |
+
name: 'nthWeekDay',
|
35713 |
+
values: _newslettersSchedulingCommonJsx.nthWeekDayValues
|
35714 |
+
};
|
35715 |
+
|
35716 |
+
var NotificationScheduling = _react2['default'].createClass({
|
35717 |
+
displayName: 'NotificationScheduling',
|
35718 |
+
|
35719 |
+
_getCurrentValue: function _getCurrentValue() {
|
35720 |
+
return this.props.item[this.props.field.name] || {};
|
35721 |
+
},
|
35722 |
+
handleValueChange: function handleValueChange(name, value) {
|
35723 |
+
var oldValue = this._getCurrentValue();
|
35724 |
+
var newValue = {};
|
35725 |
+
|
35726 |
+
newValue[name] = value;
|
35727 |
+
|
35728 |
+
return this.props.onValueChange({
|
35729 |
+
target: {
|
35730 |
+
name: this.props.field.name,
|
35731 |
+
value: _underscore2['default'].extend({}, oldValue, newValue)
|
35732 |
+
}
|
35733 |
+
});
|
35734 |
+
},
|
35735 |
+
handleIntervalChange: function handleIntervalChange(event) {
|
35736 |
+
return this.handleValueChange('intervalType', event.target.value);
|
35737 |
+
},
|
35738 |
+
handleTimeOfDayChange: function handleTimeOfDayChange(event) {
|
35739 |
+
return this.handleValueChange('timeOfDay', event.target.value);
|
35740 |
+
},
|
35741 |
+
handleWeekDayChange: function handleWeekDayChange(event) {
|
35742 |
+
return this.handleValueChange('weekDay', event.target.value);
|
35743 |
+
},
|
35744 |
+
handleMonthDayChange: function handleMonthDayChange(event) {
|
35745 |
+
return this.handleValueChange('monthDay', event.target.value);
|
35746 |
+
},
|
35747 |
+
handleNthWeekDayChange: function handleNthWeekDayChange(event) {
|
35748 |
+
return this.handleValueChange('nthWeekDay', event.target.value);
|
35749 |
+
},
|
35750 |
+
render: function render() {
|
35751 |
+
var value = this._getCurrentValue();
|
35752 |
+
var timeOfDaySelection = undefined;
|
35753 |
+
var weekDaySelection = undefined;
|
35754 |
+
var monthDaySelection = undefined;
|
35755 |
+
var nthWeekDaySelection = undefined;
|
35756 |
+
|
35757 |
+
if (value.intervalType !== 'immediately') {
|
35758 |
+
timeOfDaySelection = _react2['default'].createElement(_formFieldsSelectJsx2['default'], {
|
35759 |
+
field: timeOfDayField,
|
35760 |
+
item: this._getCurrentValue(),
|
35761 |
+
onValueChange: this.handleTimeOfDayChange });
|
35762 |
+
}
|
35763 |
+
|
35764 |
+
if (value.intervalType === 'weekly' || value.intervalType === 'nthWeekDay') {
|
35765 |
+
weekDaySelection = _react2['default'].createElement(_formFieldsSelectJsx2['default'], {
|
35766 |
+
field: weekDayField,
|
35767 |
+
item: this._getCurrentValue(),
|
35768 |
+
onValueChange: this.handleWeekDayChange });
|
35769 |
+
}
|
35770 |
+
|
35771 |
+
if (value.intervalType === 'monthly') {
|
35772 |
+
monthDaySelection = _react2['default'].createElement(_formFieldsSelectJsx2['default'], {
|
35773 |
+
field: monthDayField,
|
35774 |
+
item: this._getCurrentValue(),
|
35775 |
+
onValueChange: this.handleMonthDayChange });
|
35776 |
+
}
|
35777 |
+
|
35778 |
+
if (value.intervalType === 'nthWeekDay') {
|
35779 |
+
nthWeekDaySelection = _react2['default'].createElement(_formFieldsSelectJsx2['default'], {
|
35780 |
+
field: nthWeekDayField,
|
35781 |
+
item: this._getCurrentValue(),
|
35782 |
+
onValueChange: this.handleNthWeekDayChange });
|
35783 |
+
}
|
35784 |
+
|
35785 |
+
return _react2['default'].createElement(
|
35786 |
+
'div',
|
35787 |
+
null,
|
35788 |
+
_react2['default'].createElement(_formFieldsSelectJsx2['default'], {
|
35789 |
+
field: intervalField,
|
35790 |
+
item: this._getCurrentValue(),
|
35791 |
+
onValueChange: this.handleIntervalChange }),
|
35792 |
+
nthWeekDaySelection,
|
35793 |
+
monthDaySelection,
|
35794 |
+
weekDaySelection,
|
35795 |
+
timeOfDaySelection
|
35796 |
+
);
|
35797 |
+
}
|
35798 |
+
});
|
35799 |
+
|
35800 |
+
module.exports = NotificationScheduling;
|
35801 |
+
|
35802 |
+
/***/ },
|
35803 |
+
/* 513 */,
|
35804 |
+
/* 514 */
|
35805 |
+
/***/ function(module, exports, __webpack_require__) {
|
35806 |
+
|
35807 |
+
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';
|
35808 |
+
|
35809 |
var _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();
|
35810 |
|
35811 |
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
36190 |
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
36191 |
|
36192 |
/***/ },
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36193 |
/* 515 */
|
36194 |
/***/ function(module, exports, __webpack_require__) {
|
36195 |
|
36324 |
|
36325 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';
|
36326 |
|
36327 |
+
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(278), __webpack_require__(2), __webpack_require__(180), __webpack_require__(274), __webpack_require__(512), __webpack_require__(425)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, React, Router, MailPoet, Scheduling, Breadcrumb) {
|
36328 |
|
36329 |
var field = {
|
36330 |
name: 'options',
|
36640 |
),
|
36641 |
_react2['default'].createElement(_newslettersListingsTabsJsx2['default'], { tab: 'standard' }),
|
36642 |
_react2['default'].createElement(_listingListingJsx2['default'], {
|
36643 |
+
limit: window.mailpoet_listing_per_page,
|
36644 |
location: this.props.location,
|
36645 |
params: this.props.params,
|
36646 |
endpoint: 'newsletters',
|
37517 |
),
|
37518 |
_react2['default'].createElement(_newslettersListingsTabsJsx2['default'], { tab: 'welcome' }),
|
37519 |
_react2['default'].createElement(_listingListingJsx2['default'], {
|
37520 |
+
limit: window.mailpoet_listing_per_page,
|
37521 |
location: this.props.location,
|
37522 |
params: this.props.params,
|
37523 |
endpoint: 'newsletters',
|
37571 |
|
37572 |
var _mailpoet2 = _interopRequireDefault(_mailpoet);
|
37573 |
|
37574 |
+
var _newslettersSchedulingCommonJsx = __webpack_require__(513);
|
37575 |
|
37576 |
var messages = {
|
37577 |
onTrash: function onTrash(response) {
|
37863 |
),
|
37864 |
_react2['default'].createElement(_newslettersListingsTabsJsx2['default'], { tab: 'notification' }),
|
37865 |
_react2['default'].createElement(_listingListingJsx2['default'], {
|
37866 |
+
limit: window.mailpoet_listing_per_page,
|
37867 |
location: this.props.location,
|
37868 |
params: this.props.params,
|
37869 |
endpoint: 'newsletters',
|
38032 |
_mailpoet2['default'].I18n.t('backToPostNotifications')
|
38033 |
),
|
38034 |
_react2['default'].createElement(_listingListingJsx2['default'], {
|
38035 |
+
limit: window.mailpoet_listing_per_page,
|
38036 |
location: this.props.location,
|
38037 |
params: this.props.params,
|
38038 |
endpoint: 'newsletters',
|
38407 |
)
|
38408 |
),
|
38409 |
_react2['default'].createElement(_listingListingJsx2['default'], {
|
38410 |
+
limit: window.mailpoet_listing_per_page,
|
38411 |
location: this.props.location,
|
38412 |
params: this.props.params,
|
38413 |
messages: messages,
|
38509 |
|
38510 |
var _history = __webpack_require__(243);
|
38511 |
|
38512 |
+
var _listJsx = __webpack_require__(533);
|
38513 |
|
38514 |
+
var _listJsx2 = _interopRequireDefault(_listJsx);
|
38515 |
|
38516 |
var history = (0, _reactRouter.useRouterHistory)(_history.createHashHistory)({ queryKey: false });
|
38517 |
|
38532 |
_react2['default'].createElement(
|
38533 |
_reactRouter.Route,
|
38534 |
{ path: '/', component: App },
|
38535 |
+
_react2['default'].createElement(_reactRouter.IndexRoute, { component: _listJsx2['default'] }),
|
38536 |
+
_react2['default'].createElement(_reactRouter.Route, { path: '*', component: _listJsx2['default'] })
|
38537 |
)
|
38538 |
), container);
|
38539 |
}
|
38550 |
|
38551 |
var _react2 = _interopRequireDefault(_react);
|
38552 |
|
|
|
|
|
|
|
|
|
38553 |
var _classnames = __webpack_require__(275);
|
38554 |
|
38555 |
var _classnames2 = _interopRequireDefault(_classnames);
|
38558 |
|
38559 |
var _mailpoet2 = _interopRequireDefault(_mailpoet);
|
38560 |
|
38561 |
+
var _jquery = __webpack_require__(273);
|
38562 |
+
|
38563 |
+
var _jquery2 = _interopRequireDefault(_jquery);
|
38564 |
+
|
38565 |
+
var _listingListingJsx = __webpack_require__(276);
|
38566 |
+
|
38567 |
+
var _listingListingJsx2 = _interopRequireDefault(_listingListingJsx);
|
38568 |
+
|
38569 |
var columns = [{
|
38570 |
name: 'name',
|
38571 |
label: _mailpoet2['default'].I18n.t('formName'),
|
38669 |
endpoint: 'forms',
|
38670 |
action: 'create'
|
38671 |
}).done(function (response) {
|
38672 |
+
window.location = window.mailpoet_form_edit_url + response.data.id;
|
38673 |
}).fail(function (response) {
|
38674 |
if (response.errors.length > 0) {
|
38675 |
_mailpoet2['default'].Notice.error(response.errors.map(function (error) {
|
38681 |
renderItem: function renderItem(form, actions) {
|
38682 |
var row_classes = (0, _classnames2['default'])('manage-column', 'column-primary', 'has-row-actions');
|
38683 |
|
38684 |
+
var segments = window.mailpoet_segments.filter(function (segment) {
|
38685 |
+
return _jquery2['default'].inArray(segment.id, form.segments) !== -1;
|
38686 |
}).map(function (segment) {
|
38687 |
return segment.name;
|
38688 |
}).join(', ');
|
38752 |
)
|
38753 |
),
|
38754 |
_react2['default'].createElement(_listingListingJsx2['default'], {
|
38755 |
+
limit: window.mailpoet_listing_per_page,
|
38756 |
location: this.props.location,
|
38757 |
params: this.props.params,
|
38758 |
messages: messages,
|
41151 |
/***/ function(module, exports, __webpack_require__) {
|
41152 |
|
41153 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
41154 |
+
__webpack_require__(535),
|
41155 |
+
__webpack_require__(278),
|
41156 |
+
__webpack_require__(273),
|
41157 |
+
__webpack_require__(274),
|
41158 |
+
__webpack_require__(543),
|
41159 |
+
__webpack_require__(544),
|
41160 |
+
__webpack_require__(545),
|
41161 |
+
__webpack_require__(297),
|
41162 |
+
__webpack_require__(287)
|
41163 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function (
|
41164 |
Backbone,
|
41165 |
_,
|
41166 |
jQuery,
|
41177 |
jQuery(document).ready(function () {
|
41178 |
jQuery('input[name="select_method"]').attr('checked', false);
|
41179 |
// configure router
|
41180 |
+
var router = new (Backbone.Router.extend({
|
41181 |
routes: {
|
41182 |
'': 'home',
|
41183 |
step1: 'step1',
|
41201 |
*/
|
41202 |
router.on('route:step1', function () {
|
41203 |
// set or reset temporary validation rule on all columns
|
41204 |
+
window.mailpoetColumns = jQuery.map(window.mailpoetColumns, function (column, columnIndex) {
|
41205 |
var col = column;
|
41206 |
col.validation_rule = false;
|
41207 |
return col;
|
41208 |
});
|
41209 |
|
41210 |
+
if (typeof (window.importData.step1) !== 'undefined') {
|
41211 |
showCurrentStep();
|
41212 |
return;
|
41213 |
}
|
41219 |
|
41220 |
// define reusable variables
|
41221 |
var currentStepE = jQuery(location.hash),
|
41222 |
+
methodSelectionElement = jQuery('#select_method'),
|
41223 |
+
pasteInputElement = jQuery('#paste_input'),
|
41224 |
+
pasteInputPlaceholderElement =
|
41225 |
pasteInputElement.data('placeholder').replace(/\\n/g, '\n'),
|
41226 |
+
pasteProcessButtonElement =
|
41227 |
jQuery('#method_paste > div.mailpoet_method_process')
|
41228 |
.find('a.mailpoet_process'),
|
41229 |
+
mailChimpKeyInputElement = jQuery('#mailchimp_key'),
|
41230 |
+
mailChimpKeyVerifyButtonElement = jQuery('#mailchimp_key_verify'),
|
41231 |
+
mailChimpListsContainerElement = jQuery('#mailchimp_lists'),
|
41232 |
+
mailChimpProcessButtonElement =
|
41233 |
jQuery('#method_mailchimp > div.mailpoet_method_process')
|
41234 |
.find('a.mailpoet_process'),
|
41235 |
+
uploadElement = jQuery('#file_local'),
|
41236 |
+
uploadProcessButtonElement =
|
41237 |
jQuery('#method_file > div.mailpoet_method_process')
|
41238 |
.find('a.mailpoet_process');
|
41239 |
|
41241 |
methodSelectionElement.change(function () {
|
41242 |
MailPoet.Notice.hide();
|
41243 |
var available_methods = jQuery(':radio[name="select_method"]'),
|
41244 |
+
selected_method =
|
41245 |
available_methods.index(available_methods.filter(':checked'));
|
41246 |
// hide all methods
|
41247 |
currentStepE.find('.inside')
|
41284 |
MailPoet.Notice.hide();
|
41285 |
// get an approximate size of textarea paste in bytes
|
41286 |
var pasteSize = encodeURI(pasteInputElement.val()).split(/%..|./).length - 1;
|
41287 |
+
if (pasteSize > window.maxPostSizeBytes) {
|
41288 |
MailPoet.Notice.error(MailPoet.I18n.t('maxPostSizeNotice'));
|
41289 |
return;
|
41290 |
}
|
41300 |
*/
|
41301 |
uploadElement.change(function () {
|
41302 |
MailPoet.Notice.hide();
|
41303 |
+
var ext = this.value.match(/\.(.+)$/);
|
41304 |
+
if (ext === null || ext[1].toLowerCase() !== 'csv') {
|
41305 |
+
this.value = '';
|
41306 |
+
MailPoet.Notice.error(MailPoet.I18n.t('wrongFileFormat'));
|
41307 |
+
}
|
41308 |
|
41309 |
toggleNextStepButton(
|
41310 |
uploadProcessButtonElement,
|
41387 |
}).always(function(response) {
|
41388 |
MailPoet.Modal.loading(false);
|
41389 |
}).done(function(response) {
|
41390 |
+
window.importData.step1 = response.data;
|
41391 |
MailPoet.trackEvent('Subscribers import started', {
|
41392 |
source: 'MailChimp',
|
41393 |
'MailPoet Free version': window.mailpoet_version
|
41445 |
|
41446 |
function parseCSV(isFile) {
|
41447 |
var processedSubscribers = [],
|
41448 |
+
parsedEmails = [],
|
41449 |
+
duplicateEmails = [],
|
41450 |
+
invalidEmails = [],
|
41451 |
+
emailColumnPosition = null,
|
41452 |
+
columnCount = null,
|
41453 |
+
isHeaderFound = false,
|
41454 |
+
advancedOptionHeader = true,
|
41455 |
+
advancedOptionDelimiter = '',
|
41456 |
+
advancedOptionNewline = '',
|
41457 |
+
advancedOptionComments = false,
|
41458 |
// trim spaces, commas, periods,
|
41459 |
// single/double quotes and convert to lowercase
|
41460 |
+
detectAndCleanupEmail = function (emailString) {
|
41461 |
+
var test;
|
41462 |
// decode HTML entities
|
41463 |
+
var email = jQuery('<div />').html(emailString).text();
|
41464 |
+
email = email
|
41465 |
.toLowerCase()
|
41466 |
// left/right trim spaces, punctuation (e.g., " 'email@email.com'; ")
|
41467 |
// right trim non-printable characters (e.g., "email@email.com�")
|
41470 |
// remove urlencoded characters
|
41471 |
.replace(/\s+|%\d+|,+/g, '');
|
41472 |
// detect e-mails that will be otherwise rejected by email regex
|
41473 |
+
test = /<(.*?)>/.exec(email);
|
41474 |
+
if (test) {
|
41475 |
// is the email inside angle brackets (e.g., 'some@email.com <some@email.com>')?
|
41476 |
+
email = test[1].trim();
|
41477 |
+
}
|
41478 |
+
test = /mailto:(?:\s+)?(.*)/.exec(email);
|
41479 |
+
if (test) {
|
41480 |
// is the email in 'mailto:email' format?
|
41481 |
+
email = test[1].trim();
|
41482 |
+
}
|
41483 |
// test for valid characters using WP's rule (https://core.trac.wordpress.org/browser/tags/4.7.3/src/wp-includes/formatting.php#L2902)
|
41484 |
+
if (!/^[a-zA-Z0-9!#$%&\'*+\/=?^_`{|}~\.\-@]+$/.test(email) ) {
|
41485 |
+
return false;
|
41486 |
+
}
|
41487 |
+
return email;
|
41488 |
+
};
|
41489 |
|
41490 |
return {
|
41491 |
skipEmptyLines: true,
|
41518 |
for (var column in rowData) {
|
41519 |
var email = detectAndCleanupEmail(rowData[column]);
|
41520 |
if (emailColumnPosition === null
|
41521 |
+
&& window.emailRegex.test(email)) {
|
41522 |
emailColumnPosition = column;
|
41523 |
parsedEmails[email] = true; // add current e-mail to an object index
|
41524 |
rowData[column] = email;
|
41537 |
if (_.has(parsedEmails, email)) {
|
41538 |
duplicateEmails.push(email);
|
41539 |
}
|
41540 |
+
else if (!window.emailRegex.test(email)) {
|
41541 |
invalidEmails.push(rowData[emailColumnPosition]);
|
41542 |
}
|
41543 |
// if we haven't yet processed this e-mail and it passed
|
41560 |
) {
|
41561 |
// since we assume that the header line is always present, we need
|
41562 |
// to detect the header by checking if it contains a valid e-mail address
|
41563 |
+
window.importData.step1 = {
|
41564 |
+
header: (!window.emailRegex.test(
|
41565 |
processedSubscribers[0][emailColumnPosition])
|
41566 |
) ? processedSubscribers.shift() : null,
|
41567 |
subscribers: processedSubscribers,
|
41588 |
});
|
41589 |
|
41590 |
router.on('route:step2', function () {
|
41591 |
+
if (typeof (window.importData.step1) === 'undefined') {
|
41592 |
router.navigate('step1', {trigger: true});
|
41593 |
return;
|
41594 |
}
|
41595 |
// define reusable variables
|
41596 |
var nextStepButton = jQuery('#step2_process'),
|
41597 |
+
previousStepButton = jQuery('#return_to_step1'),
|
41598 |
// create a copy of subscribers object for further manipulation
|
41599 |
+
subscribers = jQuery.extend(true, {}, window.importData.step1),
|
41600 |
+
subscribersDataTemplate =
|
41601 |
Handlebars
|
41602 |
.compile(jQuery('#subscribers_data_template')
|
41603 |
.html()),
|
41604 |
+
subscribersDataTemplatePartial =
|
41605 |
Handlebars
|
41606 |
.compile(jQuery('#subscribers_data_template_partial')
|
41607 |
.html()),
|
41608 |
+
subscribersDataParseResultsTemplate =
|
41609 |
Handlebars
|
41610 |
.compile(jQuery('#subscribers_data_parse_results_template')
|
41611 |
.html()),
|
41612 |
+
segmentSelectElement = jQuery('#mailpoet_segments_select'),
|
41613 |
+
maxRowsToShow = 10,
|
41614 |
+
filler = '. . .',
|
41615 |
// create an array of filler data with the same number of
|
41616 |
// elements as in the subscribers' data row
|
41617 |
+
fillerArray = Array.apply(
|
41618 |
null,
|
41619 |
new Array(subscribers.subscribers[0].length)
|
41620 |
).map(String.prototype.valueOf, filler),
|
41621 |
+
fillerPosition;
|
41622 |
|
41623 |
showCurrentStep();
|
41624 |
|
41676 |
});
|
41677 |
|
41678 |
// show available segments
|
41679 |
+
if (window.mailpoetSegments.length) {
|
41680 |
jQuery('.mailpoet_segments').show();
|
41681 |
}
|
41682 |
else {
|
41749 |
description: segmentDescription
|
41750 |
}
|
41751 |
}).done(function(response) {
|
41752 |
+
window.mailpoetSegments.push({
|
41753 |
id: response.data.id,
|
41754 |
name: response.data.name,
|
41755 |
subscriberCount: 0
|
41762 |
selected_values.push(response.data.id);
|
41763 |
}
|
41764 |
|
41765 |
+
enableSegmentSelection(window.mailpoetSegments);
|
41766 |
segmentSelectElement.val(selected_values).trigger('change');
|
41767 |
jQuery('.mailpoet_segments:hidden').show();
|
41768 |
jQuery('.mailpoet_no_segments:visible').hide();
|
41793 |
'show_and_match_columns',
|
41794 |
function (subscribers, options) {
|
41795 |
var displayedColumns = [],
|
41796 |
+
displayedColumnsIds = [];
|
41797 |
// go through all elements of the first row in subscribers data
|
41798 |
for (var i in subscribers.subscribers[0]) {
|
41799 |
var columnData = subscribers.subscribers[0][i],
|
41800 |
+
columnId = 'ignore'; // set default column type
|
41801 |
// if the column is not undefined and has a valid e-mail, set type as email
|
41802 |
+
if (columnData % 1 !== 0 && window.emailRegex.test(columnData)) {
|
41803 |
columnId = 'email';
|
41804 |
} else if (subscribers.header) {
|
41805 |
var headerName = subscribers.header[i],
|
41806 |
+
headerNameMatch = window.mailpoetColumns.map(function (el) {
|
41807 |
+
return el.name;
|
41808 |
+
}).indexOf(headerName);
|
41809 |
// set column type using header
|
41810 |
if (headerNameMatch !== -1) {
|
41811 |
+
columnId = window.mailpoetColumns[headerNameMatch].id;
|
41812 |
}// set column type using header name
|
41813 |
else if (headerName) {
|
41814 |
if (/first|first name|given name/i.test(headerName)) {
|
41873 |
// filter displayed data
|
41874 |
jQuery('select.mailpoet_subscribers_column_data_match')
|
41875 |
.select2({
|
41876 |
+
data: window.mailpoetColumnsSelect2,
|
41877 |
width: '15em',
|
41878 |
templateResult: function (item) {
|
41879 |
return item.name;
|
41884 |
})
|
41885 |
.on('select2:selecting', function (selectEvent) {
|
41886 |
var selectElement = this,
|
41887 |
+
selectedOptionId = selectEvent.params.args.data.id;
|
41888 |
// CREATE CUSTOM FIELD
|
41889 |
if (selectedOptionId === 'create') {
|
41890 |
selectEvent.preventDefault();
|
41912 |
custom: true
|
41913 |
};
|
41914 |
// if this is the first custom column, create an "optgroup"
|
41915 |
+
if (window.mailpoetColumnsSelect2.length === 2) {
|
41916 |
+
window.mailpoetColumnsSelect2.push({
|
41917 |
name: MailPoet.I18n.t('userColumns'),
|
41918 |
children: []
|
41919 |
});
|
41920 |
}
|
41921 |
+
window.mailpoetColumnsSelect2[2].children.push(new_column_data);
|
41922 |
+
window.mailpoetColumns.push(new_column_data);
|
41923 |
jQuery('select.mailpoet_subscribers_column_data_match')
|
41924 |
.each(function () {
|
41925 |
jQuery(this)
|
41926 |
.html('')
|
41927 |
.select2('destroy')
|
41928 |
.select2({
|
41929 |
+
data: window.mailpoetColumnsSelect2,
|
41930 |
width: '15em',
|
41931 |
templateResult: function (item) {
|
41932 |
return item.name;
|
41958 |
jQuery('select.mailpoet_subscribers_column_data_match')
|
41959 |
.each(function () {
|
41960 |
var element = this,
|
41961 |
+
elementId = jQuery(element).val();
|
41962 |
// if another column has the same value and it's not an 'ignore', prompt user
|
41963 |
if (elementId === selectedOptionId
|
41964 |
&& elementId !== 'ignore') {
|
41975 |
})
|
41976 |
.on('select2:select', function (selectEvent) {
|
41977 |
var selectElement = this,
|
41978 |
+
selectedOptionId = selectEvent.params.data.id;
|
41979 |
jQuery(selectElement).data('column-id', selectedOptionId);
|
41980 |
filterSubscribers();
|
41981 |
});
|
41986 |
'[data-id="notice_invalidEmail"], [data-id="notice_invalidDate"]')
|
41987 |
.remove();
|
41988 |
var subscribersClone = jQuery.extend(true, {}, subscribers),
|
41989 |
+
preventNextStep = false,
|
41990 |
+
displayedColumns = jQuery.map(
|
41991 |
jQuery('.mailpoet_subscribers_column_data_match'), function (element, elementIndex) {
|
41992 |
var columnId = jQuery(element).data('column-id');
|
41993 |
var validationRule = jQuery(element).data('validation-rule');
|
41995 |
return { id: columnId, index: elementIndex, validationRule: validationRule, element: element };
|
41996 |
});
|
41997 |
// iterate through the object of mailpoet columns
|
41998 |
+
jQuery.map(window.mailpoetColumns, function (column, columnIndex) {
|
41999 |
// check if the column id matches the selected id of one of the
|
42000 |
// subscriber's data columns
|
42001 |
var matchedColumn = _.find(displayedColumns, function(data) { return data.id === column.id; });
|
42002 |
// EMAIL filter: if the first value in the column doesn't have a valid
|
42003 |
// email, hide the next button
|
42004 |
if (column.id === 'email') {
|
42005 |
+
if (!window.emailRegex.test(subscribersClone.subscribers[0][matchedColumn.index])) {
|
42006 |
preventNextStep = true;
|
42007 |
if (!jQuery('[data-id="notice_invalidEmail"]').length) {
|
42008 |
MailPoet.Notice.error(MailPoet.I18n.t('columnContainsInvalidElement'), {
|
42146 |
return res;
|
42147 |
}, []);
|
42148 |
},
|
42149 |
+
subscribers = splitSubscribers(window.importData.step1.subscribers, batchSize);
|
42150 |
|
42151 |
_.each(jQuery('select.mailpoet_subscribers_column_data_match'),
|
42152 |
function (column, columnIndex) {
|
42170 |
subscribers: subscribers[batchNumber],
|
42171 |
timestamp: timestamp,
|
42172 |
segments: segmentSelectElement.val(),
|
42173 |
+
updateSubscribers: (jQuery(':radio[name="subscriber_update_option"]:checked').val() === 'yes')
|
42174 |
})
|
42175 |
}).done(function(response) {
|
42176 |
importResults.created += response.data.created;
|
42200 |
);
|
42201 |
}
|
42202 |
else {
|
42203 |
+
window.mailpoetSegments = importResults.segments;
|
42204 |
importResults.segments = _.map(segmentSelectElement.select2('data'),
|
42205 |
function (data) {
|
42206 |
return data.name;
|
42207 |
});
|
42208 |
+
window.importData.step2 = importResults;
|
42209 |
+
enableSegmentSelection(window.mailpoetSegments);
|
42210 |
router.navigate('step3', {trigger: true});
|
42211 |
}
|
42212 |
});
|
42213 |
});
|
42214 |
|
42215 |
filterSubscribers();
|
42216 |
+
enableSegmentSelection(window.mailpoetSegments);
|
42217 |
});
|
42218 |
|
42219 |
router.on('route:step3', function () {
|
42220 |
+
if (typeof (window.importData.step2) === 'undefined') {
|
42221 |
router.navigate('step2', {trigger: true});
|
42222 |
return;
|
42223 |
}
|
42224 |
|
42225 |
showCurrentStep();
|
42226 |
|
42227 |
+
if (window.importData.step2.errors.length > 0) {
|
42228 |
+
MailPoet.Notice.error(_.flatten(window.importData.step2.errors));
|
42229 |
}
|
42230 |
|
42231 |
MailPoet.trackEvent('Subscribers import finished', {
|
42232 |
+
'Subscribers created': window.importData.step2.created,
|
42233 |
+
'Subscribers updated': window.importData.step2.updated,
|
42234 |
'MailPoet Free version': window.mailpoet_version
|
42235 |
});
|
42236 |
|
42239 |
Handlebars
|
42240 |
.compile(jQuery('#subscribers_data_import_results_template')
|
42241 |
.html()),
|
42242 |
+
exportMenuElement = jQuery('span.mailpoet_export'),
|
42243 |
+
importResults = {
|
42244 |
+
created: (window.importData.step2.created)
|
42245 |
? MailPoet.I18n.t('subscribersCreated')
|
42246 |
+
.replace('%1$s', '<strong>' + window.importData.step2.created.toLocaleString() + '</strong>')
|
42247 |
+
.replace('%2$s', '"' + window.importData.step2.segments.join('", "') + '"')
|
42248 |
: false,
|
42249 |
+
updated: (window.importData.step2.updated)
|
42250 |
? MailPoet.I18n.t('subscribersUpdated')
|
42251 |
+
.replace('%1$s', '<strong>' + window.importData.step2.updated.toLocaleString() + '</strong>')
|
42252 |
+
.replace('%2$s', '"' + window.importData.step2.segments.join('", "') + '"')
|
42253 |
: false,
|
42254 |
+
no_action: (!window.importData.step2.created && !window.importData.step2.updated),
|
42255 |
+
added_to_segment_with_welcome_notification: window.importData.step2.added_to_segment_with_welcome_notification
|
42256 |
+
};
|
42257 |
|
42258 |
jQuery('#subscribers_data_import_results')
|
42259 |
.html(subscribersDataImportResultsTemplate(importResults))
|
42275 |
}
|
42276 |
|
42277 |
// reset previous step's data so that coming back to this step is prevented
|
42278 |
+
window.importData.step2 = undefined;
|
42279 |
});
|
42280 |
|
42281 |
if (!Backbone.History.started) {
|
42387 |
/***/ function(module, exports, __webpack_require__) {
|
42388 |
|
42389 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
42390 |
+
__webpack_require__(278),
|
42391 |
+
__webpack_require__(273),
|
42392 |
+
__webpack_require__(274),
|
42393 |
+
__webpack_require__(543),
|
42394 |
+
__webpack_require__(287)
|
42395 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function (
|
42396 |
+
_,
|
42397 |
+
jQuery,
|
42398 |
+
MailPoet,
|
42399 |
+
Handlebars,
|
42400 |
+
select2
|
42401 |
) {
|
42402 |
if (!jQuery('#mailpoet_subscribers_export').length) {
|
42403 |
return;
|
42404 |
}
|
42405 |
jQuery(document).ready(function () {
|
42406 |
+
if (!window.exportData.segments) {
|
42407 |
return;
|
42408 |
}
|
42409 |
var subscribers_export_template =
|
42410 |
Handlebars.compile(jQuery('#mailpoet_subscribers_export_template').html());
|
42411 |
|
42412 |
//render template
|
42413 |
+
jQuery('#mailpoet_subscribers_export > div.inside').html(subscribers_export_template(window.exportData));
|
42414 |
|
42415 |
// define reusable variables
|
42416 |
var segmentsContainerElement = jQuery('#export_lists'),
|
42417 |
+
subscriberFieldsContainerElement = jQuery('#export_columns'),
|
42418 |
+
exportConfirmedOptionElement = jQuery(':radio[name="option_confirmed"]'),
|
42419 |
+
groupBySegmentOptionElement = jQuery(':checkbox[name="option_group_by_list"]'),
|
42420 |
+
nextStepButton = jQuery('a.mailpoet_export_process'),
|
42421 |
+
renderSegmentsAndFields = function (container, data) {
|
42422 |
+
if (container.data('select2')) {
|
42423 |
+
container
|
42424 |
.html('')
|
42425 |
.select2('destroy');
|
42426 |
+
}
|
42427 |
+
container
|
42428 |
.select2({
|
42429 |
data: data,
|
42430 |
width: '20em',
|
42441 |
})
|
42442 |
.on('select2:selecting', function (selectEvent) {
|
42443 |
var selectElement = this,
|
42444 |
+
selectedOptionId = selectEvent.params.args.data.id,
|
42445 |
+
fieldsToExclude = [
|
42446 |
+
'select',
|
42447 |
+
'deselect'
|
42448 |
+
];
|
42449 |
if (_.contains(fieldsToExclude, selectedOptionId)) {
|
42450 |
selectEvent.preventDefault();
|
42451 |
if (selectedOptionId === 'deselect') {
|
42463 |
}
|
42464 |
})
|
42465 |
.on('change', function () {
|
42466 |
+
if ((window.exportData.segments && segmentsContainerElement.select2('data').length && subscriberFieldsContainerElement.select2('data').length)
|
42467 |
||
|
42468 |
+
(!window.exportData.segments && subscriberFieldsContainerElement.select2('data').length)
|
42469 |
) {
|
42470 |
toggleNextStepButton('on');
|
42471 |
}
|
42473 |
toggleNextStepButton('off');
|
42474 |
}
|
42475 |
|
42476 |
+
if (segmentsContainerElement.select2('data').length > 1 && window.exportData.groupBySegmentOption) {
|
42477 |
jQuery('.mailpoet_group_by_list').show();
|
42478 |
}
|
42479 |
+
else if (window.exportData.groupBySegmentOption) {
|
42480 |
jQuery('.mailpoet_group_by_list').hide();
|
42481 |
}
|
42482 |
});
|
42483 |
+
};
|
42484 |
|
42485 |
// set confirmed subscribers export option to false
|
42486 |
+
window.exportData.exportConfirmedOption = false;
|
42487 |
|
42488 |
+
renderSegmentsAndFields(subscriberFieldsContainerElement, window.subscriberFieldsSelect2);
|
42489 |
+
renderSegmentsAndFields(segmentsContainerElement, window.segments);
|
42490 |
|
42491 |
subscriberFieldsContainerElement.val([
|
42492 |
'email',
|
42498 |
exportConfirmedOptionElement.change(function () {
|
42499 |
var selectedSegments = segmentsContainerElement.val();
|
42500 |
if (this.value == 1) {
|
42501 |
+
window.exportData.exportConfirmedOption = true;
|
42502 |
+
renderSegmentsAndFields(segmentsContainerElement, window.segmentsWithConfirmedSubscribers);
|
42503 |
}
|
42504 |
else {
|
42505 |
+
window.exportData.exportConfirmedOption = false;
|
42506 |
+
renderSegmentsAndFields(segmentsContainerElement, window.segments);
|
42507 |
}
|
42508 |
segmentsContainerElement.val(selectedSegments).trigger('change');
|
42509 |
});
|
42525 |
MailPoet.Modal.loading(true);
|
42526 |
var exportFormat = jQuery(':radio[name="option_format"]:checked').val();
|
42527 |
MailPoet.Ajax.post({
|
42528 |
+
api_version: window.mailpoet_api_version,
|
42529 |
+
endpoint: 'ImportExport',
|
42530 |
+
action: 'processExport',
|
42531 |
+
data: JSON.stringify({
|
42532 |
+
export_confirmed_option: window.exportData.exportConfirmedOption,
|
42533 |
+
export_format_option: exportFormat,
|
42534 |
+
group_by_segment_option: (groupBySegmentOptionElement.is(':visible')) ? groupBySegmentOptionElement.prop('checked') : false,
|
42535 |
+
segments: (window.exportData.segments) ? segmentsContainerElement.val() : false,
|
42536 |
+
subscriber_fields: subscriberFieldsContainerElement.val()
|
42537 |
+
})
|
42538 |
+
}).always(function(response) {
|
42539 |
+
MailPoet.Modal.loading(false);
|
42540 |
+
}).done(function(response) {
|
42541 |
+
var resultMessage = MailPoet.I18n.t('exportMessage')
|
42542 |
+
.replace('%1$s', '<strong>' + parseInt(response.data.totalExported).toLocaleString() + '</strong>')
|
42543 |
+
.replace('[link]', '<a href="' + response.data.exportFileURL + '" target="_blank" >')
|
42544 |
+
.replace('[/link]', '</a>');
|
42545 |
+
jQuery('#export_result_notice').html('<p>' + resultMessage + '</p>').show();
|
42546 |
+
window.location.href = response.data.exportFileURL;
|
42547 |
+
MailPoet.trackEvent('Subscribers export completed', {
|
42548 |
+
'Total exported': response.data.totalExported,
|
42549 |
+
'Only confirmed?': window.exportData.exportConfirmedOption,
|
42550 |
+
'File Format': exportFormat,
|
42551 |
+
'MailPoet Free version': window.mailpoet_version
|
42552 |
+
});
|
42553 |
+
}).fail(function(response) {
|
42554 |
+
if (response.errors.length > 0) {
|
42555 |
+
MailPoet.Notice.error(
|
42556 |
response.errors.map(function(error) { return error.message; }),
|
42557 |
{ scroll: true }
|
42558 |
);
|
42559 |
+
}
|
42560 |
+
});
|
42561 |
});
|
42562 |
});
|
42563 |
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
assets/js/{admin_vendor.77fc9795.js → admin_vendor.ee9853ec.js}
RENAMED
@@ -34082,8 +34082,7 @@ webpackJsonp([1],[
|
|
34082 |
/* 510 */,
|
34083 |
/* 511 */,
|
34084 |
/* 512 */,
|
34085 |
-
/* 513
|
34086 |
-
/* 514 */
|
34087 |
/***/ function(module, exports, __webpack_require__) {
|
34088 |
|
34089 |
'use strict';
|
@@ -34177,6 +34176,7 @@ webpackJsonp([1],[
|
|
34177 |
exports.nthWeekDayValues = _nthWeekDayValues;
|
34178 |
|
34179 |
/***/ },
|
|
|
34180 |
/* 515 */,
|
34181 |
/* 516 */
|
34182 |
/***/ function(module, exports, __webpack_require__) {
|
@@ -34215,7 +34215,7 @@ webpackJsonp([1],[
|
|
34215 |
|
34216 |
var _formFieldsTextJsx2 = _interopRequireDefault(_formFieldsTextJsx);
|
34217 |
|
34218 |
-
var _newslettersSchedulingCommonJsx = __webpack_require__(
|
34219 |
|
34220 |
var availableRoles = window.mailpoet_roles || {};
|
34221 |
var availableSegments = _underscore2['default'].filter(window.mailpoet_segments || [], function (segment) {
|
34082 |
/* 510 */,
|
34083 |
/* 511 */,
|
34084 |
/* 512 */,
|
34085 |
+
/* 513 */
|
|
|
34086 |
/***/ function(module, exports, __webpack_require__) {
|
34087 |
|
34088 |
'use strict';
|
34176 |
exports.nthWeekDayValues = _nthWeekDayValues;
|
34177 |
|
34178 |
/***/ },
|
34179 |
+
/* 514 */,
|
34180 |
/* 515 */,
|
34181 |
/* 516 */
|
34182 |
/***/ function(module, exports, __webpack_require__) {
|
34215 |
|
34216 |
var _formFieldsTextJsx2 = _interopRequireDefault(_formFieldsTextJsx);
|
34217 |
|
34218 |
+
var _newslettersSchedulingCommonJsx = __webpack_require__(513);
|
34219 |
|
34220 |
var availableRoles = window.mailpoet_roles || {};
|
34221 |
var availableSegments = _underscore2['default'].filter(window.mailpoet_segments || [], function (segment) {
|
assets/js/{form_editor.8b0c5294.js → form_editor.c0e36e82.js}
RENAMED
@@ -114,7 +114,7 @@ webpackJsonp([2],{
|
|
114 |
function getHandlers(klass) {
|
115 |
var proto = klass.prototype,
|
116 |
namespace = proto.namespace;
|
117 |
-
return Object.keys(proto).grep(/^on/).inject(
|
118 |
if(name === 'onDomLoaded') return handlers;
|
119 |
handlers.set(getEventName(name, namespace), getWrapper(proto[name], klass));
|
120 |
return handlers;
|
@@ -128,7 +128,7 @@ webpackJsonp([2],{
|
|
128 |
}
|
129 |
|
130 |
function onDomLoad(selector, klass) {
|
131 |
-
|
132 |
new klass(element).onDomLoaded();
|
133 |
});
|
134 |
}
|
@@ -137,7 +137,13 @@ webpackJsonp([2],{
|
|
137 |
if(!this.handlers) this.handlers = {};
|
138 |
if(this.handlers[selector]) return;
|
139 |
var klass = this;
|
140 |
-
if(this.prototype.onDomLoaded)
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
this.handlers[selector] = getHandlers(klass).each(function(handler) {
|
142 |
document.delegate(selector, handler.key, handler.value);
|
143 |
});
|
@@ -153,12 +159,12 @@ webpackJsonp([2],{
|
|
153 |
})();
|
154 |
|
155 |
// override droppables
|
156 |
-
Object.extend(Droppables, {
|
157 |
-
deactivate: Droppables.deactivate.wrap(function(proceed, drop, draggable) {
|
158 |
if(drop.onLeave) drop.onLeave(draggable, drop.element);
|
159 |
return proceed(drop);
|
160 |
}),
|
161 |
-
activate: Droppables.activate.wrap(function(proceed, drop, draggable) {
|
162 |
if(drop.onEnter) drop.onEnter(draggable, drop.element);
|
163 |
return proceed(drop);
|
164 |
}),
|
@@ -166,14 +172,14 @@ webpackJsonp([2],{
|
|
166 |
if(!this.drops.length) return;
|
167 |
var drop, affected = [];
|
168 |
this.drops.each(function(drop) {
|
169 |
-
if(Droppables.isAffected(point, element, drop)) affected.push(drop);
|
170 |
});
|
171 |
-
if(affected.length > 0) drop = Droppables.findDeepestChild(affected);
|
172 |
if(this.last_active && this.last_active !== drop) this.deactivate(this.last_active, element);
|
173 |
if(drop) {
|
174 |
-
Position.within(drop.element, point[0], point[1]);
|
175 |
-
if(drop.onHover) drop.onHover(element, drop.element, Position.overlap(drop.overlap, drop.element));
|
176 |
-
if(drop !== this.last_active) Droppables.activate(drop, element);
|
177 |
}
|
178 |
},
|
179 |
displayArea: function(draggable) {
|
@@ -222,36 +228,36 @@ webpackJsonp([2],{
|
|
222 |
// check if the field is unique
|
223 |
if(parseInt(clone.readAttribute('wysija_unique'), 10) === 1) {
|
224 |
// check if the field is already in the queue
|
225 |
-
|
226 |
}
|
227 |
|
228 |
// check history size
|
229 |
-
if(
|
230 |
// remove oldest element (last in the list)
|
231 |
-
|
232 |
}
|
233 |
|
234 |
// store block in history
|
235 |
-
|
236 |
top: clone
|
237 |
});
|
238 |
},
|
239 |
dequeue: function() {
|
240 |
// pop last block off the history
|
241 |
-
var block =
|
242 |
|
243 |
if(block !== undefined) {
|
244 |
// insert block back into the editor
|
245 |
-
|
246 |
top: block
|
247 |
});
|
248 |
}
|
249 |
},
|
250 |
clear: function() {
|
251 |
-
|
252 |
},
|
253 |
remove: function(field) {
|
254 |
-
|
255 |
}
|
256 |
};
|
257 |
|
@@ -295,17 +301,17 @@ webpackJsonp([2],{
|
|
295 |
},
|
296 |
loading: function(is_loading) {
|
297 |
if(is_loading) {
|
298 |
-
|
299 |
-
|
300 |
} else {
|
301 |
-
|
302 |
-
|
303 |
}
|
304 |
},
|
305 |
loadStatic: function(blocks) {
|
306 |
-
|
307 |
// create block
|
308 |
-
WysijaForm.Block.create(block,
|
309 |
});
|
310 |
},
|
311 |
load: function(data) {
|
@@ -313,13 +319,13 @@ webpackJsonp([2],{
|
|
313 |
|
314 |
// load body
|
315 |
if(data.body !== undefined) {
|
316 |
-
|
317 |
// create block
|
318 |
-
WysijaForm.Block.create(block,
|
319 |
});
|
320 |
|
321 |
// load settings
|
322 |
-
var settings_elements =
|
323 |
settings_elements.each(function(setting) {
|
324 |
// skip lists
|
325 |
if(setting.name === 'segments') {
|
@@ -328,7 +334,7 @@ webpackJsonp([2],{
|
|
328 |
// if the input value is equal to the one stored in the settings
|
329 |
if(setting.value === data.settings[setting.name]) {
|
330 |
// check selected value
|
331 |
-
|
332 |
}
|
333 |
} else if(data.settings[setting.name] !== undefined) {
|
334 |
if(typeof data.settings[setting.name] === 'string') {
|
@@ -343,10 +349,10 @@ webpackJsonp([2],{
|
|
343 |
save: function() {
|
344 |
var position = 1,
|
345 |
data = {
|
346 |
-
name:
|
347 |
-
settings:
|
348 |
body: [],
|
349 |
-
styles: (MailPoet.CodeEditor !== undefined) ? MailPoet.CodeEditor.getValue() : null
|
350 |
};
|
351 |
// body
|
352 |
WysijaForm.getBlocks().each(function(b) {
|
@@ -418,11 +424,11 @@ webpackJsonp([2],{
|
|
418 |
return data;
|
419 |
},
|
420 |
toggleWidgets: function() {
|
421 |
-
|
422 |
|
423 |
// loop through each unique field already inserted in the editor and disable its toolbar equivalent
|
424 |
-
|
425 |
-
var field =
|
426 |
if(field.length > 0) {
|
427 |
field.first().addClassName('disabled');
|
428 |
}
|
@@ -431,18 +437,18 @@ webpackJsonp([2],{
|
|
431 |
var hasSegmentSelection = WysijaForm.hasSegmentSelection();
|
432 |
|
433 |
if(hasSegmentSelection) {
|
434 |
-
|
435 |
-
|
436 |
} else {
|
437 |
-
|
438 |
-
|
439 |
}
|
440 |
},
|
441 |
hasSegmentSelection: function() {
|
442 |
-
return (
|
443 |
},
|
444 |
isSegmentSelectionValid: function() {
|
445 |
-
var segment_selection =
|
446 |
if(segment_selection !== undefined) {
|
447 |
var block = WysijaForm.get(segment_selection).block.getData();
|
448 |
return (
|
@@ -470,7 +476,7 @@ webpackJsonp([2],{
|
|
470 |
|
471 |
if(target !== undefined) {
|
472 |
// get placeholders (previous placeholder matches the placeholder linked to the next block)
|
473 |
-
var block_placeholder =
|
474 |
previous_placeholder = target.element.previous('.block_placeholder');
|
475 |
|
476 |
if(block_placeholder !== null) {
|
@@ -492,18 +498,18 @@ webpackJsonp([2],{
|
|
492 |
WysijaForm.scroll = document.viewport.getScrollOffsets();
|
493 |
},
|
494 |
hideSettings: function() {
|
495 |
-
|
496 |
},
|
497 |
setSettingsPosition: function() {
|
498 |
// get viewport offsets and dimensions
|
499 |
var viewportHeight = document.viewport.getHeight(),
|
500 |
blockPadding = 5;
|
501 |
|
502 |
-
|
503 |
// get parent dimensions and position
|
504 |
var parentDim = element.up('.mailpoet_form_block').getDimensions(),
|
505 |
parentPos = element.up('.mailpoet_form_block').cumulativeOffset(),
|
506 |
-
is_visible = (parentPos.top <= (WysijaForm.scroll.top + viewportHeight))
|
507 |
buttonMargin = 5,
|
508 |
relativeTop = buttonMargin;
|
509 |
|
@@ -517,22 +523,22 @@ webpackJsonp([2],{
|
|
517 |
relativeTop = parseInt((parentDim.height / 2) - (element.getHeight() / 2), 10);
|
518 |
}
|
519 |
// set position for button
|
520 |
-
|
521 |
left: parseInt((parentDim.width / 2) - (element.getWidth() / 2)) + 'px',
|
522 |
top: relativeTop + 'px'
|
523 |
});
|
524 |
});
|
525 |
},
|
526 |
initToolbarPosition: function() {
|
527 |
-
if(WysijaForm.toolbar.top === null) WysijaForm.toolbar.top = parseInt(
|
528 |
if(WysijaForm.toolbar.y === null) WysijaForm.toolbar.y = parseInt(WysijaForm.toolbar.top);
|
529 |
|
530 |
-
if(isRtl) {
|
531 |
if(WysijaForm.toolbar.left === null) WysijaForm.toolbar.left = 0;
|
532 |
} else {
|
533 |
-
if(WysijaForm.toolbar.left === null) WysijaForm.toolbar.left = parseInt(
|
534 |
}
|
535 |
-
if(WysijaForm.toolbar.x === null) WysijaForm.toolbar.x = parseInt(WysijaForm.toolbar.left +
|
536 |
|
537 |
},
|
538 |
setToolbarPosition: function() {
|
@@ -543,13 +549,13 @@ webpackJsonp([2],{
|
|
543 |
visibility: 'visible'
|
544 |
};
|
545 |
|
546 |
-
if(isRtl) {
|
547 |
position.right = WysijaForm.toolbar.x + 'px';
|
548 |
} else {
|
549 |
position.left = WysijaForm.toolbar.x + 'px';
|
550 |
}
|
551 |
|
552 |
-
|
553 |
},
|
554 |
updateToolbarPosition: function() {
|
555 |
// init toolbar position (updates scroll and toolbar y)
|
@@ -561,31 +567,31 @@ webpackJsonp([2],{
|
|
561 |
if(WysijaForm.scroll.top >= (WysijaForm.toolbar.top - 20)) {
|
562 |
WysijaForm.toolbar.y = parseInt(20 + WysijaForm.scroll.top);
|
563 |
// start effect
|
564 |
-
WysijaForm.toolbar.effect = new Effect.Move(WysijaForm.options.toolbar, {
|
565 |
x: WysijaForm.toolbar.x,
|
566 |
y: WysijaForm.toolbar.y,
|
567 |
mode: 'absolute',
|
568 |
duration: 0.2
|
569 |
});
|
570 |
} else {
|
571 |
-
|
572 |
left: WysijaForm.toolbar.x + 'px',
|
573 |
top: WysijaForm.toolbar.top + 'px'
|
574 |
});
|
575 |
}
|
576 |
},
|
577 |
blockDropOptions: {
|
578 |
-
accept:
|
579 |
onEnter: function(draggable, droppable) {
|
580 |
-
|
581 |
},
|
582 |
onLeave: function(draggable, droppable) {
|
583 |
-
|
584 |
},
|
585 |
onDrop: function(draggable, droppable) {
|
586 |
// custom data for images
|
587 |
droppable.fire('wjfe:item:drop', WysijaForm.getFieldData(draggable));
|
588 |
-
|
589 |
}
|
590 |
},
|
591 |
hideControls: function() {
|
@@ -596,7 +602,7 @@ webpackJsonp([2],{
|
|
596 |
}
|
597 |
},
|
598 |
hideTools: function() {
|
599 |
-
|
600 |
WysijaForm.locks.showingTools = false;
|
601 |
},
|
602 |
instances: {},
|
@@ -611,11 +617,11 @@ webpackJsonp([2],{
|
|
611 |
return instance;
|
612 |
},
|
613 |
makeDroppable: function() {
|
614 |
-
Droppables.add('block_placeholder', WysijaForm.blockDropOptions);
|
615 |
},
|
616 |
makeSortable: function() {
|
617 |
-
var body =
|
618 |
-
Sortable.create(body, {
|
619 |
tag: 'div',
|
620 |
only: 'mailpoet_form_block',
|
621 |
scroll: window,
|
@@ -623,15 +629,15 @@ webpackJsonp([2],{
|
|
623 |
constraint: 'vertical'
|
624 |
|
625 |
});
|
626 |
-
Draggables.removeObserver(body);
|
627 |
-
Draggables.addObserver({
|
628 |
element: body,
|
629 |
onStart: WysijaForm.startBlockPositions,
|
630 |
onEnd: WysijaForm.setBlockPositions
|
631 |
});
|
632 |
},
|
633 |
hideBlockControls: function() {
|
634 |
-
|
635 |
this.getBlockElements().invoke('removeClassName', 'hover');
|
636 |
},
|
637 |
getBlocks: function() {
|
@@ -640,7 +646,7 @@ webpackJsonp([2],{
|
|
640 |
});
|
641 |
},
|
642 |
getBlockElements: function() {
|
643 |
-
return
|
644 |
},
|
645 |
startBlockPositions: function(event, target) {
|
646 |
if(target.element.hasClassName('mailpoet_form_block')) {
|
@@ -688,14 +694,14 @@ webpackJsonp([2],{
|
|
688 |
}
|
689 |
};
|
690 |
|
691 |
-
WysijaForm.DraggableItem = Class.create({
|
692 |
initialize: function(element) {
|
693 |
-
this.elementType =
|
694 |
-
this.element =
|
695 |
this.clone = this.cloneElement();
|
696 |
this.insert();
|
697 |
},
|
698 |
-
STYLES: new Template('position: absolute; top: #{top}px; left: #{left}px;'),
|
699 |
cloneElement: function() {
|
700 |
var clone = this.element.clone(),
|
701 |
offset = this.element.cumulativeOffset(),
|
@@ -718,27 +724,27 @@ webpackJsonp([2],{
|
|
718 |
return this.element.up('ul');
|
719 |
},
|
720 |
insert: function() {
|
721 |
-
|
722 |
},
|
723 |
onMousedown: function(event) {
|
724 |
-
var draggable = new Draggable(this.clone, {
|
725 |
scroll: window,
|
726 |
onStart: function() {
|
727 |
-
Droppables.displayArea(draggable);
|
728 |
},
|
729 |
onEnd: function(drag) {
|
730 |
drag.destroy();
|
731 |
drag.element.remove();
|
732 |
-
Droppables.hideArea();
|
733 |
},
|
734 |
starteffect: function(element) {
|
735 |
-
new Effect.Opacity(element, {
|
736 |
duration: 0.2,
|
737 |
from: element.getOpacity(),
|
738 |
to: 0.7
|
739 |
});
|
740 |
},
|
741 |
-
endeffect: Prototype.emptyFunction
|
742 |
});
|
743 |
draggable.initDrag(event);
|
744 |
draggable.startDrag(event);
|
@@ -748,12 +754,12 @@ webpackJsonp([2],{
|
|
748 |
Object.extend(WysijaForm.DraggableItem, Observable).observe('a[class="mailpoet_form_field"]');
|
749 |
|
750 |
|
751 |
-
WysijaForm.Block = Class.create({
|
752 |
/* Invoked on load */
|
753 |
initialize: function(element) {
|
754 |
info('block -> init');
|
755 |
|
756 |
-
this.element =
|
757 |
this.block = new WysijaForm.Widget(this.element);
|
758 |
|
759 |
// enable block placeholder
|
@@ -786,14 +792,14 @@ webpackJsonp([2],{
|
|
786 |
makeBlockDroppable: function() {
|
787 |
if(this.isBlockDroppableEnabled() === false) {
|
788 |
var block_placeholder = this.getBlockDroppable();
|
789 |
-
Droppables.add(block_placeholder.identify(), WysijaForm.blockDropOptions);
|
790 |
block_placeholder.addClassName('enabled');
|
791 |
}
|
792 |
},
|
793 |
removeBlockDroppable: function() {
|
794 |
if(this.isBlockDroppableEnabled()) {
|
795 |
var block_placeholder = this.getBlockDroppable();
|
796 |
-
Droppables.remove(block_placeholder.identify());
|
797 |
block_placeholder.removeClassName('enabled');
|
798 |
}
|
799 |
},
|
@@ -809,7 +815,7 @@ webpackJsonp([2],{
|
|
809 |
createBlockDroppable: function() {
|
810 |
info('block -> createBlockDroppable');
|
811 |
this.element.insert({
|
812 |
-
before: '<div class=\"block_placeholder\">' +
|
813 |
});
|
814 |
return this.element.previous('.block_placeholder');
|
815 |
},
|
@@ -874,7 +880,7 @@ webpackJsonp([2],{
|
|
874 |
if(this.settingsButton !== null) {
|
875 |
this.settingsButton.observe('click', function(event) {
|
876 |
// TODO: refactor
|
877 |
-
var block =
|
878 |
if(block !== null) {
|
879 |
var field = WysijaForm.getFieldData(block);
|
880 |
this.editSettings();
|
@@ -890,7 +896,7 @@ webpackJsonp([2],{
|
|
890 |
// save block in history
|
891 |
WysijaHistory.enqueue(this.element);
|
892 |
|
893 |
-
Effect.Fade(this.element.identify(), {
|
894 |
duration: 0.2,
|
895 |
afterFinish: function(effect) {
|
896 |
// remove placeholder
|
@@ -922,20 +928,20 @@ webpackJsonp([2],{
|
|
922 |
/* Invoked on item dropped */
|
923 |
WysijaForm.Block.create = function(createBlock, target) {
|
924 |
var block = createBlock;
|
925 |
-
if(
|
926 |
return false;
|
927 |
}
|
928 |
|
929 |
-
var body =
|
930 |
-
block_template = Handlebars.compile(
|
931 |
-
template = Handlebars.compile(
|
932 |
output = '';
|
933 |
|
934 |
if(block.type === 'segment') {
|
935 |
if(block.params.values === undefined) {
|
936 |
-
var settings_segments = jQuery('#mailpoet_form_segments').val();
|
937 |
if(settings_segments !== null && settings_segments.length > 0){
|
938 |
-
block.params.values = mailpoet_segments.filter(function(segment) {
|
939 |
return (settings_segments.indexOf(segment.id) !== -1);
|
940 |
});
|
941 |
}
|
@@ -990,10 +996,10 @@ webpackJsonp([2],{
|
|
990 |
});
|
991 |
|
992 |
/* Form Widget */
|
993 |
-
WysijaForm.Widget = Class.create(WysijaForm.Block, {
|
994 |
initialize: function(element) {
|
995 |
info('widget -> init');
|
996 |
-
this.element =
|
997 |
return this;
|
998 |
},
|
999 |
setup: function() {
|
@@ -1012,7 +1018,7 @@ webpackJsonp([2],{
|
|
1012 |
},
|
1013 |
setData: function(data) {
|
1014 |
var current_data = this.getData(),
|
1015 |
-
params =
|
1016 |
|
1017 |
// update type if it changed
|
1018 |
if(data.type !== undefined && data.type !== current_data.type) {
|
@@ -1041,9 +1047,9 @@ webpackJsonp([2],{
|
|
1041 |
this.setData(data);
|
1042 |
var options = this.getData();
|
1043 |
// redraw block
|
1044 |
-
var block_template = Handlebars.compile(
|
1045 |
-
template = Handlebars.compile(
|
1046 |
-
data =
|
1047 |
template: template(options)
|
1048 |
}).toObject();
|
1049 |
this.element.replace(block_template(data));
|
@@ -1051,12 +1057,12 @@ webpackJsonp([2],{
|
|
1051 |
WysijaForm.init();
|
1052 |
},
|
1053 |
editSettings: function() {
|
1054 |
-
MailPoet.Modal.popup({
|
1055 |
-
title: MailPoet.I18n.t('editFieldSettings'),
|
1056 |
-
template: jQuery('#form_template_field_settings').html(),
|
1057 |
data: this.getData(),
|
1058 |
onSuccess: function() {
|
1059 |
-
var data = jQuery('#form_field_settings').serializeObject();
|
1060 |
this.redraw(data);
|
1061 |
}.bind(this)
|
1062 |
});
|
114 |
function getHandlers(klass) {
|
115 |
var proto = klass.prototype,
|
116 |
namespace = proto.namespace;
|
117 |
+
return Object.keys(proto).grep(/^on/).inject(window.$H(), function(handlers, name) {
|
118 |
if(name === 'onDomLoaded') return handlers;
|
119 |
handlers.set(getEventName(name, namespace), getWrapper(proto[name], klass));
|
120 |
return handlers;
|
128 |
}
|
129 |
|
130 |
function onDomLoad(selector, klass) {
|
131 |
+
window.$$(selector).each(function(element) {
|
132 |
new klass(element).onDomLoaded();
|
133 |
});
|
134 |
}
|
137 |
if(!this.handlers) this.handlers = {};
|
138 |
if(this.handlers[selector]) return;
|
139 |
var klass = this;
|
140 |
+
if(this.prototype.onDomLoaded) {
|
141 |
+
if(document.loaded) {
|
142 |
+
onDomLoad(selector, klass);
|
143 |
+
} else {
|
144 |
+
document.observe('dom:loaded', onDomLoad.curry(selector, klass));
|
145 |
+
}
|
146 |
+
}
|
147 |
this.handlers[selector] = getHandlers(klass).each(function(handler) {
|
148 |
document.delegate(selector, handler.key, handler.value);
|
149 |
});
|
159 |
})();
|
160 |
|
161 |
// override droppables
|
162 |
+
Object.extend(window.Droppables, {
|
163 |
+
deactivate: window.Droppables.deactivate.wrap(function(proceed, drop, draggable) {
|
164 |
if(drop.onLeave) drop.onLeave(draggable, drop.element);
|
165 |
return proceed(drop);
|
166 |
}),
|
167 |
+
activate: window.Droppables.activate.wrap(function(proceed, drop, draggable) {
|
168 |
if(drop.onEnter) drop.onEnter(draggable, drop.element);
|
169 |
return proceed(drop);
|
170 |
}),
|
172 |
if(!this.drops.length) return;
|
173 |
var drop, affected = [];
|
174 |
this.drops.each(function(drop) {
|
175 |
+
if(window.Droppables.isAffected(point, element, drop)) affected.push(drop);
|
176 |
});
|
177 |
+
if(affected.length > 0) drop = window.Droppables.findDeepestChild(affected);
|
178 |
if(this.last_active && this.last_active !== drop) this.deactivate(this.last_active, element);
|
179 |
if(drop) {
|
180 |
+
window.Position.within(drop.element, point[0], point[1]);
|
181 |
+
if(drop.onHover) drop.onHover(element, drop.element, window.Position.overlap(drop.overlap, drop.element));
|
182 |
+
if(drop !== this.last_active) window.Droppables.activate(drop, element);
|
183 |
}
|
184 |
},
|
185 |
displayArea: function(draggable) {
|
228 |
// check if the field is unique
|
229 |
if(parseInt(clone.readAttribute('wysija_unique'), 10) === 1) {
|
230 |
// check if the field is already in the queue
|
231 |
+
window.$(WysijaHistory.container).select('[wysija_name="' + clone.readAttribute('wysija_name') + '"]').invoke('remove');
|
232 |
}
|
233 |
|
234 |
// check history size
|
235 |
+
if(window.$(WysijaHistory.container).select('> div').length >= WysijaHistory.size) {
|
236 |
// remove oldest element (last in the list)
|
237 |
+
window.$(WysijaHistory.container).select('> div').last().remove();
|
238 |
}
|
239 |
|
240 |
// store block in history
|
241 |
+
window.$(WysijaHistory.container).insert({
|
242 |
top: clone
|
243 |
});
|
244 |
},
|
245 |
dequeue: function() {
|
246 |
// pop last block off the history
|
247 |
+
var block = window.$(WysijaHistory.container).select('div').first();
|
248 |
|
249 |
if(block !== undefined) {
|
250 |
// insert block back into the editor
|
251 |
+
window.$(WysijaForm.options.body).insert({
|
252 |
top: block
|
253 |
});
|
254 |
}
|
255 |
},
|
256 |
clear: function() {
|
257 |
+
window.$(WysijaHistory.container).innerHTML = '';
|
258 |
},
|
259 |
remove: function(field) {
|
260 |
+
window.$(WysijaHistory.container).select('[wysija_name="' + field + '"]').invoke('remove');
|
261 |
}
|
262 |
};
|
263 |
|
301 |
},
|
302 |
loading: function(is_loading) {
|
303 |
if(is_loading) {
|
304 |
+
window.$(WysijaForm.options.editor).addClassName('loading');
|
305 |
+
window.$(WysijaForm.options.toolbar).addClassName('loading');
|
306 |
} else {
|
307 |
+
window.$(WysijaForm.options.editor).removeClassName('loading');
|
308 |
+
window.$(WysijaForm.options.toolbar).removeClassName('loading');
|
309 |
}
|
310 |
},
|
311 |
loadStatic: function(blocks) {
|
312 |
+
window.$A(blocks).each(function(block) {
|
313 |
// create block
|
314 |
+
WysijaForm.Block.create(block, window.$('block_placeholder'));
|
315 |
});
|
316 |
},
|
317 |
load: function(data) {
|
319 |
|
320 |
// load body
|
321 |
if(data.body !== undefined) {
|
322 |
+
window.$A(data.body).each(function(block) {
|
323 |
// create block
|
324 |
+
WysijaForm.Block.create(block, window.$('block_placeholder'));
|
325 |
});
|
326 |
|
327 |
// load settings
|
328 |
+
var settings_elements = window.$('mailpoet_form_settings').getElements();
|
329 |
settings_elements.each(function(setting) {
|
330 |
// skip lists
|
331 |
if(setting.name === 'segments') {
|
334 |
// if the input value is equal to the one stored in the settings
|
335 |
if(setting.value === data.settings[setting.name]) {
|
336 |
// check selected value
|
337 |
+
window.$(setting).checked = true;
|
338 |
}
|
339 |
} else if(data.settings[setting.name] !== undefined) {
|
340 |
if(typeof data.settings[setting.name] === 'string') {
|
349 |
save: function() {
|
350 |
var position = 1,
|
351 |
data = {
|
352 |
+
name: window.$F('mailpoet_form_name'),
|
353 |
+
settings: window.$('mailpoet_form_settings').serialize(true),
|
354 |
body: [],
|
355 |
+
styles: (window.MailPoet.CodeEditor !== undefined) ? window.MailPoet.CodeEditor.getValue() : null
|
356 |
};
|
357 |
// body
|
358 |
WysijaForm.getBlocks().each(function(b) {
|
424 |
return data;
|
425 |
},
|
426 |
toggleWidgets: function() {
|
427 |
+
window.$$('a[wysija_unique="1"]').invoke('removeClassName', 'disabled');
|
428 |
|
429 |
// loop through each unique field already inserted in the editor and disable its toolbar equivalent
|
430 |
+
window.$$('#' + WysijaForm.options.editor + ' [wysija_unique="1"]').map(function(element) {
|
431 |
+
var field = window.$$('#' + WysijaForm.options.toolbar + ' [wysija_id="' + element.readAttribute('wysija_id') + '"]');
|
432 |
if(field.length > 0) {
|
433 |
field.first().addClassName('disabled');
|
434 |
}
|
437 |
var hasSegmentSelection = WysijaForm.hasSegmentSelection();
|
438 |
|
439 |
if(hasSegmentSelection) {
|
440 |
+
window.$('mailpoet_form_segments').writeAttribute('required', false).disable();
|
441 |
+
window.$('mailpoet_settings_segment_selection').hide();
|
442 |
} else {
|
443 |
+
window.$('mailpoet_form_segments').writeAttribute('required', true).enable();
|
444 |
+
window.$('mailpoet_settings_segment_selection').show();
|
445 |
}
|
446 |
},
|
447 |
hasSegmentSelection: function() {
|
448 |
+
return (window.$$('#' + WysijaForm.options.editor + ' [wysija_id="segments"]').length > 0);
|
449 |
},
|
450 |
isSegmentSelectionValid: function() {
|
451 |
+
var segment_selection = window.$$('#' + WysijaForm.options.editor + ' [wysija_id="segments"]')[0];
|
452 |
if(segment_selection !== undefined) {
|
453 |
var block = WysijaForm.get(segment_selection).block.getData();
|
454 |
return (
|
476 |
|
477 |
if(target !== undefined) {
|
478 |
// get placeholders (previous placeholder matches the placeholder linked to the next block)
|
479 |
+
var block_placeholder = window.$(target.element.readAttribute('wysija_placeholder')),
|
480 |
previous_placeholder = target.element.previous('.block_placeholder');
|
481 |
|
482 |
if(block_placeholder !== null) {
|
498 |
WysijaForm.scroll = document.viewport.getScrollOffsets();
|
499 |
},
|
500 |
hideSettings: function() {
|
501 |
+
window.$(WysijaForm.options.container).select('.wysija_settings').invoke('hide');
|
502 |
},
|
503 |
setSettingsPosition: function() {
|
504 |
// get viewport offsets and dimensions
|
505 |
var viewportHeight = document.viewport.getHeight(),
|
506 |
blockPadding = 5;
|
507 |
|
508 |
+
window.$(WysijaForm.options.container).select('.wysija_settings').each(function(element) {
|
509 |
// get parent dimensions and position
|
510 |
var parentDim = element.up('.mailpoet_form_block').getDimensions(),
|
511 |
parentPos = element.up('.mailpoet_form_block').cumulativeOffset(),
|
512 |
+
is_visible = (parentPos.top <= (WysijaForm.scroll.top + viewportHeight)),
|
513 |
buttonMargin = 5,
|
514 |
relativeTop = buttonMargin;
|
515 |
|
523 |
relativeTop = parseInt((parentDim.height / 2) - (element.getHeight() / 2), 10);
|
524 |
}
|
525 |
// set position for button
|
526 |
+
window.$(element).setStyle({
|
527 |
left: parseInt((parentDim.width / 2) - (element.getWidth() / 2)) + 'px',
|
528 |
top: relativeTop + 'px'
|
529 |
});
|
530 |
});
|
531 |
},
|
532 |
initToolbarPosition: function() {
|
533 |
+
if(WysijaForm.toolbar.top === null) WysijaForm.toolbar.top = parseInt(window.$(WysijaForm.options.container).positionedOffset().top);
|
534 |
if(WysijaForm.toolbar.y === null) WysijaForm.toolbar.y = parseInt(WysijaForm.toolbar.top);
|
535 |
|
536 |
+
if(window.isRtl) {
|
537 |
if(WysijaForm.toolbar.left === null) WysijaForm.toolbar.left = 0;
|
538 |
} else {
|
539 |
+
if(WysijaForm.toolbar.left === null) WysijaForm.toolbar.left = parseInt(window.$(WysijaForm.options.container).positionedOffset().left);
|
540 |
}
|
541 |
+
if(WysijaForm.toolbar.x === null) WysijaForm.toolbar.x = parseInt(WysijaForm.toolbar.left + window.$(WysijaForm.options.container).getDimensions().width + 15);
|
542 |
|
543 |
},
|
544 |
setToolbarPosition: function() {
|
549 |
visibility: 'visible'
|
550 |
};
|
551 |
|
552 |
+
if(window.isRtl) {
|
553 |
position.right = WysijaForm.toolbar.x + 'px';
|
554 |
} else {
|
555 |
position.left = WysijaForm.toolbar.x + 'px';
|
556 |
}
|
557 |
|
558 |
+
window.$(WysijaForm.options.toolbar).setStyle(position);
|
559 |
},
|
560 |
updateToolbarPosition: function() {
|
561 |
// init toolbar position (updates scroll and toolbar y)
|
567 |
if(WysijaForm.scroll.top >= (WysijaForm.toolbar.top - 20)) {
|
568 |
WysijaForm.toolbar.y = parseInt(20 + WysijaForm.scroll.top);
|
569 |
// start effect
|
570 |
+
WysijaForm.toolbar.effect = new window.Effect.Move(WysijaForm.options.toolbar, {
|
571 |
x: WysijaForm.toolbar.x,
|
572 |
y: WysijaForm.toolbar.y,
|
573 |
mode: 'absolute',
|
574 |
duration: 0.2
|
575 |
});
|
576 |
} else {
|
577 |
+
window.$(WysijaForm.options.toolbar).setStyle({
|
578 |
left: WysijaForm.toolbar.x + 'px',
|
579 |
top: WysijaForm.toolbar.top + 'px'
|
580 |
});
|
581 |
}
|
582 |
},
|
583 |
blockDropOptions: {
|
584 |
+
accept: window.$w('mailpoet_form_field'), // acceptable items (classes array)
|
585 |
onEnter: function(draggable, droppable) {
|
586 |
+
window.$(droppable).addClassName('hover');
|
587 |
},
|
588 |
onLeave: function(draggable, droppable) {
|
589 |
+
window.$(droppable).removeClassName('hover');
|
590 |
},
|
591 |
onDrop: function(draggable, droppable) {
|
592 |
// custom data for images
|
593 |
droppable.fire('wjfe:item:drop', WysijaForm.getFieldData(draggable));
|
594 |
+
window.$(droppable).removeClassName('hover');
|
595 |
}
|
596 |
},
|
597 |
hideControls: function() {
|
602 |
}
|
603 |
},
|
604 |
hideTools: function() {
|
605 |
+
window.$$('.wysija_tools').invoke('hide');
|
606 |
WysijaForm.locks.showingTools = false;
|
607 |
},
|
608 |
instances: {},
|
617 |
return instance;
|
618 |
},
|
619 |
makeDroppable: function() {
|
620 |
+
window.Droppables.add('block_placeholder', WysijaForm.blockDropOptions);
|
621 |
},
|
622 |
makeSortable: function() {
|
623 |
+
var body = window.$(WysijaForm.options.body);
|
624 |
+
window.Sortable.create(body, {
|
625 |
tag: 'div',
|
626 |
only: 'mailpoet_form_block',
|
627 |
scroll: window,
|
629 |
constraint: 'vertical'
|
630 |
|
631 |
});
|
632 |
+
window.Draggables.removeObserver(body);
|
633 |
+
window.Draggables.addObserver({
|
634 |
element: body,
|
635 |
onStart: WysijaForm.startBlockPositions,
|
636 |
onEnd: WysijaForm.setBlockPositions
|
637 |
});
|
638 |
},
|
639 |
hideBlockControls: function() {
|
640 |
+
window.$$('.wysija_controls').invoke('hide');
|
641 |
this.getBlockElements().invoke('removeClassName', 'hover');
|
642 |
},
|
643 |
getBlocks: function() {
|
646 |
});
|
647 |
},
|
648 |
getBlockElements: function() {
|
649 |
+
return window.$(WysijaForm.options.container).select('.mailpoet_form_block');
|
650 |
},
|
651 |
startBlockPositions: function(event, target) {
|
652 |
if(target.element.hasClassName('mailpoet_form_block')) {
|
694 |
}
|
695 |
};
|
696 |
|
697 |
+
WysijaForm.DraggableItem = window.Class.create({
|
698 |
initialize: function(element) {
|
699 |
+
this.elementType = window.$(element).readAttribute('wysija_type');
|
700 |
+
this.element = window.$(element).down() || window.$(element);
|
701 |
this.clone = this.cloneElement();
|
702 |
this.insert();
|
703 |
},
|
704 |
+
STYLES: new window.Template('position: absolute; top: #{top}px; left: #{left}px;'),
|
705 |
cloneElement: function() {
|
706 |
var clone = this.element.clone(),
|
707 |
offset = this.element.cumulativeOffset(),
|
724 |
return this.element.up('ul');
|
725 |
},
|
726 |
insert: function() {
|
727 |
+
window.$$('body')[0].insert(this.clone);
|
728 |
},
|
729 |
onMousedown: function(event) {
|
730 |
+
var draggable = new window.Draggable(this.clone, {
|
731 |
scroll: window,
|
732 |
onStart: function() {
|
733 |
+
window.Droppables.displayArea(draggable);
|
734 |
},
|
735 |
onEnd: function(drag) {
|
736 |
drag.destroy();
|
737 |
drag.element.remove();
|
738 |
+
window.Droppables.hideArea();
|
739 |
},
|
740 |
starteffect: function(element) {
|
741 |
+
new window.Effect.Opacity(element, {
|
742 |
duration: 0.2,
|
743 |
from: element.getOpacity(),
|
744 |
to: 0.7
|
745 |
});
|
746 |
},
|
747 |
+
endeffect: window.Prototype.emptyFunction
|
748 |
});
|
749 |
draggable.initDrag(event);
|
750 |
draggable.startDrag(event);
|
754 |
Object.extend(WysijaForm.DraggableItem, Observable).observe('a[class="mailpoet_form_field"]');
|
755 |
|
756 |
|
757 |
+
WysijaForm.Block = window.Class.create({
|
758 |
/* Invoked on load */
|
759 |
initialize: function(element) {
|
760 |
info('block -> init');
|
761 |
|
762 |
+
this.element = window.$(element);
|
763 |
this.block = new WysijaForm.Widget(this.element);
|
764 |
|
765 |
// enable block placeholder
|
792 |
makeBlockDroppable: function() {
|
793 |
if(this.isBlockDroppableEnabled() === false) {
|
794 |
var block_placeholder = this.getBlockDroppable();
|
795 |
+
window.Droppables.add(block_placeholder.identify(), WysijaForm.blockDropOptions);
|
796 |
block_placeholder.addClassName('enabled');
|
797 |
}
|
798 |
},
|
799 |
removeBlockDroppable: function() {
|
800 |
if(this.isBlockDroppableEnabled()) {
|
801 |
var block_placeholder = this.getBlockDroppable();
|
802 |
+
window.Droppables.remove(block_placeholder.identify());
|
803 |
block_placeholder.removeClassName('enabled');
|
804 |
}
|
805 |
},
|
815 |
createBlockDroppable: function() {
|
816 |
info('block -> createBlockDroppable');
|
817 |
this.element.insert({
|
818 |
+
before: '<div class=\"block_placeholder\">' + window.$('block_placeholder').innerHTML + '</div>'
|
819 |
});
|
820 |
return this.element.previous('.block_placeholder');
|
821 |
},
|
880 |
if(this.settingsButton !== null) {
|
881 |
this.settingsButton.observe('click', function(event) {
|
882 |
// TODO: refactor
|
883 |
+
var block = window.$(event.target).up('.mailpoet_form_block') || null;
|
884 |
if(block !== null) {
|
885 |
var field = WysijaForm.getFieldData(block);
|
886 |
this.editSettings();
|
896 |
// save block in history
|
897 |
WysijaHistory.enqueue(this.element);
|
898 |
|
899 |
+
window.Effect.Fade(this.element.identify(), {
|
900 |
duration: 0.2,
|
901 |
afterFinish: function(effect) {
|
902 |
// remove placeholder
|
928 |
/* Invoked on item dropped */
|
929 |
WysijaForm.Block.create = function(createBlock, target) {
|
930 |
var block = createBlock;
|
931 |
+
if(window.$('form_template_' + block.type) === null) {
|
932 |
return false;
|
933 |
}
|
934 |
|
935 |
+
var body = window.$(WysijaForm.options.body),
|
936 |
+
block_template = window.Handlebars.compile(window.$('form_template_block').innerHTML),
|
937 |
+
template = window.Handlebars.compile(window.$('form_template_' + block.type).innerHTML),
|
938 |
output = '';
|
939 |
|
940 |
if(block.type === 'segment') {
|
941 |
if(block.params.values === undefined) {
|
942 |
+
var settings_segments = window.jQuery('#mailpoet_form_segments').val();
|
943 |
if(settings_segments !== null && settings_segments.length > 0){
|
944 |
+
block.params.values = window.mailpoet_segments.filter(function(segment) {
|
945 |
return (settings_segments.indexOf(segment.id) !== -1);
|
946 |
});
|
947 |
}
|
996 |
});
|
997 |
|
998 |
/* Form Widget */
|
999 |
+
WysijaForm.Widget = window.Class.create(WysijaForm.Block, {
|
1000 |
initialize: function(element) {
|
1001 |
info('widget -> init');
|
1002 |
+
this.element = window.$(element);
|
1003 |
return this;
|
1004 |
},
|
1005 |
setup: function() {
|
1018 |
},
|
1019 |
setData: function(data) {
|
1020 |
var current_data = this.getData(),
|
1021 |
+
params = window.$H(current_data.params).merge(data.params).toObject();
|
1022 |
|
1023 |
// update type if it changed
|
1024 |
if(data.type !== undefined && data.type !== current_data.type) {
|
1047 |
this.setData(data);
|
1048 |
var options = this.getData();
|
1049 |
// redraw block
|
1050 |
+
var block_template = window.Handlebars.compile(window.$('form_template_block').innerHTML),
|
1051 |
+
template = window.Handlebars.compile(window.$('form_template_' + options.type).innerHTML),
|
1052 |
+
data = window.$H(options).merge({
|
1053 |
template: template(options)
|
1054 |
}).toObject();
|
1055 |
this.element.replace(block_template(data));
|
1057 |
WysijaForm.init();
|
1058 |
},
|
1059 |
editSettings: function() {
|
1060 |
+
window.MailPoet.Modal.popup({
|
1061 |
+
title: window.MailPoet.I18n.t('editFieldSettings'),
|
1062 |
+
template: window.jQuery('#form_template_field_settings').html(),
|
1063 |
data: this.getData(),
|
1064 |
onSuccess: function() {
|
1065 |
+
var data = window.jQuery('#form_field_settings').serializeObject();
|
1066 |
this.redraw(data);
|
1067 |
}.bind(this)
|
1068 |
});
|
assets/js/{mailpoet.e52dab6e.js → mailpoet.81b583ba.js}
RENAMED
@@ -49902,59 +49902,59 @@ webpackJsonp([3],[
|
|
49902 |
var MailPoet = mp;
|
49903 |
|
49904 |
MailPoet.Ajax = {
|
49905 |
-
|
49906 |
-
|
49907 |
-
|
49908 |
-
|
49909 |
-
|
49910 |
-
|
49911 |
-
|
49912 |
-
|
49913 |
-
|
49914 |
-
|
49915 |
-
|
49916 |
-
|
49917 |
-
|
49918 |
-
|
49919 |
-
|
49920 |
-
|
49921 |
|
49922 |
-
|
49923 |
-
|
49924 |
-
|
49925 |
-
|
49926 |
|
49927 |
-
|
49928 |
-
|
49929 |
-
|
49930 |
-
|
49931 |
-
|
49932 |
-
|
49933 |
-
|
49934 |
-
|
49935 |
-
|
49936 |
-
|
49937 |
-
|
49938 |
-
|
49939 |
-
|
49940 |
-
|
49941 |
-
|
49942 |
-
|
49943 |
// set options
|
49944 |
-
|
49945 |
|
49946 |
// set request params
|
49947 |
-
|
49948 |
|
49949 |
// remove null values from the data object
|
49950 |
-
|
49951 |
-
|
49952 |
-
|
49953 |
-
|
49954 |
-
|
49955 |
|
49956 |
// ajax request
|
49957 |
-
|
49958 |
this.options.url,
|
49959 |
params,
|
49960 |
null,
|
@@ -49964,10 +49964,10 @@ webpackJsonp([3],[
|
|
49964 |
}, _.partial(requestFailed, MailPoet.I18n.t('ajaxFailedErrorMessage')));
|
49965 |
|
49966 |
// clear options
|
49967 |
-
|
49968 |
|
49969 |
-
|
49970 |
-
|
49971 |
};
|
49972 |
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
49973 |
|
@@ -49985,165 +49985,165 @@ webpackJsonp([3],[
|
|
49985 |
jQuery,
|
49986 |
Moment
|
49987 |
) {
|
49988 |
-
|
49989 |
|
49990 |
-
|
49991 |
|
49992 |
-
|
49993 |
-
|
49994 |
-
|
49995 |
-
|
49996 |
-
|
49997 |
-
|
49998 |
-
|
49999 |
-
|
50000 |
-
|
50001 |
|
50002 |
// set UTC offset
|
50003 |
-
|
50004 |
options.offset === undefined
|
50005 |
&& window.mailpoet_date_offset !== undefined
|
50006 |
) {
|
50007 |
-
|
50008 |
-
|
50009 |
// set date format
|
50010 |
-
|
50011 |
options.format === undefined
|
50012 |
&& window.mailpoet_date_format !== undefined
|
50013 |
) {
|
50014 |
-
|
50015 |
-
|
50016 |
// merge options
|
50017 |
-
|
50018 |
|
50019 |
-
|
50020 |
-
|
50021 |
-
|
50022 |
-
|
50023 |
-
|
50024 |
|
50025 |
-
|
50026 |
-
|
50027 |
-
|
50028 |
-
|
50029 |
-
|
50030 |
-
|
50031 |
-
|
50032 |
|
50033 |
-
|
50034 |
-
|
50035 |
-
|
50036 |
-
|
50037 |
-
|
50038 |
-
|
50039 |
-
|
50040 |
-
|
50041 |
-
|
50042 |
-
|
50043 |
-
|
50044 |
-
|
50045 |
-
|
50046 |
-
|
50047 |
-
|
50048 |
-
|
50049 |
-
|
50050 |
-
|
50051 |
-
|
50052 |
-
|
50053 |
-
|
50054 |
-
|
50055 |
-
|
50056 |
-
|
50057 |
-
|
50058 |
-
|
50059 |
-
|
50060 |
-
|
50061 |
-
|
50062 |
-
|
50063 |
-
|
50064 |
-
|
50065 |
-
|
50066 |
-
|
50067 |
-
|
50068 |
-
|
50069 |
-
|
50070 |
-
|
50071 |
-
|
50072 |
-
|
50073 |
-
|
50074 |
-
|
50075 |
-
|
50076 |
-
|
50077 |
-
|
50078 |
-
|
50079 |
-
|
50080 |
-
|
50081 |
-
|
50082 |
-
|
50083 |
-
|
50084 |
-
|
50085 |
-
|
50086 |
-
|
50087 |
-
|
50088 |
-
|
50089 |
-
|
50090 |
-
|
50091 |
-
|
50092 |
-
|
50093 |
-
|
50094 |
-
|
50095 |
-
|
50096 |
-
|
50097 |
-
|
50098 |
-
|
50099 |
-
|
50100 |
-
|
50101 |
-
|
50102 |
-
|
50103 |
-
|
50104 |
-
|
50105 |
-
|
50106 |
-
|
50107 |
-
|
50108 |
-
|
50109 |
-
|
50110 |
-
|
50111 |
-
|
50112 |
-
|
50113 |
-
|
50114 |
-
|
50115 |
-
|
50116 |
-
|
50117 |
|
50118 |
-
|
50119 |
|
50120 |
-
|
50121 |
|
50122 |
-
|
50123 |
-
|
50124 |
|
50125 |
-
|
50126 |
-
|
50127 |
-
|
50128 |
-
convertedFormat.push('['+token+']');
|
50129 |
-
escapeToken = false;
|
50130 |
-
} else {
|
50131 |
-
if (token === '\\') {
|
50132 |
-
// Slash escapes the next symbol to be treated as literal
|
50133 |
-
escapeToken = true;
|
50134 |
-
continue;
|
50135 |
-
} else if (replacements[token] !== undefined) {
|
50136 |
-
convertedFormat.push(replacements[token]);
|
50137 |
-
} else {
|
50138 |
convertedFormat.push('['+token+']');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50139 |
}
|
50140 |
}
|
50141 |
-
}
|
50142 |
|
50143 |
-
|
50144 |
-
|
50145 |
-
|
50146 |
-
|
50147 |
|
50148 |
|
50149 |
/***/ },
|
@@ -50155,25 +50155,25 @@ webpackJsonp([3],[
|
|
50155 |
], __WEBPACK_AMD_DEFINE_RESULT__ = function(
|
50156 |
mp
|
50157 |
) {
|
50158 |
-
|
50159 |
|
50160 |
-
|
50161 |
|
50162 |
-
|
50163 |
|
50164 |
-
|
50165 |
-
|
50166 |
-
|
50167 |
-
|
50168 |
-
|
50169 |
-
|
50170 |
-
|
50171 |
-
|
50172 |
-
|
50173 |
-
|
50174 |
-
|
50175 |
|
50176 |
-
|
50177 |
|
50178 |
|
50179 |
/***/ },
|
@@ -50293,9 +50293,8 @@ webpackJsonp([3],[
|
|
50293 |
if(this.renderer === 'html') {
|
50294 |
return function() { return template; };
|
50295 |
} else {
|
50296 |
-
return Handlebars.compile(template);
|
50297 |
}
|
50298 |
-
return false;
|
50299 |
},
|
50300 |
init: function(options) {
|
50301 |
if(this.initialized === true) {
|
@@ -50363,24 +50362,24 @@ webpackJsonp([3],[
|
|
50363 |
initOverlay: function(toggle) {
|
50364 |
if(jQuery('#mailpoet_modal_overlay').length === 0) {
|
50365 |
// insert overlay into the DOM
|
50366 |
-
|
50367 |
// insert loading indicator into overlay
|
50368 |
-
|
50369 |
-
|
50370 |
-
|
50371 |
-
|
50372 |
-
|
50373 |
-
|
50374 |
-
|
50375 |
.removeClass('mailpoet_overlay_hidden');
|
50376 |
-
|
50377 |
-
|
50378 |
.addClass('mailpoet_overlay_hidden');
|
50379 |
-
|
50380 |
|
50381 |
-
|
50382 |
-
|
50383 |
-
|
50384 |
// close popup when user clicks on close button
|
50385 |
jQuery('#mailpoet_modal_close').on('click', this.cancel.bind(this));
|
50386 |
|
@@ -50431,39 +50430,39 @@ webpackJsonp([3],[
|
|
50431 |
loadTemplate: function() {
|
50432 |
if(this.subpanels.length > 0) {
|
50433 |
// hide panel
|
50434 |
-
|
50435 |
|
50436 |
// add sub panel wrapper
|
50437 |
-
|
50438 |
.append(this.templates['subpanel']);
|
50439 |
|
50440 |
// add sub panel content
|
50441 |
-
|
50442 |
.html(this.subpanels[(this.subpanels.length - 1)].element);
|
50443 |
|
50444 |
// focus on sub panel
|
50445 |
-
|
50446 |
-
|
50447 |
-
|
50448 |
-
|
50449 |
-
|
50450 |
-
|
50451 |
.append(this.options.element);
|
50452 |
-
|
50453 |
-
|
50454 |
.html(
|
50455 |
this.options.body_template(
|
50456 |
this.options.data
|
50457 |
)
|
50458 |
);
|
50459 |
-
|
50460 |
|
50461 |
-
|
50462 |
-
|
50463 |
-
|
50464 |
-
|
50465 |
// make ajax request
|
50466 |
-
|
50467 |
function(data) {
|
50468 |
this.options.data = jQuery.extend({}, this.options.data, data);
|
50469 |
// load template using fetched data
|
@@ -50472,9 +50471,9 @@ webpackJsonp([3],[
|
|
50472 |
this.showModal();
|
50473 |
}.bind(this)
|
50474 |
);
|
50475 |
-
|
50476 |
// make ajax request
|
50477 |
-
|
50478 |
function(data) {
|
50479 |
this.options.data = jQuery.extend({}, this.options.data, data);
|
50480 |
// load template using fetched data
|
@@ -50484,342 +50483,342 @@ webpackJsonp([3],[
|
|
50484 |
}.bind(this),
|
50485 |
'json'
|
50486 |
);
|
50487 |
-
|
50488 |
|
50489 |
-
|
50490 |
-
|
50491 |
-
|
50492 |
-
|
50493 |
-
|
50494 |
// set popup dimensions
|
50495 |
-
|
50496 |
-
|
50497 |
-
|
50498 |
-
|
50499 |
// set popup wrapper height
|
50500 |
-
|
50501 |
-
|
50502 |
-
|
50503 |
break;
|
50504 |
-
|
50505 |
// set dimensions
|
50506 |
-
|
50507 |
-
|
50508 |
-
|
50509 |
-
|
50510 |
-
|
50511 |
-
|
50512 |
-
|
50513 |
-
|
50514 |
-
|
50515 |
-
|
50516 |
-
|
50517 |
-
|
50518 |
-
|
50519 |
-
|
50520 |
-
|
50521 |
-
|
50522 |
break;
|
50523 |
-
|
50524 |
|
50525 |
-
|
50526 |
-
|
50527 |
-
|
50528 |
-
|
50529 |
-
|
50530 |
-
|
50531 |
screenHeight = jQuery(window).height(),
|
50532 |
modalWidth = jQuery('.mailpoet_'+ this.options.type +'_wrapper').width(),
|
50533 |
modalHeight = jQuery('.mailpoet_'+ this.options.type +'_wrapper').height();
|
50534 |
|
50535 |
-
|
50536 |
left = Math.max(0, parseInt((screenWidth / 2) - (modalWidth / 2)));
|
50537 |
|
50538 |
// set position of popup depending on screen dimensions.
|
50539 |
-
|
50540 |
-
|
50541 |
-
|
50542 |
-
|
50543 |
break;
|
50544 |
-
|
50545 |
-
|
50546 |
// set position of popup depending on screen dimensions.
|
50547 |
-
|
50548 |
-
|
50549 |
-
|
50550 |
-
|
50551 |
-
|
50552 |
-
|
50553 |
-
|
50554 |
-
|
50555 |
-
|
50556 |
-
|
50557 |
break;
|
50558 |
-
|
50559 |
|
50560 |
-
|
50561 |
-
|
50562 |
-
|
50563 |
// set modal dimensions
|
50564 |
-
|
50565 |
|
50566 |
// remember the previously focused element
|
50567 |
-
|
50568 |
|
50569 |
// add a flag on the body so that we can prevent scrolling
|
50570 |
-
|
50571 |
|
50572 |
// show popup
|
50573 |
-
|
50574 |
|
50575 |
// display overlay
|
50576 |
-
|
50577 |
|
50578 |
// set modal position
|
50579 |
-
|
50580 |
|
50581 |
// add class on highlighted elements
|
50582 |
-
|
50583 |
-
|
50584 |
-
|
50585 |
-
}
|
50586 |
}
|
|
|
50587 |
|
50588 |
-
|
50589 |
-
|
50590 |
-
|
50591 |
|
50592 |
// set popup as opened
|
50593 |
-
|
50594 |
|
50595 |
// trigger init event if specified
|
50596 |
-
|
50597 |
-
|
50598 |
-
|
50599 |
|
50600 |
-
|
50601 |
-
|
50602 |
-
|
50603 |
-
|
50604 |
-
|
50605 |
-
|
50606 |
// panel and subpanel
|
50607 |
-
|
50608 |
.filter(':visible').focus();
|
50609 |
-
|
50610 |
-
|
50611 |
-
|
50612 |
-
|
50613 |
-
|
50614 |
-
|
50615 |
-
|
50616 |
-
|
50617 |
-
|
50618 |
.removeClass('mailpoet_modal_highlight');
|
50619 |
-
|
50620 |
-
|
50621 |
-
|
50622 |
// set modal as closed
|
50623 |
-
|
50624 |
|
50625 |
// hide modal
|
50626 |
-
|
50627 |
|
50628 |
// remove class on highlighted elements
|
50629 |
-
|
50630 |
|
50631 |
// remove class from body to let it be scrollable
|
50632 |
-
|
50633 |
|
50634 |
-
|
50635 |
-
|
50636 |
-
|
50637 |
-
|
50638 |
-
|
50639 |
-
|
50640 |
-
|
50641 |
-
|
50642 |
-
|
50643 |
-
|
50644 |
-
|
50645 |
// get options
|
50646 |
-
|
50647 |
// set modal type
|
50648 |
-
|
50649 |
// set overlay state
|
50650 |
-
|
50651 |
// initialize modal
|
50652 |
-
|
50653 |
// open modal
|
50654 |
-
|
50655 |
|
50656 |
-
|
50657 |
-
|
50658 |
-
|
50659 |
// get options
|
50660 |
-
|
50661 |
// reset subpanels
|
50662 |
-
|
50663 |
// set modal type
|
50664 |
-
|
50665 |
// set overlay state
|
50666 |
-
|
50667 |
// set highlighted element
|
50668 |
-
|
50669 |
// set modal dimensions
|
50670 |
-
|
50671 |
-
|
50672 |
// initialize modal
|
50673 |
-
|
50674 |
// open modal
|
50675 |
-
|
50676 |
|
50677 |
-
|
50678 |
-
|
50679 |
-
|
50680 |
-
|
50681 |
// if no panel is already opened, let's create one instead
|
50682 |
-
|
50683 |
-
|
50684 |
// if a panel is already opened, add a sub panel to it
|
50685 |
-
|
50686 |
-
|
50687 |
-
|
50688 |
|
50689 |
-
|
50690 |
-
|
50691 |
-
|
50692 |
// make sure the overlay is initialized and that it's visible
|
50693 |
-
|
50694 |
|
50695 |
-
|
50696 |
-
|
50697 |
-
|
50698 |
-
|
50699 |
-
|
50700 |
|
50701 |
-
|
50702 |
-
|
50703 |
-
|
50704 |
-
|
50705 |
|
50706 |
// add loading class to overlay
|
50707 |
-
|
50708 |
.addClass('mailpoet_overlay_loading');
|
50709 |
|
50710 |
-
|
50711 |
-
|
50712 |
-
|
50713 |
-
|
50714 |
|
50715 |
// remove loading class from overlay
|
50716 |
-
|
50717 |
.removeClass('mailpoet_overlay_loading');
|
50718 |
|
50719 |
-
|
50720 |
-
|
50721 |
-
|
50722 |
// load template if specified
|
50723 |
-
|
50724 |
// check if a url was specified to get extra data
|
50725 |
-
|
50726 |
-
|
50727 |
-
|
50728 |
// load template
|
50729 |
-
|
50730 |
|
50731 |
// show modal window
|
50732 |
-
|
50733 |
-
}
|
50734 |
-
} else {
|
50735 |
-
this.cancel();
|
50736 |
}
|
|
|
|
|
|
|
50737 |
|
50738 |
-
|
50739 |
-
|
50740 |
-
|
50741 |
-
|
50742 |
-
|
50743 |
-
|
50744 |
-
}
|
50745 |
-
} else {
|
50746 |
-
if(this.options.onSuccess !== null) {
|
50747 |
-
this.options.onSuccess(this.options.data);
|
50748 |
-
}
|
50749 |
}
|
50750 |
-
|
|
|
|
|
|
|
|
|
|
|
50751 |
|
50752 |
-
|
50753 |
-
|
50754 |
-
|
50755 |
-
|
50756 |
-
|
50757 |
-
|
50758 |
-
}
|
50759 |
-
} else {
|
50760 |
-
if(this.options.onCancel !== null) {
|
50761 |
-
this.options.onCancel(this.options.data);
|
50762 |
-
}
|
50763 |
}
|
50764 |
-
|
|
|
|
|
|
|
|
|
|
|
50765 |
|
50766 |
-
|
50767 |
-
|
50768 |
-
|
50769 |
-
|
50770 |
|
50771 |
// remove extra modal
|
50772 |
-
|
50773 |
-
|
50774 |
-
|
50775 |
|
50776 |
-
|
50777 |
|
50778 |
-
|
50779 |
-
|
50780 |
-
|
50781 |
-
|
50782 |
|
50783 |
-
|
50784 |
// close subpanel
|
50785 |
-
|
50786 |
|
50787 |
// show previous panel
|
50788 |
-
|
50789 |
|
50790 |
// remove last subpanels
|
50791 |
-
|
50792 |
|
50793 |
// focus on previous panel
|
50794 |
-
|
50795 |
-
|
50796 |
-
}
|
50797 |
-
|
50798 |
-
return this;
|
50799 |
}
|
50800 |
|
|
|
|
|
|
|
50801 |
// remove event handlers
|
50802 |
-
|
50803 |
|
50804 |
// hide modal window
|
50805 |
-
|
50806 |
|
50807 |
// destroy modal element
|
50808 |
-
|
50809 |
|
50810 |
// restore the previously focused element
|
50811 |
-
|
50812 |
-
|
50813 |
-
|
50814 |
|
50815 |
// reset options
|
50816 |
-
|
50817 |
-
|
50818 |
-
|
50819 |
-
|
50820 |
|
50821 |
-
|
50822 |
-
|
50823 |
};
|
50824 |
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
50825 |
|
@@ -50906,7 +50905,7 @@ webpackJsonp([3],[
|
|
50906 |
// setup onClose callback
|
50907 |
var onClose = null;
|
50908 |
if (this.options.onClose !== null) {
|
50909 |
-
|
50910 |
}
|
50911 |
|
50912 |
// listen to remove event
|
@@ -50914,7 +50913,7 @@ webpackJsonp([3],[
|
|
50914 |
jQuery(this).fadeOut(200, function() {
|
50915 |
// on close callback
|
50916 |
if (onClose !== null) {
|
50917 |
-
|
50918 |
}
|
50919 |
// remove notice
|
50920 |
jQuery(this).remove();
|
@@ -50975,13 +50974,13 @@ webpackJsonp([3],[
|
|
50975 |
switch (this.options.type) {
|
50976 |
case 'success':
|
50977 |
this.element.addClass('notice notice-success');
|
50978 |
-
|
50979 |
case 'system':
|
50980 |
this.element.addClass('notice notice-warning');
|
50981 |
-
|
50982 |
case 'error':
|
50983 |
this.element.addClass('notice notice-error');
|
50984 |
-
|
50985 |
}
|
50986 |
|
50987 |
// make the notice appear
|
@@ -50998,7 +50997,7 @@ webpackJsonp([3],[
|
|
50998 |
} else if (this.options.hideClose === false) {
|
50999 |
this.element.append('<a href="javascript:;" class="mailpoet_notice_close"><span class="dashicons dashicons-dismiss"></span></a>');
|
51000 |
this.element.find('.mailpoet_notice_close').on('click', function() {
|
51001 |
-
|
51002 |
});
|
51003 |
}
|
51004 |
|
@@ -51056,22 +51055,22 @@ webpackJsonp([3],[
|
|
51056 |
], __WEBPACK_AMD_DEFINE_RESULT__ = function(
|
51057 |
mp
|
51058 |
) {
|
51059 |
-
|
51060 |
|
51061 |
-
|
51062 |
-
|
51063 |
-
|
51064 |
-
|
51065 |
-
|
51066 |
-
|
51067 |
.toLocaleString(
|
51068 |
undefined,
|
51069 |
{minimumFractionDigits: precision, maximumFractionDigits: precision}
|
51070 |
);
|
51071 |
-
|
51072 |
-
|
51073 |
|
51074 |
-
|
51075 |
|
51076 |
|
51077 |
/***/ },
|
@@ -53703,15 +53702,6 @@ webpackJsonp([3],[
|
|
53703 |
});
|
53704 |
}
|
53705 |
|
53706 |
-
function initializeMixpanelWhenLoaded() {
|
53707 |
-
if (typeof window.mixpanel === 'object') {
|
53708 |
-
exportMixpanel(MailPoet);
|
53709 |
-
trackCachedEvents();
|
53710 |
-
} else {
|
53711 |
-
setTimeout(initializeMixpanelWhenLoaded, 100);
|
53712 |
-
}
|
53713 |
-
}
|
53714 |
-
|
53715 |
function cacheEvent(forced, name, data) {
|
53716 |
eventsCache.push({
|
53717 |
name: name,
|
@@ -53723,6 +53713,15 @@ webpackJsonp([3],[
|
|
53723 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(274), __webpack_require__(278)], __WEBPACK_AMD_DEFINE_RESULT__ = function(mp, _) {
|
53724 |
var MailPoet = mp;
|
53725 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53726 |
MailPoet.trackEvent = _.partial(cacheEvent, false);
|
53727 |
MailPoet.forceTrackEvent = _.partial(cacheEvent, true);
|
53728 |
|
49902 |
var MailPoet = mp;
|
49903 |
|
49904 |
MailPoet.Ajax = {
|
49905 |
+
version: 0.5,
|
49906 |
+
options: {},
|
49907 |
+
defaults: {
|
49908 |
+
url: null,
|
49909 |
+
api_version: null,
|
49910 |
+
endpoint: null,
|
49911 |
+
action: null,
|
49912 |
+
token: null,
|
49913 |
+
data: {}
|
49914 |
+
},
|
49915 |
+
post: function(options) {
|
49916 |
+
return this.request('post', options);
|
49917 |
+
},
|
49918 |
+
init: function(options) {
|
49919 |
+
// merge options
|
49920 |
+
this.options = jQuery.extend({}, this.defaults, options);
|
49921 |
|
49922 |
+
// set default url
|
49923 |
+
if(this.options.url === null) {
|
49924 |
+
this.options.url = window.ajaxurl;
|
49925 |
+
}
|
49926 |
|
49927 |
+
// set default token
|
49928 |
+
if(this.options.token === null) {
|
49929 |
+
this.options.token = window.mailpoet_token;
|
49930 |
+
}
|
49931 |
+
},
|
49932 |
+
getParams: function() {
|
49933 |
+
return {
|
49934 |
+
action: 'mailpoet',
|
49935 |
+
api_version: this.options.api_version,
|
49936 |
+
token: this.options.token,
|
49937 |
+
endpoint: this.options.endpoint,
|
49938 |
+
method: this.options.action,
|
49939 |
+
data: this.options.data || {}
|
49940 |
+
};
|
49941 |
+
},
|
49942 |
+
request: function(method, options) {
|
49943 |
// set options
|
49944 |
+
this.init(options);
|
49945 |
|
49946 |
// set request params
|
49947 |
+
var params = this.getParams();
|
49948 |
|
49949 |
// remove null values from the data object
|
49950 |
+
if (_.isObject(params.data)) {
|
49951 |
+
params.data = _.pick(params.data, function(value) {
|
49952 |
+
return (value !== null);
|
49953 |
+
});
|
49954 |
+
}
|
49955 |
|
49956 |
// ajax request
|
49957 |
+
var deferred = jQuery.post(
|
49958 |
this.options.url,
|
49959 |
params,
|
49960 |
null,
|
49964 |
}, _.partial(requestFailed, MailPoet.I18n.t('ajaxFailedErrorMessage')));
|
49965 |
|
49966 |
// clear options
|
49967 |
+
this.options = {};
|
49968 |
|
49969 |
+
return deferred;
|
49970 |
+
}
|
49971 |
};
|
49972 |
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
49973 |
|
49985 |
jQuery,
|
49986 |
Moment
|
49987 |
) {
|
49988 |
+
'use strict';
|
49989 |
|
49990 |
+
var MailPoet = mp;
|
49991 |
|
49992 |
+
MailPoet.Date = {
|
49993 |
+
version: 0.1,
|
49994 |
+
options: {},
|
49995 |
+
defaults: {
|
49996 |
+
offset: 0,
|
49997 |
+
format: 'F, d Y H:i:s'
|
49998 |
+
},
|
49999 |
+
init: function (opts) {
|
50000 |
+
var options = opts || {};
|
50001 |
|
50002 |
// set UTC offset
|
50003 |
+
if (
|
50004 |
options.offset === undefined
|
50005 |
&& window.mailpoet_date_offset !== undefined
|
50006 |
) {
|
50007 |
+
options.offset = window.mailpoet_date_offset;
|
50008 |
+
}
|
50009 |
// set date format
|
50010 |
+
if (
|
50011 |
options.format === undefined
|
50012 |
&& window.mailpoet_date_format !== undefined
|
50013 |
) {
|
50014 |
+
options.format = window.mailpoet_date_format;
|
50015 |
+
}
|
50016 |
// merge options
|
50017 |
+
this.options = jQuery.extend({}, this.defaults, options);
|
50018 |
|
50019 |
+
return this;
|
50020 |
+
},
|
50021 |
+
format: function(date, opts) {
|
50022 |
+
var options = opts || {};
|
50023 |
+
this.init(options);
|
50024 |
|
50025 |
+
var momentDate = Moment(date, this.convertFormat(options.parseFormat));
|
50026 |
+
if (options.offset === 0) momentDate = momentDate.utc();
|
50027 |
+
return momentDate.format(this.convertFormat(this.options.format));
|
50028 |
+
},
|
50029 |
+
toDate: function(date, opts) {
|
50030 |
+
var options = opts || {};
|
50031 |
+
this.init(options);
|
50032 |
|
50033 |
+
return Moment(date, this.convertFormat(options.parseFormat)).toDate();
|
50034 |
+
},
|
50035 |
+
short: function(date) {
|
50036 |
+
return this.format(date, {
|
50037 |
+
format: 'F, j Y'
|
50038 |
+
});
|
50039 |
+
},
|
50040 |
+
full: function(date) {
|
50041 |
+
return this.format(date, {
|
50042 |
+
format: 'F, j Y H:i:s'
|
50043 |
+
});
|
50044 |
+
},
|
50045 |
+
time: function(date) {
|
50046 |
+
return this.format(date, {
|
50047 |
+
format: 'H:i:s'
|
50048 |
+
});
|
50049 |
+
},
|
50050 |
+
convertFormat: function(format) {
|
50051 |
+
var format_mappings = {
|
50052 |
+
date: {
|
50053 |
+
d: 'DD',
|
50054 |
+
D: 'ddd',
|
50055 |
+
j: 'D',
|
50056 |
+
l: 'dddd',
|
50057 |
+
N: 'E',
|
50058 |
+
S: 'o',
|
50059 |
+
w: 'e',
|
50060 |
+
z: 'DDD',
|
50061 |
+
W: 'W',
|
50062 |
+
F: 'MMMM',
|
50063 |
+
m: 'MM',
|
50064 |
+
M: 'MMM',
|
50065 |
+
n: 'M',
|
50066 |
+
t: '', // no equivalent
|
50067 |
+
L: '', // no equivalent
|
50068 |
+
o: 'YYYY',
|
50069 |
+
Y: 'YYYY',
|
50070 |
+
y: 'YY',
|
50071 |
+
a: 'a',
|
50072 |
+
A: 'A',
|
50073 |
+
B: '', // no equivalent
|
50074 |
+
g: 'h',
|
50075 |
+
G: 'H',
|
50076 |
+
h: 'hh',
|
50077 |
+
H: 'HH',
|
50078 |
+
i: 'mm',
|
50079 |
+
s: 'ss',
|
50080 |
+
u: 'SSS',
|
50081 |
+
e: 'zz', // deprecated since version 1.6.0 of moment.js
|
50082 |
+
I: '', // no equivalent
|
50083 |
+
O: '', // no equivalent
|
50084 |
+
P: '', // no equivalent
|
50085 |
+
T: '', // no equivalent
|
50086 |
+
Z: '', // no equivalent
|
50087 |
+
c: '', // no equivalent
|
50088 |
+
r: '', // no equivalent
|
50089 |
+
U: 'X'
|
50090 |
+
},
|
50091 |
+
strftime: {
|
50092 |
+
a: 'ddd',
|
50093 |
+
A: 'dddd',
|
50094 |
+
b: 'MMM',
|
50095 |
+
B: 'MMMM',
|
50096 |
+
d: 'DD',
|
50097 |
+
e: 'D',
|
50098 |
+
F: 'YYYY-MM-DD',
|
50099 |
+
H: 'HH',
|
50100 |
+
I: 'hh',
|
50101 |
+
j: 'DDDD',
|
50102 |
+
k: 'H',
|
50103 |
+
l: 'h',
|
50104 |
+
m: 'MM',
|
50105 |
+
M: 'mm',
|
50106 |
+
p: 'A',
|
50107 |
+
S: 'ss',
|
50108 |
+
u: 'E',
|
50109 |
+
w: 'd',
|
50110 |
+
W: 'WW',
|
50111 |
+
y: 'YY',
|
50112 |
+
Y: 'YYYY',
|
50113 |
+
z: 'ZZ',
|
50114 |
+
Z: 'z'
|
50115 |
+
}
|
50116 |
+
};
|
50117 |
|
50118 |
+
if (!format || format.length <= 0) return format;
|
50119 |
|
50120 |
+
var replacements = format_mappings['date'];
|
50121 |
|
50122 |
+
var convertedFormat = [];
|
50123 |
+
var escapeToken = false;
|
50124 |
|
50125 |
+
for(var index = 0, token = ''; format.charAt(index); index += 1){
|
50126 |
+
token = format.charAt(index);
|
50127 |
+
if (escapeToken === true) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50128 |
convertedFormat.push('['+token+']');
|
50129 |
+
escapeToken = false;
|
50130 |
+
} else {
|
50131 |
+
if (token === '\\') {
|
50132 |
+
// Slash escapes the next symbol to be treated as literal
|
50133 |
+
escapeToken = true;
|
50134 |
+
continue;
|
50135 |
+
} else if (replacements[token] !== undefined) {
|
50136 |
+
convertedFormat.push(replacements[token]);
|
50137 |
+
} else {
|
50138 |
+
convertedFormat.push('['+token+']');
|
50139 |
+
}
|
50140 |
}
|
50141 |
}
|
|
|
50142 |
|
50143 |
+
return convertedFormat.join('');
|
50144 |
+
}
|
50145 |
+
};
|
50146 |
+
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
50147 |
|
50148 |
|
50149 |
/***/ },
|
50155 |
], __WEBPACK_AMD_DEFINE_RESULT__ = function(
|
50156 |
mp
|
50157 |
) {
|
50158 |
+
'use strict';
|
50159 |
|
50160 |
+
var MailPoet = mp;
|
50161 |
|
50162 |
+
var translations = {};
|
50163 |
|
50164 |
+
MailPoet.I18n = {
|
50165 |
+
add: function(key, value) {
|
50166 |
+
translations[key] = value;
|
50167 |
+
},
|
50168 |
+
t: function(key) {
|
50169 |
+
return translations[key] || 'TRANSLATION "%$1s" NOT FOUND'.replace('%$1s', key);
|
50170 |
+
},
|
50171 |
+
all: function() {
|
50172 |
+
return translations;
|
50173 |
+
}
|
50174 |
+
};
|
50175 |
|
50176 |
+
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
50177 |
|
50178 |
|
50179 |
/***/ },
|
50293 |
if(this.renderer === 'html') {
|
50294 |
return function() { return template; };
|
50295 |
} else {
|
50296 |
+
return window.Handlebars.compile(template);
|
50297 |
}
|
|
|
50298 |
},
|
50299 |
init: function(options) {
|
50300 |
if(this.initialized === true) {
|
50362 |
initOverlay: function(toggle) {
|
50363 |
if(jQuery('#mailpoet_modal_overlay').length === 0) {
|
50364 |
// insert overlay into the DOM
|
50365 |
+
jQuery('body').append(this.templates.overlay);
|
50366 |
// insert loading indicator into overlay
|
50367 |
+
jQuery('#mailpoet_modal_overlay').append(this.templates.loading);
|
50368 |
+
}
|
50369 |
+
return this;
|
50370 |
+
},
|
50371 |
+
toggleOverlay: function(toggle) {
|
50372 |
+
if(toggle === true) {
|
50373 |
+
jQuery('#mailpoet_modal_overlay')
|
50374 |
.removeClass('mailpoet_overlay_hidden');
|
50375 |
+
} else {
|
50376 |
+
jQuery('#mailpoet_modal_overlay')
|
50377 |
.addClass('mailpoet_overlay_hidden');
|
50378 |
+
}
|
50379 |
|
50380 |
+
return this;
|
50381 |
+
},
|
50382 |
+
setupEvents: function() {
|
50383 |
// close popup when user clicks on close button
|
50384 |
jQuery('#mailpoet_modal_close').on('click', this.cancel.bind(this));
|
50385 |
|
50430 |
loadTemplate: function() {
|
50431 |
if(this.subpanels.length > 0) {
|
50432 |
// hide panel
|
50433 |
+
jQuery('.mailpoet_'+this.options.type+'_wrapper').hide();
|
50434 |
|
50435 |
// add sub panel wrapper
|
50436 |
+
jQuery('#mailpoet_'+this.options.type)
|
50437 |
.append(this.templates['subpanel']);
|
50438 |
|
50439 |
// add sub panel content
|
50440 |
+
jQuery('.mailpoet_'+this.options.type+'_body').last()
|
50441 |
.html(this.subpanels[(this.subpanels.length - 1)].element);
|
50442 |
|
50443 |
// focus on sub panel
|
50444 |
+
if(this.options.focus) {
|
50445 |
+
this.focus();
|
50446 |
+
}
|
50447 |
+
} else if (this.options.element) {
|
50448 |
+
jQuery('.mailpoet_'+this.options.type+'_body').empty();
|
50449 |
+
jQuery('.mailpoet_'+this.options.type+'_body')
|
50450 |
.append(this.options.element);
|
50451 |
+
} else {
|
50452 |
+
jQuery('.mailpoet_'+this.options.type+'_body')
|
50453 |
.html(
|
50454 |
this.options.body_template(
|
50455 |
this.options.data
|
50456 |
)
|
50457 |
);
|
50458 |
+
}
|
50459 |
|
50460 |
+
return this;
|
50461 |
+
},
|
50462 |
+
loadUrl: function() {
|
50463 |
+
if(this.options.method === 'get') {
|
50464 |
// make ajax request
|
50465 |
+
jQuery.getJSON(this.options.url,
|
50466 |
function(data) {
|
50467 |
this.options.data = jQuery.extend({}, this.options.data, data);
|
50468 |
// load template using fetched data
|
50471 |
this.showModal();
|
50472 |
}.bind(this)
|
50473 |
);
|
50474 |
+
} else if(this.options.method === 'post') {
|
50475 |
// make ajax request
|
50476 |
+
jQuery.post(this.options.url, JSON.stringify(this.options.params),
|
50477 |
function(data) {
|
50478 |
this.options.data = jQuery.extend({}, this.options.data, data);
|
50479 |
// load template using fetched data
|
50483 |
}.bind(this),
|
50484 |
'json'
|
50485 |
);
|
50486 |
+
}
|
50487 |
|
50488 |
+
return this;
|
50489 |
+
},
|
50490 |
+
setDimensions: function() {
|
50491 |
+
switch(this.options.type) {
|
50492 |
+
case 'popup':
|
50493 |
// set popup dimensions
|
50494 |
+
jQuery('#mailpoet_popup').css({
|
50495 |
+
width: this.options.width,
|
50496 |
+
height: this.options.height
|
50497 |
+
});
|
50498 |
// set popup wrapper height
|
50499 |
+
jQuery('#mailpoet_popup_wrapper').css({
|
50500 |
+
height: this.options.height
|
50501 |
+
});
|
50502 |
break;
|
50503 |
+
case 'panel':
|
50504 |
// set dimensions
|
50505 |
+
if(this.options.position === 'right') {
|
50506 |
+
jQuery('#mailpoet_panel').css({
|
50507 |
+
width: this.options.width,
|
50508 |
+
right: 0,
|
50509 |
+
marginRight: '-' + this.options.width,
|
50510 |
+
left: 'auto'
|
50511 |
+
});
|
50512 |
+
} else if(this.options.position === 'left') {
|
50513 |
+
jQuery('#mailpoet_panel').css({
|
50514 |
+
width: this.options.width,
|
50515 |
+
left: 0,
|
50516 |
+
marginLeft: '-' + this.options.width,
|
50517 |
+
right: 'auto'
|
50518 |
+
});
|
50519 |
+
}
|
50520 |
+
jQuery('#mailpoet_panel').css({ minHeight: 'auto' });
|
50521 |
break;
|
50522 |
+
}
|
50523 |
|
50524 |
+
return this;
|
50525 |
+
},
|
50526 |
+
setPosition: function() {
|
50527 |
+
switch(this.options.type) {
|
50528 |
+
case 'popup':
|
50529 |
+
var screenWidth = jQuery(window).width(),
|
50530 |
screenHeight = jQuery(window).height(),
|
50531 |
modalWidth = jQuery('.mailpoet_'+ this.options.type +'_wrapper').width(),
|
50532 |
modalHeight = jQuery('.mailpoet_'+ this.options.type +'_wrapper').height();
|
50533 |
|
50534 |
+
var top = Math.max(48, parseInt((screenHeight / 2) - (modalHeight / 2))),
|
50535 |
left = Math.max(0, parseInt((screenWidth / 2) - (modalWidth / 2)));
|
50536 |
|
50537 |
// set position of popup depending on screen dimensions.
|
50538 |
+
jQuery('#mailpoet_popup').css({
|
50539 |
+
top: top,
|
50540 |
+
left: left
|
50541 |
+
});
|
50542 |
break;
|
50543 |
+
case 'panel':
|
50544 |
+
setTimeout(function() {
|
50545 |
// set position of popup depending on screen dimensions.
|
50546 |
+
if(this.options.position === 'right') {
|
50547 |
+
jQuery('#mailpoet_panel').css({
|
50548 |
+
marginRight: 0
|
50549 |
+
});
|
50550 |
+
} else if(this.options.position === 'left') {
|
50551 |
+
jQuery('#mailpoet_panel').css({
|
50552 |
+
marginLeft: 0
|
50553 |
+
});
|
50554 |
+
}
|
50555 |
+
}.bind(this), 0);
|
50556 |
break;
|
50557 |
+
}
|
50558 |
|
50559 |
+
return this;
|
50560 |
+
},
|
50561 |
+
showModal: function() {
|
50562 |
// set modal dimensions
|
50563 |
+
this.setDimensions();
|
50564 |
|
50565 |
// remember the previously focused element
|
50566 |
+
this.prevFocus = jQuery(':focus');
|
50567 |
|
50568 |
// add a flag on the body so that we can prevent scrolling
|
50569 |
+
jQuery('body').addClass('mailpoet_modal_opened');
|
50570 |
|
50571 |
// show popup
|
50572 |
+
jQuery('#mailpoet_'+this.options.type).show();
|
50573 |
|
50574 |
// display overlay
|
50575 |
+
this.showOverlay();
|
50576 |
|
50577 |
// set modal position
|
50578 |
+
this.setPosition();
|
50579 |
|
50580 |
// add class on highlighted elements
|
50581 |
+
if(this.options.highlight !== null) {
|
50582 |
+
if(this.options.highlight.length > 0) {
|
50583 |
+
this.highlightOn(this.options.highlight);
|
|
|
50584 |
}
|
50585 |
+
}
|
50586 |
|
50587 |
+
if(this.options.focus) {
|
50588 |
+
this.focus();
|
50589 |
+
}
|
50590 |
|
50591 |
// set popup as opened
|
50592 |
+
this.opened = true;
|
50593 |
|
50594 |
// trigger init event if specified
|
50595 |
+
if(this.options.onInit !== null) {
|
50596 |
+
this.options.onInit(this);
|
50597 |
+
}
|
50598 |
|
50599 |
+
return this;
|
50600 |
+
},
|
50601 |
+
focus: function() {
|
50602 |
+
if(this.options.type == 'popup') {
|
50603 |
+
jQuery('#mailpoet_'+this.options.type).focus();
|
50604 |
+
} else {
|
50605 |
// panel and subpanel
|
50606 |
+
jQuery('#mailpoet_'+this.options.type+' .mailpoet_panel_wrapper')
|
50607 |
.filter(':visible').focus();
|
50608 |
+
}
|
50609 |
+
return this;
|
50610 |
+
},
|
50611 |
+
highlightOn: function(element) {
|
50612 |
+
jQuery(element).addClass('mailpoet_modal_highlight');
|
50613 |
+
return this;
|
50614 |
+
},
|
50615 |
+
highlightOff: function() {
|
50616 |
+
jQuery('.mailpoet_modal_highlight')
|
50617 |
.removeClass('mailpoet_modal_highlight');
|
50618 |
+
return this;
|
50619 |
+
},
|
50620 |
+
hideModal: function(callback) {
|
50621 |
// set modal as closed
|
50622 |
+
this.opened = false;
|
50623 |
|
50624 |
// hide modal
|
50625 |
+
jQuery('#mailpoet_'+this.options.type).hide();
|
50626 |
|
50627 |
// remove class on highlighted elements
|
50628 |
+
this.highlightOff();
|
50629 |
|
50630 |
// remove class from body to let it be scrollable
|
50631 |
+
jQuery('body').removeClass('mailpoet_modal_opened');
|
50632 |
|
50633 |
+
return this;
|
50634 |
+
},
|
50635 |
+
showOverlay: function(force) {
|
50636 |
+
jQuery('#mailpoet_modal_overlay').show();
|
50637 |
+
return this;
|
50638 |
+
},
|
50639 |
+
hideOverlay: function() {
|
50640 |
+
jQuery('#mailpoet_modal_overlay').hide();
|
50641 |
+
return this;
|
50642 |
+
},
|
50643 |
+
popup: function(opts) {
|
50644 |
// get options
|
50645 |
+
var options = opts || {};
|
50646 |
// set modal type
|
50647 |
+
options.type = 'popup';
|
50648 |
// set overlay state
|
50649 |
+
options.overlay = options.overlay || true;
|
50650 |
// initialize modal
|
50651 |
+
this.init(options);
|
50652 |
// open modal
|
50653 |
+
this.open();
|
50654 |
|
50655 |
+
return this;
|
50656 |
+
},
|
50657 |
+
panel: function(opts) {
|
50658 |
// get options
|
50659 |
+
var options = opts || {};
|
50660 |
// reset subpanels
|
50661 |
+
this.subpanels = [];
|
50662 |
// set modal type
|
50663 |
+
options.type = 'panel';
|
50664 |
// set overlay state
|
50665 |
+
options.overlay = options.overlay || false;
|
50666 |
// set highlighted element
|
50667 |
+
options.highlight = options.highlight || null;
|
50668 |
// set modal dimensions
|
50669 |
+
options.width = options.width || '40%';
|
50670 |
+
options.height = options.height || 'auto';
|
50671 |
// initialize modal
|
50672 |
+
this.init(options);
|
50673 |
// open modal
|
50674 |
+
this.open();
|
50675 |
|
50676 |
+
return this;
|
50677 |
+
},
|
50678 |
+
subpanel: function(options) {
|
50679 |
+
if(this.opened === false) {
|
50680 |
// if no panel is already opened, let's create one instead
|
50681 |
+
this.panel(options);
|
50682 |
+
} else {
|
50683 |
// if a panel is already opened, add a sub panel to it
|
50684 |
+
this.subpanels.push(options);
|
50685 |
+
this.loadTemplate();
|
50686 |
+
}
|
50687 |
|
50688 |
+
return this;
|
50689 |
+
},
|
50690 |
+
loading: function(toggle) {
|
50691 |
// make sure the overlay is initialized and that it's visible
|
50692 |
+
this.initOverlay(true);
|
50693 |
|
50694 |
+
if(toggle === true) {
|
50695 |
+
this.showLoading();
|
50696 |
+
} else {
|
50697 |
+
this.hideLoading();
|
50698 |
+
}
|
50699 |
|
50700 |
+
return this;
|
50701 |
+
},
|
50702 |
+
showLoading: function() {
|
50703 |
+
jQuery('#mailpoet_loading').show();
|
50704 |
|
50705 |
// add loading class to overlay
|
50706 |
+
jQuery('#mailpoet_modal_overlay')
|
50707 |
.addClass('mailpoet_overlay_loading');
|
50708 |
|
50709 |
+
return this;
|
50710 |
+
},
|
50711 |
+
hideLoading: function() {
|
50712 |
+
jQuery('#mailpoet_loading').hide();
|
50713 |
|
50714 |
// remove loading class from overlay
|
50715 |
+
jQuery('#mailpoet_modal_overlay')
|
50716 |
.removeClass('mailpoet_overlay_loading');
|
50717 |
|
50718 |
+
return this;
|
50719 |
+
},
|
50720 |
+
open: function() {
|
50721 |
// load template if specified
|
50722 |
+
if(this.options.template !== null) {
|
50723 |
// check if a url was specified to get extra data
|
50724 |
+
if(this.options.url !== null) {
|
50725 |
+
this.loadUrl();
|
50726 |
+
} else {
|
50727 |
// load template
|
50728 |
+
this.loadTemplate();
|
50729 |
|
50730 |
// show modal window
|
50731 |
+
this.showModal();
|
|
|
|
|
|
|
50732 |
}
|
50733 |
+
} else {
|
50734 |
+
this.cancel();
|
50735 |
+
}
|
50736 |
|
50737 |
+
return this;
|
50738 |
+
},
|
50739 |
+
success: function() {
|
50740 |
+
if(this.subpanels.length > 0) {
|
50741 |
+
if(this.subpanels[(this.subpanels.length - 1)].onSuccess !== undefined) {
|
50742 |
+
this.subpanels[(this.subpanels.length - 1)].onSuccess(this.subpanels[(this.subpanels.length - 1)].data);
|
|
|
|
|
|
|
|
|
|
|
50743 |
}
|
50744 |
+
} else {
|
50745 |
+
if(this.options.onSuccess !== null) {
|
50746 |
+
this.options.onSuccess(this.options.data);
|
50747 |
+
}
|
50748 |
+
}
|
50749 |
+
this.close();
|
50750 |
|
50751 |
+
return this;
|
50752 |
+
},
|
50753 |
+
cancel: function() {
|
50754 |
+
if(this.subpanels.length > 0) {
|
50755 |
+
if(this.subpanels[(this.subpanels.length - 1)].onCancel !== undefined) {
|
50756 |
+
this.subpanels[(this.subpanels.length - 1)].onCancel(this.subpanels[(this.subpanels.length - 1)].data);
|
|
|
|
|
|
|
|
|
|
|
50757 |
}
|
50758 |
+
} else {
|
50759 |
+
if(this.options.onCancel !== null) {
|
50760 |
+
this.options.onCancel(this.options.data);
|
50761 |
+
}
|
50762 |
+
}
|
50763 |
+
this.close();
|
50764 |
|
50765 |
+
return this;
|
50766 |
+
},
|
50767 |
+
destroy: function() {
|
50768 |
+
this.hideOverlay();
|
50769 |
|
50770 |
// remove extra modal
|
50771 |
+
if(jQuery('#mailpoet_'+this.options.type).length > 0) {
|
50772 |
+
jQuery('#mailpoet_'+this.options.type).remove();
|
50773 |
+
}
|
50774 |
|
50775 |
+
this.initialized = false;
|
50776 |
|
50777 |
+
return this;
|
50778 |
+
},
|
50779 |
+
close: function() {
|
50780 |
+
if(this.isLocked() === true) { return this; }
|
50781 |
|
50782 |
+
if(this.subpanels.length > 0) {
|
50783 |
// close subpanel
|
50784 |
+
jQuery('.mailpoet_'+this.options.type+'_wrapper').last().remove();
|
50785 |
|
50786 |
// show previous panel
|
50787 |
+
jQuery('.mailpoet_'+this.options.type+'_wrapper').last().show();
|
50788 |
|
50789 |
// remove last subpanels
|
50790 |
+
this.subpanels.pop();
|
50791 |
|
50792 |
// focus on previous panel
|
50793 |
+
if(this.options.focus) {
|
50794 |
+
this.focus();
|
|
|
|
|
|
|
50795 |
}
|
50796 |
|
50797 |
+
return this;
|
50798 |
+
}
|
50799 |
+
|
50800 |
// remove event handlers
|
50801 |
+
this.removeEvents();
|
50802 |
|
50803 |
// hide modal window
|
50804 |
+
this.hideModal();
|
50805 |
|
50806 |
// destroy modal element
|
50807 |
+
this.destroy();
|
50808 |
|
50809 |
// restore the previously focused element
|
50810 |
+
if(this.prevFocus !== undefined){
|
50811 |
+
this.prevFocus.focus();
|
50812 |
+
}
|
50813 |
|
50814 |
// reset options
|
50815 |
+
this.options = {
|
50816 |
+
onSuccess: null,
|
50817 |
+
onCancel: null
|
50818 |
+
};
|
50819 |
|
50820 |
+
return this;
|
50821 |
+
}
|
50822 |
};
|
50823 |
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
50824 |
|
50905 |
// setup onClose callback
|
50906 |
var onClose = null;
|
50907 |
if (this.options.onClose !== null) {
|
50908 |
+
onClose = this.options.onClose;
|
50909 |
}
|
50910 |
|
50911 |
// listen to remove event
|
50913 |
jQuery(this).fadeOut(200, function() {
|
50914 |
// on close callback
|
50915 |
if (onClose !== null) {
|
50916 |
+
onClose();
|
50917 |
}
|
50918 |
// remove notice
|
50919 |
jQuery(this).remove();
|
50974 |
switch (this.options.type) {
|
50975 |
case 'success':
|
50976 |
this.element.addClass('notice notice-success');
|
50977 |
+
break;
|
50978 |
case 'system':
|
50979 |
this.element.addClass('notice notice-warning');
|
50980 |
+
break;
|
50981 |
case 'error':
|
50982 |
this.element.addClass('notice notice-error');
|
50983 |
+
break;
|
50984 |
}
|
50985 |
|
50986 |
// make the notice appear
|
50997 |
} else if (this.options.hideClose === false) {
|
50998 |
this.element.append('<a href="javascript:;" class="mailpoet_notice_close"><span class="dashicons dashicons-dismiss"></span></a>');
|
50999 |
this.element.find('.mailpoet_notice_close').on('click', function() {
|
51000 |
+
jQuery(this).trigger('close');
|
51001 |
});
|
51002 |
}
|
51003 |
|
51055 |
], __WEBPACK_AMD_DEFINE_RESULT__ = function(
|
51056 |
mp
|
51057 |
) {
|
51058 |
+
'use strict';
|
51059 |
|
51060 |
+
var MailPoet = mp;
|
51061 |
+
MailPoet.Num = {
|
51062 |
+
toLocaleFixed: function (num, precisionOpts) {
|
51063 |
+
var precision = precisionOpts || 0;
|
51064 |
+
var factor = Math.pow(10, precision);
|
51065 |
+
return (Math.round(num * factor) / factor)
|
51066 |
.toLocaleString(
|
51067 |
undefined,
|
51068 |
{minimumFractionDigits: precision, maximumFractionDigits: precision}
|
51069 |
);
|
51070 |
+
}
|
51071 |
+
};
|
51072 |
|
51073 |
+
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
51074 |
|
51075 |
|
51076 |
/***/ },
|
53702 |
});
|
53703 |
}
|
53704 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53705 |
function cacheEvent(forced, name, data) {
|
53706 |
eventsCache.push({
|
53707 |
name: name,
|
53713 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(274), __webpack_require__(278)], __WEBPACK_AMD_DEFINE_RESULT__ = function(mp, _) {
|
53714 |
var MailPoet = mp;
|
53715 |
|
53716 |
+
function initializeMixpanelWhenLoaded() {
|
53717 |
+
if (typeof window.mixpanel === 'object') {
|
53718 |
+
exportMixpanel(MailPoet);
|
53719 |
+
trackCachedEvents();
|
53720 |
+
} else {
|
53721 |
+
setTimeout(initializeMixpanelWhenLoaded, 100);
|
53722 |
+
}
|
53723 |
+
}
|
53724 |
+
|
53725 |
MailPoet.trackEvent = _.partial(cacheEvent, false);
|
53726 |
MailPoet.forceTrackEvent = _.partial(cacheEvent, true);
|
53727 |
|
assets/js/manifest.json
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
{
|
2 |
-
"mp2migrator.js": "mp2migrator.
|
3 |
-
"public.js": "public.
|
4 |
-
"admin.js": "admin.
|
5 |
-
"admin_vendor.js": "admin_vendor.
|
6 |
-
"form_editor.js": "form_editor.
|
7 |
-
"mailpoet.js": "mailpoet.
|
8 |
-
"newsletter_editor.js": "newsletter_editor.
|
9 |
-
"vendor.js": "vendor.
|
10 |
}
|
1 |
{
|
2 |
+
"mp2migrator.js": "mp2migrator.923dd5b2.js",
|
3 |
+
"public.js": "public.02e5f1af.js",
|
4 |
+
"admin.js": "admin.d091b681.js",
|
5 |
+
"admin_vendor.js": "admin_vendor.ee9853ec.js",
|
6 |
+
"form_editor.js": "form_editor.c0e36e82.js",
|
7 |
+
"mailpoet.js": "mailpoet.81b583ba.js",
|
8 |
+
"newsletter_editor.js": "newsletter_editor.cc3c87be.js",
|
9 |
+
"vendor.js": "vendor.f4549608.js"
|
10 |
}
|
assets/js/{mp2migrator.4acba493.js → mp2migrator.923dd5b2.js}
RENAMED
@@ -79,7 +79,7 @@
|
|
79 |
|
80 |
displayLogs: function () {
|
81 |
jQuery.ajax({
|
82 |
-
url: mailpoet_mp2_migrator.log_file_url,
|
83 |
cache: false
|
84 |
}).done(function (result) {
|
85 |
jQuery('#logger').html('');
|
@@ -106,7 +106,7 @@
|
|
106 |
|
107 |
updateProgressbar: function () {
|
108 |
jQuery.ajax({
|
109 |
-
url: mailpoet_mp2_migrator.progress_url,
|
110 |
cache: false,
|
111 |
dataType: 'json'
|
112 |
}).always(function (result) {
|
79 |
|
80 |
displayLogs: function () {
|
81 |
jQuery.ajax({
|
82 |
+
url: window.mailpoet_mp2_migrator.log_file_url,
|
83 |
cache: false
|
84 |
}).done(function (result) {
|
85 |
jQuery('#logger').html('');
|
106 |
|
107 |
updateProgressbar: function () {
|
108 |
jQuery.ajax({
|
109 |
+
url: window.mailpoet_mp2_migrator.progress_url,
|
110 |
cache: false,
|
111 |
dataType: 'json'
|
112 |
}).always(function (result) {
|
assets/js/{newsletter_editor.d11e861e.js → newsletter_editor.cc3c87be.js}
RENAMED
@@ -4,11 +4,11 @@ webpackJsonp([4],{
|
|
4 |
/***/ function(module, exports, __webpack_require__) {
|
5 |
|
6 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
|
13 |
var Module = {};
|
14 |
|
@@ -34,7 +34,6 @@ webpackJsonp([4],{
|
|
34 |
action: 'getPostTypes',
|
35 |
options: {}
|
36 |
}).then(function(response) {
|
37 |
-
console.log(_.values(response.data));
|
38 |
return _.values(response.data);
|
39 |
});
|
40 |
};
|
@@ -159,7 +158,8 @@ webpackJsonp([4],{
|
|
159 |
__webpack_require__(602);
|
160 |
__webpack_require__(603);
|
161 |
__webpack_require__(604);
|
162 |
-
|
|
|
163 |
|
164 |
|
165 |
/***/ },
|
@@ -9432,59 +9432,59 @@ webpackJsonp([4],{
|
|
9432 |
var MailPoet = mp;
|
9433 |
|
9434 |
MailPoet.Ajax = {
|
9435 |
-
|
9436 |
-
|
9437 |
-
|
9438 |
-
|
9439 |
-
|
9440 |
-
|
9441 |
-
|
9442 |
-
|
9443 |
-
|
9444 |
-
|
9445 |
-
|
9446 |
-
|
9447 |
-
|
9448 |
-
|
9449 |
-
|
9450 |
-
|
9451 |
|
9452 |
-
|
9453 |
-
|
9454 |
-
|
9455 |
-
|
9456 |
|
9457 |
-
|
9458 |
-
|
9459 |
-
|
9460 |
-
|
9461 |
-
|
9462 |
-
|
9463 |
-
|
9464 |
-
|
9465 |
-
|
9466 |
-
|
9467 |
-
|
9468 |
-
|
9469 |
-
|
9470 |
-
|
9471 |
-
|
9472 |
-
|
9473 |
// set options
|
9474 |
-
|
9475 |
|
9476 |
// set request params
|
9477 |
-
|
9478 |
|
9479 |
// remove null values from the data object
|
9480 |
-
|
9481 |
-
|
9482 |
-
|
9483 |
-
|
9484 |
-
|
9485 |
|
9486 |
// ajax request
|
9487 |
-
|
9488 |
this.options.url,
|
9489 |
params,
|
9490 |
null,
|
@@ -9494,10 +9494,10 @@ webpackJsonp([4],{
|
|
9494 |
}, _.partial(requestFailed, MailPoet.I18n.t('ajaxFailedErrorMessage')));
|
9495 |
|
9496 |
// clear options
|
9497 |
-
|
9498 |
|
9499 |
-
|
9500 |
-
|
9501 |
};
|
9502 |
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
9503 |
|
@@ -9620,9 +9620,8 @@ webpackJsonp([4],{
|
|
9620 |
if(this.renderer === 'html') {
|
9621 |
return function() { return template; };
|
9622 |
} else {
|
9623 |
-
return Handlebars.compile(template);
|
9624 |
}
|
9625 |
-
return false;
|
9626 |
},
|
9627 |
init: function(options) {
|
9628 |
if(this.initialized === true) {
|
@@ -9690,24 +9689,24 @@ webpackJsonp([4],{
|
|
9690 |
initOverlay: function(toggle) {
|
9691 |
if(jQuery('#mailpoet_modal_overlay').length === 0) {
|
9692 |
// insert overlay into the DOM
|
9693 |
-
|
9694 |
// insert loading indicator into overlay
|
9695 |
-
|
9696 |
-
|
9697 |
-
|
9698 |
-
|
9699 |
-
|
9700 |
-
|
9701 |
-
|
9702 |
.removeClass('mailpoet_overlay_hidden');
|
9703 |
-
|
9704 |
-
|
9705 |
.addClass('mailpoet_overlay_hidden');
|
9706 |
-
|
9707 |
|
9708 |
-
|
9709 |
-
|
9710 |
-
|
9711 |
// close popup when user clicks on close button
|
9712 |
jQuery('#mailpoet_modal_close').on('click', this.cancel.bind(this));
|
9713 |
|
@@ -9758,39 +9757,39 @@ webpackJsonp([4],{
|
|
9758 |
loadTemplate: function() {
|
9759 |
if(this.subpanels.length > 0) {
|
9760 |
// hide panel
|
9761 |
-
|
9762 |
|
9763 |
// add sub panel wrapper
|
9764 |
-
|
9765 |
.append(this.templates['subpanel']);
|
9766 |
|
9767 |
// add sub panel content
|
9768 |
-
|
9769 |
.html(this.subpanels[(this.subpanels.length - 1)].element);
|
9770 |
|
9771 |
// focus on sub panel
|
9772 |
-
|
9773 |
-
|
9774 |
-
|
9775 |
-
|
9776 |
-
|
9777 |
-
|
9778 |
.append(this.options.element);
|
9779 |
-
|
9780 |
-
|
9781 |
.html(
|
9782 |
this.options.body_template(
|
9783 |
this.options.data
|
9784 |
)
|
9785 |
);
|
9786 |
-
|
9787 |
|
9788 |
-
|
9789 |
-
|
9790 |
-
|
9791 |
-
|
9792 |
// make ajax request
|
9793 |
-
|
9794 |
function(data) {
|
9795 |
this.options.data = jQuery.extend({}, this.options.data, data);
|
9796 |
// load template using fetched data
|
@@ -9799,9 +9798,9 @@ webpackJsonp([4],{
|
|
9799 |
this.showModal();
|
9800 |
}.bind(this)
|
9801 |
);
|
9802 |
-
|
9803 |
// make ajax request
|
9804 |
-
|
9805 |
function(data) {
|
9806 |
this.options.data = jQuery.extend({}, this.options.data, data);
|
9807 |
// load template using fetched data
|
@@ -9811,342 +9810,342 @@ webpackJsonp([4],{
|
|
9811 |
}.bind(this),
|
9812 |
'json'
|
9813 |
);
|
9814 |
-
|
9815 |
|
9816 |
-
|
9817 |
-
|
9818 |
-
|
9819 |
-
|
9820 |
-
|
9821 |
// set popup dimensions
|
9822 |
-
|
9823 |
-
|
9824 |
-
|
9825 |
-
|
9826 |
// set popup wrapper height
|
9827 |
-
|
9828 |
-
|
9829 |
-
|
9830 |
break;
|
9831 |
-
|
9832 |
// set dimensions
|
9833 |
-
|
9834 |
-
|
9835 |
-
|
9836 |
-
|
9837 |
-
|
9838 |
-
|
9839 |
-
|
9840 |
-
|
9841 |
-
|
9842 |
-
|
9843 |
-
|
9844 |
-
|
9845 |
-
|
9846 |
-
|
9847 |
-
|
9848 |
-
|
9849 |
break;
|
9850 |
-
|
9851 |
|
9852 |
-
|
9853 |
-
|
9854 |
-
|
9855 |
-
|
9856 |
-
|
9857 |
-
|
9858 |
screenHeight = jQuery(window).height(),
|
9859 |
modalWidth = jQuery('.mailpoet_'+ this.options.type +'_wrapper').width(),
|
9860 |
modalHeight = jQuery('.mailpoet_'+ this.options.type +'_wrapper').height();
|
9861 |
|
9862 |
-
|
9863 |
left = Math.max(0, parseInt((screenWidth / 2) - (modalWidth / 2)));
|
9864 |
|
9865 |
// set position of popup depending on screen dimensions.
|
9866 |
-
|
9867 |
-
|
9868 |
-
|
9869 |
-
|
9870 |
break;
|
9871 |
-
|
9872 |
-
|
9873 |
// set position of popup depending on screen dimensions.
|
9874 |
-
|
9875 |
-
|
9876 |
-
|
9877 |
-
|
9878 |
-
|
9879 |
-
|
9880 |
-
|
9881 |
-
|
9882 |
-
|
9883 |
-
|
9884 |
break;
|
9885 |
-
|
9886 |
|
9887 |
-
|
9888 |
-
|
9889 |
-
|
9890 |
// set modal dimensions
|
9891 |
-
|
9892 |
|
9893 |
// remember the previously focused element
|
9894 |
-
|
9895 |
|
9896 |
// add a flag on the body so that we can prevent scrolling
|
9897 |
-
|
9898 |
|
9899 |
// show popup
|
9900 |
-
|
9901 |
|
9902 |
// display overlay
|
9903 |
-
|
9904 |
|
9905 |
// set modal position
|
9906 |
-
|
9907 |
|
9908 |
// add class on highlighted elements
|
9909 |
-
|
9910 |
-
|
9911 |
-
|
9912 |
-
}
|
9913 |
}
|
|
|
9914 |
|
9915 |
-
|
9916 |
-
|
9917 |
-
|
9918 |
|
9919 |
// set popup as opened
|
9920 |
-
|
9921 |
|
9922 |
// trigger init event if specified
|
9923 |
-
|
9924 |
-
|
9925 |
-
|
9926 |
|
9927 |
-
|
9928 |
-
|
9929 |
-
|
9930 |
-
|
9931 |
-
|
9932 |
-
|
9933 |
// panel and subpanel
|
9934 |
-
|
9935 |
.filter(':visible').focus();
|
9936 |
-
|
9937 |
-
|
9938 |
-
|
9939 |
-
|
9940 |
-
|
9941 |
-
|
9942 |
-
|
9943 |
-
|
9944 |
-
|
9945 |
.removeClass('mailpoet_modal_highlight');
|
9946 |
-
|
9947 |
-
|
9948 |
-
|
9949 |
// set modal as closed
|
9950 |
-
|
9951 |
|
9952 |
// hide modal
|
9953 |
-
|
9954 |
|
9955 |
// remove class on highlighted elements
|
9956 |
-
|
9957 |
|
9958 |
// remove class from body to let it be scrollable
|
9959 |
-
|
9960 |
|
9961 |
-
|
9962 |
-
|
9963 |
-
|
9964 |
-
|
9965 |
-
|
9966 |
-
|
9967 |
-
|
9968 |
-
|
9969 |
-
|
9970 |
-
|
9971 |
-
|
9972 |
// get options
|
9973 |
-
|
9974 |
// set modal type
|
9975 |
-
|
9976 |
// set overlay state
|
9977 |
-
|
9978 |
// initialize modal
|
9979 |
-
|
9980 |
// open modal
|
9981 |
-
|
9982 |
|
9983 |
-
|
9984 |
-
|
9985 |
-
|
9986 |
// get options
|
9987 |
-
|
9988 |
// reset subpanels
|
9989 |
-
|
9990 |
// set modal type
|
9991 |
-
|
9992 |
// set overlay state
|
9993 |
-
|
9994 |
// set highlighted element
|
9995 |
-
|
9996 |
// set modal dimensions
|
9997 |
-
|
9998 |
-
|
9999 |
// initialize modal
|
10000 |
-
|
10001 |
// open modal
|
10002 |
-
|
10003 |
|
10004 |
-
|
10005 |
-
|
10006 |
-
|
10007 |
-
|
10008 |
// if no panel is already opened, let's create one instead
|
10009 |
-
|
10010 |
-
|
10011 |
// if a panel is already opened, add a sub panel to it
|
10012 |
-
|
10013 |
-
|
10014 |
-
|
10015 |
|
10016 |
-
|
10017 |
-
|
10018 |
-
|
10019 |
// make sure the overlay is initialized and that it's visible
|
10020 |
-
|
10021 |
|
10022 |
-
|
10023 |
-
|
10024 |
-
|
10025 |
-
|
10026 |
-
|
10027 |
|
10028 |
-
|
10029 |
-
|
10030 |
-
|
10031 |
-
|
10032 |
|
10033 |
// add loading class to overlay
|
10034 |
-
|
10035 |
.addClass('mailpoet_overlay_loading');
|
10036 |
|
10037 |
-
|
10038 |
-
|
10039 |
-
|
10040 |
-
|
10041 |
|
10042 |
// remove loading class from overlay
|
10043 |
-
|
10044 |
.removeClass('mailpoet_overlay_loading');
|
10045 |
|
10046 |
-
|
10047 |
-
|
10048 |
-
|
10049 |
// load template if specified
|
10050 |
-
|
10051 |
// check if a url was specified to get extra data
|
10052 |
-
|
10053 |
-
|
10054 |
-
|
10055 |
// load template
|
10056 |
-
|
10057 |
|
10058 |
// show modal window
|
10059 |
-
|
10060 |
-
}
|
10061 |
-
} else {
|
10062 |
-
this.cancel();
|
10063 |
}
|
|
|
|
|
|
|
10064 |
|
10065 |
-
|
10066 |
-
|
10067 |
-
|
10068 |
-
|
10069 |
-
|
10070 |
-
|
10071 |
-
}
|
10072 |
-
} else {
|
10073 |
-
if(this.options.onSuccess !== null) {
|
10074 |
-
this.options.onSuccess(this.options.data);
|
10075 |
-
}
|
10076 |
}
|
10077 |
-
|
|
|
|
|
|
|
|
|
|
|
10078 |
|
10079 |
-
|
10080 |
-
|
10081 |
-
|
10082 |
-
|
10083 |
-
|
10084 |
-
|
10085 |
-
}
|
10086 |
-
} else {
|
10087 |
-
if(this.options.onCancel !== null) {
|
10088 |
-
this.options.onCancel(this.options.data);
|
10089 |
-
}
|
10090 |
}
|
10091 |
-
|
|
|
|
|
|
|
|
|
|
|
10092 |
|
10093 |
-
|
10094 |
-
|
10095 |
-
|
10096 |
-
|
10097 |
|
10098 |
// remove extra modal
|
10099 |
-
|
10100 |
-
|
10101 |
-
|
10102 |
|
10103 |
-
|
10104 |
|
10105 |
-
|
10106 |
-
|
10107 |
-
|
10108 |
-
|
10109 |
|
10110 |
-
|
10111 |
// close subpanel
|
10112 |
-
|
10113 |
|
10114 |
// show previous panel
|
10115 |
-
|
10116 |
|
10117 |
// remove last subpanels
|
10118 |
-
|
10119 |
|
10120 |
// focus on previous panel
|
10121 |
-
|
10122 |
-
|
10123 |
-
}
|
10124 |
-
|
10125 |
-
return this;
|
10126 |
}
|
10127 |
|
|
|
|
|
|
|
10128 |
// remove event handlers
|
10129 |
-
|
10130 |
|
10131 |
// hide modal window
|
10132 |
-
|
10133 |
|
10134 |
// destroy modal element
|
10135 |
-
|
10136 |
|
10137 |
// restore the previously focused element
|
10138 |
-
|
10139 |
-
|
10140 |
-
|
10141 |
|
10142 |
// reset options
|
10143 |
-
|
10144 |
-
|
10145 |
-
|
10146 |
-
|
10147 |
|
10148 |
-
|
10149 |
-
|
10150 |
};
|
10151 |
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
10152 |
|
@@ -10234,7 +10233,7 @@ webpackJsonp([4],{
|
|
10234 |
// setup onClose callback
|
10235 |
var onClose = null;
|
10236 |
if (this.options.onClose !== null) {
|
10237 |
-
|
10238 |
}
|
10239 |
|
10240 |
// listen to remove event
|
@@ -10242,7 +10241,7 @@ webpackJsonp([4],{
|
|
10242 |
jQuery(this).fadeOut(200, function() {
|
10243 |
// on close callback
|
10244 |
if (onClose !== null) {
|
10245 |
-
|
10246 |
}
|
10247 |
// remove notice
|
10248 |
jQuery(this).remove();
|
@@ -10303,13 +10302,13 @@ webpackJsonp([4],{
|
|
10303 |
switch (this.options.type) {
|
10304 |
case 'success':
|
10305 |
this.element.addClass('notice notice-success');
|
10306 |
-
|
10307 |
case 'system':
|
10308 |
this.element.addClass('notice notice-warning');
|
10309 |
-
|
10310 |
case 'error':
|
10311 |
this.element.addClass('notice notice-error');
|
10312 |
-
|
10313 |
}
|
10314 |
|
10315 |
// make the notice appear
|
@@ -10326,7 +10325,7 @@ webpackJsonp([4],{
|
|
10326 |
} else if (this.options.hideClose === false) {
|
10327 |
this.element.append('<a href="javascript:;" class="mailpoet_notice_close"><span class="dashicons dashicons-dismiss"></span></a>');
|
10328 |
this.element.find('.mailpoet_notice_close').on('click', function() {
|
10329 |
-
|
10330 |
});
|
10331 |
}
|
10332 |
|
@@ -27608,14 +27607,14 @@ webpackJsonp([4],{
|
|
27608 |
/***/ function(module, exports, __webpack_require__) {
|
27609 |
|
27610 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
27611 |
-
|
27612 |
-
|
27613 |
-
|
27614 |
-
|
27615 |
-
|
27616 |
-
|
27617 |
-
|
27618 |
-
|
27619 |
var Radio = BackboneRadio;
|
27620 |
|
27621 |
var AppView = Marionette.View.extend({
|
@@ -27659,9 +27658,9 @@ webpackJsonp([4],{
|
|
27659 |
/***/ function(module, exports, __webpack_require__) {
|
27660 |
|
27661 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
27662 |
-
|
27663 |
-
|
27664 |
-
|
27665 |
|
27666 |
var Module = {};
|
27667 |
|
@@ -27703,10 +27702,11 @@ webpackJsonp([4],{
|
|
27703 |
/***/ function(module, exports, __webpack_require__) {
|
27704 |
|
27705 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
27706 |
-
|
27707 |
-
|
27708 |
-
|
27709 |
-
|
|
|
27710 |
|
27711 |
'use strict';
|
27712 |
|
@@ -27751,7 +27751,7 @@ webpackJsonp([4],{
|
|
27751 |
});
|
27752 |
|
27753 |
Module.StylesView = Marionette.View.extend({
|
27754 |
-
getTemplate: function() { return templates.styles; },
|
27755 |
modelEvents: {
|
27756 |
change: 'render'
|
27757 |
},
|
@@ -27799,25 +27799,25 @@ webpackJsonp([4],{
|
|
27799 |
/***/ function(module, exports, __webpack_require__) {
|
27800 |
|
27801 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
27802 |
-
|
27803 |
-
|
27804 |
-
|
27805 |
-
|
27806 |
-
|
27807 |
-
|
27808 |
-
|
27809 |
-
|
27810 |
-
|
27811 |
-
|
27812 |
-
|
27813 |
-
|
27814 |
-
|
27815 |
-
|
27816 |
-
|
27817 |
-
|
27818 |
-
|
27819 |
-
|
27820 |
-
|
27821 |
) {
|
27822 |
|
27823 |
'use strict';
|
@@ -27853,7 +27853,7 @@ webpackJsonp([4],{
|
|
27853 |
Module.getLayoutWidgets = function() { return Module._layoutWidgets; };
|
27854 |
|
27855 |
var SidebarView = Marionette.View.extend({
|
27856 |
-
getTemplate: function() { return templates.sidebar; },
|
27857 |
regions: {
|
27858 |
contentRegion: '.mailpoet_content_region',
|
27859 |
layoutRegion: '.mailpoet_layout_region',
|
@@ -27947,7 +27947,7 @@ webpackJsonp([4],{
|
|
27947 |
* Responsible for rendering draggable content widgets
|
27948 |
*/
|
27949 |
Module.SidebarWidgetsView = Marionette.View.extend({
|
27950 |
-
getTemplate: function() { return templates.sidebarContent; },
|
27951 |
regions: {
|
27952 |
widgets: '.mailpoet_region_content'
|
27953 |
},
|
@@ -27967,14 +27967,14 @@ webpackJsonp([4],{
|
|
27967 |
* Responsible for rendering draggable layout widgets
|
27968 |
*/
|
27969 |
Module.SidebarLayoutWidgetsView = Module.SidebarWidgetsView.extend({
|
27970 |
-
getTemplate: function() { return templates.sidebarLayout; }
|
27971 |
});
|
27972 |
|
27973 |
/**
|
27974 |
* Responsible for managing global styles
|
27975 |
*/
|
27976 |
Module.SidebarStylesView = Marionette.View.extend({
|
27977 |
-
getTemplate: function() { return templates.sidebarStyles; },
|
27978 |
behaviors: {
|
27979 |
ColorPickerBehavior: {}
|
27980 |
},
|
@@ -28038,7 +28038,7 @@ webpackJsonp([4],{
|
|
28038 |
});
|
28039 |
|
28040 |
Module.SidebarPreviewView = Marionette.View.extend({
|
28041 |
-
getTemplate: function() { return templates.sidebarPreview; },
|
28042 |
events: {
|
28043 |
'click .mailpoet_show_preview': 'showPreview',
|
28044 |
'click #mailpoet_send_preview': 'sendPreview'
|
@@ -28146,7 +28146,7 @@ webpackJsonp([4],{
|
|
28146 |
});
|
28147 |
|
28148 |
Module.NewsletterPreviewView = Marionette.View.extend({
|
28149 |
-
getTemplate: function() { return templates.newsletterPreview; },
|
28150 |
initialize: function(options) {
|
28151 |
this.previewUrl = options.previewUrl;
|
28152 |
this.width = '100%';
|
@@ -28205,11 +28205,11 @@ webpackJsonp([4],{
|
|
28205 |
/***/ function(module, exports, __webpack_require__) {
|
28206 |
|
28207 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
28208 |
-
|
28209 |
-
|
28210 |
-
|
28211 |
-
|
28212 |
-
|
28213 |
'use strict';
|
28214 |
|
28215 |
var Module = {};
|
@@ -28221,7 +28221,7 @@ webpackJsonp([4],{
|
|
28221 |
whitelisted: ['id', 'subject', 'preheader'],
|
28222 |
initialize: function(options) {
|
28223 |
this.on('change', function() {
|
28224 |
-
|
28225 |
});
|
28226 |
},
|
28227 |
toJSON: function() {
|
@@ -28265,7 +28265,7 @@ webpackJsonp([4],{
|
|
28265 |
};
|
28266 |
|
28267 |
Module.getNewsletter = function() {
|
28268 |
-
|
28269 |
};
|
28270 |
|
28271 |
Module.findModels = function(predicate) {
|
@@ -28319,19 +28319,20 @@ webpackJsonp([4],{
|
|
28319 |
/***/ function(module, exports, __webpack_require__) {
|
28320 |
|
28321 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
28322 |
-
|
28323 |
-
|
28324 |
-
|
28325 |
-
|
28326 |
-
|
28327 |
-
|
|
|
28328 |
|
28329 |
'use strict';
|
28330 |
|
28331 |
var Module = {};
|
28332 |
|
28333 |
Module.HeadingView = Marionette.View.extend({
|
28334 |
-
getTemplate: function() { return templates.heading; },
|
28335 |
templateContext: function() {
|
28336 |
return {
|
28337 |
model: this.model.toJSON()
|
@@ -28371,33 +28372,37 @@ webpackJsonp([4],{
|
|
28371 |
/***/ function(module, exports, __webpack_require__) {
|
28372 |
|
28373 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
28374 |
-
|
28375 |
-
|
28376 |
-
|
28377 |
-
|
28378 |
-
|
28379 |
-
|
28380 |
-
|
28381 |
-
|
28382 |
-
|
28383 |
-
|
28384 |
-
|
28385 |
-
|
28386 |
-
|
28387 |
-
|
28388 |
-
|
28389 |
-
|
28390 |
-
|
28391 |
-
|
28392 |
-
|
28393 |
-
|
28394 |
-
|
28395 |
-
|
|
|
|
|
|
|
|
|
28396 |
|
28397 |
'use strict';
|
28398 |
|
28399 |
var Module = {},
|
28400 |
-
|
28401 |
|
28402 |
// Save editor contents to server
|
28403 |
Module.save = function() {
|
@@ -28445,9 +28450,9 @@ webpackJsonp([4],{
|
|
28445 |
// Removes 1px left transparent border from resulting canvas.
|
28446 |
|
28447 |
var oldContext = oldCanvas.getContext('2d'),
|
28448 |
-
|
28449 |
-
|
28450 |
-
|
28451 |
|
28452 |
newCanvas.width = oldCanvas.width;
|
28453 |
newCanvas.height = oldCanvas.height;
|
@@ -28464,7 +28469,7 @@ webpackJsonp([4],{
|
|
28464 |
|
28465 |
Module.saveTemplate = function(options) {
|
28466 |
var that = this,
|
28467 |
-
|
28468 |
|
28469 |
promise.then(function(thumbnail) {
|
28470 |
var data = _.extend(options || {}, {
|
@@ -28511,7 +28516,7 @@ webpackJsonp([4],{
|
|
28511 |
};
|
28512 |
|
28513 |
Module.SaveView = Marionette.View.extend({
|
28514 |
-
getTemplate: function() { return templates.save; },
|
28515 |
events: {
|
28516 |
'click .mailpoet_save_button': 'save',
|
28517 |
'click .mailpoet_save_show_options': 'toggleSaveOptions',
|
@@ -28561,8 +28566,8 @@ webpackJsonp([4],{
|
|
28561 |
},
|
28562 |
saveAsTemplate: function() {
|
28563 |
var templateName = this.$('.mailpoet_save_as_template_name').val(),
|
28564 |
-
|
28565 |
-
|
28566 |
|
28567 |
if (templateName === '') {
|
28568 |
MailPoet.Notice.error(
|
@@ -28617,8 +28622,8 @@ webpackJsonp([4],{
|
|
28617 |
},
|
28618 |
exportTemplate: function() {
|
28619 |
var templateName = this.$('.mailpoet_export_template_name').val(),
|
28620 |
-
|
28621 |
-
|
28622 |
|
28623 |
if (templateName === '') {
|
28624 |
MailPoet.Notice.error(
|
@@ -33300,8 +33305,8 @@ webpackJsonp([4],{
|
|
33300 |
* For more check: http://marionettejs.com/docs/marionette.behaviors.html#behaviorslookup
|
33301 |
*/
|
33302 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
33303 |
-
|
33304 |
-
|
33305 |
var Marionette = BackboneMarionette;
|
33306 |
var BehaviorsLookup = {};
|
33307 |
Marionette.Behaviors.behaviorsLookup = function() {
|
@@ -33325,24 +33330,44 @@ webpackJsonp([4],{
|
|
33325 |
* Adds a color picker integration with the view
|
33326 |
*/
|
33327 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
33328 |
-
|
33329 |
-
|
33330 |
-
|
33331 |
-
|
33332 |
-
|
33333 |
var BL = BehaviorsLookup;
|
33334 |
|
33335 |
BL.ColorPickerBehavior = Marionette.Behavior.extend({
|
33336 |
onRender: function() {
|
33337 |
-
this
|
33338 |
-
|
33339 |
-
|
33340 |
-
|
33341 |
-
|
33342 |
-
|
33343 |
-
|
33344 |
-
|
33345 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33346 |
}
|
33347 |
});
|
33348 |
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
@@ -33353,7 +33378,8 @@ webpackJsonp([4],{
|
|
33353 |
/***/ 587:
|
33354 |
/***/ function(module, exports, __webpack_require__) {
|
33355 |
|
33356 |
-
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__
|
|
|
33357 |
* ContainerDropZoneBehavior
|
33358 |
*
|
33359 |
* A receiving behavior for drag&drop.
|
@@ -33361,12 +33387,12 @@ webpackJsonp([4],{
|
|
33361 |
* accept droppables
|
33362 |
*/
|
33363 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
33364 |
-
|
33365 |
-
|
33366 |
-
|
33367 |
-
|
33368 |
-
|
33369 |
-
|
33370 |
var BehaviorsLookup = BL;
|
33371 |
|
33372 |
BehaviorsLookup.ContainerDropZoneBehavior = Marionette.Behavior.extend({
|
@@ -33376,7 +33402,7 @@ webpackJsonp([4],{
|
|
33376 |
onRender: function() {
|
33377 |
var dragAndDropDisabled = _.isObject(this.view.options.renderOptions) && this.view.options.renderOptions.disableDragAndDrop === true;
|
33378 |
if (!dragAndDropDisabled) {
|
33379 |
-
|
33380 |
}
|
33381 |
},
|
33382 |
addDropZone: function(_event) {
|
@@ -33550,8 +33576,9 @@ webpackJsonp([4],{
|
|
33550 |
|
33551 |
if (view.model.get('orientation') === 'horizontal' && droppableModel.get('type') !== 'container') {
|
33552 |
// Regular blocks always need to be inserted into columns - vertical containers
|
33553 |
-
|
33554 |
-
|
|
|
33555 |
});
|
33556 |
tempCollection.get('blocks').add(droppableModel);
|
33557 |
viewCollection.add(tempCollection, {at: index});
|
@@ -33565,27 +33592,27 @@ webpackJsonp([4],{
|
|
33565 |
// and inserting dropModel into that
|
33566 |
var tempModel = viewCollection.at(dropPosition.index);
|
33567 |
|
33568 |
-
tempCollection = new (EditorApplication.getBlockTypeModel('container'))({
|
33569 |
-
|
33570 |
});
|
33571 |
|
33572 |
viewCollection.remove(tempModel);
|
33573 |
|
33574 |
if (tempCollection.get('orientation') === 'horizontal') {
|
33575 |
if (dropPosition.position === 'before') {
|
33576 |
-
tempCollection2 = new (EditorApplication.getBlockTypeModel('container'))({
|
33577 |
orientation: 'vertical'
|
33578 |
});
|
33579 |
tempCollection2.get('blocks').add(droppableModel);
|
33580 |
tempCollection.get('blocks').add(tempCollection2);
|
33581 |
}
|
33582 |
-
tempCollection2 = new (EditorApplication.getBlockTypeModel('container'))({
|
33583 |
orientation: 'vertical'
|
33584 |
});
|
33585 |
tempCollection2.get('blocks').add(tempModel);
|
33586 |
tempCollection.get('blocks').add(tempCollection2);
|
33587 |
if (dropPosition.position === 'after') {
|
33588 |
-
tempCollection2 = new (EditorApplication.getBlockTypeModel('container'))({
|
33589 |
orientation: 'vertical'
|
33590 |
});
|
33591 |
tempCollection2.get('blocks').add(droppableModel);
|
@@ -33646,7 +33673,7 @@ webpackJsonp([4],{
|
|
33646 |
|
33647 |
insertionType, index, position, indexAndPosition;
|
33648 |
|
33649 |
-
unsafe = !!is_unsafe;
|
33650 |
|
33651 |
if (this.getCollection().length === 0) {
|
33652 |
return {
|
@@ -33732,14 +33759,14 @@ webpackJsonp([4],{
|
|
33732 |
if (eventOffset <= closeOffset + elementDimension / 2) {
|
33733 |
// First half of the element
|
33734 |
return {
|
33735 |
-
|
33736 |
-
|
33737 |
};
|
33738 |
} else {
|
33739 |
// Second half of the element
|
33740 |
return {
|
33741 |
-
|
33742 |
-
|
33743 |
};
|
33744 |
}
|
33745 |
},
|
@@ -33807,12 +33834,12 @@ webpackJsonp([4],{
|
|
33807 |
* Part of the drag&drop behavior.
|
33808 |
*/
|
33809 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
33810 |
-
|
33811 |
-
|
33812 |
-
|
33813 |
-
|
33814 |
-
|
33815 |
-
|
33816 |
var BL = BehaviorsLookup;
|
33817 |
|
33818 |
BL.DraggableBehavior = Marionette.Behavior.extend({
|
@@ -33835,13 +33862,13 @@ webpackJsonp([4],{
|
|
33835 |
},
|
33836 |
onRender: function() {
|
33837 |
var that = this,
|
33838 |
-
|
33839 |
|
33840 |
// Give instances more control over whether Draggable should be applied
|
33841 |
if (!this.options.testAttachToInstance(this.view.model, this.view)) return;
|
33842 |
|
33843 |
interactable = interact(this.$el.get(0), {
|
33844 |
-
|
33845 |
}).draggable({
|
33846 |
// allow dragging of multple elements at the same time
|
33847 |
max: Infinity,
|
@@ -33856,7 +33883,7 @@ webpackJsonp([4],{
|
|
33856 |
// Use substitution instead of a clone
|
33857 |
var tempClone = (_.isFunction(that.options.onDragSubstituteBy)) ? that.options.onDragSubstituteBy(that) : undefined,
|
33858 |
// Or use a clone
|
33859 |
-
clone = tempClone
|
33860 |
|
33861 |
$original = jQuery(event.target),
|
33862 |
$clone = jQuery(clone),
|
@@ -33950,6 +33977,39 @@ webpackJsonp([4],{
|
|
33950 |
/***/ },
|
33951 |
|
33952 |
/***/ 589:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33953 |
/***/ function(module, exports, __webpack_require__) {
|
33954 |
|
33955 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
@@ -33958,9 +34018,9 @@ webpackJsonp([4],{
|
|
33958 |
* Highlights a block that is being edited
|
33959 |
*/
|
33960 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
33961 |
-
|
33962 |
-
|
33963 |
-
|
33964 |
var BL = BehaviorsLookup;
|
33965 |
|
33966 |
BL.HighlightEditingBehavior = Marionette.Behavior.extend({
|
@@ -33969,9 +34029,11 @@ webpackJsonp([4],{
|
|
33969 |
stopEditing: 'disableHighlight'
|
33970 |
},
|
33971 |
enableHighlight: function() {
|
|
|
33972 |
this.$el.addClass('mailpoet_highlight');
|
33973 |
},
|
33974 |
disableHighlight: function() {
|
|
|
33975 |
this.$el.removeClass('mailpoet_highlight');
|
33976 |
}
|
33977 |
});
|
@@ -33980,7 +34042,7 @@ webpackJsonp([4],{
|
|
33980 |
|
33981 |
/***/ },
|
33982 |
|
33983 |
-
/***/
|
33984 |
/***/ function(module, exports, __webpack_require__) {
|
33985 |
|
33986 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
@@ -33989,10 +34051,10 @@ webpackJsonp([4],{
|
|
33989 |
* Allows resizing elements within a block
|
33990 |
*/
|
33991 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
33992 |
-
|
33993 |
-
|
33994 |
-
|
33995 |
-
|
33996 |
var BL = BehaviorsLookup;
|
33997 |
|
33998 |
BL.ResizableBehavior = Marionette.Behavior.extend({
|
@@ -34016,7 +34078,7 @@ webpackJsonp([4],{
|
|
34016 |
},
|
34017 |
attachResize: function() {
|
34018 |
var domElement = (this.options.elementSelector === null) ? this.view.$el.get(0) : this.view.$(this.options.elementSelector).get(0),
|
34019 |
-
|
34020 |
interact(domElement).resizable({
|
34021 |
//axis: 'y',
|
34022 |
edges: {
|
@@ -34057,7 +34119,7 @@ webpackJsonp([4],{
|
|
34057 |
|
34058 |
/***/ },
|
34059 |
|
34060 |
-
/***/
|
34061 |
/***/ function(module, exports, __webpack_require__) {
|
34062 |
|
34063 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
@@ -34066,10 +34128,10 @@ webpackJsonp([4],{
|
|
34066 |
* Allows sorting elements within a collection
|
34067 |
*/
|
34068 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
34069 |
-
|
34070 |
-
|
34071 |
-
|
34072 |
-
|
34073 |
var BL = BehaviorsLookup;
|
34074 |
|
34075 |
BL.SortableBehavior = Marionette.Behavior.extend({
|
@@ -34105,7 +34167,7 @@ webpackJsonp([4],{
|
|
34105 |
|
34106 |
/***/ },
|
34107 |
|
34108 |
-
/***/
|
34109 |
/***/ function(module, exports, __webpack_require__) {
|
34110 |
|
34111 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
@@ -34114,10 +34176,10 @@ webpackJsonp([4],{
|
|
34114 |
* Opens up settings of a BlockView if contents are clicked upon
|
34115 |
*/
|
34116 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
34117 |
-
|
34118 |
-
|
34119 |
-
|
34120 |
-
|
34121 |
var BL = BehaviorsLookup;
|
34122 |
|
34123 |
BL.ShowSettingsBehavior = Marionette.Behavior.extend({
|
@@ -34144,7 +34206,7 @@ webpackJsonp([4],{
|
|
34144 |
|
34145 |
/***/ },
|
34146 |
|
34147 |
-
/***/
|
34148 |
/***/ function(module, exports, __webpack_require__) {
|
34149 |
|
34150 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
@@ -34153,10 +34215,10 @@ webpackJsonp([4],{
|
|
34153 |
* Adds TinyMCE text editing capabilities to a view
|
34154 |
*/
|
34155 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
34156 |
-
|
34157 |
-
|
34158 |
-
|
34159 |
-
|
34160 |
var BL = BehaviorsLookup;
|
34161 |
|
34162 |
BL.TextEditorBehavior = Marionette.Behavior.extend({
|
@@ -34214,7 +34276,7 @@ webpackJsonp([4],{
|
|
34214 |
editor.focus();
|
34215 |
if (that._isActivationClick) {
|
34216 |
editor.selection.setRng(
|
34217 |
-
tinymce.dom.RangeUtils.getCaretRangeFromPoint(e.clientX, e.clientY, editor.getDoc())
|
34218 |
);
|
34219 |
that._isActivationClick = false;
|
34220 |
}
|
@@ -34222,7 +34284,7 @@ webpackJsonp([4],{
|
|
34222 |
|
34223 |
editor.on('focus', function(e) {
|
34224 |
that.view.triggerMethod('text:editor:focus');
|
34225 |
-
|
34226 |
});
|
34227 |
|
34228 |
editor.on('blur', function(e) {
|
@@ -34237,7 +34299,7 @@ webpackJsonp([4],{
|
|
34237 |
|
34238 |
/***/ },
|
34239 |
|
34240 |
-
/***/
|
34241 |
/***/ function(module, exports, __webpack_require__) {
|
34242 |
|
34243 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
@@ -34247,19 +34309,19 @@ webpackJsonp([4],{
|
|
34247 |
* BlockToolsView, BlockSettingsView and BlockWidgetView are optional.
|
34248 |
*/
|
34249 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
34250 |
-
|
34251 |
-
|
34252 |
-
|
34253 |
-
|
34254 |
-
|
34255 |
-
|
34256 |
-
|
34257 |
-
|
34258 |
|
34259 |
'use strict';
|
34260 |
|
34261 |
var Module = {},
|
34262 |
-
|
34263 |
|
34264 |
Module.BlockModel = SuperModel.extend({
|
34265 |
stale: [], // Attributes to be removed upon saving
|
@@ -34420,7 +34482,7 @@ webpackJsonp([4],{
|
|
34420 |
});
|
34421 |
|
34422 |
Module.BlockToolsView = AugmentedView.extend({
|
34423 |
-
getTemplate: function() { return templates.genericBlockTools; },
|
34424 |
events: {
|
34425 |
'click .mailpoet_edit_block': 'changeSettings',
|
34426 |
'click .mailpoet_delete_block_activate': 'showDeletionConfirmation',
|
@@ -34517,7 +34579,7 @@ webpackJsonp([4],{
|
|
34517 |
this.model.set(field, jQuery(event.target).val() + suffix);
|
34518 |
},
|
34519 |
changeBoolField: function(field, event) {
|
34520 |
-
this.model.set(field, (jQuery(event.target).val() === 'true')
|
34521 |
},
|
34522 |
changeBoolCheckboxField: function(field, event) {
|
34523 |
this.model.set(field, (!!jQuery(event.target).prop('checked')));
|
@@ -34552,7 +34614,7 @@ webpackJsonp([4],{
|
|
34552 |
|
34553 |
/***/ },
|
34554 |
|
34555 |
-
/***/
|
34556 |
/***/ function(module, exports, __webpack_require__) {
|
34557 |
|
34558 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
@@ -34561,19 +34623,19 @@ webpackJsonp([4],{
|
|
34561 |
* as other containers.
|
34562 |
*/
|
34563 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
34564 |
-
|
34565 |
-
|
34566 |
-
|
34567 |
-
|
34568 |
-
|
34569 |
-
|
34570 |
-
|
34571 |
|
34572 |
'use strict';
|
34573 |
|
34574 |
var Module = {},
|
34575 |
-
|
34576 |
-
|
34577 |
|
34578 |
BlockCollection = Backbone.Collection.extend({
|
34579 |
model: base.BlockModel,
|
@@ -34660,7 +34722,7 @@ webpackJsonp([4],{
|
|
34660 |
}
|
34661 |
}),
|
34662 |
className: 'mailpoet_block mailpoet_container_block mailpoet_droppable_block mailpoet_droppable_layout_block',
|
34663 |
-
getTemplate: function() { return templates.containerBlock; },
|
34664 |
events: _.extend({}, base.BlockView.prototype.events, {
|
34665 |
'click .mailpoet_newsletter_layer_selector': 'toggleEditingLayer'
|
34666 |
}),
|
@@ -34695,7 +34757,8 @@ webpackJsonp([4],{
|
|
34695 |
// for root and column containers.
|
34696 |
return view.renderOptions.depth === 1;
|
34697 |
}
|
34698 |
-
}
|
|
|
34699 |
}),
|
34700 |
onDragSubstituteBy: function() {
|
34701 |
// For two and three column layouts display their respective widgets,
|
@@ -34774,7 +34837,7 @@ webpackJsonp([4],{
|
|
34774 |
});
|
34775 |
|
34776 |
Module.ContainerBlockEmptyView = Marionette.View.extend({
|
34777 |
-
getTemplate: function() { return templates.containerEmpty; },
|
34778 |
initialize: function(options) {
|
34779 |
this.renderOptions = _.defaults(options.renderOptions || {}, {});
|
34780 |
},
|
@@ -34791,7 +34854,7 @@ webpackJsonp([4],{
|
|
34791 |
});
|
34792 |
|
34793 |
Module.ContainerBlockSettingsView = base.BlockSettingsView.extend({
|
34794 |
-
getTemplate: function() { return templates.containerBlockSettings; },
|
34795 |
events: function() {
|
34796 |
return {
|
34797 |
'change .mailpoet_field_container_background_color': _.partial(this.changeColorField, 'styles.block.backgroundColor'),
|
@@ -34823,7 +34886,7 @@ webpackJsonp([4],{
|
|
34823 |
});
|
34824 |
|
34825 |
Module.ContainerBlockColumnSettingsView = Marionette.View.extend({
|
34826 |
-
getTemplate: function() { return templates.containerBlockColumnSettings; },
|
34827 |
initialize: function(options) {
|
34828 |
this.columnNumber = (options.columnIndex || 0) + 1;
|
34829 |
},
|
@@ -34837,7 +34900,7 @@ webpackJsonp([4],{
|
|
34837 |
|
34838 |
Module.OneColumnContainerWidgetView = base.WidgetView.extend({
|
34839 |
className: base.WidgetView.prototype.className + ' mailpoet_droppable_layout_block',
|
34840 |
-
getTemplate: function() { return templates.oneColumnLayoutInsertion; },
|
34841 |
behaviors: {
|
34842 |
DraggableBehavior: {
|
34843 |
cloneOriginal: true,
|
@@ -34855,7 +34918,7 @@ webpackJsonp([4],{
|
|
34855 |
|
34856 |
Module.TwoColumnContainerWidgetView = base.WidgetView.extend({
|
34857 |
className: base.WidgetView.prototype.className + ' mailpoet_droppable_layout_block',
|
34858 |
-
getTemplate: function() { return templates.twoColumnLayoutInsertion; },
|
34859 |
behaviors: {
|
34860 |
DraggableBehavior: {
|
34861 |
cloneOriginal: true,
|
@@ -34874,7 +34937,7 @@ webpackJsonp([4],{
|
|
34874 |
|
34875 |
Module.ThreeColumnContainerWidgetView = base.WidgetView.extend({
|
34876 |
className: base.WidgetView.prototype.className + ' mailpoet_droppable_layout_block',
|
34877 |
-
getTemplate: function() { return templates.threeColumnLayoutInsertion; },
|
34878 |
behaviors: {
|
34879 |
DraggableBehavior: {
|
34880 |
cloneOriginal: true,
|
@@ -34923,24 +34986,24 @@ webpackJsonp([4],{
|
|
34923 |
|
34924 |
/***/ },
|
34925 |
|
34926 |
-
/***/
|
34927 |
/***/ function(module, exports, __webpack_require__) {
|
34928 |
|
34929 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
34930 |
* Button content block
|
34931 |
*/
|
34932 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
34933 |
-
|
34934 |
-
|
34935 |
-
|
34936 |
-
|
34937 |
-
|
34938 |
-
|
34939 |
|
34940 |
'use strict';
|
34941 |
|
34942 |
var Module = {},
|
34943 |
-
|
34944 |
|
34945 |
Module.ButtonBlockModel = base.BlockModel.extend({
|
34946 |
defaults: function() {
|
@@ -34970,7 +35033,7 @@ webpackJsonp([4],{
|
|
34970 |
|
34971 |
Module.ButtonBlockView = base.BlockView.extend({
|
34972 |
className: 'mailpoet_block mailpoet_button_block mailpoet_droppable_block',
|
34973 |
-
getTemplate: function() { return templates.buttonBlock; },
|
34974 |
onDragSubstituteBy: function() { return Module.ButtonWidgetView; },
|
34975 |
behaviors: _.extend({}, base.BlockView.prototype.behaviors, {
|
34976 |
ShowSettingsBehavior: {}
|
@@ -34993,7 +35056,7 @@ webpackJsonp([4],{
|
|
34993 |
});
|
34994 |
|
34995 |
Module.ButtonBlockSettingsView = base.BlockSettingsView.extend({
|
34996 |
-
getTemplate: function() { return templates.buttonBlockSettings; },
|
34997 |
events: function() {
|
34998 |
return {
|
34999 |
'input .mailpoet_field_button_text': _.partial(this.changeField, 'text'),
|
@@ -35049,7 +35112,7 @@ webpackJsonp([4],{
|
|
35049 |
});
|
35050 |
|
35051 |
Module.ButtonWidgetView = base.WidgetView.extend({
|
35052 |
-
getTemplate: function() { return templates.buttonInsertion; },
|
35053 |
behaviors: {
|
35054 |
DraggableBehavior: {
|
35055 |
cloneOriginal: true,
|
@@ -35079,24 +35142,25 @@ webpackJsonp([4],{
|
|
35079 |
|
35080 |
/***/ },
|
35081 |
|
35082 |
-
/***/
|
35083 |
/***/ function(module, exports, __webpack_require__) {
|
35084 |
|
35085 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
35086 |
* Image content block
|
35087 |
*/
|
35088 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
35089 |
-
|
35090 |
-
|
35091 |
-
|
35092 |
-
|
35093 |
-
|
|
|
35094 |
|
35095 |
'use strict';
|
35096 |
|
35097 |
var Module = {},
|
35098 |
-
|
35099 |
-
|
35100 |
|
35101 |
Module.ImageBlockModel = base.BlockModel.extend({
|
35102 |
defaults: function() {
|
@@ -35119,7 +35183,7 @@ webpackJsonp([4],{
|
|
35119 |
|
35120 |
Module.ImageBlockView = base.BlockView.extend({
|
35121 |
className: 'mailpoet_block mailpoet_image_block mailpoet_droppable_block',
|
35122 |
-
getTemplate: function() { return templates.imageBlock; },
|
35123 |
onDragSubstituteBy: function() { return Module.ImageWidgetView; },
|
35124 |
templateContext: function() {
|
35125 |
return _.extend({
|
@@ -35156,7 +35220,7 @@ webpackJsonp([4],{
|
|
35156 |
tooltip: MailPoet.I18n.t('helpTooltipDesignerIdealWidth')
|
35157 |
});
|
35158 |
},
|
35159 |
-
getTemplate: function() { return templates.imageBlockSettings; },
|
35160 |
events: function() {
|
35161 |
return {
|
35162 |
'input .mailpoet_field_image_link': _.partial(this.changeField, 'link'),
|
@@ -35182,10 +35246,10 @@ webpackJsonp([4],{
|
|
35182 |
return;
|
35183 |
}
|
35184 |
|
35185 |
-
var MediaManager = wp.media.view.MediaFrame.Select.extend({
|
35186 |
|
35187 |
initialize: function() {
|
35188 |
-
wp.media.view.MediaFrame.prototype.initialize.apply(this, arguments);
|
35189 |
|
35190 |
_.defaults(this.options, {
|
35191 |
multiple: true,
|
@@ -35207,7 +35271,7 @@ webpackJsonp([4],{
|
|
35207 |
},
|
35208 |
|
35209 |
createQuery: function(options) {
|
35210 |
-
var query = wp.media.query(options);
|
35211 |
return query;
|
35212 |
},
|
35213 |
|
@@ -35217,7 +35281,7 @@ webpackJsonp([4],{
|
|
35217 |
// Add the default states.
|
35218 |
this.states.add([
|
35219 |
// Main states.
|
35220 |
-
new wp.media.controller.Library({
|
35221 |
id: 'insert',
|
35222 |
title: 'Add images',
|
35223 |
priority: 20,
|
@@ -35239,8 +35303,8 @@ webpackJsonp([4],{
|
|
35239 |
})
|
35240 |
]);
|
35241 |
|
35242 |
-
if(wp.media.view.settings.post.featuredImageId) {
|
35243 |
-
this.states.add(new wp.media.controller.FeaturedImage());
|
35244 |
}
|
35245 |
},
|
35246 |
|
@@ -35260,14 +35324,14 @@ webpackJsonp([4],{
|
|
35260 |
this.on('updateExcluded', this.browseContent, this);
|
35261 |
|
35262 |
var handlers = {
|
35263 |
-
|
35264 |
-
|
35265 |
-
|
35266 |
-
|
35267 |
-
|
35268 |
-
|
35269 |
-
|
35270 |
-
|
35271 |
|
35272 |
_.each(handlers, function(regionHandlers, region) {
|
35273 |
_.each(regionHandlers, function(callback, handler) {
|
@@ -35277,13 +35341,13 @@ webpackJsonp([4],{
|
|
35277 |
},
|
35278 |
|
35279 |
uploadContent: function() {
|
35280 |
-
wp.media.view.MediaFrame.Select.prototype.uploadContent.apply(this, arguments);
|
35281 |
this.$el.addClass('hide-toolbar');
|
35282 |
},
|
35283 |
|
35284 |
// Content
|
35285 |
embedContent: function() {
|
35286 |
-
var view = new wp.media.view.Embed({
|
35287 |
controller: this,
|
35288 |
model: this.state()
|
35289 |
}).render();
|
@@ -35297,7 +35361,7 @@ webpackJsonp([4],{
|
|
35297 |
selection = state.get('selection'),
|
35298 |
view;
|
35299 |
|
35300 |
-
view = new wp.media.view.AttachmentsBrowser({
|
35301 |
controller: this,
|
35302 |
collection: selection,
|
35303 |
selection: selection,
|
@@ -35306,7 +35370,7 @@ webpackJsonp([4],{
|
|
35306 |
search: false,
|
35307 |
dragInfo: true,
|
35308 |
|
35309 |
-
AttachmentView: wp.media.view.Attachment.EditSelection
|
35310 |
}).render();
|
35311 |
|
35312 |
view.toolbar.set('backToLibrary', {
|
@@ -35326,7 +35390,7 @@ webpackJsonp([4],{
|
|
35326 |
selectionStatusToolbar: function(view) {
|
35327 |
var editable = this.state().get('editable');
|
35328 |
|
35329 |
-
view.set('selection', new wp.media.view.Selection({
|
35330 |
controller: this,
|
35331 |
collection: this.state().get('selection'),
|
35332 |
priority: -40,
|
@@ -35362,7 +35426,7 @@ webpackJsonp([4],{
|
|
35362 |
|
35363 |
mainEmbedToolbar: function(toolbar) {
|
35364 |
var tbar = toolbar;
|
35365 |
-
tbar.view = new wp.media.view.Toolbar.Embed({
|
35366 |
controller: this,
|
35367 |
text: 'Add images'
|
35368 |
});
|
@@ -35385,9 +35449,9 @@ webpackJsonp([4],{
|
|
35385 |
}
|
35386 |
}),
|
35387 |
that = this;
|
35388 |
-
|
35389 |
|
35390 |
-
|
35391 |
// Append media manager image selections to Images tab
|
35392 |
var selection = theFrame.state().get('selection');
|
35393 |
selection.each(function(attachment) {
|
@@ -35447,7 +35511,7 @@ webpackJsonp([4],{
|
|
35447 |
});
|
35448 |
|
35449 |
ImageWidgetView = base.WidgetView.extend({
|
35450 |
-
getTemplate: function() { return templates.imageInsertion; },
|
35451 |
behaviors: {
|
35452 |
DraggableBehavior: {
|
35453 |
cloneOriginal: true,
|
@@ -35481,24 +35545,24 @@ webpackJsonp([4],{
|
|
35481 |
|
35482 |
/***/ },
|
35483 |
|
35484 |
-
/***/
|
35485 |
/***/ function(module, exports, __webpack_require__) {
|
35486 |
|
35487 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
35488 |
* Divider content block
|
35489 |
*/
|
35490 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
35491 |
-
|
35492 |
-
|
35493 |
-
|
35494 |
-
|
35495 |
-
|
35496 |
-
|
35497 |
|
35498 |
'use strict';
|
35499 |
|
35500 |
var Module = {},
|
35501 |
-
|
35502 |
|
35503 |
Module.DividerBlockModel = base.BlockModel.extend({
|
35504 |
defaults: function() {
|
@@ -35519,7 +35583,7 @@ webpackJsonp([4],{
|
|
35519 |
|
35520 |
Module.DividerBlockView = base.BlockView.extend({
|
35521 |
className: 'mailpoet_block mailpoet_divider_block mailpoet_droppable_block',
|
35522 |
-
getTemplate: function() { return templates.dividerBlock; },
|
35523 |
modelEvents: _.omit(base.BlockView.prototype.modelEvents, 'change'),
|
35524 |
behaviors: _.defaults({
|
35525 |
ResizableBehavior: {
|
@@ -35570,7 +35634,7 @@ webpackJsonp([4],{
|
|
35570 |
});
|
35571 |
|
35572 |
Module.DividerBlockSettingsView = base.BlockSettingsView.extend({
|
35573 |
-
getTemplate: function() { return templates.dividerBlockSettings; },
|
35574 |
events: function() {
|
35575 |
return {
|
35576 |
'click .mailpoet_field_divider_style': 'changeStyle',
|
@@ -35615,7 +35679,7 @@ webpackJsonp([4],{
|
|
35615 |
});
|
35616 |
|
35617 |
Module.DividerWidgetView = base.WidgetView.extend({
|
35618 |
-
getTemplate: function() { return templates.dividerInsertion; },
|
35619 |
behaviors: {
|
35620 |
DraggableBehavior: {
|
35621 |
cloneOriginal: true,
|
@@ -35644,22 +35708,23 @@ webpackJsonp([4],{
|
|
35644 |
|
35645 |
/***/ },
|
35646 |
|
35647 |
-
/***/
|
35648 |
/***/ function(module, exports, __webpack_require__) {
|
35649 |
|
35650 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
35651 |
* Text content block
|
35652 |
*/
|
35653 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
35654 |
-
|
35655 |
-
|
35656 |
-
|
35657 |
-
|
|
|
35658 |
|
35659 |
'use strict';
|
35660 |
|
35661 |
var Module = {},
|
35662 |
-
|
35663 |
|
35664 |
Module.TextBlockModel = base.BlockModel.extend({
|
35665 |
defaults: function() {
|
@@ -35672,7 +35737,7 @@ webpackJsonp([4],{
|
|
35672 |
|
35673 |
Module.TextBlockView = base.BlockView.extend({
|
35674 |
className: 'mailpoet_block mailpoet_text_block mailpoet_droppable_block',
|
35675 |
-
getTemplate: function() { return templates.textBlock; },
|
35676 |
modelEvents: _.omit(base.BlockView.prototype.modelEvents, 'change'), // Prevent rerendering on model change due to text editor redrawing
|
35677 |
behaviors: _.extend({}, base.BlockView.prototype.behaviors, {
|
35678 |
TextEditorBehavior: {
|
@@ -35727,11 +35792,11 @@ webpackJsonp([4],{
|
|
35727 |
});
|
35728 |
|
35729 |
Module.TextBlockSettingsView = base.BlockSettingsView.extend({
|
35730 |
-
getTemplate: function() { return templates.textBlockSettings; }
|
35731 |
});
|
35732 |
|
35733 |
Module.TextWidgetView = base.WidgetView.extend({
|
35734 |
-
getTemplate: function() { return templates.textInsertion; },
|
35735 |
behaviors: {
|
35736 |
DraggableBehavior: {
|
35737 |
cloneOriginal: true,
|
@@ -35762,22 +35827,22 @@ webpackJsonp([4],{
|
|
35762 |
|
35763 |
/***/ },
|
35764 |
|
35765 |
-
/***/
|
35766 |
/***/ function(module, exports, __webpack_require__) {
|
35767 |
|
35768 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
35769 |
* Spacer content block
|
35770 |
*/
|
35771 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
35772 |
-
|
35773 |
-
|
35774 |
-
|
35775 |
-
|
35776 |
|
35777 |
'use strict';
|
35778 |
|
35779 |
var Module = {},
|
35780 |
-
|
35781 |
|
35782 |
Module.SpacerBlockModel = base.BlockModel.extend({
|
35783 |
defaults: function() {
|
@@ -35795,7 +35860,7 @@ webpackJsonp([4],{
|
|
35795 |
|
35796 |
Module.SpacerBlockView = base.BlockView.extend({
|
35797 |
className: 'mailpoet_block mailpoet_spacer_block mailpoet_droppable_block',
|
35798 |
-
getTemplate: function() { return templates.spacerBlock; },
|
35799 |
behaviors: _.defaults({
|
35800 |
ResizableBehavior: {
|
35801 |
elementSelector: '.mailpoet_spacer',
|
@@ -35833,7 +35898,7 @@ webpackJsonp([4],{
|
|
35833 |
});
|
35834 |
|
35835 |
Module.SpacerBlockSettingsView = base.BlockSettingsView.extend({
|
35836 |
-
getTemplate: function() { return templates.spacerBlockSettings; },
|
35837 |
events: function() {
|
35838 |
return {
|
35839 |
'change .mailpoet_field_spacer_background_color': _.partial(this.changeColorField, 'styles.block.backgroundColor'),
|
@@ -35843,7 +35908,7 @@ webpackJsonp([4],{
|
|
35843 |
});
|
35844 |
|
35845 |
Module.SpacerWidgetView = base.WidgetView.extend({
|
35846 |
-
getTemplate: function() { return templates.spacerInsertion; },
|
35847 |
behaviors: {
|
35848 |
DraggableBehavior: {
|
35849 |
cloneOriginal: true,
|
@@ -35873,22 +35938,23 @@ webpackJsonp([4],{
|
|
35873 |
|
35874 |
/***/ },
|
35875 |
|
35876 |
-
/***/
|
35877 |
/***/ function(module, exports, __webpack_require__) {
|
35878 |
|
35879 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
35880 |
* Footer content block
|
35881 |
*/
|
35882 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
35883 |
-
|
35884 |
-
|
35885 |
-
|
35886 |
-
|
|
|
35887 |
|
35888 |
'use strict';
|
35889 |
|
35890 |
var Module = {},
|
35891 |
-
|
35892 |
|
35893 |
Module.FooterBlockModel = base.BlockModel.extend({
|
35894 |
defaults: function() {
|
@@ -35916,7 +35982,7 @@ webpackJsonp([4],{
|
|
35916 |
|
35917 |
Module.FooterBlockView = base.BlockView.extend({
|
35918 |
className: 'mailpoet_block mailpoet_footer_block mailpoet_droppable_block',
|
35919 |
-
getTemplate: function() { return templates.footerBlock; },
|
35920 |
modelEvents: _.extend({
|
35921 |
'change:styles.block.backgroundColor change:styles.text.fontColor change:styles.text.fontFamily change:styles.text.fontSize change:styles.text.textAlign change:styles.link.fontColor change:styles.link.textDecoration': 'render'
|
35922 |
}, _.omit(base.BlockView.prototype.modelEvents, 'change')),
|
@@ -35953,7 +36019,7 @@ webpackJsonp([4],{
|
|
35953 |
});
|
35954 |
|
35955 |
Module.FooterBlockSettingsView = base.BlockSettingsView.extend({
|
35956 |
-
getTemplate: function() { return templates.footerBlockSettings; },
|
35957 |
events: function() {
|
35958 |
return {
|
35959 |
'change .mailpoet_field_footer_text_color': _.partial(this.changeColorField, 'styles.text.fontColor'),
|
@@ -35961,8 +36027,8 @@ webpackJsonp([4],{
|
|
35961 |
'change .mailpoet_field_footer_text_size': _.partial(this.changeField, 'styles.text.fontSize'),
|
35962 |
'change #mailpoet_field_footer_link_color': _.partial(this.changeColorField, 'styles.link.fontColor'),
|
35963 |
'change #mailpoet_field_footer_link_underline': function(event) {
|
35964 |
-
|
35965 |
-
|
35966 |
'change .mailpoet_field_footer_background_color': _.partial(this.changeColorField, 'styles.block.backgroundColor'),
|
35967 |
'change .mailpoet_field_footer_alignment': _.partial(this.changeField, 'styles.text.textAlign'),
|
35968 |
'click .mailpoet_done_editing': 'close'
|
@@ -35976,7 +36042,7 @@ webpackJsonp([4],{
|
|
35976 |
});
|
35977 |
|
35978 |
Module.FooterWidgetView = base.WidgetView.extend({
|
35979 |
-
getTemplate: function() { return templates.footerInsertion; },
|
35980 |
behaviors: {
|
35981 |
DraggableBehavior: {
|
35982 |
cloneOriginal: true,
|
@@ -36006,22 +36072,23 @@ webpackJsonp([4],{
|
|
36006 |
|
36007 |
/***/ },
|
36008 |
|
36009 |
-
/***/
|
36010 |
/***/ function(module, exports, __webpack_require__) {
|
36011 |
|
36012 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
36013 |
* Header content block
|
36014 |
*/
|
36015 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
36016 |
-
|
36017 |
-
|
36018 |
-
|
36019 |
-
|
|
|
36020 |
|
36021 |
'use strict';
|
36022 |
|
36023 |
var Module = {},
|
36024 |
-
|
36025 |
|
36026 |
Module.HeaderBlockModel = base.BlockModel.extend({
|
36027 |
defaults: function() {
|
@@ -36049,7 +36116,7 @@ webpackJsonp([4],{
|
|
36049 |
|
36050 |
Module.HeaderBlockView = base.BlockView.extend({
|
36051 |
className: 'mailpoet_block mailpoet_header_block mailpoet_droppable_block',
|
36052 |
-
getTemplate: function() { return templates.headerBlock; },
|
36053 |
modelEvents: _.extend({
|
36054 |
'change:styles.block.backgroundColor change:styles.text.fontColor change:styles.text.fontFamily change:styles.text.fontSize change:styles.text.textAlign change:styles.link.fontColor change:styles.link.textDecoration': 'render'
|
36055 |
}, _.omit(base.BlockView.prototype.modelEvents, 'change')),
|
@@ -36086,7 +36153,7 @@ webpackJsonp([4],{
|
|
36086 |
});
|
36087 |
|
36088 |
Module.HeaderBlockSettingsView = base.BlockSettingsView.extend({
|
36089 |
-
getTemplate: function() { return templates.headerBlockSettings; },
|
36090 |
events: function() {
|
36091 |
return {
|
36092 |
'change .mailpoet_field_header_text_color': _.partial(this.changeColorField, 'styles.text.fontColor'),
|
@@ -36109,7 +36176,7 @@ webpackJsonp([4],{
|
|
36109 |
});
|
36110 |
|
36111 |
Module.HeaderWidgetView = base.WidgetView.extend({
|
36112 |
-
getTemplate: function() { return templates.headerInsertion; },
|
36113 |
behaviors: {
|
36114 |
DraggableBehavior: {
|
36115 |
cloneOriginal: true,
|
@@ -36139,7 +36206,7 @@ webpackJsonp([4],{
|
|
36139 |
|
36140 |
/***/ },
|
36141 |
|
36142 |
-
/***/
|
36143 |
/***/ function(module, exports, __webpack_require__) {
|
36144 |
|
36145 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
@@ -36151,31 +36218,31 @@ webpackJsonp([4],{
|
|
36151 |
* block settings view.
|
36152 |
*/
|
36153 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
36154 |
-
|
36155 |
-
|
36156 |
-
|
36157 |
-
|
36158 |
-
|
36159 |
-
|
36160 |
-
|
36161 |
-
|
36162 |
-
|
36163 |
-
|
36164 |
-
|
36165 |
-
|
36166 |
-
|
36167 |
-
|
36168 |
-
|
36169 |
-
|
36170 |
-
|
36171 |
-
|
36172 |
-
|
36173 |
) {
|
36174 |
|
36175 |
'use strict';
|
36176 |
|
36177 |
var Module = {},
|
36178 |
-
|
36179 |
|
36180 |
Module.ALCSupervisor = SuperModel.extend({
|
36181 |
initialize: function() {
|
@@ -36205,7 +36272,7 @@ webpackJsonp([4],{
|
|
36205 |
_.zip(models, renderedBlocks),
|
36206 |
function(args) {
|
36207 |
var model = args[0],
|
36208 |
-
|
36209 |
model.trigger('refreshPosts', contents);
|
36210 |
}
|
36211 |
);
|
@@ -36279,7 +36346,7 @@ webpackJsonp([4],{
|
|
36279 |
}
|
36280 |
App.getChannel().on('replaceAllButtonStyles', replaceButtonStylesHandler.bind(this));
|
36281 |
},
|
36282 |
-
getTemplate: function() { return templates.automatedLatestContentBlock; },
|
36283 |
regions: {
|
36284 |
toolsRegion: '.mailpoet_tools',
|
36285 |
postsRegion: '.mailpoet_automated_latest_content_block_posts'
|
@@ -36312,7 +36379,7 @@ webpackJsonp([4],{
|
|
36312 |
|
36313 |
// Sidebar view container
|
36314 |
Module.AutomatedLatestContentBlockSettingsView = base.BlockSettingsView.extend({
|
36315 |
-
getTemplate: function() { return templates.automatedLatestContentBlockSettings; },
|
36316 |
events: function() {
|
36317 |
return {
|
36318 |
'click .mailpoet_automated_latest_content_hide_display_options': 'toggleDisplayOptions',
|
@@ -36494,7 +36561,7 @@ webpackJsonp([4],{
|
|
36494 |
},
|
36495 |
_updateContentTypes: function(postTypes) {
|
36496 |
var select = this.$('.mailpoet_automated_latest_content_content_type'),
|
36497 |
-
|
36498 |
|
36499 |
select.find('option').remove();
|
36500 |
_.each(postTypes, function(type) {
|
@@ -36508,7 +36575,7 @@ webpackJsonp([4],{
|
|
36508 |
});
|
36509 |
|
36510 |
Module.AutomatedLatestContentWidgetView = base.WidgetView.extend({
|
36511 |
-
getTemplate: function() { return templates.automatedLatestContentInsertion; },
|
36512 |
behaviors: {
|
36513 |
DraggableBehavior: {
|
36514 |
cloneOriginal: true,
|
@@ -36547,7 +36614,7 @@ webpackJsonp([4],{
|
|
36547 |
|
36548 |
/***/ },
|
36549 |
|
36550 |
-
/***/
|
36551 |
/***/ function(module, exports, __webpack_require__) {
|
36552 |
|
36553 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
@@ -36563,36 +36630,36 @@ webpackJsonp([4],{
|
|
36563 |
* block settings view.
|
36564 |
*/
|
36565 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
36566 |
-
|
36567 |
-
|
36568 |
-
|
36569 |
-
|
36570 |
-
|
36571 |
-
|
36572 |
-
|
36573 |
-
|
36574 |
-
|
36575 |
-
|
36576 |
-
|
36577 |
-
|
36578 |
-
|
36579 |
-
|
36580 |
-
|
36581 |
-
|
36582 |
-
|
36583 |
-
|
36584 |
-
|
36585 |
-
|
36586 |
-
|
36587 |
-
|
36588 |
-
|
36589 |
-
|
36590 |
) {
|
36591 |
|
36592 |
'use strict';
|
36593 |
|
36594 |
var Module = {},
|
36595 |
-
|
36596 |
|
36597 |
Module.PostsBlockModel = base.BlockModel.extend({
|
36598 |
stale: ['_selectedPosts', '_availablePosts', '_transformedPosts'],
|
@@ -36729,7 +36796,7 @@ webpackJsonp([4],{
|
|
36729 |
|
36730 |
Module.PostsBlockView = base.BlockView.extend({
|
36731 |
className: 'mailpoet_block mailpoet_posts_block mailpoet_droppable_block',
|
36732 |
-
getTemplate: function() { return templates.postsBlock; },
|
36733 |
modelEvents: {}, // Forcefully disable all events
|
36734 |
regions: _.extend({
|
36735 |
postsRegion: '.mailpoet_posts_block_posts'
|
@@ -36768,7 +36835,7 @@ webpackJsonp([4],{
|
|
36768 |
});
|
36769 |
|
36770 |
Module.PostsBlockSettingsView = base.BlockSettingsView.extend({
|
36771 |
-
getTemplate: function() { return templates.postsBlockSettings; },
|
36772 |
regions: {
|
36773 |
selectionRegion: '.mailpoet_settings_posts_selection',
|
36774 |
displayOptionsRegion: '.mailpoet_settings_posts_display_options'
|
@@ -36860,7 +36927,7 @@ webpackJsonp([4],{
|
|
36860 |
});
|
36861 |
|
36862 |
var PostSelectionSettingsView = Marionette.View.extend({
|
36863 |
-
getTemplate: function() { return templates.postSelectionPostsBlockSettings; },
|
36864 |
regions: {
|
36865 |
posts: '.mailpoet_post_selection_container'
|
36866 |
},
|
@@ -36937,7 +37004,6 @@ webpackJsonp([4],{
|
|
36937 |
results: _.map(
|
36938 |
data.terms,
|
36939 |
function(item) {
|
36940 |
-
console.log(item);
|
36941 |
return _.defaults({
|
36942 |
text: data.taxonomies[item.taxonomy].labels.singular_name + ': ' + item.name,
|
36943 |
id: item.term_id
|
@@ -36967,7 +37033,7 @@ webpackJsonp([4],{
|
|
36967 |
},
|
36968 |
_updateContentTypes: function(postTypes) {
|
36969 |
var select = this.$('.mailpoet_settings_posts_content_type'),
|
36970 |
-
|
36971 |
|
36972 |
select.find('option').remove();
|
36973 |
_.each(postTypes, function(type) {
|
@@ -36981,11 +37047,11 @@ webpackJsonp([4],{
|
|
36981 |
});
|
36982 |
|
36983 |
var EmptyPostSelectionSettingsView = Marionette.View.extend({
|
36984 |
-
getTemplate: function() { return templates.emptyPostPostsBlockSettings; }
|
36985 |
});
|
36986 |
|
36987 |
var SinglePostSelectionSettingsView = Marionette.View.extend({
|
36988 |
-
getTemplate: function() { return templates.singlePostPostsBlockSettings; },
|
36989 |
events: function() {
|
36990 |
return {
|
36991 |
'change .mailpoet_select_post_checkbox': 'postSelectionChange'
|
@@ -37012,7 +37078,7 @@ webpackJsonp([4],{
|
|
37012 |
});
|
37013 |
|
37014 |
var PostsDisplayOptionsSettingsView = base.BlockSettingsView.extend({
|
37015 |
-
getTemplate: function() { return templates.displayOptionsPostsBlockSettings; },
|
37016 |
events: function() {
|
37017 |
return {
|
37018 |
'click .mailpoet_posts_select_button': 'showButtonSettings',
|
@@ -37117,7 +37183,7 @@ webpackJsonp([4],{
|
|
37117 |
});
|
37118 |
|
37119 |
Module.PostsWidgetView = base.WidgetView.extend({
|
37120 |
-
getTemplate: function() { return templates.postsInsertion; },
|
37121 |
behaviors: {
|
37122 |
DraggableBehavior: {
|
37123 |
cloneOriginal: true,
|
@@ -37147,30 +37213,30 @@ webpackJsonp([4],{
|
|
37147 |
|
37148 |
/***/ },
|
37149 |
|
37150 |
-
/***/
|
37151 |
/***/ function(module, exports, __webpack_require__) {
|
37152 |
|
37153 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
37154 |
* Social icons content block
|
37155 |
*/
|
37156 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
37157 |
-
|
37158 |
-
|
37159 |
-
|
37160 |
-
|
37161 |
-
|
37162 |
-
|
37163 |
-
|
37164 |
-
|
37165 |
|
37166 |
'use strict';
|
37167 |
|
37168 |
var Module = {},
|
37169 |
-
|
37170 |
-
|
37171 |
-
|
37172 |
-
|
37173 |
-
|
37174 |
|
37175 |
Module.SocialIconModel = SuperModel.extend({
|
37176 |
defaults: function() {
|
@@ -37237,7 +37303,7 @@ webpackJsonp([4],{
|
|
37237 |
|
37238 |
var SocialIconView = Marionette.View.extend({
|
37239 |
tagName: 'span',
|
37240 |
-
getTemplate: function() { return templates.socialIconBlock; },
|
37241 |
modelEvents: {
|
37242 |
change: 'render'
|
37243 |
},
|
@@ -37257,7 +37323,7 @@ webpackJsonp([4],{
|
|
37257 |
|
37258 |
Module.SocialBlockView = base.BlockView.extend({
|
37259 |
className: 'mailpoet_block mailpoet_social_block mailpoet_droppable_block',
|
37260 |
-
getTemplate: function() { return templates.socialBlock; },
|
37261 |
regions: _.extend({}, base.BlockView.prototype.regions, {
|
37262 |
icons: '.mailpoet_social'
|
37263 |
}),
|
@@ -37283,7 +37349,7 @@ webpackJsonp([4],{
|
|
37283 |
|
37284 |
// Sidebar view container
|
37285 |
Module.SocialBlockSettingsView = base.BlockSettingsView.extend({
|
37286 |
-
getTemplate: function() { return templates.socialBlockSettings; },
|
37287 |
regions: {
|
37288 |
iconRegion: '#mailpoet_social_icons_selection',
|
37289 |
stylesRegion: '#mailpoet_social_icons_styles'
|
@@ -37307,7 +37373,7 @@ webpackJsonp([4],{
|
|
37307 |
|
37308 |
// Single icon settings view, used by the selector view
|
37309 |
SocialBlockSettingsIconView = Marionette.View.extend({
|
37310 |
-
getTemplate: function() { return templates.socialSettingsIcon; },
|
37311 |
events: function() {
|
37312 |
return {
|
37313 |
'click .mailpoet_delete_block': 'deleteIcon',
|
@@ -37364,7 +37430,7 @@ webpackJsonp([4],{
|
|
37364 |
|
37365 |
// Select icons section container view
|
37366 |
SocialBlockSettingsIconSelectorView = Marionette.View.extend({
|
37367 |
-
getTemplate: function() { return templates.socialSettingsIconSelector; },
|
37368 |
regions: {
|
37369 |
icons: '#mailpoet_social_icon_selector_contents'
|
37370 |
},
|
@@ -37387,7 +37453,7 @@ webpackJsonp([4],{
|
|
37387 |
});
|
37388 |
|
37389 |
SocialBlockSettingsStylesView = Marionette.View.extend({
|
37390 |
-
getTemplate: function() { return templates.socialSettingsStyles; },
|
37391 |
modelEvents: {
|
37392 |
change: 'render'
|
37393 |
},
|
@@ -37415,7 +37481,7 @@ webpackJsonp([4],{
|
|
37415 |
});
|
37416 |
|
37417 |
Module.SocialWidgetView = base.WidgetView.extend({
|
37418 |
-
getTemplate: function() { return templates.socialInsertion; },
|
37419 |
behaviors: {
|
37420 |
DraggableBehavior: {
|
37421 |
cloneOriginal: true,
|
4 |
/***/ function(module, exports, __webpack_require__) {
|
5 |
|
6 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
7 |
+
__webpack_require__(574),
|
8 |
+
__webpack_require__(278),
|
9 |
+
__webpack_require__(274),
|
10 |
+
__webpack_require__(552)
|
11 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(App, _, MailPoet) {
|
12 |
|
13 |
var Module = {};
|
14 |
|
34 |
action: 'getPostTypes',
|
35 |
options: {}
|
36 |
}).then(function(response) {
|
|
|
37 |
return _.values(response.data);
|
38 |
});
|
39 |
};
|
158 |
__webpack_require__(602);
|
159 |
__webpack_require__(603);
|
160 |
__webpack_require__(604);
|
161 |
+
__webpack_require__(605);
|
162 |
+
module.exports = __webpack_require__(606);
|
163 |
|
164 |
|
165 |
/***/ },
|
9432 |
var MailPoet = mp;
|
9433 |
|
9434 |
MailPoet.Ajax = {
|
9435 |
+
version: 0.5,
|
9436 |
+
options: {},
|
9437 |
+
defaults: {
|
9438 |
+
url: null,
|
9439 |
+
api_version: null,
|
9440 |
+
endpoint: null,
|
9441 |
+
action: null,
|
9442 |
+
token: null,
|
9443 |
+
data: {}
|
9444 |
+
},
|
9445 |
+
post: function(options) {
|
9446 |
+
return this.request('post', options);
|
9447 |
+
},
|
9448 |
+
init: function(options) {
|
9449 |
+
// merge options
|
9450 |
+
this.options = jQuery.extend({}, this.defaults, options);
|
9451 |
|
9452 |
+
// set default url
|
9453 |
+
if(this.options.url === null) {
|
9454 |
+
this.options.url = window.ajaxurl;
|
9455 |
+
}
|
9456 |
|
9457 |
+
// set default token
|
9458 |
+
if(this.options.token === null) {
|
9459 |
+
this.options.token = window.mailpoet_token;
|
9460 |
+
}
|
9461 |
+
},
|
9462 |
+
getParams: function() {
|
9463 |
+
return {
|
9464 |
+
action: 'mailpoet',
|
9465 |
+
api_version: this.options.api_version,
|
9466 |
+
token: this.options.token,
|
9467 |
+
endpoint: this.options.endpoint,
|
9468 |
+
method: this.options.action,
|
9469 |
+
data: this.options.data || {}
|
9470 |
+
};
|
9471 |
+
},
|
9472 |
+
request: function(method, options) {
|
9473 |
// set options
|
9474 |
+
this.init(options);
|
9475 |
|
9476 |
// set request params
|
9477 |
+
var params = this.getParams();
|
9478 |
|
9479 |
// remove null values from the data object
|
9480 |
+
if (_.isObject(params.data)) {
|
9481 |
+
params.data = _.pick(params.data, function(value) {
|
9482 |
+
return (value !== null);
|
9483 |
+
});
|
9484 |
+
}
|
9485 |
|
9486 |
// ajax request
|
9487 |
+
var deferred = jQuery.post(
|
9488 |
this.options.url,
|
9489 |
params,
|
9490 |
null,
|
9494 |
}, _.partial(requestFailed, MailPoet.I18n.t('ajaxFailedErrorMessage')));
|
9495 |
|
9496 |
// clear options
|
9497 |
+
this.options = {};
|
9498 |
|
9499 |
+
return deferred;
|
9500 |
+
}
|
9501 |
};
|
9502 |
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
9503 |
|
9620 |
if(this.renderer === 'html') {
|
9621 |
return function() { return template; };
|
9622 |
} else {
|
9623 |
+
return window.Handlebars.compile(template);
|
9624 |
}
|
|
|
9625 |
},
|
9626 |
init: function(options) {
|
9627 |
if(this.initialized === true) {
|
9689 |
initOverlay: function(toggle) {
|
9690 |
if(jQuery('#mailpoet_modal_overlay').length === 0) {
|
9691 |
// insert overlay into the DOM
|
9692 |
+
jQuery('body').append(this.templates.overlay);
|
9693 |
// insert loading indicator into overlay
|
9694 |
+
jQuery('#mailpoet_modal_overlay').append(this.templates.loading);
|
9695 |
+
}
|
9696 |
+
return this;
|
9697 |
+
},
|
9698 |
+
toggleOverlay: function(toggle) {
|
9699 |
+
if(toggle === true) {
|
9700 |
+
jQuery('#mailpoet_modal_overlay')
|
9701 |
.removeClass('mailpoet_overlay_hidden');
|
9702 |
+
} else {
|
9703 |
+
jQuery('#mailpoet_modal_overlay')
|
9704 |
.addClass('mailpoet_overlay_hidden');
|
9705 |
+
}
|
9706 |
|
9707 |
+
return this;
|
9708 |
+
},
|
9709 |
+
setupEvents: function() {
|
9710 |
// close popup when user clicks on close button
|
9711 |
jQuery('#mailpoet_modal_close').on('click', this.cancel.bind(this));
|
9712 |
|
9757 |
loadTemplate: function() {
|
9758 |
if(this.subpanels.length > 0) {
|
9759 |
// hide panel
|
9760 |
+
jQuery('.mailpoet_'+this.options.type+'_wrapper').hide();
|
9761 |
|
9762 |
// add sub panel wrapper
|
9763 |
+
jQuery('#mailpoet_'+this.options.type)
|
9764 |
.append(this.templates['subpanel']);
|
9765 |
|
9766 |
// add sub panel content
|
9767 |
+
jQuery('.mailpoet_'+this.options.type+'_body').last()
|
9768 |
.html(this.subpanels[(this.subpanels.length - 1)].element);
|
9769 |
|
9770 |
// focus on sub panel
|
9771 |
+
if(this.options.focus) {
|
9772 |
+
this.focus();
|
9773 |
+
}
|
9774 |
+
} else if (this.options.element) {
|
9775 |
+
jQuery('.mailpoet_'+this.options.type+'_body').empty();
|
9776 |
+
jQuery('.mailpoet_'+this.options.type+'_body')
|
9777 |
.append(this.options.element);
|
9778 |
+
} else {
|
9779 |
+
jQuery('.mailpoet_'+this.options.type+'_body')
|
9780 |
.html(
|
9781 |
this.options.body_template(
|
9782 |
this.options.data
|
9783 |
)
|
9784 |
);
|
9785 |
+
}
|
9786 |
|
9787 |
+
return this;
|
9788 |
+
},
|
9789 |
+
loadUrl: function() {
|
9790 |
+
if(this.options.method === 'get') {
|
9791 |
// make ajax request
|
9792 |
+
jQuery.getJSON(this.options.url,
|
9793 |
function(data) {
|
9794 |
this.options.data = jQuery.extend({}, this.options.data, data);
|
9795 |
// load template using fetched data
|
9798 |
this.showModal();
|
9799 |
}.bind(this)
|
9800 |
);
|
9801 |
+
} else if(this.options.method === 'post') {
|
9802 |
// make ajax request
|
9803 |
+
jQuery.post(this.options.url, JSON.stringify(this.options.params),
|
9804 |
function(data) {
|
9805 |
this.options.data = jQuery.extend({}, this.options.data, data);
|
9806 |
// load template using fetched data
|
9810 |
}.bind(this),
|
9811 |
'json'
|
9812 |
);
|
9813 |
+
}
|
9814 |
|
9815 |
+
return this;
|
9816 |
+
},
|
9817 |
+
setDimensions: function() {
|
9818 |
+
switch(this.options.type) {
|
9819 |
+
case 'popup':
|
9820 |
// set popup dimensions
|
9821 |
+
jQuery('#mailpoet_popup').css({
|
9822 |
+
width: this.options.width,
|
9823 |
+
height: this.options.height
|
9824 |
+
});
|
9825 |
// set popup wrapper height
|
9826 |
+
jQuery('#mailpoet_popup_wrapper').css({
|
9827 |
+
height: this.options.height
|
9828 |
+
});
|
9829 |
break;
|
9830 |
+
case 'panel':
|
9831 |
// set dimensions
|
9832 |
+
if(this.options.position === 'right') {
|
9833 |
+
jQuery('#mailpoet_panel').css({
|
9834 |
+
width: this.options.width,
|
9835 |
+
right: 0,
|
9836 |
+
marginRight: '-' + this.options.width,
|
9837 |
+
left: 'auto'
|
9838 |
+
});
|
9839 |
+
} else if(this.options.position === 'left') {
|
9840 |
+
jQuery('#mailpoet_panel').css({
|
9841 |
+
width: this.options.width,
|
9842 |
+
left: 0,
|
9843 |
+
marginLeft: '-' + this.options.width,
|
9844 |
+
right: 'auto'
|
9845 |
+
});
|
9846 |
+
}
|
9847 |
+
jQuery('#mailpoet_panel').css({ minHeight: 'auto' });
|
9848 |
break;
|
9849 |
+
}
|
9850 |
|
9851 |
+
return this;
|
9852 |
+
},
|
9853 |
+
setPosition: function() {
|
9854 |
+
switch(this.options.type) {
|
9855 |
+
case 'popup':
|
9856 |
+
var screenWidth = jQuery(window).width(),
|
9857 |
screenHeight = jQuery(window).height(),
|
9858 |
modalWidth = jQuery('.mailpoet_'+ this.options.type +'_wrapper').width(),
|
9859 |
modalHeight = jQuery('.mailpoet_'+ this.options.type +'_wrapper').height();
|
9860 |
|
9861 |
+
var top = Math.max(48, parseInt((screenHeight / 2) - (modalHeight / 2))),
|
9862 |
left = Math.max(0, parseInt((screenWidth / 2) - (modalWidth / 2)));
|
9863 |
|
9864 |
// set position of popup depending on screen dimensions.
|
9865 |
+
jQuery('#mailpoet_popup').css({
|
9866 |
+
top: top,
|
9867 |
+
left: left
|
9868 |
+
});
|
9869 |
break;
|
9870 |
+
case 'panel':
|
9871 |
+
setTimeout(function() {
|
9872 |
// set position of popup depending on screen dimensions.
|
9873 |
+
if(this.options.position === 'right') {
|
9874 |
+
jQuery('#mailpoet_panel').css({
|
9875 |
+
marginRight: 0
|
9876 |
+
});
|
9877 |
+
} else if(this.options.position === 'left') {
|
9878 |
+
jQuery('#mailpoet_panel').css({
|
9879 |
+
marginLeft: 0
|
9880 |
+
});
|
9881 |
+
}
|
9882 |
+
}.bind(this), 0);
|
9883 |
break;
|
9884 |
+
}
|
9885 |
|
9886 |
+
return this;
|
9887 |
+
},
|
9888 |
+
showModal: function() {
|
9889 |
// set modal dimensions
|
9890 |
+
this.setDimensions();
|
9891 |
|
9892 |
// remember the previously focused element
|
9893 |
+
this.prevFocus = jQuery(':focus');
|
9894 |
|
9895 |
// add a flag on the body so that we can prevent scrolling
|
9896 |
+
jQuery('body').addClass('mailpoet_modal_opened');
|
9897 |
|
9898 |
// show popup
|
9899 |
+
jQuery('#mailpoet_'+this.options.type).show();
|
9900 |
|
9901 |
// display overlay
|
9902 |
+
this.showOverlay();
|
9903 |
|
9904 |
// set modal position
|
9905 |
+
this.setPosition();
|
9906 |
|
9907 |
// add class on highlighted elements
|
9908 |
+
if(this.options.highlight !== null) {
|
9909 |
+
if(this.options.highlight.length > 0) {
|
9910 |
+
this.highlightOn(this.options.highlight);
|
|
|
9911 |
}
|
9912 |
+
}
|
9913 |
|
9914 |
+
if(this.options.focus) {
|
9915 |
+
this.focus();
|
9916 |
+
}
|
9917 |
|
9918 |
// set popup as opened
|
9919 |
+
this.opened = true;
|
9920 |
|
9921 |
// trigger init event if specified
|
9922 |
+
if(this.options.onInit !== null) {
|
9923 |
+
this.options.onInit(this);
|
9924 |
+
}
|
9925 |
|
9926 |
+
return this;
|
9927 |
+
},
|
9928 |
+
focus: function() {
|
9929 |
+
if(this.options.type == 'popup') {
|
9930 |
+
jQuery('#mailpoet_'+this.options.type).focus();
|
9931 |
+
} else {
|
9932 |
// panel and subpanel
|
9933 |
+
jQuery('#mailpoet_'+this.options.type+' .mailpoet_panel_wrapper')
|
9934 |
.filter(':visible').focus();
|
9935 |
+
}
|
9936 |
+
return this;
|
9937 |
+
},
|
9938 |
+
highlightOn: function(element) {
|
9939 |
+
jQuery(element).addClass('mailpoet_modal_highlight');
|
9940 |
+
return this;
|
9941 |
+
},
|
9942 |
+
highlightOff: function() {
|
9943 |
+
jQuery('.mailpoet_modal_highlight')
|
9944 |
.removeClass('mailpoet_modal_highlight');
|
9945 |
+
return this;
|
9946 |
+
},
|
9947 |
+
hideModal: function(callback) {
|
9948 |
// set modal as closed
|
9949 |
+
this.opened = false;
|
9950 |
|
9951 |
// hide modal
|
9952 |
+
jQuery('#mailpoet_'+this.options.type).hide();
|
9953 |
|
9954 |
// remove class on highlighted elements
|
9955 |
+
this.highlightOff();
|
9956 |
|
9957 |
// remove class from body to let it be scrollable
|
9958 |
+
jQuery('body').removeClass('mailpoet_modal_opened');
|
9959 |
|
9960 |
+
return this;
|
9961 |
+
},
|
9962 |
+
showOverlay: function(force) {
|
9963 |
+
jQuery('#mailpoet_modal_overlay').show();
|
9964 |
+
return this;
|
9965 |
+
},
|
9966 |
+
hideOverlay: function() {
|
9967 |
+
jQuery('#mailpoet_modal_overlay').hide();
|
9968 |
+
return this;
|
9969 |
+
},
|
9970 |
+
popup: function(opts) {
|
9971 |
// get options
|
9972 |
+
var options = opts || {};
|
9973 |
// set modal type
|
9974 |
+
options.type = 'popup';
|
9975 |
// set overlay state
|
9976 |
+
options.overlay = options.overlay || true;
|
9977 |
// initialize modal
|
9978 |
+
this.init(options);
|
9979 |
// open modal
|
9980 |
+
this.open();
|
9981 |
|
9982 |
+
return this;
|
9983 |
+
},
|
9984 |
+
panel: function(opts) {
|
9985 |
// get options
|
9986 |
+
var options = opts || {};
|
9987 |
// reset subpanels
|
9988 |
+
this.subpanels = [];
|
9989 |
// set modal type
|
9990 |
+
options.type = 'panel';
|
9991 |
// set overlay state
|
9992 |
+
options.overlay = options.overlay || false;
|
9993 |
// set highlighted element
|
9994 |
+
options.highlight = options.highlight || null;
|
9995 |
// set modal dimensions
|
9996 |
+
options.width = options.width || '40%';
|
9997 |
+
options.height = options.height || 'auto';
|
9998 |
// initialize modal
|
9999 |
+
this.init(options);
|
10000 |
// open modal
|
10001 |
+
this.open();
|
10002 |
|
10003 |
+
return this;
|
10004 |
+
},
|
10005 |
+
subpanel: function(options) {
|
10006 |
+
if(this.opened === false) {
|
10007 |
// if no panel is already opened, let's create one instead
|
10008 |
+
this.panel(options);
|
10009 |
+
} else {
|
10010 |
// if a panel is already opened, add a sub panel to it
|
10011 |
+
this.subpanels.push(options);
|
10012 |
+
this.loadTemplate();
|
10013 |
+
}
|
10014 |
|
10015 |
+
return this;
|
10016 |
+
},
|
10017 |
+
loading: function(toggle) {
|
10018 |
// make sure the overlay is initialized and that it's visible
|
10019 |
+
this.initOverlay(true);
|
10020 |
|
10021 |
+
if(toggle === true) {
|
10022 |
+
this.showLoading();
|
10023 |
+
} else {
|
10024 |
+
this.hideLoading();
|
10025 |
+
}
|
10026 |
|
10027 |
+
return this;
|
10028 |
+
},
|
10029 |
+
showLoading: function() {
|
10030 |
+
jQuery('#mailpoet_loading').show();
|
10031 |
|
10032 |
// add loading class to overlay
|
10033 |
+
jQuery('#mailpoet_modal_overlay')
|
10034 |
.addClass('mailpoet_overlay_loading');
|
10035 |
|
10036 |
+
return this;
|
10037 |
+
},
|
10038 |
+
hideLoading: function() {
|
10039 |
+
jQuery('#mailpoet_loading').hide();
|
10040 |
|
10041 |
// remove loading class from overlay
|
10042 |
+
jQuery('#mailpoet_modal_overlay')
|
10043 |
.removeClass('mailpoet_overlay_loading');
|
10044 |
|
10045 |
+
return this;
|
10046 |
+
},
|
10047 |
+
open: function() {
|
10048 |
// load template if specified
|
10049 |
+
if(this.options.template !== null) {
|
10050 |
// check if a url was specified to get extra data
|
10051 |
+
if(this.options.url !== null) {
|
10052 |
+
this.loadUrl();
|
10053 |
+
} else {
|
10054 |
// load template
|
10055 |
+
this.loadTemplate();
|
10056 |
|
10057 |
// show modal window
|
10058 |
+
this.showModal();
|
|
|
|
|
|
|
10059 |
}
|
10060 |
+
} else {
|
10061 |
+
this.cancel();
|
10062 |
+
}
|
10063 |
|
10064 |
+
return this;
|
10065 |
+
},
|
10066 |
+
success: function() {
|
10067 |
+
if(this.subpanels.length > 0) {
|
10068 |
+
if(this.subpanels[(this.subpanels.length - 1)].onSuccess !== undefined) {
|
10069 |
+
this.subpanels[(this.subpanels.length - 1)].onSuccess(this.subpanels[(this.subpanels.length - 1)].data);
|
|
|
|
|
|
|
|
|
|
|
10070 |
}
|
10071 |
+
} else {
|
10072 |
+
if(this.options.onSuccess !== null) {
|
10073 |
+
this.options.onSuccess(this.options.data);
|
10074 |
+
}
|
10075 |
+
}
|
10076 |
+
this.close();
|
10077 |
|
10078 |
+
return this;
|
10079 |
+
},
|
10080 |
+
cancel: function() {
|
10081 |
+
if(this.subpanels.length > 0) {
|
10082 |
+
if(this.subpanels[(this.subpanels.length - 1)].onCancel !== undefined) {
|
10083 |
+
this.subpanels[(this.subpanels.length - 1)].onCancel(this.subpanels[(this.subpanels.length - 1)].data);
|
|
|
|
|
|
|
|
|
|
|
10084 |
}
|
10085 |
+
} else {
|
10086 |
+
if(this.options.onCancel !== null) {
|
10087 |
+
this.options.onCancel(this.options.data);
|
10088 |
+
}
|
10089 |
+
}
|
10090 |
+
this.close();
|
10091 |
|
10092 |
+
return this;
|
10093 |
+
},
|
10094 |
+
destroy: function() {
|
10095 |
+
this.hideOverlay();
|
10096 |
|
10097 |
// remove extra modal
|
10098 |
+
if(jQuery('#mailpoet_'+this.options.type).length > 0) {
|
10099 |
+
jQuery('#mailpoet_'+this.options.type).remove();
|
10100 |
+
}
|
10101 |
|
10102 |
+
this.initialized = false;
|
10103 |
|
10104 |
+
return this;
|
10105 |
+
},
|
10106 |
+
close: function() {
|
10107 |
+
if(this.isLocked() === true) { return this; }
|
10108 |
|
10109 |
+
if(this.subpanels.length > 0) {
|
10110 |
// close subpanel
|
10111 |
+
jQuery('.mailpoet_'+this.options.type+'_wrapper').last().remove();
|
10112 |
|
10113 |
// show previous panel
|
10114 |
+
jQuery('.mailpoet_'+this.options.type+'_wrapper').last().show();
|
10115 |
|
10116 |
// remove last subpanels
|
10117 |
+
this.subpanels.pop();
|
10118 |
|
10119 |
// focus on previous panel
|
10120 |
+
if(this.options.focus) {
|
10121 |
+
this.focus();
|
|
|
|
|
|
|
10122 |
}
|
10123 |
|
10124 |
+
return this;
|
10125 |
+
}
|
10126 |
+
|
10127 |
// remove event handlers
|
10128 |
+
this.removeEvents();
|
10129 |
|
10130 |
// hide modal window
|
10131 |
+
this.hideModal();
|
10132 |
|
10133 |
// destroy modal element
|
10134 |
+
this.destroy();
|
10135 |
|
10136 |
// restore the previously focused element
|
10137 |
+
if(this.prevFocus !== undefined){
|
10138 |
+
this.prevFocus.focus();
|
10139 |
+
}
|
10140 |
|
10141 |
// reset options
|
10142 |
+
this.options = {
|
10143 |
+
onSuccess: null,
|
10144 |
+
onCancel: null
|
10145 |
+
};
|
10146 |
|
10147 |
+
return this;
|
10148 |
+
}
|
10149 |
};
|
10150 |
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
10151 |
|
10233 |
// setup onClose callback
|
10234 |
var onClose = null;
|
10235 |
if (this.options.onClose !== null) {
|
10236 |
+
onClose = this.options.onClose;
|
10237 |
}
|
10238 |
|
10239 |
// listen to remove event
|
10241 |
jQuery(this).fadeOut(200, function() {
|
10242 |
// on close callback
|
10243 |
if (onClose !== null) {
|
10244 |
+
onClose();
|
10245 |
}
|
10246 |
// remove notice
|
10247 |
jQuery(this).remove();
|
10302 |
switch (this.options.type) {
|
10303 |
case 'success':
|
10304 |
this.element.addClass('notice notice-success');
|
10305 |
+
break;
|
10306 |
case 'system':
|
10307 |
this.element.addClass('notice notice-warning');
|
10308 |
+
break;
|
10309 |
case 'error':
|
10310 |
this.element.addClass('notice notice-error');
|
10311 |
+
break;
|
10312 |
}
|
10313 |
|
10314 |
// make the notice appear
|
10325 |
} else if (this.options.hideClose === false) {
|
10326 |
this.element.append('<a href="javascript:;" class="mailpoet_notice_close"><span class="dashicons dashicons-dismiss"></span></a>');
|
10327 |
this.element.find('.mailpoet_notice_close').on('click', function() {
|
10328 |
+
jQuery(this).trigger('close');
|
10329 |
});
|
10330 |
}
|
10331 |
|
27607 |
/***/ function(module, exports, __webpack_require__) {
|
27608 |
|
27609 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
27610 |
+
__webpack_require__(535),
|
27611 |
+
__webpack_require__(562),
|
27612 |
+
__webpack_require__(563),
|
27613 |
+
__webpack_require__(273),
|
27614 |
+
__webpack_require__(278),
|
27615 |
+
__webpack_require__(543),
|
27616 |
+
__webpack_require__(575)
|
27617 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(Backbone, Marionette, BackboneRadio, jQuery, _, Handlebars) {
|
27618 |
var Radio = BackboneRadio;
|
27619 |
|
27620 |
var AppView = Marionette.View.extend({
|
27658 |
/***/ function(module, exports, __webpack_require__) {
|
27659 |
|
27660 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
27661 |
+
__webpack_require__(574),
|
27662 |
+
__webpack_require__(564)
|
27663 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(App, SuperModel) {
|
27664 |
|
27665 |
var Module = {};
|
27666 |
|
27702 |
/***/ function(module, exports, __webpack_require__) {
|
27703 |
|
27704 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
27705 |
+
__webpack_require__(574),
|
27706 |
+
__webpack_require__(562),
|
27707 |
+
__webpack_require__(564),
|
27708 |
+
__webpack_require__(278)
|
27709 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(App, Marionette, SuperModel, _) {
|
27710 |
|
27711 |
'use strict';
|
27712 |
|
27751 |
});
|
27752 |
|
27753 |
Module.StylesView = Marionette.View.extend({
|
27754 |
+
getTemplate: function() { return window.templates.styles; },
|
27755 |
modelEvents: {
|
27756 |
change: 'render'
|
27757 |
},
|
27799 |
/***/ function(module, exports, __webpack_require__) {
|
27800 |
|
27801 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
27802 |
+
__webpack_require__(574),
|
27803 |
+
__webpack_require__(579),
|
27804 |
+
__webpack_require__(274),
|
27805 |
+
__webpack_require__(535),
|
27806 |
+
__webpack_require__(562),
|
27807 |
+
__webpack_require__(564),
|
27808 |
+
__webpack_require__(278),
|
27809 |
+
__webpack_require__(273),
|
27810 |
+
__webpack_require__(567)
|
27811 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(
|
27812 |
+
App,
|
27813 |
+
CommunicationComponent,
|
27814 |
+
MailPoet,
|
27815 |
+
Backbone,
|
27816 |
+
Marionette,
|
27817 |
+
SuperModel,
|
27818 |
+
_,
|
27819 |
+
jQuery,
|
27820 |
+
StickyKit
|
27821 |
) {
|
27822 |
|
27823 |
'use strict';
|
27853 |
Module.getLayoutWidgets = function() { return Module._layoutWidgets; };
|
27854 |
|
27855 |
var SidebarView = Marionette.View.extend({
|
27856 |
+
getTemplate: function() { return window.templates.sidebar; },
|
27857 |
regions: {
|
27858 |
contentRegion: '.mailpoet_content_region',
|
27859 |
layoutRegion: '.mailpoet_layout_region',
|
27947 |
* Responsible for rendering draggable content widgets
|
27948 |
*/
|
27949 |
Module.SidebarWidgetsView = Marionette.View.extend({
|
27950 |
+
getTemplate: function() { return window.templates.sidebarContent; },
|
27951 |
regions: {
|
27952 |
widgets: '.mailpoet_region_content'
|
27953 |
},
|
27967 |
* Responsible for rendering draggable layout widgets
|
27968 |
*/
|
27969 |
Module.SidebarLayoutWidgetsView = Module.SidebarWidgetsView.extend({
|
27970 |
+
getTemplate: function() { return window.templates.sidebarLayout; }
|
27971 |
});
|
27972 |
|
27973 |
/**
|
27974 |
* Responsible for managing global styles
|
27975 |
*/
|
27976 |
Module.SidebarStylesView = Marionette.View.extend({
|
27977 |
+
getTemplate: function() { return window.templates.sidebarStyles; },
|
27978 |
behaviors: {
|
27979 |
ColorPickerBehavior: {}
|
27980 |
},
|
28038 |
});
|
28039 |
|
28040 |
Module.SidebarPreviewView = Marionette.View.extend({
|
28041 |
+
getTemplate: function() { return window.templates.sidebarPreview; },
|
28042 |
events: {
|
28043 |
'click .mailpoet_show_preview': 'showPreview',
|
28044 |
'click #mailpoet_send_preview': 'sendPreview'
|
28146 |
});
|
28147 |
|
28148 |
Module.NewsletterPreviewView = Marionette.View.extend({
|
28149 |
+
getTemplate: function() { return window.templates.newsletterPreview; },
|
28150 |
initialize: function(options) {
|
28151 |
this.previewUrl = options.previewUrl;
|
28152 |
this.width = '100%';
|
28205 |
/***/ function(module, exports, __webpack_require__) {
|
28206 |
|
28207 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
28208 |
+
__webpack_require__(574),
|
28209 |
+
__webpack_require__(564),
|
28210 |
+
__webpack_require__(278),
|
28211 |
+
__webpack_require__(274)
|
28212 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(App, SuperModel, _, MailPoet) {
|
28213 |
'use strict';
|
28214 |
|
28215 |
var Module = {};
|
28221 |
whitelisted: ['id', 'subject', 'preheader'],
|
28222 |
initialize: function(options) {
|
28223 |
this.on('change', function() {
|
28224 |
+
App.getChannel().trigger('autoSave');
|
28225 |
});
|
28226 |
},
|
28227 |
toJSON: function() {
|
28265 |
};
|
28266 |
|
28267 |
Module.getNewsletter = function() {
|
28268 |
+
return Module.newsletter;
|
28269 |
};
|
28270 |
|
28271 |
Module.findModels = function(predicate) {
|
28319 |
/***/ function(module, exports, __webpack_require__) {
|
28320 |
|
28321 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
28322 |
+
__webpack_require__(574),
|
28323 |
+
__webpack_require__(535),
|
28324 |
+
__webpack_require__(562),
|
28325 |
+
__webpack_require__(278),
|
28326 |
+
__webpack_require__(273),
|
28327 |
+
__webpack_require__(274)
|
28328 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(App, Backbone, Marionette, _, jQuery, MailPoet) {
|
28329 |
|
28330 |
'use strict';
|
28331 |
|
28332 |
var Module = {};
|
28333 |
|
28334 |
Module.HeadingView = Marionette.View.extend({
|
28335 |
+
getTemplate: function() { return window.templates.heading; },
|
28336 |
templateContext: function() {
|
28337 |
return {
|
28338 |
model: this.model.toJSON()
|
28372 |
/***/ function(module, exports, __webpack_require__) {
|
28373 |
|
28374 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
28375 |
+
__webpack_require__(574),
|
28376 |
+
__webpack_require__(579),
|
28377 |
+
__webpack_require__(274),
|
28378 |
+
__webpack_require__(556),
|
28379 |
+
__webpack_require__(535),
|
28380 |
+
__webpack_require__(562),
|
28381 |
+
__webpack_require__(273),
|
28382 |
+
__webpack_require__(568),
|
28383 |
+
__webpack_require__(569),
|
28384 |
+
__webpack_require__(583),
|
28385 |
+
__webpack_require__(278),
|
28386 |
+
__webpack_require__(273)
|
28387 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(
|
28388 |
+
App,
|
28389 |
+
CommunicationComponent,
|
28390 |
+
MailPoet,
|
28391 |
+
Notice,
|
28392 |
+
Backbone,
|
28393 |
+
Marionette,
|
28394 |
+
jQuery,
|
28395 |
+
Blob,
|
28396 |
+
FileSaver,
|
28397 |
+
html2canvas,
|
28398 |
+
_,
|
28399 |
+
$
|
28400 |
+
) {
|
28401 |
|
28402 |
'use strict';
|
28403 |
|
28404 |
var Module = {},
|
28405 |
+
saveTimeout;
|
28406 |
|
28407 |
// Save editor contents to server
|
28408 |
Module.save = function() {
|
28450 |
// Removes 1px left transparent border from resulting canvas.
|
28451 |
|
28452 |
var oldContext = oldCanvas.getContext('2d'),
|
28453 |
+
newCanvas = document.createElement('canvas'),
|
28454 |
+
newContext = newCanvas.getContext('2d'),
|
28455 |
+
leftBorderWidth = 1;
|
28456 |
|
28457 |
newCanvas.width = oldCanvas.width;
|
28458 |
newCanvas.height = oldCanvas.height;
|
28469 |
|
28470 |
Module.saveTemplate = function(options) {
|
28471 |
var that = this,
|
28472 |
+
promise = jQuery.Deferred();
|
28473 |
|
28474 |
promise.then(function(thumbnail) {
|
28475 |
var data = _.extend(options || {}, {
|
28516 |
};
|
28517 |
|
28518 |
Module.SaveView = Marionette.View.extend({
|
28519 |
+
getTemplate: function() { return window.templates.save; },
|
28520 |
events: {
|
28521 |
'click .mailpoet_save_button': 'save',
|
28522 |
'click .mailpoet_save_show_options': 'toggleSaveOptions',
|
28566 |
},
|
28567 |
saveAsTemplate: function() {
|
28568 |
var templateName = this.$('.mailpoet_save_as_template_name').val(),
|
28569 |
+
templateDescription = this.$('.mailpoet_save_as_template_description').val(),
|
28570 |
+
that = this;
|
28571 |
|
28572 |
if (templateName === '') {
|
28573 |
MailPoet.Notice.error(
|
28622 |
},
|
28623 |
exportTemplate: function() {
|
28624 |
var templateName = this.$('.mailpoet_export_template_name').val(),
|
28625 |
+
templateDescription = this.$('.mailpoet_export_template_description').val(),
|
28626 |
+
that = this;
|
28627 |
|
28628 |
if (templateName === '') {
|
28629 |
MailPoet.Notice.error(
|
33305 |
* For more check: http://marionettejs.com/docs/marionette.behaviors.html#behaviorslookup
|
33306 |
*/
|
33307 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
33308 |
+
__webpack_require__(562)
|
33309 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(BackboneMarionette) {
|
33310 |
var Marionette = BackboneMarionette;
|
33311 |
var BehaviorsLookup = {};
|
33312 |
Marionette.Behaviors.behaviorsLookup = function() {
|
33330 |
* Adds a color picker integration with the view
|
33331 |
*/
|
33332 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
33333 |
+
__webpack_require__(562),
|
33334 |
+
__webpack_require__(585),
|
33335 |
+
__webpack_require__(274),
|
33336 |
+
__webpack_require__(566)
|
33337 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(Marionette, BehaviorsLookup, MailPoet, Spectrum) {
|
33338 |
var BL = BehaviorsLookup;
|
33339 |
|
33340 |
BL.ColorPickerBehavior = Marionette.Behavior.extend({
|
33341 |
onRender: function() {
|
33342 |
+
var that = this,
|
33343 |
+
preferredFormat = 'hex6';
|
33344 |
+
this.view.$('.mailpoet_color').each(function () {
|
33345 |
+
var $input = that.view.$(this);
|
33346 |
+
var updateColorInput = function(color) {
|
33347 |
+
if(color && color.getAlpha() > 0) {
|
33348 |
+
$input.val(color.toString(preferredFormat));
|
33349 |
+
} else {
|
33350 |
+
$input.val('');
|
33351 |
+
}
|
33352 |
+
$input.trigger('change');
|
33353 |
+
};
|
33354 |
+
$input.spectrum({
|
33355 |
+
clickoutFiresChange: true,
|
33356 |
+
showInput: true,
|
33357 |
+
showInitial: true,
|
33358 |
+
showPalette: true,
|
33359 |
+
showSelectionPalette: true,
|
33360 |
+
palette: [],
|
33361 |
+
localStorageKey: 'newsletter_editor.spectrum.palette',
|
33362 |
+
preferredFormat: preferredFormat,
|
33363 |
+
allowEmpty: true,
|
33364 |
+
chooseText: MailPoet.I18n.t('selectColor'),
|
33365 |
+
cancelText: MailPoet.I18n.t('cancelColorSelection'),
|
33366 |
+
change: updateColorInput,
|
33367 |
+
move: updateColorInput,
|
33368 |
+
hide: updateColorInput
|
33369 |
+
});
|
33370 |
+
});
|
33371 |
}
|
33372 |
});
|
33373 |
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
33378 |
/***/ 587:
|
33379 |
/***/ function(module, exports, __webpack_require__) {
|
33380 |
|
33381 |
+
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
|
33382 |
+
/**
|
33383 |
* ContainerDropZoneBehavior
|
33384 |
*
|
33385 |
* A receiving behavior for drag&drop.
|
33387 |
* accept droppables
|
33388 |
*/
|
33389 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
33390 |
+
__webpack_require__(562),
|
33391 |
+
__webpack_require__(278),
|
33392 |
+
__webpack_require__(273),
|
33393 |
+
__webpack_require__(585),
|
33394 |
+
__webpack_require__(565)
|
33395 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(Marionette, _, jQuery, BL, interact) {
|
33396 |
var BehaviorsLookup = BL;
|
33397 |
|
33398 |
BehaviorsLookup.ContainerDropZoneBehavior = Marionette.Behavior.extend({
|
33402 |
onRender: function() {
|
33403 |
var dragAndDropDisabled = _.isObject(this.view.options.renderOptions) && this.view.options.renderOptions.disableDragAndDrop === true;
|
33404 |
if (!dragAndDropDisabled) {
|
33405 |
+
this.addDropZone();
|
33406 |
}
|
33407 |
},
|
33408 |
addDropZone: function(_event) {
|
33576 |
|
33577 |
if (view.model.get('orientation') === 'horizontal' && droppableModel.get('type') !== 'container') {
|
33578 |
// Regular blocks always need to be inserted into columns - vertical containers
|
33579 |
+
|
33580 |
+
tempCollection = new (window.EditorApplication.getBlockTypeModel('container'))({
|
33581 |
+
orientation: 'vertical'
|
33582 |
});
|
33583 |
tempCollection.get('blocks').add(droppableModel);
|
33584 |
viewCollection.add(tempCollection, {at: index});
|
33592 |
// and inserting dropModel into that
|
33593 |
var tempModel = viewCollection.at(dropPosition.index);
|
33594 |
|
33595 |
+
tempCollection = new (window.EditorApplication.getBlockTypeModel('container'))({
|
33596 |
+
orientation: (view.model.get('orientation') === 'vertical') ? 'horizontal' : 'vertical'
|
33597 |
});
|
33598 |
|
33599 |
viewCollection.remove(tempModel);
|
33600 |
|
33601 |
if (tempCollection.get('orientation') === 'horizontal') {
|
33602 |
if (dropPosition.position === 'before') {
|
33603 |
+
tempCollection2 = new (window.EditorApplication.getBlockTypeModel('container'))({
|
33604 |
orientation: 'vertical'
|
33605 |
});
|
33606 |
tempCollection2.get('blocks').add(droppableModel);
|
33607 |
tempCollection.get('blocks').add(tempCollection2);
|
33608 |
}
|
33609 |
+
tempCollection2 = new (window.EditorApplication.getBlockTypeModel('container'))({
|
33610 |
orientation: 'vertical'
|
33611 |
});
|
33612 |
tempCollection2.get('blocks').add(tempModel);
|
33613 |
tempCollection.get('blocks').add(tempCollection2);
|
33614 |
if (dropPosition.position === 'after') {
|
33615 |
+
tempCollection2 = new (window.EditorApplication.getBlockTypeModel('container'))({
|
33616 |
orientation: 'vertical'
|
33617 |
});
|
33618 |
tempCollection2.get('blocks').add(droppableModel);
|
33673 |
|
33674 |
insertionType, index, position, indexAndPosition;
|
33675 |
|
33676 |
+
var unsafe = !!is_unsafe;
|
33677 |
|
33678 |
if (this.getCollection().length === 0) {
|
33679 |
return {
|
33759 |
if (eventOffset <= closeOffset + elementDimension / 2) {
|
33760 |
// First half of the element
|
33761 |
return {
|
33762 |
+
index: index,
|
33763 |
+
position: 'before'
|
33764 |
};
|
33765 |
} else {
|
33766 |
// Second half of the element
|
33767 |
return {
|
33768 |
+
index: index,
|
33769 |
+
position: 'after'
|
33770 |
};
|
33771 |
}
|
33772 |
},
|
33834 |
* Part of the drag&drop behavior.
|
33835 |
*/
|
33836 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
33837 |
+
__webpack_require__(562),
|
33838 |
+
__webpack_require__(278),
|
33839 |
+
__webpack_require__(273),
|
33840 |
+
__webpack_require__(585),
|
33841 |
+
__webpack_require__(565)
|
33842 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(Marionette, _, jQuery, BehaviorsLookup, interact) {
|
33843 |
var BL = BehaviorsLookup;
|
33844 |
|
33845 |
BL.DraggableBehavior = Marionette.Behavior.extend({
|
33862 |
},
|
33863 |
onRender: function() {
|
33864 |
var that = this,
|
33865 |
+
interactable;
|
33866 |
|
33867 |
// Give instances more control over whether Draggable should be applied
|
33868 |
if (!this.options.testAttachToInstance(this.view.model, this.view)) return;
|
33869 |
|
33870 |
interactable = interact(this.$el.get(0), {
|
33871 |
+
ignoreFrom: this.options.ignoreSelector
|
33872 |
}).draggable({
|
33873 |
// allow dragging of multple elements at the same time
|
33874 |
max: Infinity,
|
33883 |
// Use substitution instead of a clone
|
33884 |
var tempClone = (_.isFunction(that.options.onDragSubstituteBy)) ? that.options.onDragSubstituteBy(that) : undefined,
|
33885 |
// Or use a clone
|
33886 |
+
clone = tempClone || event.target.cloneNode(true),
|
33887 |
|
33888 |
$original = jQuery(event.target),
|
33889 |
$clone = jQuery(clone),
|
33977 |
/***/ },
|
33978 |
|
33979 |
/***/ 589:
|
33980 |
+
/***/ function(module, exports, __webpack_require__) {
|
33981 |
+
|
33982 |
+
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
33983 |
+
* Highlight Container Behavior
|
33984 |
+
*
|
33985 |
+
* Highlights a container block when hovering over its tools
|
33986 |
+
*/
|
33987 |
+
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
33988 |
+
__webpack_require__(562),
|
33989 |
+
__webpack_require__(585)
|
33990 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(Marionette, BehaviorsLookup) {
|
33991 |
+
var BL = BehaviorsLookup;
|
33992 |
+
|
33993 |
+
BL.HighlightContainerBehavior = Marionette.Behavior.extend({
|
33994 |
+
events: {
|
33995 |
+
'mouseenter @ui.tools': 'enableHighlight',
|
33996 |
+
'mouseleave @ui.tools': 'disableHighlight'
|
33997 |
+
},
|
33998 |
+
enableHighlight: function() {
|
33999 |
+
this.$el.addClass('mailpoet_highlight');
|
34000 |
+
},
|
34001 |
+
disableHighlight: function() {
|
34002 |
+
if (!this.view._isBeingEdited) {
|
34003 |
+
this.$el.removeClass('mailpoet_highlight');
|
34004 |
+
}
|
34005 |
+
}
|
34006 |
+
});
|
34007 |
+
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
34008 |
+
|
34009 |
+
|
34010 |
+
/***/ },
|
34011 |
+
|
34012 |
+
/***/ 590:
|
34013 |
/***/ function(module, exports, __webpack_require__) {
|
34014 |
|
34015 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
34018 |
* Highlights a block that is being edited
|
34019 |
*/
|
34020 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
34021 |
+
__webpack_require__(562),
|
34022 |
+
__webpack_require__(585)
|
34023 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(Marionette, BehaviorsLookup) {
|
34024 |
var BL = BehaviorsLookup;
|
34025 |
|
34026 |
BL.HighlightEditingBehavior = Marionette.Behavior.extend({
|
34029 |
stopEditing: 'disableHighlight'
|
34030 |
},
|
34031 |
enableHighlight: function() {
|
34032 |
+
this.view._isBeingEdited = true;
|
34033 |
this.$el.addClass('mailpoet_highlight');
|
34034 |
},
|
34035 |
disableHighlight: function() {
|
34036 |
+
this.view._isBeingEdited = false;
|
34037 |
this.$el.removeClass('mailpoet_highlight');
|
34038 |
}
|
34039 |
});
|
34042 |
|
34043 |
/***/ },
|
34044 |
|
34045 |
+
/***/ 591:
|
34046 |
/***/ function(module, exports, __webpack_require__) {
|
34047 |
|
34048 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
34051 |
* Allows resizing elements within a block
|
34052 |
*/
|
34053 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
34054 |
+
__webpack_require__(562),
|
34055 |
+
__webpack_require__(585),
|
34056 |
+
__webpack_require__(565)
|
34057 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(Marionette, BehaviorsLookup, interact) {
|
34058 |
var BL = BehaviorsLookup;
|
34059 |
|
34060 |
BL.ResizableBehavior = Marionette.Behavior.extend({
|
34078 |
},
|
34079 |
attachResize: function() {
|
34080 |
var domElement = (this.options.elementSelector === null) ? this.view.$el.get(0) : this.view.$(this.options.elementSelector).get(0),
|
34081 |
+
that = this;
|
34082 |
interact(domElement).resizable({
|
34083 |
//axis: 'y',
|
34084 |
edges: {
|
34119 |
|
34120 |
/***/ },
|
34121 |
|
34122 |
+
/***/ 592:
|
34123 |
/***/ function(module, exports, __webpack_require__) {
|
34124 |
|
34125 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
34128 |
* Allows sorting elements within a collection
|
34129 |
*/
|
34130 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
34131 |
+
__webpack_require__(562),
|
34132 |
+
__webpack_require__(278),
|
34133 |
+
__webpack_require__(585)
|
34134 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(Marionette, _, BehaviorsLookup) {
|
34135 |
var BL = BehaviorsLookup;
|
34136 |
|
34137 |
BL.SortableBehavior = Marionette.Behavior.extend({
|
34167 |
|
34168 |
/***/ },
|
34169 |
|
34170 |
+
/***/ 593:
|
34171 |
/***/ function(module, exports, __webpack_require__) {
|
34172 |
|
34173 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
34176 |
* Opens up settings of a BlockView if contents are clicked upon
|
34177 |
*/
|
34178 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
34179 |
+
__webpack_require__(562),
|
34180 |
+
__webpack_require__(273),
|
34181 |
+
__webpack_require__(585)
|
34182 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(Marionette, jQuery, BehaviorsLookup) {
|
34183 |
var BL = BehaviorsLookup;
|
34184 |
|
34185 |
BL.ShowSettingsBehavior = Marionette.Behavior.extend({
|
34206 |
|
34207 |
/***/ },
|
34208 |
|
34209 |
+
/***/ 594:
|
34210 |
/***/ function(module, exports, __webpack_require__) {
|
34211 |
|
34212 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
34215 |
* Adds TinyMCE text editing capabilities to a view
|
34216 |
*/
|
34217 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
34218 |
+
__webpack_require__(562),
|
34219 |
+
__webpack_require__(278),
|
34220 |
+
__webpack_require__(585)
|
34221 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(Marionette, _, BehaviorsLookup) {
|
34222 |
var BL = BehaviorsLookup;
|
34223 |
|
34224 |
BL.TextEditorBehavior = Marionette.Behavior.extend({
|
34276 |
editor.focus();
|
34277 |
if (that._isActivationClick) {
|
34278 |
editor.selection.setRng(
|
34279 |
+
window.tinymce.dom.RangeUtils.getCaretRangeFromPoint(e.clientX, e.clientY, editor.getDoc())
|
34280 |
);
|
34281 |
that._isActivationClick = false;
|
34282 |
}
|
34284 |
|
34285 |
editor.on('focus', function(e) {
|
34286 |
that.view.triggerMethod('text:editor:focus');
|
34287 |
+
that._isActivationClick = true;
|
34288 |
});
|
34289 |
|
34290 |
editor.on('blur', function(e) {
|
34299 |
|
34300 |
/***/ },
|
34301 |
|
34302 |
+
/***/ 595:
|
34303 |
/***/ function(module, exports, __webpack_require__) {
|
34304 |
|
34305 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
34309 |
* BlockToolsView, BlockSettingsView and BlockWidgetView are optional.
|
34310 |
*/
|
34311 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
34312 |
+
__webpack_require__(574),
|
34313 |
+
__webpack_require__(562),
|
34314 |
+
__webpack_require__(564),
|
34315 |
+
__webpack_require__(278),
|
34316 |
+
__webpack_require__(273),
|
34317 |
+
__webpack_require__(274),
|
34318 |
+
__webpack_require__(555)
|
34319 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(App, Marionette, SuperModel, _, jQuery, MailPoet, Modal) {
|
34320 |
|
34321 |
'use strict';
|
34322 |
|
34323 |
var Module = {},
|
34324 |
+
AugmentedView = Marionette.View.extend({});
|
34325 |
|
34326 |
Module.BlockModel = SuperModel.extend({
|
34327 |
stale: [], // Attributes to be removed upon saving
|
34482 |
});
|
34483 |
|
34484 |
Module.BlockToolsView = AugmentedView.extend({
|
34485 |
+
getTemplate: function() { return window.templates.genericBlockTools; },
|
34486 |
events: {
|
34487 |
'click .mailpoet_edit_block': 'changeSettings',
|
34488 |
'click .mailpoet_delete_block_activate': 'showDeletionConfirmation',
|
34579 |
this.model.set(field, jQuery(event.target).val() + suffix);
|
34580 |
},
|
34581 |
changeBoolField: function(field, event) {
|
34582 |
+
this.model.set(field, (jQuery(event.target).val() === 'true'));
|
34583 |
},
|
34584 |
changeBoolCheckboxField: function(field, event) {
|
34585 |
this.model.set(field, (!!jQuery(event.target).prop('checked')));
|
34614 |
|
34615 |
/***/ },
|
34616 |
|
34617 |
+
/***/ 596:
|
34618 |
/***/ function(module, exports, __webpack_require__) {
|
34619 |
|
34620 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
34623 |
* as other containers.
|
34624 |
*/
|
34625 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
34626 |
+
__webpack_require__(535),
|
34627 |
+
__webpack_require__(562),
|
34628 |
+
__webpack_require__(278),
|
34629 |
+
__webpack_require__(273),
|
34630 |
+
__webpack_require__(574),
|
34631 |
+
__webpack_require__(595)
|
34632 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(Backbone, Marionette, _, jQuery, App, BaseBlock) {
|
34633 |
|
34634 |
'use strict';
|
34635 |
|
34636 |
var Module = {},
|
34637 |
+
base = BaseBlock,
|
34638 |
+
BlockCollection;
|
34639 |
|
34640 |
BlockCollection = Backbone.Collection.extend({
|
34641 |
model: base.BlockModel,
|
34722 |
}
|
34723 |
}),
|
34724 |
className: 'mailpoet_block mailpoet_container_block mailpoet_droppable_block mailpoet_droppable_layout_block',
|
34725 |
+
getTemplate: function() { return window.templates.containerBlock; },
|
34726 |
events: _.extend({}, base.BlockView.prototype.events, {
|
34727 |
'click .mailpoet_newsletter_layer_selector': 'toggleEditingLayer'
|
34728 |
}),
|
34757 |
// for root and column containers.
|
34758 |
return view.renderOptions.depth === 1;
|
34759 |
}
|
34760 |
+
},
|
34761 |
+
HighlightContainerBehavior: {}
|
34762 |
}),
|
34763 |
onDragSubstituteBy: function() {
|
34764 |
// For two and three column layouts display their respective widgets,
|
34837 |
});
|
34838 |
|
34839 |
Module.ContainerBlockEmptyView = Marionette.View.extend({
|
34840 |
+
getTemplate: function() { return window.templates.containerEmpty; },
|
34841 |
initialize: function(options) {
|
34842 |
this.renderOptions = _.defaults(options.renderOptions || {}, {});
|
34843 |
},
|
34854 |
});
|
34855 |
|
34856 |
Module.ContainerBlockSettingsView = base.BlockSettingsView.extend({
|
34857 |
+
getTemplate: function() { return window.templates.containerBlockSettings; },
|
34858 |
events: function() {
|
34859 |
return {
|
34860 |
'change .mailpoet_field_container_background_color': _.partial(this.changeColorField, 'styles.block.backgroundColor'),
|
34886 |
});
|
34887 |
|
34888 |
Module.ContainerBlockColumnSettingsView = Marionette.View.extend({
|
34889 |
+
getTemplate: function() { return window.templates.containerBlockColumnSettings; },
|
34890 |
initialize: function(options) {
|
34891 |
this.columnNumber = (options.columnIndex || 0) + 1;
|
34892 |
},
|
34900 |
|
34901 |
Module.OneColumnContainerWidgetView = base.WidgetView.extend({
|
34902 |
className: base.WidgetView.prototype.className + ' mailpoet_droppable_layout_block',
|
34903 |
+
getTemplate: function() { return window.templates.oneColumnLayoutInsertion; },
|
34904 |
behaviors: {
|
34905 |
DraggableBehavior: {
|
34906 |
cloneOriginal: true,
|
34918 |
|
34919 |
Module.TwoColumnContainerWidgetView = base.WidgetView.extend({
|
34920 |
className: base.WidgetView.prototype.className + ' mailpoet_droppable_layout_block',
|
34921 |
+
getTemplate: function() { return window.templates.twoColumnLayoutInsertion; },
|
34922 |
behaviors: {
|
34923 |
DraggableBehavior: {
|
34924 |
cloneOriginal: true,
|
34937 |
|
34938 |
Module.ThreeColumnContainerWidgetView = base.WidgetView.extend({
|
34939 |
className: base.WidgetView.prototype.className + ' mailpoet_droppable_layout_block',
|
34940 |
+
getTemplate: function() { return window.templates.threeColumnLayoutInsertion; },
|
34941 |
behaviors: {
|
34942 |
DraggableBehavior: {
|
34943 |
cloneOriginal: true,
|
34986 |
|
34987 |
/***/ },
|
34988 |
|
34989 |
+
/***/ 597:
|
34990 |
/***/ function(module, exports, __webpack_require__) {
|
34991 |
|
34992 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
34993 |
* Button content block
|
34994 |
*/
|
34995 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
34996 |
+
__webpack_require__(574),
|
34997 |
+
__webpack_require__(595),
|
34998 |
+
__webpack_require__(274),
|
34999 |
+
__webpack_require__(278),
|
35000 |
+
__webpack_require__(273)
|
35001 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(App, BaseBlock, MailPoet, _, jQuery) {
|
35002 |
|
35003 |
'use strict';
|
35004 |
|
35005 |
var Module = {},
|
35006 |
+
base = BaseBlock;
|
35007 |
|
35008 |
Module.ButtonBlockModel = base.BlockModel.extend({
|
35009 |
defaults: function() {
|
35033 |
|
35034 |
Module.ButtonBlockView = base.BlockView.extend({
|
35035 |
className: 'mailpoet_block mailpoet_button_block mailpoet_droppable_block',
|
35036 |
+
getTemplate: function() { return window.templates.buttonBlock; },
|
35037 |
onDragSubstituteBy: function() { return Module.ButtonWidgetView; },
|
35038 |
behaviors: _.extend({}, base.BlockView.prototype.behaviors, {
|
35039 |
ShowSettingsBehavior: {}
|
35056 |
});
|
35057 |
|
35058 |
Module.ButtonBlockSettingsView = base.BlockSettingsView.extend({
|
35059 |
+
getTemplate: function() { return window.templates.buttonBlockSettings; },
|
35060 |
events: function() {
|
35061 |
return {
|
35062 |
'input .mailpoet_field_button_text': _.partial(this.changeField, 'text'),
|
35112 |
});
|
35113 |
|
35114 |
Module.ButtonWidgetView = base.WidgetView.extend({
|
35115 |
+
getTemplate: function() { return window.templates.buttonInsertion; },
|
35116 |
behaviors: {
|
35117 |
DraggableBehavior: {
|
35118 |
cloneOriginal: true,
|
35142 |
|
35143 |
/***/ },
|
35144 |
|
35145 |
+
/***/ 598:
|
35146 |
/***/ function(module, exports, __webpack_require__) {
|
35147 |
|
35148 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
35149 |
* Image content block
|
35150 |
*/
|
35151 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
35152 |
+
__webpack_require__(574),
|
35153 |
+
__webpack_require__(595),
|
35154 |
+
__webpack_require__(278),
|
35155 |
+
__webpack_require__(274),
|
35156 |
+
__webpack_require__(273)
|
35157 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(App, BaseBlock, _, MailPoet, jQuery) {
|
35158 |
|
35159 |
'use strict';
|
35160 |
|
35161 |
var Module = {},
|
35162 |
+
base = BaseBlock,
|
35163 |
+
ImageWidgetView;
|
35164 |
|
35165 |
Module.ImageBlockModel = base.BlockModel.extend({
|
35166 |
defaults: function() {
|
35183 |
|
35184 |
Module.ImageBlockView = base.BlockView.extend({
|
35185 |
className: 'mailpoet_block mailpoet_image_block mailpoet_droppable_block',
|
35186 |
+
getTemplate: function() { return window.templates.imageBlock; },
|
35187 |
onDragSubstituteBy: function() { return Module.ImageWidgetView; },
|
35188 |
templateContext: function() {
|
35189 |
return _.extend({
|
35220 |
tooltip: MailPoet.I18n.t('helpTooltipDesignerIdealWidth')
|
35221 |
});
|
35222 |
},
|
35223 |
+
getTemplate: function() { return window.templates.imageBlockSettings; },
|
35224 |
events: function() {
|
35225 |
return {
|
35226 |
'input .mailpoet_field_image_link': _.partial(this.changeField, 'link'),
|
35246 |
return;
|
35247 |
}
|
35248 |
|
35249 |
+
var MediaManager = window.wp.media.view.MediaFrame.Select.extend({
|
35250 |
|
35251 |
initialize: function() {
|
35252 |
+
window.wp.media.view.MediaFrame.prototype.initialize.apply(this, arguments);
|
35253 |
|
35254 |
_.defaults(this.options, {
|
35255 |
multiple: true,
|
35271 |
},
|
35272 |
|
35273 |
createQuery: function(options) {
|
35274 |
+
var query = window.wp.media.query(options);
|
35275 |
return query;
|
35276 |
},
|
35277 |
|
35281 |
// Add the default states.
|
35282 |
this.states.add([
|
35283 |
// Main states.
|
35284 |
+
new window.wp.media.controller.Library({
|
35285 |
id: 'insert',
|
35286 |
title: 'Add images',
|
35287 |
priority: 20,
|
35303 |
})
|
35304 |
]);
|
35305 |
|
35306 |
+
if(window.wp.media.view.settings.post.featuredImageId) {
|
35307 |
+
this.states.add(new window.wp.media.controller.FeaturedImage());
|
35308 |
}
|
35309 |
},
|
35310 |
|
35324 |
this.on('updateExcluded', this.browseContent, this);
|
35325 |
|
35326 |
var handlers = {
|
35327 |
+
content: {
|
35328 |
+
embed: 'embedContent',
|
35329 |
+
'edit-selection': 'editSelectionContent'
|
35330 |
+
},
|
35331 |
+
toolbar: {
|
35332 |
+
'main-insert': 'mainInsertToolbar'
|
35333 |
+
}
|
35334 |
+
};
|
35335 |
|
35336 |
_.each(handlers, function(regionHandlers, region) {
|
35337 |
_.each(regionHandlers, function(callback, handler) {
|
35341 |
},
|
35342 |
|
35343 |
uploadContent: function() {
|
35344 |
+
window.wp.media.view.MediaFrame.Select.prototype.uploadContent.apply(this, arguments);
|
35345 |
this.$el.addClass('hide-toolbar');
|
35346 |
},
|
35347 |
|
35348 |
// Content
|
35349 |
embedContent: function() {
|
35350 |
+
var view = new window.wp.media.view.Embed({
|
35351 |
controller: this,
|
35352 |
model: this.state()
|
35353 |
}).render();
|
35361 |
selection = state.get('selection'),
|
35362 |
view;
|
35363 |
|
35364 |
+
view = new window.wp.media.view.AttachmentsBrowser({
|
35365 |
controller: this,
|
35366 |
collection: selection,
|
35367 |
selection: selection,
|
35370 |
search: false,
|
35371 |
dragInfo: true,
|
35372 |
|
35373 |
+
AttachmentView: window.wp.media.view.Attachment.EditSelection
|
35374 |
}).render();
|
35375 |
|
35376 |
view.toolbar.set('backToLibrary', {
|
35390 |
selectionStatusToolbar: function(view) {
|
35391 |
var editable = this.state().get('editable');
|
35392 |
|
35393 |
+
view.set('selection', new window.wp.media.view.Selection({
|
35394 |
controller: this,
|
35395 |
collection: this.state().get('selection'),
|
35396 |
priority: -40,
|
35426 |
|
35427 |
mainEmbedToolbar: function(toolbar) {
|
35428 |
var tbar = toolbar;
|
35429 |
+
tbar.view = new window.wp.media.view.Toolbar.Embed({
|
35430 |
controller: this,
|
35431 |
text: 'Add images'
|
35432 |
});
|
35449 |
}
|
35450 |
}),
|
35451 |
that = this;
|
35452 |
+
this._mediaManager = theFrame;
|
35453 |
|
35454 |
+
this._mediaManager.on('insert', function() {
|
35455 |
// Append media manager image selections to Images tab
|
35456 |
var selection = theFrame.state().get('selection');
|
35457 |
selection.each(function(attachment) {
|
35511 |
});
|
35512 |
|
35513 |
ImageWidgetView = base.WidgetView.extend({
|
35514 |
+
getTemplate: function() { return window.templates.imageInsertion; },
|
35515 |
behaviors: {
|
35516 |
DraggableBehavior: {
|
35517 |
cloneOriginal: true,
|
35545 |
|
35546 |
/***/ },
|
35547 |
|
35548 |
+
/***/ 599:
|
35549 |
/***/ function(module, exports, __webpack_require__) {
|
35550 |
|
35551 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
35552 |
* Divider content block
|
35553 |
*/
|
35554 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
35555 |
+
__webpack_require__(574),
|
35556 |
+
__webpack_require__(595),
|
35557 |
+
__webpack_require__(278),
|
35558 |
+
__webpack_require__(273),
|
35559 |
+
__webpack_require__(274)
|
35560 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(App, BaseBlock, _, jQuery, MailPoet) {
|
35561 |
|
35562 |
'use strict';
|
35563 |
|
35564 |
var Module = {},
|
35565 |
+
base = BaseBlock;
|
35566 |
|
35567 |
Module.DividerBlockModel = base.BlockModel.extend({
|
35568 |
defaults: function() {
|
35583 |
|
35584 |
Module.DividerBlockView = base.BlockView.extend({
|
35585 |
className: 'mailpoet_block mailpoet_divider_block mailpoet_droppable_block',
|
35586 |
+
getTemplate: function() { return window.templates.dividerBlock; },
|
35587 |
modelEvents: _.omit(base.BlockView.prototype.modelEvents, 'change'),
|
35588 |
behaviors: _.defaults({
|
35589 |
ResizableBehavior: {
|
35634 |
});
|
35635 |
|
35636 |
Module.DividerBlockSettingsView = base.BlockSettingsView.extend({
|
35637 |
+
getTemplate: function() { return window.templates.dividerBlockSettings; },
|
35638 |
events: function() {
|
35639 |
return {
|
35640 |
'click .mailpoet_field_divider_style': 'changeStyle',
|
35679 |
});
|
35680 |
|
35681 |
Module.DividerWidgetView = base.WidgetView.extend({
|
35682 |
+
getTemplate: function() { return window.templates.dividerInsertion; },
|
35683 |
behaviors: {
|
35684 |
DraggableBehavior: {
|
35685 |
cloneOriginal: true,
|
35708 |
|
35709 |
/***/ },
|
35710 |
|
35711 |
+
/***/ 600:
|
35712 |
/***/ function(module, exports, __webpack_require__) {
|
35713 |
|
35714 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
35715 |
* Text content block
|
35716 |
*/
|
35717 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
35718 |
+
__webpack_require__(574),
|
35719 |
+
__webpack_require__(595),
|
35720 |
+
__webpack_require__(278),
|
35721 |
+
__webpack_require__(274)
|
35722 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(App, BaseBlock, _, MailPoet) {
|
35723 |
|
35724 |
'use strict';
|
35725 |
|
35726 |
var Module = {},
|
35727 |
+
base = BaseBlock;
|
35728 |
|
35729 |
Module.TextBlockModel = base.BlockModel.extend({
|
35730 |
defaults: function() {
|
35737 |
|
35738 |
Module.TextBlockView = base.BlockView.extend({
|
35739 |
className: 'mailpoet_block mailpoet_text_block mailpoet_droppable_block',
|
35740 |
+
getTemplate: function() { return window.templates.textBlock; },
|
35741 |
modelEvents: _.omit(base.BlockView.prototype.modelEvents, 'change'), // Prevent rerendering on model change due to text editor redrawing
|
35742 |
behaviors: _.extend({}, base.BlockView.prototype.behaviors, {
|
35743 |
TextEditorBehavior: {
|
35792 |
});
|
35793 |
|
35794 |
Module.TextBlockSettingsView = base.BlockSettingsView.extend({
|
35795 |
+
getTemplate: function() { return window.templates.textBlockSettings; }
|
35796 |
});
|
35797 |
|
35798 |
Module.TextWidgetView = base.WidgetView.extend({
|
35799 |
+
getTemplate: function() { return window.templates.textInsertion; },
|
35800 |
behaviors: {
|
35801 |
DraggableBehavior: {
|
35802 |
cloneOriginal: true,
|
35827 |
|
35828 |
/***/ },
|
35829 |
|
35830 |
+
/***/ 601:
|
35831 |
/***/ function(module, exports, __webpack_require__) {
|
35832 |
|
35833 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
35834 |
* Spacer content block
|
35835 |
*/
|
35836 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
35837 |
+
__webpack_require__(574),
|
35838 |
+
__webpack_require__(595),
|
35839 |
+
__webpack_require__(278)
|
35840 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(App, BaseBlock, _) {
|
35841 |
|
35842 |
'use strict';
|
35843 |
|
35844 |
var Module = {},
|
35845 |
+
base = BaseBlock;
|
35846 |
|
35847 |
Module.SpacerBlockModel = base.BlockModel.extend({
|
35848 |
defaults: function() {
|
35860 |
|
35861 |
Module.SpacerBlockView = base.BlockView.extend({
|
35862 |
className: 'mailpoet_block mailpoet_spacer_block mailpoet_droppable_block',
|
35863 |
+
getTemplate: function() { return window.templates.spacerBlock; },
|
35864 |
behaviors: _.defaults({
|
35865 |
ResizableBehavior: {
|
35866 |
elementSelector: '.mailpoet_spacer',
|
35898 |
});
|
35899 |
|
35900 |
Module.SpacerBlockSettingsView = base.BlockSettingsView.extend({
|
35901 |
+
getTemplate: function() { return window.templates.spacerBlockSettings; },
|
35902 |
events: function() {
|
35903 |
return {
|
35904 |
'change .mailpoet_field_spacer_background_color': _.partial(this.changeColorField, 'styles.block.backgroundColor'),
|
35908 |
});
|
35909 |
|
35910 |
Module.SpacerWidgetView = base.WidgetView.extend({
|
35911 |
+
getTemplate: function() { return window.templates.spacerInsertion; },
|
35912 |
behaviors: {
|
35913 |
DraggableBehavior: {
|
35914 |
cloneOriginal: true,
|
35938 |
|
35939 |
/***/ },
|
35940 |
|
35941 |
+
/***/ 602:
|
35942 |
/***/ function(module, exports, __webpack_require__) {
|
35943 |
|
35944 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
35945 |
* Footer content block
|
35946 |
*/
|
35947 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
35948 |
+
__webpack_require__(574),
|
35949 |
+
__webpack_require__(595),
|
35950 |
+
__webpack_require__(278),
|
35951 |
+
__webpack_require__(274)
|
35952 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(App, BaseBlock, _, MailPoet) {
|
35953 |
|
35954 |
'use strict';
|
35955 |
|
35956 |
var Module = {},
|
35957 |
+
base = BaseBlock;
|
35958 |
|
35959 |
Module.FooterBlockModel = base.BlockModel.extend({
|
35960 |
defaults: function() {
|
35982 |
|
35983 |
Module.FooterBlockView = base.BlockView.extend({
|
35984 |
className: 'mailpoet_block mailpoet_footer_block mailpoet_droppable_block',
|
35985 |
+
getTemplate: function() { return window.templates.footerBlock; },
|
35986 |
modelEvents: _.extend({
|
35987 |
'change:styles.block.backgroundColor change:styles.text.fontColor change:styles.text.fontFamily change:styles.text.fontSize change:styles.text.textAlign change:styles.link.fontColor change:styles.link.textDecoration': 'render'
|
35988 |
}, _.omit(base.BlockView.prototype.modelEvents, 'change')),
|
36019 |
});
|
36020 |
|
36021 |
Module.FooterBlockSettingsView = base.BlockSettingsView.extend({
|
36022 |
+
getTemplate: function() { return window.templates.footerBlockSettings; },
|
36023 |
events: function() {
|
36024 |
return {
|
36025 |
'change .mailpoet_field_footer_text_color': _.partial(this.changeColorField, 'styles.text.fontColor'),
|
36027 |
'change .mailpoet_field_footer_text_size': _.partial(this.changeField, 'styles.text.fontSize'),
|
36028 |
'change #mailpoet_field_footer_link_color': _.partial(this.changeColorField, 'styles.link.fontColor'),
|
36029 |
'change #mailpoet_field_footer_link_underline': function(event) {
|
36030 |
+
this.model.set('styles.link.textDecoration', (event.target.checked) ? event.target.value : 'none');
|
36031 |
+
},
|
36032 |
'change .mailpoet_field_footer_background_color': _.partial(this.changeColorField, 'styles.block.backgroundColor'),
|
36033 |
'change .mailpoet_field_footer_alignment': _.partial(this.changeField, 'styles.text.textAlign'),
|
36034 |
'click .mailpoet_done_editing': 'close'
|
36042 |
});
|
36043 |
|
36044 |
Module.FooterWidgetView = base.WidgetView.extend({
|
36045 |
+
getTemplate: function() { return window.templates.footerInsertion; },
|
36046 |
behaviors: {
|
36047 |
DraggableBehavior: {
|
36048 |
cloneOriginal: true,
|
36072 |
|
36073 |
/***/ },
|
36074 |
|
36075 |
+
/***/ 603:
|
36076 |
/***/ function(module, exports, __webpack_require__) {
|
36077 |
|
36078 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
36079 |
* Header content block
|
36080 |
*/
|
36081 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
36082 |
+
__webpack_require__(574),
|
36083 |
+
__webpack_require__(595),
|
36084 |
+
__webpack_require__(278),
|
36085 |
+
__webpack_require__(274)
|
36086 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(App, BaseBlock, _, MailPoet) {
|
36087 |
|
36088 |
'use strict';
|
36089 |
|
36090 |
var Module = {},
|
36091 |
+
base = BaseBlock;
|
36092 |
|
36093 |
Module.HeaderBlockModel = base.BlockModel.extend({
|
36094 |
defaults: function() {
|
36116 |
|
36117 |
Module.HeaderBlockView = base.BlockView.extend({
|
36118 |
className: 'mailpoet_block mailpoet_header_block mailpoet_droppable_block',
|
36119 |
+
getTemplate: function() { return window.templates.headerBlock; },
|
36120 |
modelEvents: _.extend({
|
36121 |
'change:styles.block.backgroundColor change:styles.text.fontColor change:styles.text.fontFamily change:styles.text.fontSize change:styles.text.textAlign change:styles.link.fontColor change:styles.link.textDecoration': 'render'
|
36122 |
}, _.omit(base.BlockView.prototype.modelEvents, 'change')),
|
36153 |
});
|
36154 |
|
36155 |
Module.HeaderBlockSettingsView = base.BlockSettingsView.extend({
|
36156 |
+
getTemplate: function() { return window.templates.headerBlockSettings; },
|
36157 |
events: function() {
|
36158 |
return {
|
36159 |
'change .mailpoet_field_header_text_color': _.partial(this.changeColorField, 'styles.text.fontColor'),
|
36176 |
});
|
36177 |
|
36178 |
Module.HeaderWidgetView = base.WidgetView.extend({
|
36179 |
+
getTemplate: function() { return window.templates.headerInsertion; },
|
36180 |
behaviors: {
|
36181 |
DraggableBehavior: {
|
36182 |
cloneOriginal: true,
|
36206 |
|
36207 |
/***/ },
|
36208 |
|
36209 |
+
/***/ 604:
|
36210 |
/***/ function(module, exports, __webpack_require__) {
|
36211 |
|
36212 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
36218 |
* block settings view.
|
36219 |
*/
|
36220 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
36221 |
+
__webpack_require__(574),
|
36222 |
+
__webpack_require__(595),
|
36223 |
+
__webpack_require__(597),
|
36224 |
+
__webpack_require__(599),
|
36225 |
+
__webpack_require__(579),
|
36226 |
+
__webpack_require__(274),
|
36227 |
+
__webpack_require__(564),
|
36228 |
+
__webpack_require__(278),
|
36229 |
+
__webpack_require__(273)
|
36230 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(
|
36231 |
+
App,
|
36232 |
+
BaseBlock,
|
36233 |
+
ButtonBlock,
|
36234 |
+
DividerBlock,
|
36235 |
+
CommunicationComponent,
|
36236 |
+
MailPoet,
|
36237 |
+
SuperModel,
|
36238 |
+
_,
|
36239 |
+
jQuery
|
36240 |
) {
|
36241 |
|
36242 |
'use strict';
|
36243 |
|
36244 |
var Module = {},
|
36245 |
+
base = BaseBlock;
|
36246 |
|
36247 |
Module.ALCSupervisor = SuperModel.extend({
|
36248 |
initialize: function() {
|
36272 |
_.zip(models, renderedBlocks),
|
36273 |
function(args) {
|
36274 |
var model = args[0],
|
36275 |
+
contents = args[1];
|
36276 |
model.trigger('refreshPosts', contents);
|
36277 |
}
|
36278 |
);
|
36346 |
}
|
36347 |
App.getChannel().on('replaceAllButtonStyles', replaceButtonStylesHandler.bind(this));
|
36348 |
},
|
36349 |
+
getTemplate: function() { return window.templates.automatedLatestContentBlock; },
|
36350 |
regions: {
|
36351 |
toolsRegion: '.mailpoet_tools',
|
36352 |
postsRegion: '.mailpoet_automated_latest_content_block_posts'
|
36379 |
|
36380 |
// Sidebar view container
|
36381 |
Module.AutomatedLatestContentBlockSettingsView = base.BlockSettingsView.extend({
|
36382 |
+
getTemplate: function() { return window.templates.automatedLatestContentBlockSettings; },
|
36383 |
events: function() {
|
36384 |
return {
|
36385 |
'click .mailpoet_automated_latest_content_hide_display_options': 'toggleDisplayOptions',
|
36561 |
},
|
36562 |
_updateContentTypes: function(postTypes) {
|
36563 |
var select = this.$('.mailpoet_automated_latest_content_content_type'),
|
36564 |
+
selectedValue = this.model.get('contentType');
|
36565 |
|
36566 |
select.find('option').remove();
|
36567 |
_.each(postTypes, function(type) {
|
36575 |
});
|
36576 |
|
36577 |
Module.AutomatedLatestContentWidgetView = base.WidgetView.extend({
|
36578 |
+
getTemplate: function() { return window.templates.automatedLatestContentInsertion; },
|
36579 |
behaviors: {
|
36580 |
DraggableBehavior: {
|
36581 |
cloneOriginal: true,
|
36614 |
|
36615 |
/***/ },
|
36616 |
|
36617 |
+
/***/ 605:
|
36618 |
/***/ function(module, exports, __webpack_require__) {
|
36619 |
|
36620 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
36630 |
* block settings view.
|
36631 |
*/
|
36632 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
36633 |
+
__webpack_require__(535),
|
36634 |
+
__webpack_require__(562),
|
36635 |
+
__webpack_require__(563),
|
36636 |
+
__webpack_require__(278),
|
36637 |
+
__webpack_require__(273),
|
36638 |
+
__webpack_require__(274),
|
36639 |
+
__webpack_require__(574),
|
36640 |
+
__webpack_require__(579),
|
36641 |
+
__webpack_require__(595),
|
36642 |
+
__webpack_require__(597),
|
36643 |
+
__webpack_require__(599),
|
36644 |
+
__webpack_require__(287)
|
36645 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(
|
36646 |
+
Backbone,
|
36647 |
+
Marionette,
|
36648 |
+
Radio,
|
36649 |
+
_,
|
36650 |
+
jQuery,
|
36651 |
+
MailPoet,
|
36652 |
+
App,
|
36653 |
+
CommunicationComponent,
|
36654 |
+
BaseBlock,
|
36655 |
+
ButtonBlock,
|
36656 |
+
DividerBlock
|
36657 |
) {
|
36658 |
|
36659 |
'use strict';
|
36660 |
|
36661 |
var Module = {},
|
36662 |
+
base = BaseBlock;
|
36663 |
|
36664 |
Module.PostsBlockModel = base.BlockModel.extend({
|
36665 |
stale: ['_selectedPosts', '_availablePosts', '_transformedPosts'],
|
36796 |
|
36797 |
Module.PostsBlockView = base.BlockView.extend({
|
36798 |
className: 'mailpoet_block mailpoet_posts_block mailpoet_droppable_block',
|
36799 |
+
getTemplate: function() { return window.templates.postsBlock; },
|
36800 |
modelEvents: {}, // Forcefully disable all events
|
36801 |
regions: _.extend({
|
36802 |
postsRegion: '.mailpoet_posts_block_posts'
|
36835 |
});
|
36836 |
|
36837 |
Module.PostsBlockSettingsView = base.BlockSettingsView.extend({
|
36838 |
+
getTemplate: function() { return window.templates.postsBlockSettings; },
|
36839 |
regions: {
|
36840 |
selectionRegion: '.mailpoet_settings_posts_selection',
|
36841 |
displayOptionsRegion: '.mailpoet_settings_posts_display_options'
|
36927 |
});
|
36928 |
|
36929 |
var PostSelectionSettingsView = Marionette.View.extend({
|
36930 |
+
getTemplate: function() { return window.templates.postSelectionPostsBlockSettings; },
|
36931 |
regions: {
|
36932 |
posts: '.mailpoet_post_selection_container'
|
36933 |
},
|
37004 |
results: _.map(
|
37005 |
data.terms,
|
37006 |
function(item) {
|
|
|
37007 |
return _.defaults({
|
37008 |
text: data.taxonomies[item.taxonomy].labels.singular_name + ': ' + item.name,
|
37009 |
id: item.term_id
|
37033 |
},
|
37034 |
_updateContentTypes: function(postTypes) {
|
37035 |
var select = this.$('.mailpoet_settings_posts_content_type'),
|
37036 |
+
selectedValue = this.model.get('contentType');
|
37037 |
|
37038 |
select.find('option').remove();
|
37039 |
_.each(postTypes, function(type) {
|
37047 |
});
|
37048 |
|
37049 |
var EmptyPostSelectionSettingsView = Marionette.View.extend({
|
37050 |
+
getTemplate: function() { return window.templates.emptyPostPostsBlockSettings; }
|
37051 |
});
|
37052 |
|
37053 |
var SinglePostSelectionSettingsView = Marionette.View.extend({
|
37054 |
+
getTemplate: function() { return window.templates.singlePostPostsBlockSettings; },
|
37055 |
events: function() {
|
37056 |
return {
|
37057 |
'change .mailpoet_select_post_checkbox': 'postSelectionChange'
|
37078 |
});
|
37079 |
|
37080 |
var PostsDisplayOptionsSettingsView = base.BlockSettingsView.extend({
|
37081 |
+
getTemplate: function() { return window.templates.displayOptionsPostsBlockSettings; },
|
37082 |
events: function() {
|
37083 |
return {
|
37084 |
'click .mailpoet_posts_select_button': 'showButtonSettings',
|
37183 |
});
|
37184 |
|
37185 |
Module.PostsWidgetView = base.WidgetView.extend({
|
37186 |
+
getTemplate: function() { return window.templates.postsInsertion; },
|
37187 |
behaviors: {
|
37188 |
DraggableBehavior: {
|
37189 |
cloneOriginal: true,
|
37213 |
|
37214 |
/***/ },
|
37215 |
|
37216 |
+
/***/ 606:
|
37217 |
/***/ function(module, exports, __webpack_require__) {
|
37218 |
|
37219 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
37220 |
* Social icons content block
|
37221 |
*/
|
37222 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
37223 |
+
__webpack_require__(574),
|
37224 |
+
__webpack_require__(595),
|
37225 |
+
__webpack_require__(535),
|
37226 |
+
__webpack_require__(562),
|
37227 |
+
__webpack_require__(564),
|
37228 |
+
__webpack_require__(278),
|
37229 |
+
__webpack_require__(273)
|
37230 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = function(App, BaseBlock, Backbone, Marionette, SuperModel, _, jQuery) {
|
37231 |
|
37232 |
'use strict';
|
37233 |
|
37234 |
var Module = {},
|
37235 |
+
base = BaseBlock,
|
37236 |
+
SocialBlockSettingsIconSelectorView,
|
37237 |
+
SocialBlockSettingsIconView,
|
37238 |
+
SocialBlockSettingsIconCollectionView,
|
37239 |
+
SocialBlockSettingsStylesView;
|
37240 |
|
37241 |
Module.SocialIconModel = SuperModel.extend({
|
37242 |
defaults: function() {
|
37303 |
|
37304 |
var SocialIconView = Marionette.View.extend({
|
37305 |
tagName: 'span',
|
37306 |
+
getTemplate: function() { return window.templates.socialIconBlock; },
|
37307 |
modelEvents: {
|
37308 |
change: 'render'
|
37309 |
},
|
37323 |
|
37324 |
Module.SocialBlockView = base.BlockView.extend({
|
37325 |
className: 'mailpoet_block mailpoet_social_block mailpoet_droppable_block',
|
37326 |
+
getTemplate: function() { return window.templates.socialBlock; },
|
37327 |
regions: _.extend({}, base.BlockView.prototype.regions, {
|
37328 |
icons: '.mailpoet_social'
|
37329 |
}),
|
37349 |
|
37350 |
// Sidebar view container
|
37351 |
Module.SocialBlockSettingsView = base.BlockSettingsView.extend({
|
37352 |
+
getTemplate: function() { return window.templates.socialBlockSettings; },
|
37353 |
regions: {
|
37354 |
iconRegion: '#mailpoet_social_icons_selection',
|
37355 |
stylesRegion: '#mailpoet_social_icons_styles'
|
37373 |
|
37374 |
// Single icon settings view, used by the selector view
|
37375 |
SocialBlockSettingsIconView = Marionette.View.extend({
|
37376 |
+
getTemplate: function() { return window.templates.socialSettingsIcon; },
|
37377 |
events: function() {
|
37378 |
return {
|
37379 |
'click .mailpoet_delete_block': 'deleteIcon',
|
37430 |
|
37431 |
// Select icons section container view
|
37432 |
SocialBlockSettingsIconSelectorView = Marionette.View.extend({
|
37433 |
+
getTemplate: function() { return window.templates.socialSettingsIconSelector; },
|
37434 |
regions: {
|
37435 |
icons: '#mailpoet_social_icon_selector_contents'
|
37436 |
},
|
37453 |
});
|
37454 |
|
37455 |
SocialBlockSettingsStylesView = Marionette.View.extend({
|
37456 |
+
getTemplate: function() { return window.templates.socialSettingsStyles; },
|
37457 |
modelEvents: {
|
37458 |
change: 'render'
|
37459 |
},
|
37481 |
});
|
37482 |
|
37483 |
Module.SocialWidgetView = base.WidgetView.extend({
|
37484 |
+
getTemplate: function() { return window.templates.socialInsertion; },
|
37485 |
behaviors: {
|
37486 |
DraggableBehavior: {
|
37487 |
cloneOriginal: true,
|
assets/js/{public.17607eba.js → public.02e5f1af.js}
RENAMED
@@ -76,25 +76,25 @@
|
|
76 |
], __WEBPACK_AMD_DEFINE_RESULT__ = function(
|
77 |
mp
|
78 |
) {
|
79 |
-
|
80 |
|
81 |
-
|
82 |
|
83 |
-
|
84 |
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
|
97 |
-
|
98 |
|
99 |
|
100 |
/***/ },
|
@@ -119,59 +119,59 @@
|
|
119 |
var MailPoet = mp;
|
120 |
|
121 |
MailPoet.Ajax = {
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
// set options
|
161 |
-
|
162 |
|
163 |
// set request params
|
164 |
-
|
165 |
|
166 |
// remove null values from the data object
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
|
173 |
// ajax request
|
174 |
-
|
175 |
this.options.url,
|
176 |
params,
|
177 |
null,
|
@@ -181,10 +181,10 @@
|
|
181 |
}, _.partial(requestFailed, MailPoet.I18n.t('ajaxFailedErrorMessage')));
|
182 |
|
183 |
// clear options
|
184 |
-
|
185 |
|
186 |
-
|
187 |
-
|
188 |
};
|
189 |
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
190 |
|
@@ -1937,13 +1937,13 @@
|
|
1937 |
form.parsley().on('form:submit', function(parsley) {
|
1938 |
var form_data = form.serializeObject() || {};
|
1939 |
// check if we're on the same domain
|
1940 |
-
if(isSameDomain(MailPoetForm.ajax_url) === false) {
|
1941 |
// non ajax post request
|
1942 |
return true;
|
1943 |
} else {
|
1944 |
// ajax request
|
1945 |
MailPoet.Ajax.post({
|
1946 |
-
url: MailPoetForm.ajax_url,
|
1947 |
token: form_data.token,
|
1948 |
api_version: form_data.api_version,
|
1949 |
endpoint: 'subscribers',
|
76 |
], __WEBPACK_AMD_DEFINE_RESULT__ = function(
|
77 |
mp
|
78 |
) {
|
79 |
+
'use strict';
|
80 |
|
81 |
+
var MailPoet = mp;
|
82 |
|
83 |
+
var translations = {};
|
84 |
|
85 |
+
MailPoet.I18n = {
|
86 |
+
add: function(key, value) {
|
87 |
+
translations[key] = value;
|
88 |
+
},
|
89 |
+
t: function(key) {
|
90 |
+
return translations[key] || 'TRANSLATION "%$1s" NOT FOUND'.replace('%$1s', key);
|
91 |
+
},
|
92 |
+
all: function() {
|
93 |
+
return translations;
|
94 |
+
}
|
95 |
+
};
|
96 |
|
97 |
+
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
98 |
|
99 |
|
100 |
/***/ },
|
119 |
var MailPoet = mp;
|
120 |
|
121 |
MailPoet.Ajax = {
|
122 |
+
version: 0.5,
|
123 |
+
options: {},
|
124 |
+
defaults: {
|
125 |
+
url: null,
|
126 |
+
api_version: null,
|
127 |
+
endpoint: null,
|
128 |
+
action: null,
|
129 |
+
token: null,
|
130 |
+
data: {}
|
131 |
+
},
|
132 |
+
post: function(options) {
|
133 |
+
return this.request('post', options);
|
134 |
+
},
|
135 |
+
init: function(options) {
|
136 |
+
// merge options
|
137 |
+
this.options = jQuery.extend({}, this.defaults, options);
|
138 |
|
139 |
+
// set default url
|
140 |
+
if(this.options.url === null) {
|
141 |
+
this.options.url = window.ajaxurl;
|
142 |
+
}
|
143 |
|
144 |
+
// set default token
|
145 |
+
if(this.options.token === null) {
|
146 |
+
this.options.token = window.mailpoet_token;
|
147 |
+
}
|
148 |
+
},
|
149 |
+
getParams: function() {
|
150 |
+
return {
|
151 |
+
action: 'mailpoet',
|
152 |
+
api_version: this.options.api_version,
|
153 |
+
token: this.options.token,
|
154 |
+
endpoint: this.options.endpoint,
|
155 |
+
method: this.options.action,
|
156 |
+
data: this.options.data || {}
|
157 |
+
};
|
158 |
+
},
|
159 |
+
request: function(method, options) {
|
160 |
// set options
|
161 |
+
this.init(options);
|
162 |
|
163 |
// set request params
|
164 |
+
var params = this.getParams();
|
165 |
|
166 |
// remove null values from the data object
|
167 |
+
if (_.isObject(params.data)) {
|
168 |
+
params.data = _.pick(params.data, function(value) {
|
169 |
+
return (value !== null);
|
170 |
+
});
|
171 |
+
}
|
172 |
|
173 |
// ajax request
|
174 |
+
var deferred = jQuery.post(
|
175 |
this.options.url,
|
176 |
params,
|
177 |
null,
|
181 |
}, _.partial(requestFailed, MailPoet.I18n.t('ajaxFailedErrorMessage')));
|
182 |
|
183 |
// clear options
|
184 |
+
this.options = {};
|
185 |
|
186 |
+
return deferred;
|
187 |
+
}
|
188 |
};
|
189 |
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
190 |
|
1937 |
form.parsley().on('form:submit', function(parsley) {
|
1938 |
var form_data = form.serializeObject() || {};
|
1939 |
// check if we're on the same domain
|
1940 |
+
if(isSameDomain(window.MailPoetForm.ajax_url) === false) {
|
1941 |
// non ajax post request
|
1942 |
return true;
|
1943 |
} else {
|
1944 |
// ajax request
|
1945 |
MailPoet.Ajax.post({
|
1946 |
+
url: window.MailPoetForm.ajax_url,
|
1947 |
token: form_data.token,
|
1948 |
api_version: form_data.api_version,
|
1949 |
endpoint: 'subscribers',
|
assets/js/{vendor.f8675e02.js → vendor.f4549608.js}
RENAMED
@@ -76,7 +76,7 @@
|
|
76 |
/******/ script.charset = 'utf-8';
|
77 |
/******/ script.async = true;
|
78 |
|
79 |
-
/******/ script.src = __webpack_require__.p + "" + ({"0":"admin","1":"admin_vendor","2":"form_editor","3":"mailpoet","4":"newsletter_editor"}[chunkId]||chunkId) + "." + {"0":"
|
80 |
/******/ head.appendChild(script);
|
81 |
/******/ }
|
82 |
/******/ };
|
@@ -112,31 +112,31 @@
|
|
112 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(543)], __WEBPACK_AMD_DEFINE_RESULT__ = function(Handlebars) {
|
113 |
// Handlebars helpers
|
114 |
Handlebars.registerHelper('concat', function() {
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
});
|
122 |
|
123 |
Handlebars.registerHelper('number_format', function(value, block) {
|
124 |
-
|
125 |
});
|
126 |
Handlebars.registerHelper('date_format', function(timestamp, block) {
|
127 |
if(window.moment) {
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
|
132 |
// set date format
|
133 |
-
|
134 |
// check if we passed a timestamp
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
} else {
|
141 |
return timestamp;
|
142 |
}
|
@@ -148,81 +148,81 @@
|
|
148 |
});
|
149 |
|
150 |
Handlebars.registerHelper('ifCond', function (v1, operator, v2, options) {
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
});
|
179 |
|
180 |
Handlebars.registerHelper('nl2br', function(value, block) {
|
181 |
-
|
182 |
});
|
183 |
|
184 |
Handlebars.registerHelper('json_encode', function(value, block) {
|
185 |
-
|
186 |
});
|
187 |
|
188 |
Handlebars.registerHelper('json_decode', function(value, block) {
|
189 |
-
|
190 |
});
|
191 |
Handlebars.registerHelper('url', function(value, block) {
|
192 |
-
|
193 |
|
194 |
-
|
195 |
});
|
196 |
Handlebars.registerHelper('emailFromMailto', function(value) {
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
});
|
204 |
Handlebars.registerHelper('lookup', function(obj, field, options) {
|
205 |
-
|
206 |
});
|
207 |
|
208 |
|
209 |
Handlebars.registerHelper('rsa_key', function(value, block) {
|
210 |
// extract all lines into an array
|
211 |
-
|
212 |
|
213 |
-
|
214 |
|
215 |
// remove header & footer
|
216 |
-
|
217 |
-
|
218 |
|
219 |
// return concatenated lines
|
220 |
-
|
221 |
});
|
222 |
|
223 |
Handlebars.registerHelper('trim', function(value, block) {
|
224 |
-
|
225 |
-
|
226 |
});
|
227 |
|
228 |
/**
|
@@ -236,20 +236,20 @@
|
|
236 |
* @return {String} The truncated string.
|
237 |
*/
|
238 |
Handlebars.registerHelper('ellipsis', function (str, limit, append) {
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
});
|
250 |
|
251 |
Handlebars.registerHelper('getNumber', function (string) {
|
252 |
-
|
253 |
});
|
254 |
|
255 |
Handlebars.registerHelper('fontWithFallback', function(font) {
|
76 |
/******/ script.charset = 'utf-8';
|
77 |
/******/ script.async = true;
|
78 |
|
79 |
+
/******/ script.src = __webpack_require__.p + "" + ({"0":"admin","1":"admin_vendor","2":"form_editor","3":"mailpoet","4":"newsletter_editor"}[chunkId]||chunkId) + "." + {"0":"d091b681","1":"ee9853ec","2":"c0e36e82","3":"81b583ba","4":"cc3c87be"}[chunkId] + ".chunk.js";
|
80 |
/******/ head.appendChild(script);
|
81 |
/******/ }
|
82 |
/******/ };
|
112 |
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(543)], __WEBPACK_AMD_DEFINE_RESULT__ = function(Handlebars) {
|
113 |
// Handlebars helpers
|
114 |
Handlebars.registerHelper('concat', function() {
|
115 |
+
var size = (arguments.length - 1),
|
116 |
+
output = '';
|
117 |
+
for(var i = 0; i < size; i++) {
|
118 |
+
output += arguments[i];
|
119 |
+
}
|
120 |
+
return output;
|
121 |
});
|
122 |
|
123 |
Handlebars.registerHelper('number_format', function(value, block) {
|
124 |
+
return Number(value).toLocaleString();
|
125 |
});
|
126 |
Handlebars.registerHelper('date_format', function(timestamp, block) {
|
127 |
if(window.moment) {
|
128 |
+
if(timestamp === undefined || isNaN(timestamp) || timestamp <= 0) {
|
129 |
+
return;
|
130 |
+
}
|
131 |
|
132 |
// set date format
|
133 |
+
var f = block.hash.format || 'MMM Do, YYYY';
|
134 |
// check if we passed a timestamp
|
135 |
+
if(parseInt(timestamp, 10) == timestamp) {
|
136 |
+
return window.moment.unix(timestamp).format(f);
|
137 |
+
} else {
|
138 |
+
return window.moment.utc(timestamp).format(f);
|
139 |
+
}
|
140 |
} else {
|
141 |
return timestamp;
|
142 |
}
|
148 |
});
|
149 |
|
150 |
Handlebars.registerHelper('ifCond', function (v1, operator, v2, options) {
|
151 |
+
switch (operator) {
|
152 |
+
case '==':
|
153 |
+
return (v1 == v2) ? options.fn(this) : options.inverse(this);
|
154 |
+
case '===':
|
155 |
+
return (v1 === v2) ? options.fn(this) : options.inverse(this);
|
156 |
+
case '!=':
|
157 |
+
return (v1 != v2) ? options.fn(this) : options.inverse(this);
|
158 |
+
case '!==':
|
159 |
+
return (v1 !== v2) ? options.fn(this) : options.inverse(this);
|
160 |
+
case '<':
|
161 |
+
return (v1 < v2) ? options.fn(this) : options.inverse(this);
|
162 |
+
case '<=':
|
163 |
+
return (v1 <= v2) ? options.fn(this) : options.inverse(this);
|
164 |
+
case '>':
|
165 |
+
return (v1 > v2) ? options.fn(this) : options.inverse(this);
|
166 |
+
case '>=':
|
167 |
+
return (v1 >= v2) ? options.fn(this) : options.inverse(this);
|
168 |
+
case '&&':
|
169 |
+
return (v1 && v2) ? options.fn(this) : options.inverse(this);
|
170 |
+
case '||':
|
171 |
+
return (v1 || v2) ? options.fn(this) : options.inverse(this);
|
172 |
+
case 'in':
|
173 |
+
var values = v2.split(',');
|
174 |
+
return (v2.indexOf(v1) !== -1) ? options.fn(this) : options.inverse(this);
|
175 |
+
default:
|
176 |
+
return options.inverse(this);
|
177 |
+
}
|
178 |
});
|
179 |
|
180 |
Handlebars.registerHelper('nl2br', function(value, block) {
|
181 |
+
return value.gsub('\n', '<br />');
|
182 |
});
|
183 |
|
184 |
Handlebars.registerHelper('json_encode', function(value, block) {
|
185 |
+
return JSON.stringify(value);
|
186 |
});
|
187 |
|
188 |
Handlebars.registerHelper('json_decode', function(value, block) {
|
189 |
+
return JSON.parse(value);
|
190 |
});
|
191 |
Handlebars.registerHelper('url', function(value, block) {
|
192 |
+
var url = window.location.protocol + '//' + window.location.host + window.location.pathname;
|
193 |
|
194 |
+
return url + value;
|
195 |
});
|
196 |
Handlebars.registerHelper('emailFromMailto', function(value) {
|
197 |
+
var mailtoMatchingRegex = /^mailto\:/i;
|
198 |
+
if (typeof value === 'string' && value.match(mailtoMatchingRegex)) {
|
199 |
+
return value.replace(mailtoMatchingRegex, '');
|
200 |
+
} else {
|
201 |
+
return value;
|
202 |
+
}
|
203 |
});
|
204 |
Handlebars.registerHelper('lookup', function(obj, field, options) {
|
205 |
+
return obj && obj[field];
|
206 |
});
|
207 |
|
208 |
|
209 |
Handlebars.registerHelper('rsa_key', function(value, block) {
|
210 |
// extract all lines into an array
|
211 |
+
if(value === undefined) return '';
|
212 |
|
213 |
+
var lines = value.trim().split('\n');
|
214 |
|
215 |
// remove header & footer
|
216 |
+
lines.shift();
|
217 |
+
lines.pop();
|
218 |
|
219 |
// return concatenated lines
|
220 |
+
return lines.join('');
|
221 |
});
|
222 |
|
223 |
Handlebars.registerHelper('trim', function(value, block) {
|
224 |
+
if(value === null || value === undefined) return '';
|
225 |
+
return value.trim();
|
226 |
});
|
227 |
|
228 |
/**
|
236 |
* @return {String} The truncated string.
|
237 |
*/
|
238 |
Handlebars.registerHelper('ellipsis', function (str, limit, append) {
|
239 |
+
var strAppend = append;
|
240 |
+
if (strAppend === undefined) {
|
241 |
+
strAppend = '';
|
242 |
+
}
|
243 |
+
var sanitized = str.replace(/(<([^>]+)>)/g, '');
|
244 |
+
if (sanitized.length > limit) {
|
245 |
+
return sanitized.substr(0, limit - strAppend.length) + strAppend;
|
246 |
+
} else {
|
247 |
+
return sanitized;
|
248 |
+
}
|
249 |
});
|
250 |
|
251 |
Handlebars.registerHelper('getNumber', function (string) {
|
252 |
+
return parseInt(string, 10);
|
253 |
});
|
254 |
|
255 |
Handlebars.registerHelper('fontWithFallback', function(font) {
|
lang/mailpoet-da_DK.mo
CHANGED
Binary file
|
lang/mailpoet-de_DE.mo
CHANGED
Binary file
|
lang/mailpoet-es_ES.mo
CHANGED
Binary file
|
lang/mailpoet-fr_CA.mo
CHANGED
Binary file
|
lang/mailpoet-fr_FR.mo
CHANGED
Binary file
|
lang/mailpoet-nl_NL.mo
CHANGED
Binary file
|
lang/mailpoet-pt_BR.mo
CHANGED
Binary file
|
lang/mailpoet-ru_RU.mo
CHANGED
Binary file
|
lang/mailpoet.pot
CHANGED
@@ -4,7 +4,7 @@ msgid ""
|
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: \n"
|
6 |
"Report-Msgid-Bugs-To: http://support.mailpoet.com/\n"
|
7 |
-
"POT-Creation-Date: 2017-09-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -246,35 +246,35 @@ msgstr ""
|
|
246 |
msgid "MailPoet Newsletter"
|
247 |
msgstr ""
|
248 |
|
249 |
-
#: lib/Config/Initializer.php:
|
250 |
msgid ""
|
251 |
"Unable to connect to the database (the database is unable to open a file or "
|
252 |
"folder), the connection is likely not configured correctly. Please read our "
|
253 |
"[link] Knowledge Base article [/link] for steps how to resolve it."
|
254 |
msgstr ""
|
255 |
|
256 |
-
#: lib/Config/Initializer.php:
|
257 |
msgid "You do not have permission to activate/deactivate MailPoet plugin."
|
258 |
msgstr ""
|
259 |
|
260 |
#: lib/Config/MP2Migrator.php:151
|
261 |
-
msgid "
|
262 |
msgstr ""
|
263 |
|
264 |
-
#: lib/Config/MP2Migrator.php:168
|
265 |
-
msgid "
|
266 |
msgstr ""
|
267 |
|
268 |
#: lib/Config/MP2Migrator.php:171
|
269 |
-
msgid "
|
270 |
msgstr ""
|
271 |
|
272 |
#: lib/Config/MP2Migrator.php:196
|
273 |
msgid "MailPoet data erased"
|
274 |
msgstr ""
|
275 |
|
276 |
-
#: lib/Config/MP2Migrator.php:226
|
277 |
-
msgid "
|
278 |
msgstr ""
|
279 |
|
280 |
#: lib/Config/MP2Migrator.php:258
|
@@ -423,7 +423,7 @@ msgstr ""
|
|
423 |
msgid "MailPoet"
|
424 |
msgstr ""
|
425 |
|
426 |
-
#: lib/Config/PluginActivatedHook.php:
|
427 |
msgid ""
|
428 |
"We noticed that you're using an unsupported environment. While MailPoet "
|
429 |
"might work within a MultiSite environment, we don’t support it."
|
@@ -514,7 +514,7 @@ msgid "News Day"
|
|
514 |
msgstr ""
|
515 |
|
516 |
#: lib/Config/PopulatorData/Templates/NewsDay.php:18
|
517 |
-
msgid "Media ready template.
|
518 |
msgstr ""
|
519 |
|
520 |
#: lib/Config/PopulatorData/Templates/NewsletterBlank121Column.php:17
|
@@ -629,7 +629,7 @@ msgstr ""
|
|
629 |
#: lib/Config/PopulatorData/Templates/NewsletterBlank12Column.php:120
|
630 |
msgid ""
|
631 |
"<h1 style=\"text-align: center;\"><strong>Let's Get Started!</strong></h1>\n"
|
632 |
-
"<p
|
633 |
"<p>It's time to design your newsletter! In the right sidebar, you'll find 4 "
|
634 |
"menu items that will help you customize your newsletter:</p>\n"
|
635 |
"<ol>\n"
|
@@ -669,7 +669,7 @@ msgstr ""
|
|
669 |
#: lib/Config/PopulatorData/Templates/NewsletterBlank13Column.php:120
|
670 |
msgid ""
|
671 |
"<h1 style=\"text-align: center;\"><strong>Let's Get Started! </strong></h1>\n"
|
672 |
-
"<p
|
673 |
"<p>It's time to design your newsletter! In the right sidebar, you'll find "
|
674 |
"four menu items that will help you customize your newsletter:</p>\n"
|
675 |
"<ol>\n"
|
@@ -721,7 +721,7 @@ msgstr ""
|
|
721 |
#: lib/Config/PopulatorData/Templates/NewsletterBlank1Column.php:120
|
722 |
msgid ""
|
723 |
"<h1 style=\"text-align: center;\"><strong>Let's Get Started! </strong></h1>\n"
|
724 |
-
"<p
|
725 |
"<p>It's time to design your newsletter! In the right sidebar, you'll find 4 "
|
726 |
"menu items that will help you customize your newsletter:</p>\n"
|
727 |
"<ol>\n"
|
@@ -752,7 +752,7 @@ msgstr ""
|
|
752 |
msgid ""
|
753 |
"<h1 style=\"text-align: center;\"><strong>Check Out Our New Blog Posts! "
|
754 |
"</strong></h1>\n"
|
755 |
-
"<p
|
756 |
"<p>MailPoet can <span style=\"line-height: 1.6em; background-color: "
|
757 |
"inherit;\"><em>automatically</em> </span><span style=\"line-height: 1.6em; "
|
758 |
"background-color: inherit;\">send your new blog posts to your "
|
@@ -832,7 +832,7 @@ msgstr ""
|
|
832 |
#: lib/Config/PopulatorData/Templates/SimpleText.php:135
|
833 |
msgid ""
|
834 |
"<p>Thanks for reading. See you soon!</p>\n"
|
835 |
-
"<p
|
836 |
"<p><strong><em>The MailPoet Team</em></strong></p>"
|
837 |
msgstr ""
|
838 |
|
@@ -863,9 +863,9 @@ msgstr ""
|
|
863 |
#: lib/Config/PopulatorData/Templates/WelcomeBlank12Column.php:120
|
864 |
msgid ""
|
865 |
"<h1 style=\"text-align: center;\"><strong>Hi, new subscriber!</strong></h1>\n"
|
866 |
-
"<p
|
867 |
"<p>[subscriber:firstname | default:Subscriber],</p>\n"
|
868 |
-
"<p
|
869 |
"<p>You recently joined our list and we'd like to give you a warm "
|
870 |
"welcome!</p>"
|
871 |
msgstr ""
|
@@ -914,12 +914,12 @@ msgstr ""
|
|
914 |
#: lib/Config/PopulatorData/Templates/WelcomeBlank1Column.php:120
|
915 |
msgid ""
|
916 |
"<h1 style=\"text-align: center;\"><strong>Hi, new subscriber!</strong></h1>\n"
|
917 |
-
"<p
|
918 |
"<p>[subscriber:firstname | default:Subscriber],</p>\n"
|
919 |
-
"<p
|
920 |
"<p>You recently joined our list and we'd like to give you a warm "
|
921 |
"welcome!</p>\n"
|
922 |
-
"<p
|
923 |
"<p>Want to get to know us better? Check out some of our most popular "
|
924 |
"articles: </p>\n"
|
925 |
"<ol>\n"
|
@@ -940,7 +940,7 @@ msgid "World Cup"
|
|
940 |
msgstr ""
|
941 |
|
942 |
#: lib/Config/PopulatorData/Templates/WorldCup.php:18
|
943 |
-
msgid "Always a winner.
|
944 |
msgstr ""
|
945 |
|
946 |
#: lib/Config/PopulatorData/Templates/YogaStudio.php:17
|
@@ -951,7 +951,7 @@ msgstr ""
|
|
951 |
msgid "Salute the sun and your subscribers."
|
952 |
msgstr ""
|
953 |
|
954 |
-
#: lib/Config/Renderer.php:
|
955 |
msgid ""
|
956 |
"Failed to render template \"%s\". Please ensure the template cache folder "
|
957 |
"\"%s\" exists and has write permissions. Terminated with error: \"%s\""
|
@@ -1031,11 +1031,11 @@ msgstr ""
|
|
1031 |
msgid "An error has happened while performing a request, please try again later."
|
1032 |
msgstr ""
|
1033 |
|
1034 |
-
#: lib/Cron/CronHelper.php:
|
1035 |
msgid "Site URL is unreachable."
|
1036 |
msgstr ""
|
1037 |
|
1038 |
-
#: lib/Cron/CronHelper.php:
|
1039 |
msgid "Maximum execution time has been reached."
|
1040 |
msgstr ""
|
1041 |
|
@@ -1669,19 +1669,19 @@ msgstr ""
|
|
1669 |
msgid "Accidentally unsubscribed?"
|
1670 |
msgstr ""
|
1671 |
|
1672 |
-
#: lib/Twig/Functions.php:
|
1673 |
msgid "every minute"
|
1674 |
msgstr ""
|
1675 |
|
1676 |
-
#: lib/Twig/Functions.php:
|
1677 |
msgid "every %1$d minutes"
|
1678 |
msgstr ""
|
1679 |
|
1680 |
-
#: lib/Twig/Functions.php:
|
1681 |
msgid "every hour"
|
1682 |
msgstr ""
|
1683 |
|
1684 |
-
#: lib/Twig/Functions.php:
|
1685 |
msgid "every %1$d hours"
|
1686 |
msgstr ""
|
1687 |
|
@@ -2243,7 +2243,7 @@ msgid "Sorry, there was an error, please try again later."
|
|
2243 |
msgstr ""
|
2244 |
|
2245 |
#: views/index.html:5
|
2246 |
-
msgid "
|
2247 |
msgstr ""
|
2248 |
|
2249 |
#: views/invalidkey.html:6
|
@@ -2349,10 +2349,18 @@ msgstr ""
|
|
2349 |
msgid "Log..."
|
2350 |
msgstr ""
|
2351 |
|
|
|
|
|
|
|
|
|
2352 |
#: views/mp2migration.html:68
|
2353 |
msgid "Importing…"
|
2354 |
msgstr ""
|
2355 |
|
|
|
|
|
|
|
|
|
2356 |
#: views/newsletter/editor.html:233 views/newsletters.html:56
|
2357 |
msgid "Select type"
|
2358 |
msgstr ""
|
@@ -4349,7 +4357,7 @@ msgid ""
|
|
4349 |
msgstr ""
|
4350 |
|
4351 |
#: views/settings/mta.html:125
|
4352 |
-
msgid "You
|
4353 |
msgstr ""
|
4354 |
|
4355 |
#: views/settings/mta.html:126
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: \n"
|
6 |
"Report-Msgid-Bugs-To: http://support.mailpoet.com/\n"
|
7 |
+
"POT-Creation-Date: 2017-09-12 12:27:59+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
246 |
msgid "MailPoet Newsletter"
|
247 |
msgstr ""
|
248 |
|
249 |
+
#: lib/Config/Initializer.php:43
|
250 |
msgid ""
|
251 |
"Unable to connect to the database (the database is unable to open a file or "
|
252 |
"folder), the connection is likely not configured correctly. Please read our "
|
253 |
"[link] Knowledge Base article [/link] for steps how to resolve it."
|
254 |
msgstr ""
|
255 |
|
256 |
+
#: lib/Config/Initializer.php:156
|
257 |
msgid "You do not have permission to activate/deactivate MailPoet plugin."
|
258 |
msgstr ""
|
259 |
|
260 |
#: lib/Config/MP2Migrator.php:151
|
261 |
+
msgid "Start import"
|
262 |
msgstr ""
|
263 |
|
264 |
+
#: lib/Config/MP2Migrator.php:168
|
265 |
+
msgid "Import complete"
|
266 |
msgstr ""
|
267 |
|
268 |
#: lib/Config/MP2Migrator.php:171
|
269 |
+
msgid "End import"
|
270 |
msgstr ""
|
271 |
|
272 |
#: lib/Config/MP2Migrator.php:196
|
273 |
msgid "MailPoet data erased"
|
274 |
msgstr ""
|
275 |
|
276 |
+
#: lib/Config/MP2Migrator.php:226
|
277 |
+
msgid "Import stopped by user"
|
278 |
msgstr ""
|
279 |
|
280 |
#: lib/Config/MP2Migrator.php:258
|
423 |
msgid "MailPoet"
|
424 |
msgstr ""
|
425 |
|
426 |
+
#: lib/Config/PluginActivatedHook.php:14
|
427 |
msgid ""
|
428 |
"We noticed that you're using an unsupported environment. While MailPoet "
|
429 |
"might work within a MultiSite environment, we don’t support it."
|
514 |
msgstr ""
|
515 |
|
516 |
#: lib/Config/PopulatorData/Templates/NewsDay.php:18
|
517 |
+
msgid "Media ready template."
|
518 |
msgstr ""
|
519 |
|
520 |
#: lib/Config/PopulatorData/Templates/NewsletterBlank121Column.php:17
|
629 |
#: lib/Config/PopulatorData/Templates/NewsletterBlank12Column.php:120
|
630 |
msgid ""
|
631 |
"<h1 style=\"text-align: center;\"><strong>Let's Get Started!</strong></h1>\n"
|
632 |
+
"<p> </p>\n"
|
633 |
"<p>It's time to design your newsletter! In the right sidebar, you'll find 4 "
|
634 |
"menu items that will help you customize your newsletter:</p>\n"
|
635 |
"<ol>\n"
|
669 |
#: lib/Config/PopulatorData/Templates/NewsletterBlank13Column.php:120
|
670 |
msgid ""
|
671 |
"<h1 style=\"text-align: center;\"><strong>Let's Get Started! </strong></h1>\n"
|
672 |
+
"<p> </p>\n"
|
673 |
"<p>It's time to design your newsletter! In the right sidebar, you'll find "
|
674 |
"four menu items that will help you customize your newsletter:</p>\n"
|
675 |
"<ol>\n"
|
721 |
#: lib/Config/PopulatorData/Templates/NewsletterBlank1Column.php:120
|
722 |
msgid ""
|
723 |
"<h1 style=\"text-align: center;\"><strong>Let's Get Started! </strong></h1>\n"
|
724 |
+
"<p> </p>\n"
|
725 |
"<p>It's time to design your newsletter! In the right sidebar, you'll find 4 "
|
726 |
"menu items that will help you customize your newsletter:</p>\n"
|
727 |
"<ol>\n"
|
752 |
msgid ""
|
753 |
"<h1 style=\"text-align: center;\"><strong>Check Out Our New Blog Posts! "
|
754 |
"</strong></h1>\n"
|
755 |
+
"<p> </p>\n"
|
756 |
"<p>MailPoet can <span style=\"line-height: 1.6em; background-color: "
|
757 |
"inherit;\"><em>automatically</em> </span><span style=\"line-height: 1.6em; "
|
758 |
"background-color: inherit;\">send your new blog posts to your "
|
832 |
#: lib/Config/PopulatorData/Templates/SimpleText.php:135
|
833 |
msgid ""
|
834 |
"<p>Thanks for reading. See you soon!</p>\n"
|
835 |
+
"<p> </p>\n"
|
836 |
"<p><strong><em>The MailPoet Team</em></strong></p>"
|
837 |
msgstr ""
|
838 |
|
863 |
#: lib/Config/PopulatorData/Templates/WelcomeBlank12Column.php:120
|
864 |
msgid ""
|
865 |
"<h1 style=\"text-align: center;\"><strong>Hi, new subscriber!</strong></h1>\n"
|
866 |
+
"<p> </p>\n"
|
867 |
"<p>[subscriber:firstname | default:Subscriber],</p>\n"
|
868 |
+
"<p> </p>\n"
|
869 |
"<p>You recently joined our list and we'd like to give you a warm "
|
870 |
"welcome!</p>"
|
871 |
msgstr ""
|
914 |
#: lib/Config/PopulatorData/Templates/WelcomeBlank1Column.php:120
|
915 |
msgid ""
|
916 |
"<h1 style=\"text-align: center;\"><strong>Hi, new subscriber!</strong></h1>\n"
|
917 |
+
"<p> </p>\n"
|
918 |
"<p>[subscriber:firstname | default:Subscriber],</p>\n"
|
919 |
+
"<p> </p>\n"
|
920 |
"<p>You recently joined our list and we'd like to give you a warm "
|
921 |
"welcome!</p>\n"
|
922 |
+
"<p> </p>\n"
|
923 |
"<p>Want to get to know us better? Check out some of our most popular "
|
924 |
"articles: </p>\n"
|
925 |
"<ol>\n"
|
940 |
msgstr ""
|
941 |
|
942 |
#: lib/Config/PopulatorData/Templates/WorldCup.php:18
|
943 |
+
msgid "Always a winner."
|
944 |
msgstr ""
|
945 |
|
946 |
#: lib/Config/PopulatorData/Templates/YogaStudio.php:17
|
951 |
msgid "Salute the sun and your subscribers."
|
952 |
msgstr ""
|
953 |
|
954 |
+
#: lib/Config/Renderer.php:106
|
955 |
msgid ""
|
956 |
"Failed to render template \"%s\". Please ensure the template cache folder "
|
957 |
"\"%s\" exists and has write permissions. Terminated with error: \"%s\""
|
1031 |
msgid "An error has happened while performing a request, please try again later."
|
1032 |
msgstr ""
|
1033 |
|
1034 |
+
#: lib/Cron/CronHelper.php:108
|
1035 |
msgid "Site URL is unreachable."
|
1036 |
msgstr ""
|
1037 |
|
1038 |
+
#: lib/Cron/CronHelper.php:114
|
1039 |
msgid "Maximum execution time has been reached."
|
1040 |
msgstr ""
|
1041 |
|
1669 |
msgid "Accidentally unsubscribed?"
|
1670 |
msgstr ""
|
1671 |
|
1672 |
+
#: lib/Twig/Functions.php:106 views/settings/mta.html:1081
|
1673 |
msgid "every minute"
|
1674 |
msgstr ""
|
1675 |
|
1676 |
+
#: lib/Twig/Functions.php:107 views/settings/mta.html:1082
|
1677 |
msgid "every %1$d minutes"
|
1678 |
msgstr ""
|
1679 |
|
1680 |
+
#: lib/Twig/Functions.php:108 views/settings/mta.html:1083
|
1681 |
msgid "every hour"
|
1682 |
msgstr ""
|
1683 |
|
1684 |
+
#: lib/Twig/Functions.php:109 views/settings/mta.html:1084
|
1685 |
msgid "every %1$d hours"
|
1686 |
msgstr ""
|
1687 |
|
2243 |
msgstr ""
|
2244 |
|
2245 |
#: views/index.html:5
|
2246 |
+
msgid "%sSet up%s MailPoet and start sending."
|
2247 |
msgstr ""
|
2248 |
|
2249 |
#: views/invalidkey.html:6
|
2349 |
msgid "Log..."
|
2350 |
msgstr ""
|
2351 |
|
2352 |
+
#: views/mp2migration.html:67
|
2353 |
+
msgid "IMPORT COMPLETE"
|
2354 |
+
msgstr ""
|
2355 |
+
|
2356 |
#: views/mp2migration.html:68
|
2357 |
msgid "Importing…"
|
2358 |
msgstr ""
|
2359 |
|
2360 |
+
#: views/mp2migration.html:69
|
2361 |
+
msgid "IMPORT STOPPED BY USER"
|
2362 |
+
msgstr ""
|
2363 |
+
|
2364 |
#: views/newsletter/editor.html:233 views/newsletters.html:56
|
2365 |
msgid "Select type"
|
2366 |
msgstr ""
|
4357 |
msgstr ""
|
4358 |
|
4359 |
#: views/settings/mta.html:125
|
4360 |
+
msgid "You'll probably end up in spam."
|
4361 |
msgstr ""
|
4362 |
|
4363 |
#: views/settings/mta.html:126
|
lib/Config/Activator.php
CHANGED
@@ -2,6 +2,8 @@
|
|
2 |
|
3 |
namespace MailPoet\Config;
|
4 |
|
|
|
|
|
5 |
if(!defined('ABSPATH')) exit;
|
6 |
|
7 |
class Activator {
|
@@ -11,8 +13,7 @@ class Activator {
|
|
11 |
|
12 |
$populator = new Populator();
|
13 |
$populator->up();
|
14 |
-
|
15 |
-
update_option('mailpoet_db_version', Env::$version);
|
16 |
}
|
17 |
|
18 |
function deactivate() {
|
2 |
|
3 |
namespace MailPoet\Config;
|
4 |
|
5 |
+
use MailPoet\Models\Setting;
|
6 |
+
|
7 |
if(!defined('ABSPATH')) exit;
|
8 |
|
9 |
class Activator {
|
13 |
|
14 |
$populator = new Populator();
|
15 |
$populator->up();
|
16 |
+
Setting::setValue('db_version', Env::$version);
|
|
|
17 |
}
|
18 |
|
19 |
function deactivate() {
|
lib/Config/Initializer.php
CHANGED
@@ -4,6 +4,7 @@ namespace MailPoet\Config;
|
|
4 |
|
5 |
use MailPoet\API;
|
6 |
use MailPoet\Cron\CronTrigger;
|
|
|
7 |
use MailPoet\Router;
|
8 |
use MailPoet\Util\ConflictResolver;
|
9 |
use MailPoet\Util\Helpers;
|
@@ -61,12 +62,17 @@ class Initializer {
|
|
61 |
|
62 |
add_action('init', array(
|
63 |
$this,
|
64 |
-
'
|
65 |
), 0);
|
66 |
|
|
|
|
|
|
|
|
|
|
|
67 |
add_action('wp_loaded', array(
|
68 |
$this,
|
69 |
-
'
|
70 |
));
|
71 |
|
72 |
add_action('admin_init', array(
|
@@ -90,7 +96,27 @@ class Initializer {
|
|
90 |
$database->init();
|
91 |
}
|
92 |
|
93 |
-
function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
try {
|
95 |
$this->setupAccessControl();
|
96 |
|
@@ -98,8 +124,6 @@ class Initializer {
|
|
98 |
$this->setupInstaller();
|
99 |
$this->setupUpdater();
|
100 |
|
101 |
-
$this->setupRenderer();
|
102 |
-
$this->setupWidget();
|
103 |
$this->setupLocalizer();
|
104 |
$this->setupMenu();
|
105 |
$this->setupShortcodes();
|
@@ -109,8 +133,6 @@ class Initializer {
|
|
109 |
$this->setupCronTrigger();
|
110 |
$this->setupConflictResolver();
|
111 |
|
112 |
-
$this->setupJSONAPI();
|
113 |
-
$this->setupRouter();
|
114 |
$this->setupPages();
|
115 |
|
116 |
do_action('mailpoet_initialized', MAILPOET_VERSION);
|
@@ -122,7 +144,11 @@ class Initializer {
|
|
122 |
}
|
123 |
|
124 |
function maybeDbUpdate() {
|
125 |
-
|
|
|
|
|
|
|
|
|
126 |
|
127 |
// if current db version and plugin version differ
|
128 |
if(version_compare($current_db_version, Env::$version) !== 0) {
|
@@ -158,19 +184,8 @@ class Initializer {
|
|
158 |
$updater->init();
|
159 |
}
|
160 |
|
161 |
-
function setupRenderer() {
|
162 |
-
$caching = !WP_DEBUG;
|
163 |
-
$debugging = WP_DEBUG;
|
164 |
-
$this->renderer = new Renderer($caching, $debugging);
|
165 |
-
}
|
166 |
-
|
167 |
-
function setupWidget() {
|
168 |
-
$widget = new Widget($this->renderer);
|
169 |
-
$widget->init();
|
170 |
-
}
|
171 |
-
|
172 |
function setupLocalizer() {
|
173 |
-
$localizer = new Localizer(
|
174 |
$localizer->init();
|
175 |
}
|
176 |
|
@@ -206,6 +221,17 @@ class Initializer {
|
|
206 |
$conflict_resolver->init();
|
207 |
}
|
208 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
209 |
function setupJSONAPI() {
|
210 |
$json_api = API\API::JSON($this->access_control);
|
211 |
$json_api->init();
|
@@ -222,13 +248,8 @@ class Initializer {
|
|
222 |
}
|
223 |
|
224 |
function setupHooks() {
|
225 |
-
|
226 |
-
|
227 |
-
$hooks = new Hooks();
|
228 |
-
$hooks->init();
|
229 |
-
} catch(\Exception $e) {
|
230 |
-
$this->handleFailedInitialization($e);
|
231 |
-
}
|
232 |
}
|
233 |
|
234 |
function handleFailedInitialization($exception) {
|
4 |
|
5 |
use MailPoet\API;
|
6 |
use MailPoet\Cron\CronTrigger;
|
7 |
+
use MailPoet\Models\Setting;
|
8 |
use MailPoet\Router;
|
9 |
use MailPoet\Util\ConflictResolver;
|
10 |
use MailPoet\Util\Helpers;
|
62 |
|
63 |
add_action('init', array(
|
64 |
$this,
|
65 |
+
'preInitialize'
|
66 |
), 0);
|
67 |
|
68 |
+
add_action('init', array(
|
69 |
+
$this,
|
70 |
+
'initialize'
|
71 |
+
));
|
72 |
+
|
73 |
add_action('wp_loaded', array(
|
74 |
$this,
|
75 |
+
'postInitialize'
|
76 |
));
|
77 |
|
78 |
add_action('admin_init', array(
|
96 |
$database->init();
|
97 |
}
|
98 |
|
99 |
+
function preInitialize() {
|
100 |
+
try {
|
101 |
+
$this->setupRenderer();
|
102 |
+
$this->setupWidget();
|
103 |
+
} catch(\Exception $e) {
|
104 |
+
$this->handleFailedInitialization($e);
|
105 |
+
}
|
106 |
+
}
|
107 |
+
|
108 |
+
function setupRenderer() {
|
109 |
+
$caching = !WP_DEBUG;
|
110 |
+
$debugging = WP_DEBUG;
|
111 |
+
$this->renderer = new Renderer($caching, $debugging);
|
112 |
+
}
|
113 |
+
|
114 |
+
function setupWidget() {
|
115 |
+
$widget = new Widget($this->renderer);
|
116 |
+
$widget->init();
|
117 |
+
}
|
118 |
+
|
119 |
+
function initialize() {
|
120 |
try {
|
121 |
$this->setupAccessControl();
|
122 |
|
124 |
$this->setupInstaller();
|
125 |
$this->setupUpdater();
|
126 |
|
|
|
|
|
127 |
$this->setupLocalizer();
|
128 |
$this->setupMenu();
|
129 |
$this->setupShortcodes();
|
133 |
$this->setupCronTrigger();
|
134 |
$this->setupConflictResolver();
|
135 |
|
|
|
|
|
136 |
$this->setupPages();
|
137 |
|
138 |
do_action('mailpoet_initialized', MAILPOET_VERSION);
|
144 |
}
|
145 |
|
146 |
function maybeDbUpdate() {
|
147 |
+
try {
|
148 |
+
$current_db_version = Setting::getValue('db_version');
|
149 |
+
} catch(\Exception $e) {
|
150 |
+
$current_db_version = null;
|
151 |
+
}
|
152 |
|
153 |
// if current db version and plugin version differ
|
154 |
if(version_compare($current_db_version, Env::$version) !== 0) {
|
184 |
$updater->init();
|
185 |
}
|
186 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
187 |
function setupLocalizer() {
|
188 |
+
$localizer = new Localizer();
|
189 |
$localizer->init();
|
190 |
}
|
191 |
|
221 |
$conflict_resolver->init();
|
222 |
}
|
223 |
|
224 |
+
function postInitialize() {
|
225 |
+
if(!defined(self::INITIALIZED)) return;
|
226 |
+
try {
|
227 |
+
$this->setupHooks();
|
228 |
+
$this->setupJSONAPI();
|
229 |
+
$this->setupRouter();
|
230 |
+
} catch(\Exception $e) {
|
231 |
+
$this->handleFailedInitialization($e);
|
232 |
+
}
|
233 |
+
}
|
234 |
+
|
235 |
function setupJSONAPI() {
|
236 |
$json_api = API\API::JSON($this->access_control);
|
237 |
$json_api->init();
|
248 |
}
|
249 |
|
250 |
function setupHooks() {
|
251 |
+
$hooks = new Hooks();
|
252 |
+
$hooks->init();
|
|
|
|
|
|
|
|
|
|
|
253 |
}
|
254 |
|
255 |
function handleFailedInitialization($exception) {
|
lib/Config/Localizer.php
CHANGED
@@ -1,32 +1,21 @@
|
|
1 |
<?php
|
|
|
2 |
namespace MailPoet\Config;
|
3 |
|
4 |
if(!defined('ABSPATH')) exit;
|
5 |
|
6 |
class Localizer {
|
7 |
-
function __construct($renderer) {
|
8 |
-
$this->renderer = $renderer;
|
9 |
-
}
|
10 |
-
|
11 |
function init() {
|
12 |
-
add_action(
|
13 |
-
'init',
|
14 |
-
array($this, 'setup')
|
15 |
-
);
|
16 |
-
}
|
17 |
-
|
18 |
-
function setup() {
|
19 |
$this->loadGlobalText();
|
20 |
$this->loadPluginText();
|
21 |
-
$this->setGlobalRtl();
|
22 |
}
|
23 |
|
24 |
function loadGlobalText() {
|
25 |
-
$language_path =
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
load_textdomain(Env::$plugin_name, $language_path);
|
31 |
}
|
32 |
|
@@ -38,10 +27,6 @@ class Localizer {
|
|
38 |
);
|
39 |
}
|
40 |
|
41 |
-
function setGlobalRtl() {
|
42 |
-
$this->renderer->addGlobal('is_rtl', is_rtl());
|
43 |
-
}
|
44 |
-
|
45 |
function locale() {
|
46 |
$locale = apply_filters(
|
47 |
'plugin_locale',
|
1 |
<?php
|
2 |
+
|
3 |
namespace MailPoet\Config;
|
4 |
|
5 |
if(!defined('ABSPATH')) exit;
|
6 |
|
7 |
class Localizer {
|
|
|
|
|
|
|
|
|
8 |
function init() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
$this->loadGlobalText();
|
10 |
$this->loadPluginText();
|
|
|
11 |
}
|
12 |
|
13 |
function loadGlobalText() {
|
14 |
+
$language_path = sprintf(
|
15 |
+
'%s/%s.mo',
|
16 |
+
Env::$languages_path,
|
17 |
+
$this->locale()
|
18 |
+
);
|
19 |
load_textdomain(Env::$plugin_name, $language_path);
|
20 |
}
|
21 |
|
27 |
);
|
28 |
}
|
29 |
|
|
|
|
|
|
|
|
|
30 |
function locale() {
|
31 |
$locale = apply_filters(
|
32 |
'plugin_locale',
|
lib/Config/MP2Migrator.php
CHANGED
@@ -148,7 +148,7 @@ class MP2Migrator {
|
|
148 |
}
|
149 |
ob_start();
|
150 |
$datetime = new \MailPoet\WP\DateTime();
|
151 |
-
$this->log(sprintf('=== ' . __('
|
152 |
Setting::setValue('import_stopped', false); // Reset the stop import action
|
153 |
|
154 |
if(!Setting::getValue('mailpoet_migration_started', false)) {
|
@@ -165,10 +165,10 @@ class MP2Migrator {
|
|
165 |
|
166 |
if(!$this->importStopped()) {
|
167 |
Setting::setValue('mailpoet_migration_complete', true);
|
168 |
-
$this->log(__('
|
169 |
}
|
170 |
|
171 |
-
$this->log(sprintf('=== ' . __('
|
172 |
$result = ob_get_contents();
|
173 |
ob_clean();
|
174 |
return $result;
|
@@ -223,7 +223,7 @@ class MP2Migrator {
|
|
223 |
*/
|
224 |
public function stopImport() {
|
225 |
Setting::setValue('import_stopped', true);
|
226 |
-
$this->log(__('
|
227 |
}
|
228 |
|
229 |
/**
|
@@ -486,7 +486,7 @@ class MP2Migrator {
|
|
486 |
break;
|
487 |
|
488 |
default:
|
489 |
-
$params['date_format'] =
|
490 |
}
|
491 |
unset($params['date_order']);
|
492 |
}
|
@@ -1140,4 +1140,4 @@ class MP2Migrator {
|
|
1140 |
}
|
1141 |
return $emails_number;
|
1142 |
}
|
1143 |
-
}
|
148 |
}
|
149 |
ob_start();
|
150 |
$datetime = new \MailPoet\WP\DateTime();
|
151 |
+
$this->log(sprintf('=== ' . mb_strtoupper(__('Start import', 'mailpoet'), 'UTF-8') . ' %s ===', $datetime->formatTime(time(), \MailPoet\WP\DateTime::DEFAULT_DATE_TIME_FORMAT)));
|
152 |
Setting::setValue('import_stopped', false); // Reset the stop import action
|
153 |
|
154 |
if(!Setting::getValue('mailpoet_migration_started', false)) {
|
165 |
|
166 |
if(!$this->importStopped()) {
|
167 |
Setting::setValue('mailpoet_migration_complete', true);
|
168 |
+
$this->log(mb_strtoupper(__('Import complete', 'mailpoet'), 'UTF-8'));
|
169 |
}
|
170 |
|
171 |
+
$this->log(sprintf('=== ' . mb_strtoupper(__('End import', 'mailpoet'), 'UTF-8') . ' %s ===', $datetime->formatTime(time(), \MailPoet\WP\DateTime::DEFAULT_DATE_TIME_FORMAT)));
|
172 |
$result = ob_get_contents();
|
173 |
ob_clean();
|
174 |
return $result;
|
223 |
*/
|
224 |
public function stopImport() {
|
225 |
Setting::setValue('import_stopped', true);
|
226 |
+
$this->log(mb_strtoupper(__('Import stopped by user', 'mailpoet'), 'UTF-8'));
|
227 |
}
|
228 |
|
229 |
/**
|
486 |
break;
|
487 |
|
488 |
default:
|
489 |
+
$params['date_format'] = mb_strtoupper($params['date_order'], 'UTF-8');
|
490 |
}
|
491 |
unset($params['date_order']);
|
492 |
}
|
1140 |
}
|
1141 |
return $emails_number;
|
1142 |
}
|
1143 |
+
}
|
lib/Config/Migrator.php
CHANGED
@@ -172,7 +172,8 @@ class Migrator {
|
|
172 |
'deleted_at TIMESTAMP NULL,',
|
173 |
'unconfirmed_data longtext,',
|
174 |
'PRIMARY KEY (id),',
|
175 |
-
'UNIQUE KEY email (email)'
|
|
|
176 |
);
|
177 |
return $this->sqlify(__FUNCTION__, $attributes);
|
178 |
}
|
172 |
'deleted_at TIMESTAMP NULL,',
|
173 |
'unconfirmed_data longtext,',
|
174 |
'PRIMARY KEY (id),',
|
175 |
+
'UNIQUE KEY email (email),',
|
176 |
+
'KEY wp_user_id (wp_user_id)',
|
177 |
);
|
178 |
return $this->sqlify(__FUNCTION__, $attributes);
|
179 |
}
|
lib/Config/PluginActivatedHook.php
CHANGED
@@ -3,8 +3,6 @@
|
|
3 |
namespace MailPoet\Config;
|
4 |
|
5 |
class PluginActivatedHook {
|
6 |
-
|
7 |
-
/** @var DeferredAdminNotices */
|
8 |
private $deferred_admin_notices;
|
9 |
|
10 |
public function __construct(DeferredAdminNotices $deferred_admin_notices) {
|
@@ -13,8 +11,7 @@ class PluginActivatedHook {
|
|
13 |
|
14 |
public function action($plugin, $network_wide) {
|
15 |
if($plugin === plugin_basename(Env::$file) && $network_wide) {
|
16 |
-
$this->deferred_admin_notices->addNetworkAdminNotice(__(
|
17 |
}
|
18 |
}
|
19 |
-
|
20 |
}
|
3 |
namespace MailPoet\Config;
|
4 |
|
5 |
class PluginActivatedHook {
|
|
|
|
|
6 |
private $deferred_admin_notices;
|
7 |
|
8 |
public function __construct(DeferredAdminNotices $deferred_admin_notices) {
|
11 |
|
12 |
public function action($plugin, $network_wide) {
|
13 |
if($plugin === plugin_basename(Env::$file) && $network_wide) {
|
14 |
+
$this->deferred_admin_notices->addNetworkAdminNotice(__("We noticed that you're using an unsupported environment. While MailPoet might work within a MultiSite environment, we don’t support it.", 'mailpoet'));
|
15 |
}
|
16 |
}
|
|
|
17 |
}
|
lib/Config/Populator.php
CHANGED
@@ -337,7 +337,7 @@ class Populator {
|
|
337 |
function convertExistingDataToUTF8() {
|
338 |
global $wpdb;
|
339 |
|
340 |
-
if(!version_compare(
|
341 |
// Data conversion should only be performed only once, when migrating from
|
342 |
// older version
|
343 |
return false;
|
@@ -402,7 +402,7 @@ class Populator {
|
|
402 |
global $wpdb;
|
403 |
|
404 |
// perform once for versions below 3.0.0-beta.36.2.1
|
405 |
-
if(version_compare(
|
406 |
return false;
|
407 |
}
|
408 |
|
@@ -455,7 +455,7 @@ class Populator {
|
|
455 |
global $wpdb;
|
456 |
|
457 |
// perform once for versions below 3.0.0-beta.36.2.1
|
458 |
-
if(version_compare(
|
459 |
return false;
|
460 |
}
|
461 |
|
337 |
function convertExistingDataToUTF8() {
|
338 |
global $wpdb;
|
339 |
|
340 |
+
if(!version_compare(Setting::getValue('db_version', '3.0.0-beta.33'), '3.0.0-beta.32', '<=')) {
|
341 |
// Data conversion should only be performed only once, when migrating from
|
342 |
// older version
|
343 |
return false;
|
402 |
global $wpdb;
|
403 |
|
404 |
// perform once for versions below 3.0.0-beta.36.2.1
|
405 |
+
if(version_compare(Setting::getValue('db_version', '3.0.0-beta.36.2.3'), '3.0.0-beta.36.2.1', '>=')) {
|
406 |
return false;
|
407 |
}
|
408 |
|
455 |
global $wpdb;
|
456 |
|
457 |
// perform once for versions below 3.0.0-beta.36.2.1
|
458 |
+
if(version_compare(Setting::getValue('db_version', '3.0.0-beta.36.2.3'), '3.0.0-beta.36.2.1', '>=')) {
|
459 |
return false;
|
460 |
}
|
461 |
|
lib/Config/PopulatorData/Templates/NewsDay.php
CHANGED
@@ -15,7 +15,7 @@ class NewsDay {
|
|
15 |
function get() {
|
16 |
return array(
|
17 |
'name' => __("News Day", 'mailpoet'),
|
18 |
-
'description' => __("Media ready template.
|
19 |
'readonly' => 1,
|
20 |
'thumbnail' => $this->getThumbnail(),
|
21 |
'body' => json_encode($this->getBody()),
|
@@ -552,4 +552,4 @@ class NewsDay {
|
|
552 |
return $this->template_image_url . '/news-day.jpg';
|
553 |
}
|
554 |
|
555 |
-
}
|
15 |
function get() {
|
16 |
return array(
|
17 |
'name' => __("News Day", 'mailpoet'),
|
18 |
+
'description' => __("Media ready template.", 'mailpoet'),
|
19 |
'readonly' => 1,
|
20 |
'thumbnail' => $this->getThumbnail(),
|
21 |
'body' => json_encode($this->getBody()),
|
552 |
return $this->template_image_url . '/news-day.jpg';
|
553 |
}
|
554 |
|
555 |
+
}
|
lib/Config/PopulatorData/Templates/NewsletterBlank12Column.php
CHANGED
@@ -117,7 +117,7 @@ class NewsletterBlank12Column {
|
|
117 |
),
|
118 |
array(
|
119 |
"type" => "text",
|
120 |
-
"text" => __("<h1 style=\"text-align: center;\"><strong>Let's Get Started!</strong></h1>\n<p
|
121 |
),
|
122 |
array(
|
123 |
"type" => "divider",
|
117 |
),
|
118 |
array(
|
119 |
"type" => "text",
|
120 |
+
"text" => __("<h1 style=\"text-align: center;\"><strong>Let's Get Started!</strong></h1>\n<p> </p>\n<p>It's time to design your newsletter! In the right sidebar, you'll find 4 menu items that will help you customize your newsletter:</p>\n<ol>\n<li>Content</li>\n<li>Columns</li>\n<li>Styles</li>\n<li>Preview</li>\n</ol>", 'mailpoet')
|
121 |
),
|
122 |
array(
|
123 |
"type" => "divider",
|
lib/Config/PopulatorData/Templates/NewsletterBlank13Column.php
CHANGED
@@ -117,7 +117,7 @@ class NewsletterBlank13Column {
|
|
117 |
),
|
118 |
array(
|
119 |
"type" => "text",
|
120 |
-
"text" => __("<h1 style=\"text-align: center;\"><strong>Let's Get Started! </strong></h1>\n<p
|
121 |
),
|
122 |
array(
|
123 |
"type" => "divider",
|
117 |
),
|
118 |
array(
|
119 |
"type" => "text",
|
120 |
+
"text" => __("<h1 style=\"text-align: center;\"><strong>Let's Get Started! </strong></h1>\n<p> </p>\n<p>It's time to design your newsletter! In the right sidebar, you'll find four menu items that will help you customize your newsletter:</p>\n<ol>\n<li>Content</li>\n<li>Columns</li>\n<li>Styles</li>\n<li>Preview</li>\n</ol>", 'mailpoet')
|
121 |
),
|
122 |
array(
|
123 |
"type" => "divider",
|
lib/Config/PopulatorData/Templates/NewsletterBlank1Column.php
CHANGED
@@ -117,7 +117,7 @@ class NewsletterBlank1Column {
|
|
117 |
),
|
118 |
array(
|
119 |
"type" => "text",
|
120 |
-
"text" => __("<h1 style=\"text-align: center;\"><strong>Let's Get Started! </strong></h1>\n<p
|
121 |
)
|
122 |
)
|
123 |
)
|
117 |
),
|
118 |
array(
|
119 |
"type" => "text",
|
120 |
+
"text" => __("<h1 style=\"text-align: center;\"><strong>Let's Get Started! </strong></h1>\n<p> </p>\n<p>It's time to design your newsletter! In the right sidebar, you'll find 4 menu items that will help you customize your newsletter:</p>\n<ol>\n<li>Content</li>\n<li>Columns</li>\n<li>Styles</li>\n<li>Preview</li>\n</ol>", 'mailpoet')
|
121 |
)
|
122 |
)
|
123 |
)
|
lib/Config/PopulatorData/Templates/PostNotificationsBlank1Column.php
CHANGED
@@ -117,7 +117,7 @@ class PostNotificationsBlank1Column {
|
|
117 |
),
|
118 |
array(
|
119 |
"type" => "text",
|
120 |
-
"text" => __("<h1 style=\"text-align: center;\"><strong>Check Out Our New Blog Posts! </strong></h1>\n<p
|
121 |
),
|
122 |
array(
|
123 |
"type" => "divider",
|
117 |
),
|
118 |
array(
|
119 |
"type" => "text",
|
120 |
+
"text" => __("<h1 style=\"text-align: center;\"><strong>Check Out Our New Blog Posts! </strong></h1>\n<p> </p>\n<p>MailPoet can <span style=\"line-height: 1.6em; background-color: inherit;\"><em>automatically</em> </span><span style=\"line-height: 1.6em; background-color: inherit;\">send your new blog posts to your subscribers.</span></p>\n<p><span style=\"line-height: 1.6em; background-color: inherit;\"></span></p>\n<p><span style=\"line-height: 1.6em; background-color: inherit;\">Below, you'll find three recent posts, which are displayed automatically, thanks to the <em>Automatic Latest Content</em> widget, which can be found in the right sidebar, under <em>Content</em>.</span></p>\n<p><span style=\"line-height: 1.6em; background-color: inherit;\"></span></p>\n<p><span style=\"line-height: 1.6em; background-color: inherit;\">To edit the settings and styles of your post, simply click on a post below.</span></p>", 'mailpoet')
|
121 |
),
|
122 |
array(
|
123 |
"type" => "divider",
|
lib/Config/PopulatorData/Templates/SimpleText.php
CHANGED
@@ -132,7 +132,7 @@ class SimpleText {
|
|
132 |
),
|
133 |
array(
|
134 |
"type" => "text",
|
135 |
-
"text" => __("<p>Thanks for reading. See you soon!</p>\n<p
|
136 |
),
|
137 |
array(
|
138 |
"type" => "footer",
|
132 |
),
|
133 |
array(
|
134 |
"type" => "text",
|
135 |
+
"text" => __("<p>Thanks for reading. See you soon!</p>\n<p> </p>\n<p><strong><em>The MailPoet Team</em></strong></p>", 'mailpoet')
|
136 |
),
|
137 |
array(
|
138 |
"type" => "footer",
|
lib/Config/PopulatorData/Templates/WelcomeBlank12Column.php
CHANGED
@@ -117,7 +117,7 @@ class WelcomeBlank12Column {
|
|
117 |
),
|
118 |
array(
|
119 |
"type" => "text",
|
120 |
-
"text" => __("<h1 style=\"text-align: center;\"><strong>Hi, new subscriber!</strong></h1>\n<p
|
121 |
),
|
122 |
array(
|
123 |
"type" => "divider",
|
117 |
),
|
118 |
array(
|
119 |
"type" => "text",
|
120 |
+
"text" => __("<h1 style=\"text-align: center;\"><strong>Hi, new subscriber!</strong></h1>\n<p> </p>\n<p>[subscriber:firstname | default:Subscriber],</p>\n<p> </p>\n<p>You recently joined our list and we'd like to give you a warm welcome!</p>", 'mailpoet')
|
121 |
),
|
122 |
array(
|
123 |
"type" => "divider",
|
lib/Config/PopulatorData/Templates/WelcomeBlank1Column.php
CHANGED
@@ -117,7 +117,7 @@ class WelcomeBlank1Column {
|
|
117 |
),
|
118 |
array(
|
119 |
"type" => "text",
|
120 |
-
"text" => __("<h1 style=\"text-align: center;\"><strong>Hi, new subscriber!</strong></h1>\n<p
|
121 |
)
|
122 |
)
|
123 |
)
|
117 |
),
|
118 |
array(
|
119 |
"type" => "text",
|
120 |
+
"text" => __("<h1 style=\"text-align: center;\"><strong>Hi, new subscriber!</strong></h1>\n<p> </p>\n<p>[subscriber:firstname | default:Subscriber],</p>\n<p> </p>\n<p>You recently joined our list and we'd like to give you a warm welcome!</p>\n<p> </p>\n<p>Want to get to know us better? Check out some of our most popular articles: </p>\n<ol>\n<li><a href=\"http://www.mailpoet.com/the-importance-of-focus-when-writing/\">The Importance of Focus When Writing</a></li>\n<li><a href=\"http://www.mailpoet.com/write-great-subject-line/\">How to Write a Great Subject Line</a></li>\n<li><a href=\"http://www.mailpoet.com/just-sit-write-advice-motivation-ernest-hemingway/\">Just Sit Down and Write – Advice on Motivation from Ernest Hemingway</a></li>\n</ol>", 'mailpoet')
|
121 |
)
|
122 |
)
|
123 |
)
|
lib/Config/PopulatorData/Templates/WorldCup.php
CHANGED
@@ -15,7 +15,7 @@ class WorldCup {
|
|
15 |
function get() {
|
16 |
return array(
|
17 |
'name' => __("World Cup", 'mailpoet'),
|
18 |
-
'description' => __("Always a winner.
|
19 |
'readonly' => 1,
|
20 |
'thumbnail' => $this->getThumbnail(),
|
21 |
'body' => json_encode($this->getBody()),
|
@@ -782,4 +782,4 @@ class WorldCup {
|
|
782 |
return $this->template_image_url . '/world-cup.jpg';
|
783 |
}
|
784 |
|
785 |
-
}
|
15 |
function get() {
|
16 |
return array(
|
17 |
'name' => __("World Cup", 'mailpoet'),
|
18 |
+
'description' => __("Always a winner.", 'mailpoet'),
|
19 |
'readonly' => 1,
|
20 |
'thumbnail' => $this->getThumbnail(),
|
21 |
'body' => json_encode($this->getBody()),
|
782 |
return $this->template_image_url . '/world-cup.jpg';
|
783 |
}
|
784 |
|
785 |
+
}
|
lib/Config/Renderer.php
CHANGED
@@ -34,7 +34,6 @@ class Renderer {
|
|
34 |
|
35 |
$this->assets_manifest_js = $this->getAssetManifest(Env::$assets_path . '/js/manifest.json');
|
36 |
$this->assets_manifest_css = $this->getAssetManifest(Env::$assets_path . '/css/manifest.json');
|
37 |
-
|
38 |
$this->setupDebug();
|
39 |
$this->setupTranslations();
|
40 |
$this->setupFunctions();
|
@@ -112,10 +111,6 @@ class Renderer {
|
|
112 |
}
|
113 |
}
|
114 |
|
115 |
-
function addGlobal($key, $value) {
|
116 |
-
return $this->renderer->addGlobal($key, $value);
|
117 |
-
}
|
118 |
-
|
119 |
function getAssetManifest($manifest_file) {
|
120 |
return (is_readable($manifest_file)) ?
|
121 |
json_decode(file_get_contents($manifest_file), true) :
|
34 |
|
35 |
$this->assets_manifest_js = $this->getAssetManifest(Env::$assets_path . '/js/manifest.json');
|
36 |
$this->assets_manifest_css = $this->getAssetManifest(Env::$assets_path . '/css/manifest.json');
|
|
|
37 |
$this->setupDebug();
|
38 |
$this->setupTranslations();
|
39 |
$this->setupFunctions();
|
111 |
}
|
112 |
}
|
113 |
|
|
|
|
|
|
|
|
|
114 |
function getAssetManifest($manifest_file) {
|
115 |
return (is_readable($manifest_file)) ?
|
116 |
json_decode(file_get_contents($manifest_file), true) :
|
lib/Config/ServicesChecker.php
CHANGED
@@ -40,7 +40,7 @@ class ServicesChecker {
|
|
40 |
$date_time = new DateTime();
|
41 |
$date = $date_time->formatDate(strtotime($mss_key['data']['expire_at']));
|
42 |
$error = Helpers::replaceLinkTags(
|
43 |
-
__(
|
44 |
'https://account.mailpoet.com?s=' . Subscriber::getTotalSubscribers(),
|
45 |
array('target' => '_blank')
|
46 |
);
|
@@ -93,7 +93,7 @@ class ServicesChecker {
|
|
93 |
$date_time = new DateTime();
|
94 |
$date = $date_time->formatDate(strtotime($premium_key['data']['expire_at']));
|
95 |
$error = Helpers::replaceLinkTags(
|
96 |
-
__(
|
97 |
'https://account.mailpoet.com',
|
98 |
array('target' => '_blank')
|
99 |
);
|
40 |
$date_time = new DateTime();
|
41 |
$date = $date_time->formatDate(strtotime($mss_key['data']['expire_at']));
|
42 |
$error = Helpers::replaceLinkTags(
|
43 |
+
__("Your newsletters are awesome! Don't forget to [link]upgrade your MailPoet email plan[/link] by %s to keep sending them to your subscribers.", 'mailpoet'),
|
44 |
'https://account.mailpoet.com?s=' . Subscriber::getTotalSubscribers(),
|
45 |
array('target' => '_blank')
|
46 |
);
|
93 |
$date_time = new DateTime();
|
94 |
$date = $date_time->formatDate(strtotime($premium_key['data']['expire_at']));
|
95 |
$error = Helpers::replaceLinkTags(
|
96 |
+
__("Your License Key is expiring! Don't forget to [link]renew your license[/link] by %s to keep enjoying automatic updates and Premium support.", 'mailpoet'),
|
97 |
'https://account.mailpoet.com',
|
98 |
array('target' => '_blank')
|
99 |
);
|
lib/Cron/CronHelper.php
CHANGED
@@ -1,10 +1,12 @@
|
|
1 |
<?php
|
|
|
2 |
namespace MailPoet\Cron;
|
3 |
|
4 |
use MailPoet\Models\Setting;
|
5 |
use MailPoet\Router\Endpoints\CronDaemon as CronDaemonEndpoint;
|
6 |
use MailPoet\Router\Router;
|
7 |
use MailPoet\Util\Security;
|
|
|
8 |
|
9 |
if(!defined('ABSPATH')) exit;
|
10 |
|
@@ -59,7 +61,7 @@ class CronHelper {
|
|
59 |
'user-agent' => 'MailPoet (www.mailpoet.com) Cron'
|
60 |
);
|
61 |
$result = wp_remote_get($url, $args);
|
62 |
-
return wp_remote_retrieve_body($result)
|
63 |
}
|
64 |
|
65 |
static function accessDaemon($token, $timeout = self::DAEMON_REQUEST_TIMEOUT) {
|
@@ -83,6 +85,9 @@ class CronHelper {
|
|
83 |
static function getSiteUrl($site_url = false) {
|
84 |
// additional check for some sites running inside a virtual machine or behind
|
85 |
// proxy where there could be different ports (e.g., host:8080 => guest:80)
|
|
|
|
|
|
|
86 |
$site_url = ($site_url) ? $site_url : home_url();
|
87 |
$parsed_url = parse_url($site_url);
|
88 |
$scheme = '';
|
1 |
<?php
|
2 |
+
|
3 |
namespace MailPoet\Cron;
|
4 |
|
5 |
use MailPoet\Models\Setting;
|
6 |
use MailPoet\Router\Endpoints\CronDaemon as CronDaemonEndpoint;
|
7 |
use MailPoet\Router\Router;
|
8 |
use MailPoet\Util\Security;
|
9 |
+
use MailPoet\WP\Hooks as WPHooks;
|
10 |
|
11 |
if(!defined('ABSPATH')) exit;
|
12 |
|
61 |
'user-agent' => 'MailPoet (www.mailpoet.com) Cron'
|
62 |
);
|
63 |
$result = wp_remote_get($url, $args);
|
64 |
+
return wp_remote_retrieve_body($result);
|
65 |
}
|
66 |
|
67 |
static function accessDaemon($token, $timeout = self::DAEMON_REQUEST_TIMEOUT) {
|
85 |
static function getSiteUrl($site_url = false) {
|
86 |
// additional check for some sites running inside a virtual machine or behind
|
87 |
// proxy where there could be different ports (e.g., host:8080 => guest:80)
|
88 |
+
$custom_cron_url = WPHooks::applyFilters('mailpoet_cron_request_url', null);
|
89 |
+
if($custom_cron_url) return $custom_cron_url;
|
90 |
+
|
91 |
$site_url = ($site_url) ? $site_url : home_url();
|
92 |
$parsed_url = parse_url($site_url);
|
93 |
$scheme = '';
|
lib/Segments/WP.php
CHANGED
@@ -79,28 +79,109 @@ class WP {
|
|
79 |
}
|
80 |
|
81 |
static function synchronizeUsers() {
|
82 |
-
// get wordpress users list
|
83 |
-
$wp_segment = Segment::getWPSegment();
|
84 |
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
)
|
|
|
|
|
|
|
90 |
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
// remove orphaned wp segment subscribers (not having a matching wp user id),
|
97 |
// e.g. if wp users were deleted directly from the database
|
98 |
-
$
|
99 |
-
|
|
|
|
|
|
|
100 |
->findResultSet()
|
101 |
->set('wp_user_id', null)
|
102 |
->delete();
|
103 |
|
104 |
-
return true;
|
105 |
}
|
106 |
}
|
|
79 |
}
|
80 |
|
81 |
static function synchronizeUsers() {
|
|
|
|
|
82 |
|
83 |
+
self::updateSubscribersEmails();
|
84 |
+
self::insertSubscribers();
|
85 |
+
self::removeFromTrash();
|
86 |
+
self::updateFirstNames();
|
87 |
+
self::updateLastNames();
|
88 |
+
self::updateFristNameIfMissing();
|
89 |
+
self::insertUsersToSegment();
|
90 |
+
self::removeOrphanedSubscribers();
|
91 |
|
92 |
+
return true;
|
93 |
+
}
|
94 |
+
|
95 |
+
private static function updateSubscribersEmails() {
|
96 |
+
global $wpdb;
|
97 |
+
$subscribers_table = Subscriber::$_table;
|
98 |
+
Subscriber::raw_execute(sprintf('
|
99 |
+
UPDATE IGNORE %s
|
100 |
+
JOIN %susers as wu ON %s.wp_user_id = wu.id
|
101 |
+
SET email = user_email
|
102 |
+
WHERE %s.wp_user_id IS NOT NULL
|
103 |
+
', $subscribers_table, $wpdb->prefix, $subscribers_table, $subscribers_table));
|
104 |
+
}
|
105 |
+
|
106 |
+
private static function insertSubscribers() {
|
107 |
+
global $wpdb;
|
108 |
+
$subscribers_table = Subscriber::$_table;
|
109 |
+
Subscriber::raw_execute(sprintf('
|
110 |
+
INSERT IGNORE INTO %s(wp_user_id, email, status, created_at)
|
111 |
+
SELECT wu.id, wu.user_email, "subscribed", CURRENT_TIMESTAMP() FROM %susers wu
|
112 |
+
LEFT JOIN %s mps ON wu.id = mps.wp_user_id
|
113 |
+
WHERE mps.wp_user_id IS NULL
|
114 |
+
', $subscribers_table, $wpdb->prefix, $subscribers_table));
|
115 |
+
}
|
116 |
+
|
117 |
+
private static function updateFirstNames() {
|
118 |
+
global $wpdb;
|
119 |
+
$subscribers_table = Subscriber::$_table;
|
120 |
+
Subscriber::raw_execute(sprintf('
|
121 |
+
UPDATE %s
|
122 |
+
JOIN %susermeta as wpum ON %s.wp_user_id = wpum.user_id AND meta_key = "first_name"
|
123 |
+
SET first_name = meta_value
|
124 |
+
WHERE %s.first_name = ""
|
125 |
+
AND %s.wp_user_id IS NOT NULL
|
126 |
+
', $subscribers_table, $wpdb->prefix, $subscribers_table, $subscribers_table, $subscribers_table));
|
127 |
+
}
|
128 |
+
|
129 |
+
private static function updateLastNames() {
|
130 |
+
global $wpdb;
|
131 |
+
$subscribers_table = Subscriber::$_table;
|
132 |
+
Subscriber::raw_execute(sprintf('
|
133 |
+
UPDATE %s
|
134 |
+
JOIN %susermeta as wpum ON %s.wp_user_id = wpum.user_id AND meta_key = "last_name"
|
135 |
+
SET last_name = meta_value
|
136 |
+
WHERE %s.last_name = ""
|
137 |
+
AND %s.wp_user_id IS NOT NULL
|
138 |
+
', $subscribers_table, $wpdb->prefix, $subscribers_table, $subscribers_table, $subscribers_table));
|
139 |
+
}
|
140 |
+
|
141 |
+
private static function updateFristNameIfMissing() {
|
142 |
+
global $wpdb;
|
143 |
+
$subscribers_table = Subscriber::$_table;
|
144 |
+
Subscriber::raw_execute(sprintf('
|
145 |
+
UPDATE %s
|
146 |
+
JOIN %susers wu ON %s.wp_user_id = wu.id
|
147 |
+
SET first_name = display_name
|
148 |
+
WHERE %s.first_name = ""
|
149 |
+
AND %s.wp_user_id IS NOT NULL
|
150 |
+
', $subscribers_table, $wpdb->prefix, $subscribers_table, $subscribers_table, $subscribers_table));
|
151 |
+
}
|
152 |
+
|
153 |
+
private static function insertUsersToSegment() {
|
154 |
+
$wp_segment = Segment::getWPSegment();
|
155 |
+
$subscribers_table = Subscriber::$_table;
|
156 |
+
$wp_mailpoet_subscriber_segment_table = SubscriberSegment::$_table;
|
157 |
+
Subscriber::raw_execute(sprintf('
|
158 |
+
INSERT IGNORE INTO %s(subscriber_id, segment_id, created_at)
|
159 |
+
SELECT mps.id, "%s", CURRENT_TIMESTAMP() FROM %s mps
|
160 |
+
WHERE mps.wp_user_id IS NOT NULL
|
161 |
+
', $wp_mailpoet_subscriber_segment_table, $wp_segment->id, $subscribers_table));
|
162 |
+
}
|
163 |
|
164 |
+
private static function removeFromTrash() {
|
165 |
+
$subscribers_table = Subscriber::$_table;
|
166 |
+
Subscriber::raw_execute(sprintf('
|
167 |
+
UPDATE %s
|
168 |
+
SET deleted_at = NULL
|
169 |
+
WHERE %s.wp_user_id IS NOT NULL
|
170 |
+
', $subscribers_table, $subscribers_table));
|
171 |
+
}
|
172 |
+
|
173 |
+
private static function removeOrphanedSubscribers() {
|
174 |
// remove orphaned wp segment subscribers (not having a matching wp user id),
|
175 |
// e.g. if wp users were deleted directly from the database
|
176 |
+
global $wpdb;
|
177 |
+
|
178 |
+
Subscriber::table_alias('wpms')
|
179 |
+
->leftOuterJoin($wpdb->prefix . 'users', array('wpms.wp_user_id', '=', 'wu.id'), 'wu')
|
180 |
+
->whereNull('wu.id')
|
181 |
->findResultSet()
|
182 |
->set('wp_user_id', null)
|
183 |
->delete();
|
184 |
|
|
|
185 |
}
|
186 |
}
|
187 |
+
|
lib/Twig/Functions.php
CHANGED
@@ -1,5 +1,7 @@
|
|
1 |
<?php
|
|
|
2 |
namespace MailPoet\Twig;
|
|
|
3 |
use MailPoet\Config\ServicesChecker;
|
4 |
|
5 |
if(!defined('ABSPATH')) exit;
|
@@ -86,6 +88,11 @@ class Functions extends \Twig_Extension {
|
|
86 |
'do_action',
|
87 |
'do_action',
|
88 |
array('is_safe' => array('all'))
|
|
|
|
|
|
|
|
|
|
|
89 |
)
|
90 |
);
|
91 |
}
|
@@ -162,4 +169,8 @@ class Functions extends \Twig_Extension {
|
|
162 |
$checker = new ServicesChecker();
|
163 |
return $checker->isPremiumKeyValid(false);
|
164 |
}
|
|
|
|
|
|
|
|
|
165 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace MailPoet\Twig;
|
4 |
+
|
5 |
use MailPoet\Config\ServicesChecker;
|
6 |
|
7 |
if(!defined('ABSPATH')) exit;
|
88 |
'do_action',
|
89 |
'do_action',
|
90 |
array('is_safe' => array('all'))
|
91 |
+
),
|
92 |
+
new \Twig_SimpleFunction(
|
93 |
+
'is_rtl',
|
94 |
+
array($this, 'isRtl'),
|
95 |
+
array('is_safe' => array('all'))
|
96 |
)
|
97 |
);
|
98 |
}
|
169 |
$checker = new ServicesChecker();
|
170 |
return $checker->isPremiumKeyValid(false);
|
171 |
}
|
172 |
+
|
173 |
+
function isRtl() {
|
174 |
+
return is_rtl();
|
175 |
+
}
|
176 |
}
|
mailpoet.php
CHANGED
@@ -4,7 +4,7 @@ if(!defined('ABSPATH')) exit;
|
|
4 |
|
5 |
/*
|
6 |
* Plugin Name: MailPoet 3 (new)
|
7 |
-
* Version: 3.0.0-rc.2.0.
|
8 |
* Plugin URI: http://www.mailpoet.com
|
9 |
* Description: Create and send newsletters, post notifications and welcome emails from your WordPress.
|
10 |
* Author: MailPoet
|
@@ -21,7 +21,7 @@ if(!defined('ABSPATH')) exit;
|
|
21 |
*/
|
22 |
|
23 |
$mailpoet_plugin = array(
|
24 |
-
'version' => '3.0.0-rc.2.0.
|
25 |
'filename' => __FILE__,
|
26 |
'path' => dirname(__FILE__),
|
27 |
'autoloader' => dirname(__FILE__) . '/vendor/autoload.php',
|
4 |
|
5 |
/*
|
6 |
* Plugin Name: MailPoet 3 (new)
|
7 |
+
* Version: 3.0.0-rc.2.0.3
|
8 |
* Plugin URI: http://www.mailpoet.com
|
9 |
* Description: Create and send newsletters, post notifications and welcome emails from your WordPress.
|
10 |
* Author: MailPoet
|
21 |
*/
|
22 |
|
23 |
$mailpoet_plugin = array(
|
24 |
+
'version' => '3.0.0-rc.2.0.3',
|
25 |
'filename' => __FILE__,
|
26 |
'path' => dirname(__FILE__),
|
27 |
'autoloader' => dirname(__FILE__) . '/vendor/autoload.php',
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: newsletter, email, welcome email, post notification, autoresponder, signup
|
|
4 |
Requires at least: 4.6
|
5 |
Tested up to: 4.8
|
6 |
Requires PHP: 5.3
|
7 |
-
Stable tag: 3.0.0-rc.2.0.
|
8 |
Create and send beautiful emails and newsletters from WordPress.
|
9 |
|
10 |
== Description ==
|
@@ -94,6 +94,14 @@ Our [support site](https://beta.docs.mailpoet.com) has plenty of articles. You c
|
|
94 |
|
95 |
== Changelog ==
|
96 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
= 3.0.0-rc.2.0.2 - 2017-09-05 =
|
98 |
* Added: browser spellchecker in newsletter editor;
|
99 |
* Improved: newsletter editor uses an optimized data object to display post types. Thanks Facundo;
|
4 |
Requires at least: 4.6
|
5 |
Tested up to: 4.8
|
6 |
Requires PHP: 5.3
|
7 |
+
Stable tag: 3.0.0-rc.2.0.3
|
8 |
Create and send beautiful emails and newsletters from WordPress.
|
9 |
|
10 |
== Description ==
|
94 |
|
95 |
== Changelog ==
|
96 |
|
97 |
+
= 3.0.0-rc.2.0.3 - 2017-09-12 =
|
98 |
+
* Added: hook to override default cron URL. Thanks Fred;
|
99 |
+
* Improved: WordPress user sync optimized for large membership sites; Thanks Nagui and @deltafactory!
|
100 |
+
* Improved: column blocks are highlighted when hovering over their tools in the newsletter editor. Now column blocks are easier to visualize;
|
101 |
+
* Improved: color picker in the the email designer got instant color previews and history of recent picks to help you design newsletter elements more rapidly;
|
102 |
+
* Fixed: Twig does not throw a deprecated notice. Thanks Pascal;
|
103 |
+
* Fixed: newsletter editor now longer hangs on Internet Explorer. Thanks Danielle;
|
104 |
+
|
105 |
= 3.0.0-rc.2.0.2 - 2017-09-05 =
|
106 |
* Added: browser spellchecker in newsletter editor;
|
107 |
* Improved: newsletter editor uses an optimized data object to display post types. Thanks Facundo;
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit93d8437952c2c647922399b465db986a::getLoader();
|
vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit28c97880db181668489ce28e70c64309
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
30 |
-
call_user_func(\Composer\Autoload\
|
31 |
} else {
|
32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
33 |
foreach ($map as $namespace => $path) {
|
@@ -48,19 +48,19 @@ class ComposerAutoloaderInit28c97880db181668489ce28e70c64309
|
|
48 |
$loader->register(true);
|
49 |
|
50 |
if ($useStaticLoader) {
|
51 |
-
$includeFiles = Composer\Autoload\
|
52 |
} else {
|
53 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
54 |
}
|
55 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
56 |
-
|
57 |
}
|
58 |
|
59 |
return $loader;
|
60 |
}
|
61 |
}
|
62 |
|
63 |
-
function
|
64 |
{
|
65 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
66 |
require $file;
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInit93d8437952c2c647922399b465db986a
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit93d8437952c2c647922399b465db986a', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit93d8437952c2c647922399b465db986a', 'loadClassLoader'));
|
25 |
|
26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
30 |
+
call_user_func(\Composer\Autoload\ComposerStaticInit93d8437952c2c647922399b465db986a::getInitializer($loader));
|
31 |
} else {
|
32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
33 |
foreach ($map as $namespace => $path) {
|
48 |
$loader->register(true);
|
49 |
|
50 |
if ($useStaticLoader) {
|
51 |
+
$includeFiles = Composer\Autoload\ComposerStaticInit93d8437952c2c647922399b465db986a::$files;
|
52 |
} else {
|
53 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
54 |
}
|
55 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
56 |
+
composerRequire93d8437952c2c647922399b465db986a($fileIdentifier, $file);
|
57 |
}
|
58 |
|
59 |
return $loader;
|
60 |
}
|
61 |
}
|
62 |
|
63 |
+
function composerRequire93d8437952c2c647922399b465db986a($fileIdentifier, $file)
|
64 |
{
|
65 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
66 |
require $file;
|
vendor/composer/autoload_static.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
-
class
|
8 |
{
|
9 |
public static $files = array (
|
10 |
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
|
@@ -835,10 +835,10 @@ class ComposerStaticInit28c97880db181668489ce28e70c64309
|
|
835 |
public static function getInitializer(ClassLoader $loader)
|
836 |
{
|
837 |
return \Closure::bind(function () use ($loader) {
|
838 |
-
$loader->prefixLengthsPsr4 =
|
839 |
-
$loader->prefixDirsPsr4 =
|
840 |
-
$loader->prefixesPsr0 =
|
841 |
-
$loader->classMap =
|
842 |
|
843 |
}, null, ClassLoader::class);
|
844 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInit93d8437952c2c647922399b465db986a
|
8 |
{
|
9 |
public static $files = array (
|
10 |
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
|
835 |
public static function getInitializer(ClassLoader $loader)
|
836 |
{
|
837 |
return \Closure::bind(function () use ($loader) {
|
838 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit93d8437952c2c647922399b465db986a::$prefixLengthsPsr4;
|
839 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit93d8437952c2c647922399b465db986a::$prefixDirsPsr4;
|
840 |
+
$loader->prefixesPsr0 = ComposerStaticInit93d8437952c2c647922399b465db986a::$prefixesPsr0;
|
841 |
+
$loader->classMap = ComposerStaticInit93d8437952c2c647922399b465db986a::$classMap;
|
842 |
|
843 |
}, null, ClassLoader::class);
|
844 |
}
|
views/index.html
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
<% block content %>
|
4 |
<h1><%= 'Welcome!' %></h1>
|
5 |
-
<p><%= __('
|
6 |
| format('<a href="%s">', '</a>')
|
7 |
| format(admin_url('admin.php?page=mailpoet-settings'))
|
8 |
| raw
|
2 |
|
3 |
<% block content %>
|
4 |
<h1><%= 'Welcome!' %></h1>
|
5 |
+
<p><%= __('%sSet up%s MailPoet and start sending.')
|
6 |
| format('<a href="%s">', '</a>')
|
7 |
| format(admin_url('admin.php?page=mailpoet-settings'))
|
8 |
| raw
|
views/layout.html
CHANGED
@@ -35,7 +35,7 @@ jQuery('.toplevel_page_mailpoet-newsletters.menu-top-last')
|
|
35 |
<%= do_action('mailpoet_styles_admin_after') %>
|
36 |
|
37 |
<!-- rtl specific stylesheet -->
|
38 |
-
<% if is_rtl %>
|
39 |
<%= stylesheet('rtl.css') %>
|
40 |
<% endif %>
|
41 |
|
35 |
<%= do_action('mailpoet_styles_admin_after') %>
|
36 |
|
37 |
<!-- rtl specific stylesheet -->
|
38 |
+
<% if is_rtl() %>
|
39 |
<%= stylesheet('rtl.css') %>
|
40 |
<% endif %>
|
41 |
|
views/newsletter/editor.html
CHANGED
@@ -1233,9 +1233,9 @@
|
|
1233 |
data: {
|
1234 |
newsletter_id: response.data.id
|
1235 |
}
|
1236 |
-
}).done(
|
1237 |
MailPoet.Notice.success(MailPoet.I18n.t('newsletterIsPaused'))
|
1238 |
-
).fail(function(response) {
|
1239 |
if (response.errors.length > 0) {
|
1240 |
MailPoet.Notice.error(
|
1241 |
response.errors.map(function(error) { return error.message; }),
|
1233 |
data: {
|
1234 |
newsletter_id: response.data.id
|
1235 |
}
|
1236 |
+
}).done(function(respose) {
|
1237 |
MailPoet.Notice.success(MailPoet.I18n.t('newsletterIsPaused'))
|
1238 |
+
}).fail(function(response) {
|
1239 |
if (response.errors.length > 0) {
|
1240 |
MailPoet.Notice.error(
|
1241 |
response.errors.map(function(error) { return error.message; }),
|
views/settings/mta.html
CHANGED
@@ -122,7 +122,7 @@
|
|
122 |
<br />
|
123 |
<%= __('Choose to send emails through your website (not recommended) or a third party sender.') %>
|
124 |
<ul class="sending-method-benefits mailpoet_error">
|
125 |
-
<li class="mailpoet_error_item"><%= __(
|
126 |
<li class="mailpoet_error_item"><%= __('Sending speed is limited by your web host.') %>
|
127 |
<li class="mailpoet_error_item"><%= __('Manual configuration of SPF and DKIM required.') %>
|
128 |
<li class="mailpoet_error_item"><%= __('Bounce handling is available, but only with an extra add-on.') %>
|
122 |
<br />
|
123 |
<%= __('Choose to send emails through your website (not recommended) or a third party sender.') %>
|
124 |
<ul class="sending-method-benefits mailpoet_error">
|
125 |
+
<li class="mailpoet_error_item"><%= __("You'll probably end up in spam.") %>
|
126 |
<li class="mailpoet_error_item"><%= __('Sending speed is limited by your web host.') %>
|
127 |
<li class="mailpoet_error_item"><%= __('Manual configuration of SPF and DKIM required.') %>
|
128 |
<li class="mailpoet_error_item"><%= __('Bounce handling is available, but only with an extra add-on.') %>
|
views/update.html
CHANGED
@@ -89,10 +89,10 @@
|
|
89 |
data: {
|
90 |
analytics: { enabled: (is_enabled)}
|
91 |
}
|
92 |
-
}).fail((response)
|
93 |
if (response.errors.length > 0) {
|
94 |
MailPoet.Notice.error(
|
95 |
-
response.errors.map((error)
|
96 |
{ scroll: true }
|
97 |
);
|
98 |
}
|
89 |
data: {
|
90 |
analytics: { enabled: (is_enabled)}
|
91 |
}
|
92 |
+
}).fail(function(response) {
|
93 |
if (response.errors.length > 0) {
|
94 |
MailPoet.Notice.error(
|
95 |
+
response.errors.map(function(error) { return error.message; }),
|
96 |
{ scroll: true }
|
97 |
);
|
98 |
}
|
views/welcome.html
CHANGED
@@ -110,10 +110,10 @@ jQuery(function($) {
|
|
110 |
data: {
|
111 |
analytics: { enabled: (is_enabled)}
|
112 |
}
|
113 |
-
}).fail((response)
|
114 |
if (response.errors.length > 0) {
|
115 |
MailPoet.Notice.error(
|
116 |
-
response.errors.map((error)
|
117 |
{ scroll: true }
|
118 |
);
|
119 |
}
|
110 |
data: {
|
111 |
analytics: { enabled: (is_enabled)}
|
112 |
}
|
113 |
+
}).fail(function(response) {
|
114 |
if (response.errors.length > 0) {
|
115 |
MailPoet.Notice.error(
|
116 |
+
response.errors.map(function(error) { return error.message; }),
|
117 |
{ scroll: true }
|
118 |
);
|
119 |
}
|