Version Description
- 2017-12-05 =
- Improved: [mailpoet_manage_subscription] always renders for logged in WP users. Thx Jon, Sean, Steve & metaglyphics;
- Fixed: migration from MailPoet 2 on hosts with missing "mbstring" PHP extension. Thanks Alvaro!
- Fixed: updated existing libraries that previously contained security issues. Thanks Rhiannon (@goija) and Bits of Freedom!
Download this release
Release Info
| Developer | wysija |
| Plugin | |
| Version | 3.2.4 |
| Comparing to | |
| See all releases | |
Code changes from version 3.3.0 to 3.2.4
- assets/js/{admin.39fd28da.js → admin.dfed86f0.js} +200 -218
- assets/js/{admin_vendor.7914137d.js → admin_vendor.8b1d6679.js} +134 -167
- assets/js/{mailpoet.a5fa72ae.js → mailpoet.0a2f113c.js} +5 -7
- assets/js/manifest.json +4 -4
- assets/js/{vendor.3c206dd6.js → vendor.16d46c95.js} +1 -1
- lang/mailpoet-ca.mo +0 -0
- lang/mailpoet-da_DK.mo +0 -0
- lang/mailpoet-de_DE.mo +0 -0
- lang/mailpoet-en_GB.mo +0 -0
- lang/mailpoet-es_ES.mo +0 -0
- lang/mailpoet-fa_IR.mo +0 -0
- lang/mailpoet-fr_CA.mo +0 -0
- lang/mailpoet-fr_FR.mo +0 -0
- lang/mailpoet-it_IT.mo +0 -0
- lang/mailpoet-ja.mo +0 -0
- lang/mailpoet-nl_NL.mo +0 -0
- lang/mailpoet-pl_PL.mo +0 -0
- lang/mailpoet-pt_BR.mo +0 -0
- lang/mailpoet-pt_PT.mo +0 -0
- lang/mailpoet-ru_RU.mo +0 -0
- lang/mailpoet-sq.mo +0 -0
- lang/mailpoet-sv_SE.mo +0 -0
- lang/mailpoet-tr_TR.mo +0 -0
- lang/mailpoet.pot +4 -4
- lib/Config/Localizer.php +0 -11
- lib/Config/Populator.php +0 -2
- mailpoet.php +3 -3
- readme.txt +2 -6
- vendor/autoload.php +1 -1
- vendor/composer/autoload_real.php +7 -7
- vendor/composer/autoload_static.php +5 -5
- views/update.html +7 -14
assets/js/{admin.39fd28da.js → admin.dfed86f0.js}
RENAMED
|
@@ -92,7 +92,7 @@ webpackJsonp([0],{
|
|
| 92 |
|
| 93 |
var messages = {
|
| 94 |
onTrash: function onTrash(response) {
|
| 95 |
-
var count =
|
| 96 |
var message = null;
|
| 97 |
|
| 98 |
if (count === 1) {
|
|
@@ -103,7 +103,7 @@ webpackJsonp([0],{
|
|
| 103 |
_mailpoet2['default'].Notice.success(message);
|
| 104 |
},
|
| 105 |
onDelete: function onDelete(response) {
|
| 106 |
-
var count =
|
| 107 |
var message = null;
|
| 108 |
|
| 109 |
if (count === 1) {
|
|
@@ -114,7 +114,7 @@ webpackJsonp([0],{
|
|
| 114 |
_mailpoet2['default'].Notice.success(message);
|
| 115 |
},
|
| 116 |
onRestore: function onRestore(response) {
|
| 117 |
-
var count =
|
| 118 |
var message = null;
|
| 119 |
|
| 120 |
if (count === 1) {
|
|
@@ -150,7 +150,7 @@ webpackJsonp([0],{
|
|
| 150 |
}
|
| 151 |
};
|
| 152 |
|
| 153 |
-
var
|
| 154 |
name: 'moveToList',
|
| 155 |
label: _mailpoet2['default'].I18n.t('moveToList'),
|
| 156 |
onSelect: function onSelect() {
|
|
@@ -167,11 +167,11 @@ webpackJsonp([0],{
|
|
| 167 |
},
|
| 168 |
getData: function getData() {
|
| 169 |
return {
|
| 170 |
-
segment_id:
|
| 171 |
};
|
| 172 |
},
|
| 173 |
onSuccess: function onSuccess(response) {
|
| 174 |
-
_mailpoet2['default'].Notice.success(_mailpoet2['default'].I18n.t('multipleSubscribersMovedToList').replace('%$1d',
|
| 175 |
}
|
| 176 |
}, {
|
| 177 |
name: 'addToList',
|
|
@@ -190,11 +190,11 @@ webpackJsonp([0],{
|
|
| 190 |
},
|
| 191 |
getData: function getData() {
|
| 192 |
return {
|
| 193 |
-
segment_id:
|
| 194 |
};
|
| 195 |
},
|
| 196 |
onSuccess: function onSuccess(response) {
|
| 197 |
-
_mailpoet2['default'].Notice.success(_mailpoet2['default'].I18n.t('multipleSubscribersAddedToList').replace('%$1d',
|
| 198 |
}
|
| 199 |
}, {
|
| 200 |
name: 'removeFromList',
|
|
@@ -213,23 +213,23 @@ webpackJsonp([0],{
|
|
| 213 |
},
|
| 214 |
getData: function getData() {
|
| 215 |
return {
|
| 216 |
-
segment_id:
|
| 217 |
};
|
| 218 |
},
|
| 219 |
onSuccess: function onSuccess(response) {
|
| 220 |
-
_mailpoet2['default'].Notice.success(_mailpoet2['default'].I18n.t('multipleSubscribersRemovedFromList').replace('%$1d',
|
| 221 |
}
|
| 222 |
}, {
|
| 223 |
name: 'removeFromAllLists',
|
| 224 |
label: _mailpoet2['default'].I18n.t('removeFromAllLists'),
|
| 225 |
onSuccess: function onSuccess(response) {
|
| 226 |
-
_mailpoet2['default'].Notice.success(_mailpoet2['default'].I18n.t('multipleSubscribersRemovedFromAllLists').replace('%$1d',
|
| 227 |
}
|
| 228 |
}, {
|
| 229 |
name: 'sendConfirmationEmail',
|
| 230 |
label: _mailpoet2['default'].I18n.t('resendConfirmationEmail'),
|
| 231 |
onSuccess: function onSuccess(response) {
|
| 232 |
-
_mailpoet2['default'].Notice.success(_mailpoet2['default'].I18n.t('multipleConfirmationEmailsSent').replace('%$1d',
|
| 233 |
}
|
| 234 |
}, {
|
| 235 |
name: 'trash',
|
|
@@ -237,7 +237,7 @@ webpackJsonp([0],{
|
|
| 237 |
onSuccess: messages.onTrash
|
| 238 |
}];
|
| 239 |
|
| 240 |
-
var
|
| 241 |
name: 'edit',
|
| 242 |
label: _mailpoet2['default'].I18n.t('edit'),
|
| 243 |
link: function link(subscriber) {
|
|
@@ -250,17 +250,17 @@ webpackJsonp([0],{
|
|
| 250 |
}, {
|
| 251 |
name: 'trash',
|
| 252 |
display: function display(subscriber) {
|
| 253 |
-
return
|
| 254 |
}
|
| 255 |
}];
|
| 256 |
|
| 257 |
var SubscriberList = _react2['default'].createClass({
|
| 258 |
displayName: 'SubscriberList',
|
| 259 |
|
| 260 |
-
getSegmentFromId: function getSegmentFromId(
|
| 261 |
var result = false;
|
| 262 |
-
window.mailpoet_segments.
|
| 263 |
-
if (segment.id ===
|
| 264 |
result = segment;
|
| 265 |
}
|
| 266 |
});
|
|
@@ -269,7 +269,7 @@ webpackJsonp([0],{
|
|
| 269 |
renderItem: function renderItem(subscriber, actions) {
|
| 270 |
var _this = this;
|
| 271 |
|
| 272 |
-
var
|
| 273 |
|
| 274 |
var status = '';
|
| 275 |
|
|
@@ -289,10 +289,6 @@ webpackJsonp([0],{
|
|
| 289 |
case 'bounced':
|
| 290 |
status = _mailpoet2['default'].I18n.t('bounced');
|
| 291 |
break;
|
| 292 |
-
|
| 293 |
-
default:
|
| 294 |
-
status = 'Invalid';
|
| 295 |
-
break;
|
| 296 |
}
|
| 297 |
|
| 298 |
var segments = false;
|
|
@@ -300,20 +296,20 @@ webpackJsonp([0],{
|
|
| 300 |
// Subscriptions
|
| 301 |
if (subscriber.subscriptions.length > 0) {
|
| 302 |
(function () {
|
| 303 |
-
var
|
| 304 |
|
| 305 |
-
subscriber.subscriptions.
|
| 306 |
var segment = _this.getSegmentFromId(subscription.segment_id);
|
| 307 |
if (segment === false) return;
|
| 308 |
if (subscription.status === 'subscribed') {
|
| 309 |
-
|
| 310 |
}
|
| 311 |
});
|
| 312 |
|
| 313 |
segments = _react2['default'].createElement(
|
| 314 |
'span',
|
| 315 |
null,
|
| 316 |
-
|
| 317 |
);
|
| 318 |
})();
|
| 319 |
}
|
|
@@ -323,7 +319,7 @@ webpackJsonp([0],{
|
|
| 323 |
null,
|
| 324 |
_react2['default'].createElement(
|
| 325 |
'td',
|
| 326 |
-
{ className:
|
| 327 |
_react2['default'].createElement(
|
| 328 |
'strong',
|
| 329 |
null,
|
|
@@ -417,8 +413,8 @@ webpackJsonp([0],{
|
|
| 417 |
endpoint: 'subscribers',
|
| 418 |
onRenderItem: this.renderItem,
|
| 419 |
columns: columns,
|
| 420 |
-
bulk_actions:
|
| 421 |
-
item_actions:
|
| 422 |
messages: messages,
|
| 423 |
sort_by: 'created_at',
|
| 424 |
sort_order: 'desc'
|
|
@@ -453,21 +449,21 @@ webpackJsonp([0],{
|
|
| 453 |
label: MailPoet.I18n.t('email'),
|
| 454 |
type: 'text',
|
| 455 |
disabled: function disabled(subscriber) {
|
| 456 |
-
return
|
| 457 |
}
|
| 458 |
}, {
|
| 459 |
name: 'first_name',
|
| 460 |
label: MailPoet.I18n.t('firstname'),
|
| 461 |
type: 'text',
|
| 462 |
disabled: function disabled(subscriber) {
|
| 463 |
-
return
|
| 464 |
}
|
| 465 |
}, {
|
| 466 |
name: 'last_name',
|
| 467 |
label: MailPoet.I18n.t('lastname'),
|
| 468 |
type: 'text',
|
| 469 |
disabled: function disabled(subscriber) {
|
| 470 |
-
return
|
| 471 |
}
|
| 472 |
}, {
|
| 473 |
name: 'status',
|
|
@@ -480,7 +476,7 @@ webpackJsonp([0],{
|
|
| 480 |
bounced: MailPoet.I18n.t('bounced')
|
| 481 |
},
|
| 482 |
filter: function filter(subscriber, value) {
|
| 483 |
-
if (
|
| 484 |
return false;
|
| 485 |
}
|
| 486 |
return true;
|
|
@@ -498,14 +494,14 @@ webpackJsonp([0],{
|
|
| 498 |
return null;
|
| 499 |
}
|
| 500 |
|
| 501 |
-
return subscriber.subscriptions.
|
| 502 |
-
|
| 503 |
-
|
| 504 |
-
|
| 505 |
});
|
| 506 |
},
|
| 507 |
filter: function filter(segment) {
|
| 508 |
-
return !segment.deleted_at && segment.type === 'default';
|
| 509 |
},
|
| 510 |
getLabel: function getLabel(segment) {
|
| 511 |
return segment.name + ' (' + segment.subscribers + ')';
|
|
@@ -514,13 +510,13 @@ webpackJsonp([0],{
|
|
| 514 |
var label = '';
|
| 515 |
|
| 516 |
if (subscriber.subscriptions !== undefined) {
|
| 517 |
-
subscriber.subscriptions.
|
| 518 |
if (segment.id === subscription.segment_id) {
|
| 519 |
label = segment.name;
|
| 520 |
|
| 521 |
if (subscription.status === 'unsubscribed') {
|
| 522 |
-
var
|
| 523 |
-
label += ' (%$1s)'.replace('%$1s', MailPoet.I18n.t('unsubscribedOn').replace('%$1s',
|
| 524 |
}
|
| 525 |
}
|
| 526 |
});
|
|
@@ -529,23 +525,23 @@ webpackJsonp([0],{
|
|
| 529 |
}
|
| 530 |
}];
|
| 531 |
|
| 532 |
-
var
|
| 533 |
-
|
| 534 |
var field = {
|
| 535 |
-
name: 'cf_' +
|
| 536 |
-
label:
|
| 537 |
-
type:
|
| 538 |
};
|
| 539 |
-
if (
|
| 540 |
-
field.params =
|
| 541 |
}
|
| 542 |
|
| 543 |
-
if (
|
| 544 |
-
field.values =
|
| 545 |
}
|
| 546 |
|
| 547 |
// add placeholders for selects (date, select)
|
| 548 |
-
switch (
|
| 549 |
case 'date':
|
| 550 |
field.year_placeholder = MailPoet.I18n.t('year');
|
| 551 |
field.month_placeholder = MailPoet.I18n.t('month');
|
|
@@ -555,10 +551,6 @@ webpackJsonp([0],{
|
|
| 555 |
case 'select':
|
| 556 |
field.placeholder = '-';
|
| 557 |
break;
|
| 558 |
-
|
| 559 |
-
default:
|
| 560 |
-
field.placeholder = '';
|
| 561 |
-
break;
|
| 562 |
}
|
| 563 |
|
| 564 |
fields.push(field);
|
|
@@ -577,7 +569,7 @@ webpackJsonp([0],{
|
|
| 577 |
};
|
| 578 |
|
| 579 |
var beforeFormContent = function beforeFormContent(subscriber) {
|
| 580 |
-
if (
|
| 581 |
return React.createElement(
|
| 582 |
'p',
|
| 583 |
{ className: 'description' },
|
|
@@ -593,7 +585,6 @@ webpackJsonp([0],{
|
|
| 593 |
})
|
| 594 |
);
|
| 595 |
}
|
| 596 |
-
return undefined;
|
| 597 |
};
|
| 598 |
|
| 599 |
var afterFormContent = function afterFormContent() {
|
|
@@ -718,10 +709,10 @@ webpackJsonp([0],{
|
|
| 718 |
var container = document.getElementById('newsletters_container');
|
| 719 |
|
| 720 |
if (container) {
|
| 721 |
-
var
|
| 722 |
-
|
| 723 |
|
| 724 |
-
var
|
| 725 |
_reactRouter.Router,
|
| 726 |
{ history: history },
|
| 727 |
_react2['default'].createElement(
|
|
@@ -738,13 +729,13 @@ webpackJsonp([0],{
|
|
| 738 |
_react2['default'].createElement(_reactRouter.Route, { path: 'new/notification', component: _newslettersTypesNotificationNotificationJsx2['default'] }),
|
| 739 |
_react2['default'].createElement(_reactRouter.Route, { name: 'template', path: 'template/:id', component: _newslettersTemplatesJsx2['default'] }),
|
| 740 |
_react2['default'].createElement(_reactRouter.Route, { path: 'send/:id', component: _newslettersSendJsx2['default'] }),
|
| 741 |
-
|
| 742 |
return _react2['default'].createElement(_reactRouter.Route, { key: rt.path, path: rt.path, component: rt.component });
|
| 743 |
})
|
| 744 |
)
|
| 745 |
), container);
|
| 746 |
|
| 747 |
-
window.mailpoet_listing =
|
| 748 |
}
|
| 749 |
/* Listings */ /* Newsletter: type selection */ /* New newsletter: types */ /* Template selection */ /* Sending options */ /* Extra routes */
|
| 750 |
|
|
@@ -980,7 +971,6 @@ webpackJsonp([0],{
|
|
| 980 |
};
|
| 981 |
|
| 982 |
reader.readAsText(file);
|
| 983 |
-
return true;
|
| 984 |
},
|
| 985 |
render: function render() {
|
| 986 |
return _react2['default'].createElement(
|
|
@@ -10476,10 +10466,10 @@ webpackJsonp([0],{
|
|
| 10476 |
return true;
|
| 10477 |
},
|
| 10478 |
render: function render() {
|
| 10479 |
-
var isPaused = this.state.item.status
|
| 10480 |
var fields = this.state.fields.map(function (field) {
|
| 10481 |
var newField = field;
|
| 10482 |
-
if (field.name
|
| 10483 |
newField.disabled = isPaused;
|
| 10484 |
}
|
| 10485 |
return newField;
|
|
@@ -10584,10 +10574,10 @@ webpackJsonp([0],{
|
|
| 10584 |
getLabel: function getLabel(segment) {
|
| 10585 |
return segment.name + ' (' + parseInt(segment.subscribers, 10).toLocaleString() + ')';
|
| 10586 |
},
|
| 10587 |
-
transformChangedValue: function transformChangedValue(
|
| 10588 |
-
var
|
| 10589 |
-
return _.map(
|
| 10590 |
-
return _.find(
|
| 10591 |
return segment.id === id;
|
| 10592 |
});
|
| 10593 |
});
|
|
@@ -10956,7 +10946,7 @@ webpackJsonp([0],{
|
|
| 10956 |
},
|
| 10957 |
propagateChange: function propagateChange() {
|
| 10958 |
if (this.props.onChange) {
|
| 10959 |
-
this.props.onChange({
|
| 10960 |
target: {
|
| 10961 |
name: this.props.name || '',
|
| 10962 |
value: this.getDateTime()
|
|
@@ -11093,10 +11083,10 @@ webpackJsonp([0],{
|
|
| 11093 |
getLabel: function getLabel(segment) {
|
| 11094 |
return segment.name + ' (' + parseInt(segment.subscribers, 10).toLocaleString() + ')';
|
| 11095 |
},
|
| 11096 |
-
transformChangedValue: function transformChangedValue(
|
| 11097 |
-
var
|
| 11098 |
-
return _.map(
|
| 11099 |
-
return _.find(
|
| 11100 |
return segment.id === id;
|
| 11101 |
});
|
| 11102 |
});
|
|
@@ -11430,11 +11420,11 @@ webpackJsonp([0],{
|
|
| 11430 |
|
| 11431 |
var _newslettersListingsMixinsJsx = __webpack_require__(530);
|
| 11432 |
|
| 11433 |
-
var
|
| 11434 |
|
| 11435 |
var messages = {
|
| 11436 |
onTrash: function onTrash(response) {
|
| 11437 |
-
var count =
|
| 11438 |
var message = null;
|
| 11439 |
|
| 11440 |
if (count === 1) {
|
|
@@ -11445,7 +11435,7 @@ webpackJsonp([0],{
|
|
| 11445 |
_mailpoet2['default'].Notice.success(message);
|
| 11446 |
},
|
| 11447 |
onDelete: function onDelete(response) {
|
| 11448 |
-
var count =
|
| 11449 |
var message = null;
|
| 11450 |
|
| 11451 |
if (count === 1) {
|
|
@@ -11456,7 +11446,7 @@ webpackJsonp([0],{
|
|
| 11456 |
_mailpoet2['default'].Notice.success(message);
|
| 11457 |
},
|
| 11458 |
onRestore: function onRestore(response) {
|
| 11459 |
-
var count =
|
| 11460 |
var message = null;
|
| 11461 |
|
| 11462 |
if (count === 1) {
|
|
@@ -11481,14 +11471,14 @@ webpackJsonp([0],{
|
|
| 11481 |
}, {
|
| 11482 |
name: 'statistics',
|
| 11483 |
label: _mailpoet2['default'].I18n.t('statistics'),
|
| 11484 |
-
display:
|
| 11485 |
}, {
|
| 11486 |
name: 'sent_at',
|
| 11487 |
label: _mailpoet2['default'].I18n.t('sentOn'),
|
| 11488 |
sortable: true
|
| 11489 |
}];
|
| 11490 |
|
| 11491 |
-
var
|
| 11492 |
name: 'trash',
|
| 11493 |
label: _mailpoet2['default'].I18n.t('moveToTrash'),
|
| 11494 |
onSuccess: messages.onTrash
|
|
@@ -11498,7 +11488,7 @@ webpackJsonp([0],{
|
|
| 11498 |
var redirectToEditing = function redirectToEditing() {
|
| 11499 |
window.location.href = '?page=mailpoet-newsletter-editor&id=' + newsletter.id;
|
| 11500 |
};
|
| 11501 |
-
if (!newsletter.queue || newsletter.status
|
| 11502 |
redirectToEditing();
|
| 11503 |
} else {
|
| 11504 |
(0, _reactConfirmAlert.confirmAlert)({
|
|
@@ -11511,7 +11501,7 @@ webpackJsonp([0],{
|
|
| 11511 |
}
|
| 11512 |
};
|
| 11513 |
|
| 11514 |
-
var
|
| 11515 |
name: 'view',
|
| 11516 |
link: function link(newsletter) {
|
| 11517 |
return _react2['default'].createElement(
|
|
@@ -11551,7 +11541,7 @@ webpackJsonp([0],{
|
|
| 11551 |
}];
|
| 11552 |
|
| 11553 |
_wpJsHooks2['default'].addFilter('mailpoet_newsletters_listings_standard_actions', _newslettersListingsMixinsJsx.StatisticsMixin.addStatsCTAAction);
|
| 11554 |
-
|
| 11555 |
|
| 11556 |
var NewsletterListStandard = _react2['default'].createClass({
|
| 11557 |
displayName: 'NewsletterListStandard',
|
|
@@ -11597,7 +11587,7 @@ webpackJsonp([0],{
|
|
| 11597 |
{ className: 'column', 'data-colname': _mailpoet2['default'].I18n.t('lists') },
|
| 11598 |
segments
|
| 11599 |
),
|
| 11600 |
-
|
| 11601 |
'td',
|
| 11602 |
{ className: 'column', 'data-colname': _mailpoet2['default'].I18n.t('statistics') },
|
| 11603 |
this.renderStatistics(newsletter, undefined, meta.current_time)
|
|
@@ -11642,8 +11632,8 @@ webpackJsonp([0],{
|
|
| 11642 |
base_url: 'standard',
|
| 11643 |
onRenderItem: this.renderItem,
|
| 11644 |
columns: columns,
|
| 11645 |
-
bulk_actions:
|
| 11646 |
-
item_actions:
|
| 11647 |
messages: messages,
|
| 11648 |
auto_refresh: true,
|
| 11649 |
sort_by: 'sent_at',
|
|
@@ -11820,14 +11810,14 @@ webpackJsonp([0],{
|
|
| 11820 |
}
|
| 11821 |
});
|
| 11822 |
},
|
| 11823 |
-
renderQueueStatus: function renderQueueStatus(newsletter,
|
| 11824 |
if (!newsletter.queue) {
|
| 11825 |
return _react2['default'].createElement(
|
| 11826 |
'span',
|
| 11827 |
null,
|
| 11828 |
_mailpoet2['default'].I18n.t('notSentYet')
|
| 11829 |
);
|
| 11830 |
-
} else if (
|
| 11831 |
return _react2['default'].createElement(
|
| 11832 |
'span',
|
| 11833 |
null,
|
|
@@ -11889,12 +11879,12 @@ webpackJsonp([0],{
|
|
| 11889 |
);
|
| 11890 |
}
|
| 11891 |
|
| 11892 |
-
var
|
| 11893 |
|
| 11894 |
if (isNaN(percentage)) {
|
| 11895 |
percentage = _mailpoet2['default'].I18n.t('noSubscribers');
|
| 11896 |
} else {
|
| 11897 |
-
|
| 11898 |
percentage += '%';
|
| 11899 |
}
|
| 11900 |
|
|
@@ -11906,7 +11896,7 @@ webpackJsonp([0],{
|
|
| 11906 |
{ className: progressClasses },
|
| 11907 |
_react2['default'].createElement('span', {
|
| 11908 |
className: 'mailpoet_progress_bar',
|
| 11909 |
-
style: { width:
|
| 11910 |
}),
|
| 11911 |
_react2['default'].createElement(
|
| 11912 |
'span',
|
|
@@ -11928,8 +11918,8 @@ webpackJsonp([0],{
|
|
| 11928 |
};
|
| 11929 |
|
| 11930 |
var StatisticsMixin = {
|
| 11931 |
-
renderStatistics: function renderStatistics(newsletter,
|
| 11932 |
-
var sent =
|
| 11933 |
if (sent === undefined) {
|
| 11934 |
// condition for standard and post notification listings
|
| 11935 |
sent = newsletter.statistics && newsletter.queue && newsletter.queue.status !== 'scheduled';
|
|
@@ -11947,50 +11937,50 @@ webpackJsonp([0],{
|
|
| 11947 |
params = _wpJsHooks2['default'].applyFilters('mailpoet_newsletters_listing_stats_before', params, newsletter);
|
| 11948 |
|
| 11949 |
// welcome emails provide explicit total_sent value
|
| 11950 |
-
var
|
| 11951 |
|
| 11952 |
-
var
|
| 11953 |
-
var
|
| 11954 |
-
var
|
| 11955 |
|
| 11956 |
-
if (
|
| 11957 |
-
|
| 11958 |
-
|
| 11959 |
-
|
| 11960 |
}
|
| 11961 |
|
| 11962 |
// format to 1 decimal place
|
| 11963 |
-
var
|
| 11964 |
-
var
|
| 11965 |
-
var
|
| 11966 |
-
|
| 11967 |
-
var
|
| 11968 |
-
var
|
| 11969 |
-
var
|
| 11970 |
-
var
|
| 11971 |
-
var
|
| 11972 |
-
if (
|
| 11973 |
// standard emails and post notifications:
|
| 11974 |
// display green box for newsletters that were just sent
|
| 11975 |
-
|
| 11976 |
-
|
| 11977 |
-
|
| 11978 |
-
|
| 11979 |
-
|
| 11980 |
} else {
|
| 11981 |
// welcome emails: no green box and KB link
|
| 11982 |
-
|
| 11983 |
-
|
| 11984 |
}
|
| 11985 |
|
| 11986 |
var improveStatsKBLink = 'http://beta.docs.mailpoet.com/article/191-how-to-improve-my-open-and-click-rates';
|
| 11987 |
|
| 11988 |
// thresholds to display badges
|
| 11989 |
-
var
|
| 11990 |
-
var
|
| 11991 |
|
| 11992 |
var content = undefined;
|
| 11993 |
-
if (
|
| 11994 |
// display stats with badges
|
| 11995 |
content = _react2['default'].createElement(
|
| 11996 |
'div',
|
|
@@ -12001,12 +11991,12 @@ webpackJsonp([0],{
|
|
| 12001 |
_react2['default'].createElement(
|
| 12002 |
'span',
|
| 12003 |
null,
|
| 12004 |
-
|
| 12005 |
'% '
|
| 12006 |
),
|
| 12007 |
_react2['default'].createElement(_newslettersBadgesStatsJsx2['default'], {
|
| 12008 |
stat: 'opened',
|
| 12009 |
-
rate:
|
| 12010 |
tooltipId: 'opened-' + newsletter.id
|
| 12011 |
})
|
| 12012 |
),
|
|
@@ -12016,12 +12006,12 @@ webpackJsonp([0],{
|
|
| 12016 |
_react2['default'].createElement(
|
| 12017 |
'span',
|
| 12018 |
null,
|
| 12019 |
-
|
| 12020 |
'% '
|
| 12021 |
),
|
| 12022 |
_react2['default'].createElement(_newslettersBadgesStatsJsx2['default'], {
|
| 12023 |
stat: 'clicked',
|
| 12024 |
-
rate:
|
| 12025 |
tooltipId: 'clicked-' + newsletter.id
|
| 12026 |
})
|
| 12027 |
),
|
|
@@ -12031,7 +12021,7 @@ webpackJsonp([0],{
|
|
| 12031 |
_react2['default'].createElement(
|
| 12032 |
'span',
|
| 12033 |
{ className: 'mailpoet_stat_hidden' },
|
| 12034 |
-
|
| 12035 |
'%'
|
| 12036 |
)
|
| 12037 |
)
|
|
@@ -12044,36 +12034,36 @@ webpackJsonp([0],{
|
|
| 12044 |
_react2['default'].createElement(
|
| 12045 |
'span',
|
| 12046 |
{ className: 'mailpoet_stats_text' },
|
| 12047 |
-
|
| 12048 |
'%,',
|
| 12049 |
' ',
|
| 12050 |
-
|
| 12051 |
'%',
|
| 12052 |
_react2['default'].createElement(
|
| 12053 |
'span',
|
| 12054 |
{ className: 'mailpoet_stat_hidden' },
|
| 12055 |
', ',
|
| 12056 |
-
|
| 12057 |
'%'
|
| 12058 |
)
|
| 12059 |
),
|
| 12060 |
-
|
| 12061 |
'div',
|
| 12062 |
{ className: 'mailpoet_badge mailpoet_badge_green' },
|
| 12063 |
-
_mailpoet2['default'].I18n.t('checkBackInHours').replace('%$1d',
|
| 12064 |
)
|
| 12065 |
);
|
| 12066 |
}
|
| 12067 |
|
| 12068 |
// thresholds to display bad open rate help
|
| 12069 |
-
var
|
| 12070 |
-
var
|
| 12071 |
-
var
|
| 12072 |
|
| 12073 |
-
var
|
| 12074 |
-
if (
|
| 12075 |
// help link for bad open rate
|
| 12076 |
-
|
| 12077 |
'div',
|
| 12078 |
null,
|
| 12079 |
_react2['default'].createElement(
|
|
@@ -12088,7 +12078,7 @@ webpackJsonp([0],{
|
|
| 12088 |
);
|
| 12089 |
}
|
| 12090 |
|
| 12091 |
-
if (
|
| 12092 |
// wrap content in a link
|
| 12093 |
if (params.externalLink) {
|
| 12094 |
return _react2['default'].createElement(
|
|
@@ -12103,7 +12093,7 @@ webpackJsonp([0],{
|
|
| 12103 |
},
|
| 12104 |
content
|
| 12105 |
),
|
| 12106 |
-
|
| 12107 |
);
|
| 12108 |
}
|
| 12109 |
return _react2['default'].createElement(
|
|
@@ -12118,7 +12108,7 @@ webpackJsonp([0],{
|
|
| 12118 |
},
|
| 12119 |
content
|
| 12120 |
),
|
| 12121 |
-
|
| 12122 |
);
|
| 12123 |
}
|
| 12124 |
|
|
@@ -12126,7 +12116,7 @@ webpackJsonp([0],{
|
|
| 12126 |
'div',
|
| 12127 |
null,
|
| 12128 |
content,
|
| 12129 |
-
|
| 12130 |
);
|
| 12131 |
},
|
| 12132 |
addStatsCTAAction: function addStatsCTAAction(actions) {
|
|
@@ -12144,8 +12134,8 @@ webpackJsonp([0],{
|
|
| 12144 |
},
|
| 12145 |
display: function display(newsletter) {
|
| 12146 |
// welcome emails provide explicit total_sent value
|
| 12147 |
-
var
|
| 12148 |
-
return
|
| 12149 |
}
|
| 12150 |
});
|
| 12151 |
return actions;
|
|
@@ -12173,8 +12163,8 @@ webpackJsonp([0],{
|
|
| 12173 |
}
|
| 12174 |
},
|
| 12175 |
getMailerError: function getMailerError(state) {
|
| 12176 |
-
var
|
| 12177 |
-
var
|
| 12178 |
return _react2['default'].createElement(
|
| 12179 |
'a',
|
| 12180 |
{ href: '?page=mailpoet-settings#mta', key: 'check-sending' },
|
|
@@ -12182,12 +12172,12 @@ webpackJsonp([0],{
|
|
| 12182 |
);
|
| 12183 |
});
|
| 12184 |
if (state.meta.mta_log.error.operation === 'send') {
|
| 12185 |
-
|
| 12186 |
} else {
|
| 12187 |
-
|
| 12188 |
}
|
| 12189 |
if (state.meta.mta_log.error.error_code) {
|
| 12190 |
-
|
| 12191 |
}
|
| 12192 |
return _react2['default'].createElement(
|
| 12193 |
'div',
|
|
@@ -12195,12 +12185,12 @@ webpackJsonp([0],{
|
|
| 12195 |
_react2['default'].createElement(
|
| 12196 |
'p',
|
| 12197 |
null,
|
| 12198 |
-
|
| 12199 |
),
|
| 12200 |
_react2['default'].createElement(
|
| 12201 |
'p',
|
| 12202 |
null,
|
| 12203 |
-
|
| 12204 |
),
|
| 12205 |
_react2['default'].createElement(
|
| 12206 |
'p',
|
|
@@ -12280,13 +12270,13 @@ webpackJsonp([0],{
|
|
| 12280 |
|
| 12281 |
var _wpJsHooks2 = _interopRequireDefault(_wpJsHooks);
|
| 12282 |
|
| 12283 |
-
var
|
| 12284 |
-
var
|
| 12285 |
-
var
|
| 12286 |
|
| 12287 |
var messages = {
|
| 12288 |
onTrash: function onTrash(response) {
|
| 12289 |
-
var count =
|
| 12290 |
var message = null;
|
| 12291 |
|
| 12292 |
if (count === 1) {
|
|
@@ -12297,7 +12287,7 @@ webpackJsonp([0],{
|
|
| 12297 |
_mailpoet2['default'].Notice.success(message);
|
| 12298 |
},
|
| 12299 |
onDelete: function onDelete(response) {
|
| 12300 |
-
var count =
|
| 12301 |
var message = null;
|
| 12302 |
|
| 12303 |
if (count === 1) {
|
|
@@ -12308,7 +12298,7 @@ webpackJsonp([0],{
|
|
| 12308 |
_mailpoet2['default'].Notice.success(message);
|
| 12309 |
},
|
| 12310 |
onRestore: function onRestore(response) {
|
| 12311 |
-
var count =
|
| 12312 |
var message = null;
|
| 12313 |
|
| 12314 |
if (count === 1) {
|
|
@@ -12334,20 +12324,20 @@ webpackJsonp([0],{
|
|
| 12334 |
}, {
|
| 12335 |
name: 'statistics',
|
| 12336 |
label: _mailpoet2['default'].I18n.t('statistics'),
|
| 12337 |
-
display:
|
| 12338 |
}, {
|
| 12339 |
name: 'updated_at',
|
| 12340 |
label: _mailpoet2['default'].I18n.t('lastModifiedOn'),
|
| 12341 |
sortable: true
|
| 12342 |
}];
|
| 12343 |
|
| 12344 |
-
var
|
| 12345 |
name: 'trash',
|
| 12346 |
label: _mailpoet2['default'].I18n.t('moveToTrash'),
|
| 12347 |
onSuccess: messages.onTrash
|
| 12348 |
}];
|
| 12349 |
|
| 12350 |
-
var
|
| 12351 |
name: 'view',
|
| 12352 |
link: function link(newsletter) {
|
| 12353 |
return _react2['default'].createElement(
|
|
@@ -12370,7 +12360,7 @@ webpackJsonp([0],{
|
|
| 12370 |
}];
|
| 12371 |
|
| 12372 |
_wpJsHooks2['default'].addFilter('mailpoet_newsletters_listings_welcome_notification_actions', _newslettersListingsMixinsJsx.StatisticsMixin.addStatsCTAAction);
|
| 12373 |
-
|
| 12374 |
|
| 12375 |
var NewsletterListWelcome = _react2['default'].createClass({
|
| 12376 |
displayName: 'NewsletterListWelcome',
|
|
@@ -12388,7 +12378,7 @@ webpackJsonp([0],{
|
|
| 12388 |
endpoint: 'newsletters',
|
| 12389 |
action: 'setStatus',
|
| 12390 |
data: {
|
| 12391 |
-
id:
|
| 12392 |
status: e.target.value
|
| 12393 |
}
|
| 12394 |
}).done(function (response) {
|
|
@@ -12405,7 +12395,7 @@ webpackJsonp([0],{
|
|
| 12405 |
});
|
| 12406 |
},
|
| 12407 |
renderStatus: function renderStatus(newsletter) {
|
| 12408 |
-
var
|
| 12409 |
|
| 12410 |
return _react2['default'].createElement(
|
| 12411 |
'div',
|
|
@@ -12435,7 +12425,7 @@ webpackJsonp([0],{
|
|
| 12435 |
_react2['default'].createElement(
|
| 12436 |
'p',
|
| 12437 |
null,
|
| 12438 |
-
|
| 12439 |
)
|
| 12440 |
);
|
| 12441 |
},
|
|
@@ -12451,14 +12441,14 @@ webpackJsonp([0],{
|
|
| 12451 |
if (newsletter.options.role === 'mailpoet_all') {
|
| 12452 |
sendingEvent = _mailpoet2['default'].I18n.t('welcomeEventWPUserAnyRole');
|
| 12453 |
} else {
|
| 12454 |
-
sendingEvent = _mailpoet2['default'].I18n.t('welcomeEventWPUserWithRole').replace('%$1s',
|
| 12455 |
}
|
| 12456 |
break;
|
| 12457 |
|
| 12458 |
-
|
| 12459 |
// get segment
|
| 12460 |
-
segment = _underscore2['default'].find(
|
| 12461 |
-
return
|
| 12462 |
});
|
| 12463 |
|
| 12464 |
if (segment === undefined) {
|
|
@@ -12488,10 +12478,6 @@ webpackJsonp([0],{
|
|
| 12488 |
case 'weeks':
|
| 12489 |
sendingDelay = _mailpoet2['default'].I18n.t('sendingDelayWeeks').replace('%$1d', newsletter.options.afterTimeNumber);
|
| 12490 |
break;
|
| 12491 |
-
|
| 12492 |
-
default:
|
| 12493 |
-
sendingDelay = 'Invalid sending delay';
|
| 12494 |
-
break;
|
| 12495 |
}
|
| 12496 |
sendingEvent += ' [' + sendingDelay + ']';
|
| 12497 |
}
|
|
@@ -12538,7 +12524,7 @@ webpackJsonp([0],{
|
|
| 12538 |
{ className: 'column', 'data-colname': _mailpoet2['default'].I18n.t('settings') },
|
| 12539 |
this.renderSettings(newsletter)
|
| 12540 |
),
|
| 12541 |
-
|
| 12542 |
'td',
|
| 12543 |
{ className: 'column', 'data-colname': _mailpoet2['default'].I18n.t('statistics') },
|
| 12544 |
this.renderStatistics(newsletter, newsletter.total_sent > 0 && newsletter.statistics)
|
|
@@ -12579,8 +12565,8 @@ webpackJsonp([0],{
|
|
| 12579 |
base_url: 'welcome',
|
| 12580 |
onRenderItem: this.renderItem,
|
| 12581 |
columns: columns,
|
| 12582 |
-
bulk_actions:
|
| 12583 |
-
item_actions:
|
| 12584 |
messages: messages,
|
| 12585 |
auto_refresh: true,
|
| 12586 |
sort_by: 'updated_at',
|
|
@@ -12630,7 +12616,7 @@ webpackJsonp([0],{
|
|
| 12630 |
|
| 12631 |
var messages = {
|
| 12632 |
onTrash: function onTrash(response) {
|
| 12633 |
-
var count =
|
| 12634 |
var message = null;
|
| 12635 |
|
| 12636 |
if (count === 1) {
|
|
@@ -12641,7 +12627,7 @@ webpackJsonp([0],{
|
|
| 12641 |
_mailpoet2['default'].Notice.success(message);
|
| 12642 |
},
|
| 12643 |
onDelete: function onDelete(response) {
|
| 12644 |
-
var count =
|
| 12645 |
var message = null;
|
| 12646 |
|
| 12647 |
if (count === 1) {
|
|
@@ -12652,7 +12638,7 @@ webpackJsonp([0],{
|
|
| 12652 |
_mailpoet2['default'].Notice.success(message);
|
| 12653 |
},
|
| 12654 |
onRestore: function onRestore(response) {
|
| 12655 |
-
var count =
|
| 12656 |
var message = null;
|
| 12657 |
|
| 12658 |
if (count === 1) {
|
|
@@ -12685,13 +12671,13 @@ webpackJsonp([0],{
|
|
| 12685 |
sortable: true
|
| 12686 |
}];
|
| 12687 |
|
| 12688 |
-
var
|
| 12689 |
name: 'trash',
|
| 12690 |
label: _mailpoet2['default'].I18n.t('moveToTrash'),
|
| 12691 |
onSuccess: messages.onTrash
|
| 12692 |
}];
|
| 12693 |
|
| 12694 |
-
var
|
| 12695 |
name: 'view',
|
| 12696 |
link: function link(newsletter) {
|
| 12697 |
return _react2['default'].createElement(
|
|
@@ -12751,7 +12737,7 @@ webpackJsonp([0],{
|
|
| 12751 |
endpoint: 'newsletters',
|
| 12752 |
action: 'setStatus',
|
| 12753 |
data: {
|
| 12754 |
-
id:
|
| 12755 |
status: e.target.value
|
| 12756 |
}
|
| 12757 |
}).done(function (response) {
|
|
@@ -12826,10 +12812,6 @@ webpackJsonp([0],{
|
|
| 12826 |
case 'immediately':
|
| 12827 |
sendingFrequency = _mailpoet2['default'].I18n.t('sendImmediately');
|
| 12828 |
break;
|
| 12829 |
-
|
| 12830 |
-
default:
|
| 12831 |
-
sendingFrequency = 'Invalid sending frequency';
|
| 12832 |
-
break;
|
| 12833 |
}
|
| 12834 |
|
| 12835 |
return _react2['default'].createElement(
|
|
@@ -12841,7 +12823,7 @@ webpackJsonp([0],{
|
|
| 12841 |
);
|
| 12842 |
},
|
| 12843 |
renderHistoryLink: function renderHistoryLink(newsletter) {
|
| 12844 |
-
var childrenCount =
|
| 12845 |
if (childrenCount === 0) {
|
| 12846 |
return _mailpoet2['default'].I18n.t('notSentYet');
|
| 12847 |
}
|
|
@@ -12927,8 +12909,8 @@ webpackJsonp([0],{
|
|
| 12927 |
base_url: 'notification',
|
| 12928 |
onRenderItem: this.renderItem,
|
| 12929 |
columns: columns,
|
| 12930 |
-
bulk_actions:
|
| 12931 |
-
item_actions:
|
| 12932 |
messages: messages,
|
| 12933 |
auto_refresh: true,
|
| 12934 |
sort_by: 'updated_at',
|
|
@@ -12978,7 +12960,7 @@ webpackJsonp([0],{
|
|
| 12978 |
|
| 12979 |
var _newslettersListingsMixinsJsx = __webpack_require__(530);
|
| 12980 |
|
| 12981 |
-
var
|
| 12982 |
|
| 12983 |
var columns = [{
|
| 12984 |
name: 'subject',
|
|
@@ -12992,13 +12974,13 @@ webpackJsonp([0],{
|
|
| 12992 |
}, {
|
| 12993 |
name: 'statistics',
|
| 12994 |
label: _mailpoet2['default'].I18n.t('statistics'),
|
| 12995 |
-
display:
|
| 12996 |
}, {
|
| 12997 |
name: 'sent_at',
|
| 12998 |
label: _mailpoet2['default'].I18n.t('sentOn')
|
| 12999 |
}];
|
| 13000 |
|
| 13001 |
-
var
|
| 13002 |
name: 'view',
|
| 13003 |
link: function link(newsletter) {
|
| 13004 |
return _react2['default'].createElement(
|
|
@@ -13010,7 +12992,7 @@ webpackJsonp([0],{
|
|
| 13010 |
}];
|
| 13011 |
|
| 13012 |
_wpJsHooks2['default'].addFilter('mailpoet_newsletters_listings_notification_history_actions', _newslettersListingsMixinsJsx.StatisticsMixin.addStatsCTAAction);
|
| 13013 |
-
|
| 13014 |
|
| 13015 |
var NewsletterListNotificationHistory = _react2['default'].createClass({
|
| 13016 |
displayName: 'NewsletterListNotificationHistory',
|
|
@@ -13053,7 +13035,7 @@ webpackJsonp([0],{
|
|
| 13053 |
{ className: 'column', 'data-colname': _mailpoet2['default'].I18n.t('lists') },
|
| 13054 |
segments
|
| 13055 |
),
|
| 13056 |
-
|
| 13057 |
'td',
|
| 13058 |
{ className: 'column', 'data-colname': _mailpoet2['default'].I18n.t('statistics') },
|
| 13059 |
this.renderStatistics(newsletter, undefined, meta.current_time)
|
|
@@ -13098,7 +13080,7 @@ webpackJsonp([0],{
|
|
| 13098 |
base_url: 'notification/history/:parent_id',
|
| 13099 |
onRenderItem: this.renderItem,
|
| 13100 |
columns: columns,
|
| 13101 |
-
item_actions:
|
| 13102 |
auto_refresh: true,
|
| 13103 |
sort_by: 'sent_at',
|
| 13104 |
sort_order: 'desc',
|
|
@@ -13220,7 +13202,7 @@ webpackJsonp([0],{
|
|
| 13220 |
|
| 13221 |
var messages = {
|
| 13222 |
onTrash: function onTrash(response) {
|
| 13223 |
-
var count =
|
| 13224 |
var message = null;
|
| 13225 |
|
| 13226 |
if (count === 1) {
|
|
@@ -13231,7 +13213,7 @@ webpackJsonp([0],{
|
|
| 13231 |
_mailpoet2['default'].Notice.success(message);
|
| 13232 |
},
|
| 13233 |
onDelete: function onDelete(response) {
|
| 13234 |
-
var count =
|
| 13235 |
var message = null;
|
| 13236 |
|
| 13237 |
if (count === 1) {
|
|
@@ -13242,7 +13224,7 @@ webpackJsonp([0],{
|
|
| 13242 |
_mailpoet2['default'].Notice.success(message);
|
| 13243 |
},
|
| 13244 |
onRestore: function onRestore(response) {
|
| 13245 |
-
var count =
|
| 13246 |
var message = null;
|
| 13247 |
|
| 13248 |
if (count === 1) {
|
|
@@ -13254,13 +13236,13 @@ webpackJsonp([0],{
|
|
| 13254 |
}
|
| 13255 |
};
|
| 13256 |
|
| 13257 |
-
var
|
| 13258 |
name: 'trash',
|
| 13259 |
label: _mailpoet2['default'].I18n.t('moveToTrash'),
|
| 13260 |
onSuccess: messages.onTrash
|
| 13261 |
}];
|
| 13262 |
|
| 13263 |
-
var
|
| 13264 |
name: 'edit',
|
| 13265 |
link: function link(item) {
|
| 13266 |
return _react2['default'].createElement(
|
|
@@ -13357,22 +13339,22 @@ webpackJsonp([0],{
|
|
| 13357 |
renderItem: function renderItem(segment, actions) {
|
| 13358 |
var rowClasses = (0, _classnames2['default'])('manage-column', 'column-primary', 'has-row-actions');
|
| 13359 |
|
| 13360 |
-
var subscribed =
|
| 13361 |
-
var unconfirmed =
|
| 13362 |
-
var unsubscribed =
|
| 13363 |
-
var bounced =
|
| 13364 |
|
| 13365 |
-
var
|
| 13366 |
|
| 13367 |
if (segment.type === 'wp_users') {
|
| 13368 |
// the WP users segment is not editable so just display its name
|
| 13369 |
-
|
| 13370 |
'span',
|
| 13371 |
{ className: 'row-title' },
|
| 13372 |
segment.name
|
| 13373 |
);
|
| 13374 |
} else {
|
| 13375 |
-
|
| 13376 |
_reactRouter.Link,
|
| 13377 |
{
|
| 13378 |
className: 'row-title',
|
|
@@ -13391,7 +13373,7 @@ webpackJsonp([0],{
|
|
| 13391 |
_react2['default'].createElement(
|
| 13392 |
'strong',
|
| 13393 |
null,
|
| 13394 |
-
|
| 13395 |
),
|
| 13396 |
actions
|
| 13397 |
),
|
|
@@ -13475,8 +13457,8 @@ webpackJsonp([0],{
|
|
| 13475 |
endpoint: 'segments',
|
| 13476 |
onRenderItem: this.renderItem,
|
| 13477 |
columns: columns,
|
| 13478 |
-
bulk_actions:
|
| 13479 |
-
item_actions:
|
| 13480 |
sort_by: 'name',
|
| 13481 |
sort_order: 'asc'
|
| 13482 |
})
|
|
@@ -13657,7 +13639,7 @@ webpackJsonp([0],{
|
|
| 13657 |
|
| 13658 |
var messages = {
|
| 13659 |
onTrash: function onTrash(response) {
|
| 13660 |
-
var count =
|
| 13661 |
var message = null;
|
| 13662 |
|
| 13663 |
if (count === 1) {
|
|
@@ -13668,7 +13650,7 @@ webpackJsonp([0],{
|
|
| 13668 |
_mailpoet2['default'].Notice.success(message);
|
| 13669 |
},
|
| 13670 |
onDelete: function onDelete(response) {
|
| 13671 |
-
var count =
|
| 13672 |
var message = null;
|
| 13673 |
|
| 13674 |
if (count === 1) {
|
|
@@ -13679,7 +13661,7 @@ webpackJsonp([0],{
|
|
| 13679 |
_mailpoet2['default'].Notice.success(message);
|
| 13680 |
},
|
| 13681 |
onRestore: function onRestore(response) {
|
| 13682 |
-
var count =
|
| 13683 |
var message = null;
|
| 13684 |
|
| 13685 |
if (count === 1) {
|
|
@@ -13691,13 +13673,13 @@ webpackJsonp([0],{
|
|
| 13691 |
}
|
| 13692 |
};
|
| 13693 |
|
| 13694 |
-
var
|
| 13695 |
name: 'trash',
|
| 13696 |
label: _mailpoet2['default'].I18n.t('moveToTrash'),
|
| 13697 |
onSuccess: messages.onTrash
|
| 13698 |
}];
|
| 13699 |
|
| 13700 |
-
var
|
| 13701 |
name: 'edit',
|
| 13702 |
label: _mailpoet2['default'].I18n.t('edit'),
|
| 13703 |
link: function link(item) {
|
|
@@ -13752,7 +13734,7 @@ webpackJsonp([0],{
|
|
| 13752 |
});
|
| 13753 |
},
|
| 13754 |
renderItem: function renderItem(form, actions) {
|
| 13755 |
-
var
|
| 13756 |
|
| 13757 |
var segments = window.mailpoet_segments.filter(function (segment) {
|
| 13758 |
return _jquery2['default'].inArray(segment.id, form.segments) !== -1;
|
|
@@ -13769,7 +13751,7 @@ webpackJsonp([0],{
|
|
| 13769 |
null,
|
| 13770 |
_react2['default'].createElement(
|
| 13771 |
'td',
|
| 13772 |
-
{ className:
|
| 13773 |
_react2['default'].createElement(
|
| 13774 |
'strong',
|
| 13775 |
null,
|
|
@@ -13833,8 +13815,8 @@ webpackJsonp([0],{
|
|
| 13833 |
endpoint: 'forms',
|
| 13834 |
onRenderItem: this.renderItem,
|
| 13835 |
columns: columns,
|
| 13836 |
-
bulk_actions:
|
| 13837 |
-
item_actions:
|
| 13838 |
})
|
| 13839 |
);
|
| 13840 |
}
|
|
@@ -16008,7 +15990,7 @@ webpackJsonp([0],{
|
|
| 16008 |
}
|
| 16009 |
|
| 16010 |
function renderMSSSection(data) {
|
| 16011 |
-
if (!data.mss.enabled) return
|
| 16012 |
|
| 16013 |
var status = data.mss.enabled.isReachable;
|
| 16014 |
|
| 92 |
|
| 93 |
var messages = {
|
| 94 |
onTrash: function onTrash(response) {
|
| 95 |
+
var count = ~ ~response.meta.count;
|
| 96 |
var message = null;
|
| 97 |
|
| 98 |
if (count === 1) {
|
| 103 |
_mailpoet2['default'].Notice.success(message);
|
| 104 |
},
|
| 105 |
onDelete: function onDelete(response) {
|
| 106 |
+
var count = ~ ~response.meta.count;
|
| 107 |
var message = null;
|
| 108 |
|
| 109 |
if (count === 1) {
|
| 114 |
_mailpoet2['default'].Notice.success(message);
|
| 115 |
},
|
| 116 |
onRestore: function onRestore(response) {
|
| 117 |
+
var count = ~ ~response.meta.count;
|
| 118 |
var message = null;
|
| 119 |
|
| 120 |
if (count === 1) {
|
| 150 |
}
|
| 151 |
};
|
| 152 |
|
| 153 |
+
var bulk_actions = [{
|
| 154 |
name: 'moveToList',
|
| 155 |
label: _mailpoet2['default'].I18n.t('moveToList'),
|
| 156 |
onSelect: function onSelect() {
|
| 167 |
},
|
| 168 |
getData: function getData() {
|
| 169 |
return {
|
| 170 |
+
segment_id: ~ ~(0, _jquery2['default'])('#move_to_segment').val()
|
| 171 |
};
|
| 172 |
},
|
| 173 |
onSuccess: function onSuccess(response) {
|
| 174 |
+
_mailpoet2['default'].Notice.success(_mailpoet2['default'].I18n.t('multipleSubscribersMovedToList').replace('%$1d', (~ ~response.meta.count).toLocaleString()).replace('%$2s', response.meta.segment));
|
| 175 |
}
|
| 176 |
}, {
|
| 177 |
name: 'addToList',
|
| 190 |
},
|
| 191 |
getData: function getData() {
|
| 192 |
return {
|
| 193 |
+
segment_id: ~ ~(0, _jquery2['default'])('#add_to_segment').val()
|
| 194 |
};
|
| 195 |
},
|
| 196 |
onSuccess: function onSuccess(response) {
|
| 197 |
+
_mailpoet2['default'].Notice.success(_mailpoet2['default'].I18n.t('multipleSubscribersAddedToList').replace('%$1d', (~ ~response.meta.count).toLocaleString()).replace('%$2s', response.meta.segment));
|
| 198 |
}
|
| 199 |
}, {
|
| 200 |
name: 'removeFromList',
|
| 213 |
},
|
| 214 |
getData: function getData() {
|
| 215 |
return {
|
| 216 |
+
segment_id: ~ ~(0, _jquery2['default'])('#remove_from_segment').val()
|
| 217 |
};
|
| 218 |
},
|
| 219 |
onSuccess: function onSuccess(response) {
|
| 220 |
+
_mailpoet2['default'].Notice.success(_mailpoet2['default'].I18n.t('multipleSubscribersRemovedFromList').replace('%$1d', (~ ~response.meta.count).toLocaleString()).replace('%$2s', response.meta.segment));
|
| 221 |
}
|
| 222 |
}, {
|
| 223 |
name: 'removeFromAllLists',
|
| 224 |
label: _mailpoet2['default'].I18n.t('removeFromAllLists'),
|
| 225 |
onSuccess: function onSuccess(response) {
|
| 226 |
+
_mailpoet2['default'].Notice.success(_mailpoet2['default'].I18n.t('multipleSubscribersRemovedFromAllLists').replace('%$1d', (~ ~response.meta.count).toLocaleString()));
|
| 227 |
}
|
| 228 |
}, {
|
| 229 |
name: 'sendConfirmationEmail',
|
| 230 |
label: _mailpoet2['default'].I18n.t('resendConfirmationEmail'),
|
| 231 |
onSuccess: function onSuccess(response) {
|
| 232 |
+
_mailpoet2['default'].Notice.success(_mailpoet2['default'].I18n.t('multipleConfirmationEmailsSent').replace('%$1d', (~ ~response.meta.count).toLocaleString()));
|
| 233 |
}
|
| 234 |
}, {
|
| 235 |
name: 'trash',
|
| 237 |
onSuccess: messages.onTrash
|
| 238 |
}];
|
| 239 |
|
| 240 |
+
var item_actions = [{
|
| 241 |
name: 'edit',
|
| 242 |
label: _mailpoet2['default'].I18n.t('edit'),
|
| 243 |
link: function link(subscriber) {
|
| 250 |
}, {
|
| 251 |
name: 'trash',
|
| 252 |
display: function display(subscriber) {
|
| 253 |
+
return !!(~ ~subscriber.wp_user_id === 0);
|
| 254 |
}
|
| 255 |
}];
|
| 256 |
|
| 257 |
var SubscriberList = _react2['default'].createClass({
|
| 258 |
displayName: 'SubscriberList',
|
| 259 |
|
| 260 |
+
getSegmentFromId: function getSegmentFromId(segment_id) {
|
| 261 |
var result = false;
|
| 262 |
+
window.mailpoet_segments.map(function (segment) {
|
| 263 |
+
if (segment.id === segment_id) {
|
| 264 |
result = segment;
|
| 265 |
}
|
| 266 |
});
|
| 269 |
renderItem: function renderItem(subscriber, actions) {
|
| 270 |
var _this = this;
|
| 271 |
|
| 272 |
+
var row_classes = (0, _classnames2['default'])('manage-column', 'column-primary', 'has-row-actions', 'column-username');
|
| 273 |
|
| 274 |
var status = '';
|
| 275 |
|
| 289 |
case 'bounced':
|
| 290 |
status = _mailpoet2['default'].I18n.t('bounced');
|
| 291 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
| 292 |
}
|
| 293 |
|
| 294 |
var segments = false;
|
| 296 |
// Subscriptions
|
| 297 |
if (subscriber.subscriptions.length > 0) {
|
| 298 |
(function () {
|
| 299 |
+
var subscribed_segments = [];
|
| 300 |
|
| 301 |
+
subscriber.subscriptions.map(function (subscription) {
|
| 302 |
var segment = _this.getSegmentFromId(subscription.segment_id);
|
| 303 |
if (segment === false) return;
|
| 304 |
if (subscription.status === 'subscribed') {
|
| 305 |
+
subscribed_segments.push(segment.name);
|
| 306 |
}
|
| 307 |
});
|
| 308 |
|
| 309 |
segments = _react2['default'].createElement(
|
| 310 |
'span',
|
| 311 |
null,
|
| 312 |
+
subscribed_segments.join(', ')
|
| 313 |
);
|
| 314 |
})();
|
| 315 |
}
|
| 319 |
null,
|
| 320 |
_react2['default'].createElement(
|
| 321 |
'td',
|
| 322 |
+
{ className: row_classes },
|
| 323 |
_react2['default'].createElement(
|
| 324 |
'strong',
|
| 325 |
null,
|
| 413 |
endpoint: 'subscribers',
|
| 414 |
onRenderItem: this.renderItem,
|
| 415 |
columns: columns,
|
| 416 |
+
bulk_actions: bulk_actions,
|
| 417 |
+
item_actions: item_actions,
|
| 418 |
messages: messages,
|
| 419 |
sort_by: 'created_at',
|
| 420 |
sort_order: 'desc'
|
| 449 |
label: MailPoet.I18n.t('email'),
|
| 450 |
type: 'text',
|
| 451 |
disabled: function disabled(subscriber) {
|
| 452 |
+
return ~ ~(subscriber.wp_user_id > 0);
|
| 453 |
}
|
| 454 |
}, {
|
| 455 |
name: 'first_name',
|
| 456 |
label: MailPoet.I18n.t('firstname'),
|
| 457 |
type: 'text',
|
| 458 |
disabled: function disabled(subscriber) {
|
| 459 |
+
return ~ ~(subscriber.wp_user_id > 0);
|
| 460 |
}
|
| 461 |
}, {
|
| 462 |
name: 'last_name',
|
| 463 |
label: MailPoet.I18n.t('lastname'),
|
| 464 |
type: 'text',
|
| 465 |
disabled: function disabled(subscriber) {
|
| 466 |
+
return ~ ~(subscriber.wp_user_id > 0);
|
| 467 |
}
|
| 468 |
}, {
|
| 469 |
name: 'status',
|
| 476 |
bounced: MailPoet.I18n.t('bounced')
|
| 477 |
},
|
| 478 |
filter: function filter(subscriber, value) {
|
| 479 |
+
if (~ ~subscriber.wp_user_id > 0 && value === 'unconfirmed') {
|
| 480 |
return false;
|
| 481 |
}
|
| 482 |
return true;
|
| 494 |
return null;
|
| 495 |
}
|
| 496 |
|
| 497 |
+
return subscriber.subscriptions.map(function (subscription) {
|
| 498 |
+
if (subscription.status === 'subscribed') {
|
| 499 |
+
return subscription.segment_id;
|
| 500 |
+
}
|
| 501 |
});
|
| 502 |
},
|
| 503 |
filter: function filter(segment) {
|
| 504 |
+
return !!(!segment.deleted_at && segment.type === 'default');
|
| 505 |
},
|
| 506 |
getLabel: function getLabel(segment) {
|
| 507 |
return segment.name + ' (' + segment.subscribers + ')';
|
| 510 |
var label = '';
|
| 511 |
|
| 512 |
if (subscriber.subscriptions !== undefined) {
|
| 513 |
+
subscriber.subscriptions.map(function (subscription) {
|
| 514 |
if (segment.id === subscription.segment_id) {
|
| 515 |
label = segment.name;
|
| 516 |
|
| 517 |
if (subscription.status === 'unsubscribed') {
|
| 518 |
+
var unsubscribed_at = MailPoet.Date.format(subscription.updated_at);
|
| 519 |
+
label += ' (%$1s)'.replace('%$1s', MailPoet.I18n.t('unsubscribedOn').replace('%$1s', unsubscribed_at));
|
| 520 |
}
|
| 521 |
}
|
| 522 |
});
|
| 525 |
}
|
| 526 |
}];
|
| 527 |
|
| 528 |
+
var custom_fields = window.mailpoet_custom_fields || [];
|
| 529 |
+
custom_fields.map(function (custom_field) {
|
| 530 |
var field = {
|
| 531 |
+
name: 'cf_' + custom_field.id,
|
| 532 |
+
label: custom_field.name,
|
| 533 |
+
type: custom_field.type
|
| 534 |
};
|
| 535 |
+
if (custom_field.params) {
|
| 536 |
+
field.params = custom_field.params;
|
| 537 |
}
|
| 538 |
|
| 539 |
+
if (custom_field.params.values) {
|
| 540 |
+
field.values = custom_field.params.values;
|
| 541 |
}
|
| 542 |
|
| 543 |
// add placeholders for selects (date, select)
|
| 544 |
+
switch (custom_field.type) {
|
| 545 |
case 'date':
|
| 546 |
field.year_placeholder = MailPoet.I18n.t('year');
|
| 547 |
field.month_placeholder = MailPoet.I18n.t('month');
|
| 551 |
case 'select':
|
| 552 |
field.placeholder = '-';
|
| 553 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
| 554 |
}
|
| 555 |
|
| 556 |
fields.push(field);
|
| 569 |
};
|
| 570 |
|
| 571 |
var beforeFormContent = function beforeFormContent(subscriber) {
|
| 572 |
+
if (~ ~subscriber.wp_user_id > 0) {
|
| 573 |
return React.createElement(
|
| 574 |
'p',
|
| 575 |
{ className: 'description' },
|
| 585 |
})
|
| 586 |
);
|
| 587 |
}
|
|
|
|
| 588 |
};
|
| 589 |
|
| 590 |
var afterFormContent = function afterFormContent() {
|
| 709 |
var container = document.getElementById('newsletters_container');
|
| 710 |
|
| 711 |
if (container) {
|
| 712 |
+
var extra_routes = [];
|
| 713 |
+
extra_routes = _wpJsHooks2['default'].applyFilters('mailpoet_newsletters_before_router', extra_routes);
|
| 714 |
|
| 715 |
+
var mailpoet_listing = _reactDom2['default'].render(_react2['default'].createElement(
|
| 716 |
_reactRouter.Router,
|
| 717 |
{ history: history },
|
| 718 |
_react2['default'].createElement(
|
| 729 |
_react2['default'].createElement(_reactRouter.Route, { path: 'new/notification', component: _newslettersTypesNotificationNotificationJsx2['default'] }),
|
| 730 |
_react2['default'].createElement(_reactRouter.Route, { name: 'template', path: 'template/:id', component: _newslettersTemplatesJsx2['default'] }),
|
| 731 |
_react2['default'].createElement(_reactRouter.Route, { path: 'send/:id', component: _newslettersSendJsx2['default'] }),
|
| 732 |
+
extra_routes.map(function (rt) {
|
| 733 |
return _react2['default'].createElement(_reactRouter.Route, { key: rt.path, path: rt.path, component: rt.component });
|
| 734 |
})
|
| 735 |
)
|
| 736 |
), container);
|
| 737 |
|
| 738 |
+
window.mailpoet_listing = mailpoet_listing;
|
| 739 |
}
|
| 740 |
/* Listings */ /* Newsletter: type selection */ /* New newsletter: types */ /* Template selection */ /* Sending options */ /* Extra routes */
|
| 741 |
|
| 971 |
};
|
| 972 |
|
| 973 |
reader.readAsText(file);
|
|
|
|
| 974 |
},
|
| 975 |
render: function render() {
|
| 976 |
return _react2['default'].createElement(
|
| 10466 |
return true;
|
| 10467 |
},
|
| 10468 |
render: function render() {
|
| 10469 |
+
var isPaused = this.state.item.status == 'sending' && this.state.item.queue && this.state.item.queue.status == 'paused';
|
| 10470 |
var fields = this.state.fields.map(function (field) {
|
| 10471 |
var newField = field;
|
| 10472 |
+
if (field.name == 'segments' || field.name == 'options') {
|
| 10473 |
newField.disabled = isPaused;
|
| 10474 |
}
|
| 10475 |
return newField;
|
| 10574 |
getLabel: function getLabel(segment) {
|
| 10575 |
return segment.name + ' (' + parseInt(segment.subscribers, 10).toLocaleString() + ')';
|
| 10576 |
},
|
| 10577 |
+
transformChangedValue: function transformChangedValue(segment_ids) {
|
| 10578 |
+
var all_segments = this.state.items;
|
| 10579 |
+
return _.map(segment_ids, function (id) {
|
| 10580 |
+
return _.find(all_segments, function (segment) {
|
| 10581 |
return segment.id === id;
|
| 10582 |
});
|
| 10583 |
});
|
| 10946 |
},
|
| 10947 |
propagateChange: function propagateChange() {
|
| 10948 |
if (this.props.onChange) {
|
| 10949 |
+
return this.props.onChange({
|
| 10950 |
target: {
|
| 10951 |
name: this.props.name || '',
|
| 10952 |
value: this.getDateTime()
|
| 11083 |
getLabel: function getLabel(segment) {
|
| 11084 |
return segment.name + ' (' + parseInt(segment.subscribers, 10).toLocaleString() + ')';
|
| 11085 |
},
|
| 11086 |
+
transformChangedValue: function transformChangedValue(segment_ids) {
|
| 11087 |
+
var all_segments = this.state.items;
|
| 11088 |
+
return _.map(segment_ids, function (id) {
|
| 11089 |
+
return _.find(all_segments, function (segment) {
|
| 11090 |
return segment.id === id;
|
| 11091 |
});
|
| 11092 |
});
|
| 11420 |
|
| 11421 |
var _newslettersListingsMixinsJsx = __webpack_require__(530);
|
| 11422 |
|
| 11423 |
+
var mailpoet_tracking_enabled = !!window.mailpoet_tracking_enabled;
|
| 11424 |
|
| 11425 |
var messages = {
|
| 11426 |
onTrash: function onTrash(response) {
|
| 11427 |
+
var count = ~ ~response.meta.count;
|
| 11428 |
var message = null;
|
| 11429 |
|
| 11430 |
if (count === 1) {
|
| 11435 |
_mailpoet2['default'].Notice.success(message);
|
| 11436 |
},
|
| 11437 |
onDelete: function onDelete(response) {
|
| 11438 |
+
var count = ~ ~response.meta.count;
|
| 11439 |
var message = null;
|
| 11440 |
|
| 11441 |
if (count === 1) {
|
| 11446 |
_mailpoet2['default'].Notice.success(message);
|
| 11447 |
},
|
| 11448 |
onRestore: function onRestore(response) {
|
| 11449 |
+
var count = ~ ~response.meta.count;
|
| 11450 |
var message = null;
|
| 11451 |
|
| 11452 |
if (count === 1) {
|
| 11471 |
}, {
|
| 11472 |
name: 'statistics',
|
| 11473 |
label: _mailpoet2['default'].I18n.t('statistics'),
|
| 11474 |
+
display: mailpoet_tracking_enabled
|
| 11475 |
}, {
|
| 11476 |
name: 'sent_at',
|
| 11477 |
label: _mailpoet2['default'].I18n.t('sentOn'),
|
| 11478 |
sortable: true
|
| 11479 |
}];
|
| 11480 |
|
| 11481 |
+
var bulk_actions = [{
|
| 11482 |
name: 'trash',
|
| 11483 |
label: _mailpoet2['default'].I18n.t('moveToTrash'),
|
| 11484 |
onSuccess: messages.onTrash
|
| 11488 |
var redirectToEditing = function redirectToEditing() {
|
| 11489 |
window.location.href = '?page=mailpoet-newsletter-editor&id=' + newsletter.id;
|
| 11490 |
};
|
| 11491 |
+
if (!newsletter.queue || newsletter.status != 'sending' || newsletter.queue.status !== null) {
|
| 11492 |
redirectToEditing();
|
| 11493 |
} else {
|
| 11494 |
(0, _reactConfirmAlert.confirmAlert)({
|
| 11501 |
}
|
| 11502 |
};
|
| 11503 |
|
| 11504 |
+
var newsletter_actions = [{
|
| 11505 |
name: 'view',
|
| 11506 |
link: function link(newsletter) {
|
| 11507 |
return _react2['default'].createElement(
|
| 11541 |
}];
|
| 11542 |
|
| 11543 |
_wpJsHooks2['default'].addFilter('mailpoet_newsletters_listings_standard_actions', _newslettersListingsMixinsJsx.StatisticsMixin.addStatsCTAAction);
|
| 11544 |
+
newsletter_actions = _wpJsHooks2['default'].applyFilters('mailpoet_newsletters_listings_standard_actions', newsletter_actions);
|
| 11545 |
|
| 11546 |
var NewsletterListStandard = _react2['default'].createClass({
|
| 11547 |
displayName: 'NewsletterListStandard',
|
| 11587 |
{ className: 'column', 'data-colname': _mailpoet2['default'].I18n.t('lists') },
|
| 11588 |
segments
|
| 11589 |
),
|
| 11590 |
+
mailpoet_tracking_enabled === true ? _react2['default'].createElement(
|
| 11591 |
'td',
|
| 11592 |
{ className: 'column', 'data-colname': _mailpoet2['default'].I18n.t('statistics') },
|
| 11593 |
this.renderStatistics(newsletter, undefined, meta.current_time)
|
| 11632 |
base_url: 'standard',
|
| 11633 |
onRenderItem: this.renderItem,
|
| 11634 |
columns: columns,
|
| 11635 |
+
bulk_actions: bulk_actions,
|
| 11636 |
+
item_actions: newsletter_actions,
|
| 11637 |
messages: messages,
|
| 11638 |
auto_refresh: true,
|
| 11639 |
sort_by: 'sent_at',
|
| 11810 |
}
|
| 11811 |
});
|
| 11812 |
},
|
| 11813 |
+
renderQueueStatus: function renderQueueStatus(newsletter, mailer_log) {
|
| 11814 |
if (!newsletter.queue) {
|
| 11815 |
return _react2['default'].createElement(
|
| 11816 |
'span',
|
| 11817 |
null,
|
| 11818 |
_mailpoet2['default'].I18n.t('notSentYet')
|
| 11819 |
);
|
| 11820 |
+
} else if (mailer_log.status === 'paused' && newsletter.queue.status !== 'completed') {
|
| 11821 |
return _react2['default'].createElement(
|
| 11822 |
'span',
|
| 11823 |
null,
|
| 11879 |
);
|
| 11880 |
}
|
| 11881 |
|
| 11882 |
+
var progress_bar_width = 0;
|
| 11883 |
|
| 11884 |
if (isNaN(percentage)) {
|
| 11885 |
percentage = _mailpoet2['default'].I18n.t('noSubscribers');
|
| 11886 |
} else {
|
| 11887 |
+
progress_bar_width = percentage;
|
| 11888 |
percentage += '%';
|
| 11889 |
}
|
| 11890 |
|
| 11896 |
{ className: progressClasses },
|
| 11897 |
_react2['default'].createElement('span', {
|
| 11898 |
className: 'mailpoet_progress_bar',
|
| 11899 |
+
style: { width: progress_bar_width + '%' }
|
| 11900 |
}),
|
| 11901 |
_react2['default'].createElement(
|
| 11902 |
'span',
|
| 11918 |
};
|
| 11919 |
|
| 11920 |
var StatisticsMixin = {
|
| 11921 |
+
renderStatistics: function renderStatistics(newsletter, is_sent, current_time) {
|
| 11922 |
+
var sent = is_sent;
|
| 11923 |
if (sent === undefined) {
|
| 11924 |
// condition for standard and post notification listings
|
| 11925 |
sent = newsletter.statistics && newsletter.queue && newsletter.queue.status !== 'scheduled';
|
| 11937 |
params = _wpJsHooks2['default'].applyFilters('mailpoet_newsletters_listing_stats_before', params, newsletter);
|
| 11938 |
|
| 11939 |
// welcome emails provide explicit total_sent value
|
| 11940 |
+
var total_sent = ~ ~(newsletter.total_sent || newsletter.queue.count_processed);
|
| 11941 |
|
| 11942 |
+
var percentage_clicked = 0;
|
| 11943 |
+
var percentage_opened = 0;
|
| 11944 |
+
var percentage_unsubscribed = 0;
|
| 11945 |
|
| 11946 |
+
if (total_sent > 0) {
|
| 11947 |
+
percentage_clicked = newsletter.statistics.clicked * 100 / total_sent;
|
| 11948 |
+
percentage_opened = newsletter.statistics.opened * 100 / total_sent;
|
| 11949 |
+
percentage_unsubscribed = newsletter.statistics.unsubscribed * 100 / total_sent;
|
| 11950 |
}
|
| 11951 |
|
| 11952 |
// format to 1 decimal place
|
| 11953 |
+
var percentage_clicked_display = _mailpoet2['default'].Num.toLocaleFixed(percentage_clicked, 1);
|
| 11954 |
+
var percentage_opened_display = _mailpoet2['default'].Num.toLocaleFixed(percentage_opened, 1);
|
| 11955 |
+
var percentage_unsubscribed_display = _mailpoet2['default'].Num.toLocaleFixed(percentage_unsubscribed, 1);
|
| 11956 |
+
|
| 11957 |
+
var show_stats_timeout = undefined;
|
| 11958 |
+
var newsletter_date = undefined;
|
| 11959 |
+
var sent_hours_ago = undefined;
|
| 11960 |
+
var too_early_for_stats = undefined;
|
| 11961 |
+
var show_kb_link = undefined;
|
| 11962 |
+
if (current_time !== undefined) {
|
| 11963 |
// standard emails and post notifications:
|
| 11964 |
// display green box for newsletters that were just sent
|
| 11965 |
+
show_stats_timeout = 6; // in hours
|
| 11966 |
+
newsletter_date = newsletter.queue.scheduled_at || newsletter.queue.created_at;
|
| 11967 |
+
sent_hours_ago = (0, _moment2['default'])(current_time).diff((0, _moment2['default'])(newsletter_date), 'hours');
|
| 11968 |
+
too_early_for_stats = sent_hours_ago < show_stats_timeout;
|
| 11969 |
+
show_kb_link = true;
|
| 11970 |
} else {
|
| 11971 |
// welcome emails: no green box and KB link
|
| 11972 |
+
too_early_for_stats = false;
|
| 11973 |
+
show_kb_link = false;
|
| 11974 |
}
|
| 11975 |
|
| 11976 |
var improveStatsKBLink = 'http://beta.docs.mailpoet.com/article/191-how-to-improve-my-open-and-click-rates';
|
| 11977 |
|
| 11978 |
// thresholds to display badges
|
| 11979 |
+
var min_newsletters_sent = 20;
|
| 11980 |
+
var min_newsletter_opens = 5;
|
| 11981 |
|
| 11982 |
var content = undefined;
|
| 11983 |
+
if (total_sent >= min_newsletters_sent && newsletter.statistics.opened >= min_newsletter_opens && !too_early_for_stats) {
|
| 11984 |
// display stats with badges
|
| 11985 |
content = _react2['default'].createElement(
|
| 11986 |
'div',
|
| 11991 |
_react2['default'].createElement(
|
| 11992 |
'span',
|
| 11993 |
null,
|
| 11994 |
+
percentage_opened_display,
|
| 11995 |
'% '
|
| 11996 |
),
|
| 11997 |
_react2['default'].createElement(_newslettersBadgesStatsJsx2['default'], {
|
| 11998 |
stat: 'opened',
|
| 11999 |
+
rate: percentage_opened,
|
| 12000 |
tooltipId: 'opened-' + newsletter.id
|
| 12001 |
})
|
| 12002 |
),
|
| 12006 |
_react2['default'].createElement(
|
| 12007 |
'span',
|
| 12008 |
null,
|
| 12009 |
+
percentage_clicked_display,
|
| 12010 |
'% '
|
| 12011 |
),
|
| 12012 |
_react2['default'].createElement(_newslettersBadgesStatsJsx2['default'], {
|
| 12013 |
stat: 'clicked',
|
| 12014 |
+
rate: percentage_clicked,
|
| 12015 |
tooltipId: 'clicked-' + newsletter.id
|
| 12016 |
})
|
| 12017 |
),
|
| 12021 |
_react2['default'].createElement(
|
| 12022 |
'span',
|
| 12023 |
{ className: 'mailpoet_stat_hidden' },
|
| 12024 |
+
percentage_unsubscribed_display,
|
| 12025 |
'%'
|
| 12026 |
)
|
| 12027 |
)
|
| 12034 |
_react2['default'].createElement(
|
| 12035 |
'span',
|
| 12036 |
{ className: 'mailpoet_stats_text' },
|
| 12037 |
+
percentage_opened_display,
|
| 12038 |
'%,',
|
| 12039 |
' ',
|
| 12040 |
+
percentage_clicked_display,
|
| 12041 |
'%',
|
| 12042 |
_react2['default'].createElement(
|
| 12043 |
'span',
|
| 12044 |
{ className: 'mailpoet_stat_hidden' },
|
| 12045 |
', ',
|
| 12046 |
+
percentage_unsubscribed_display,
|
| 12047 |
'%'
|
| 12048 |
)
|
| 12049 |
),
|
| 12050 |
+
too_early_for_stats && _react2['default'].createElement(
|
| 12051 |
'div',
|
| 12052 |
{ className: 'mailpoet_badge mailpoet_badge_green' },
|
| 12053 |
+
_mailpoet2['default'].I18n.t('checkBackInHours').replace('%$1d', show_stats_timeout - sent_hours_ago)
|
| 12054 |
)
|
| 12055 |
);
|
| 12056 |
}
|
| 12057 |
|
| 12058 |
// thresholds to display bad open rate help
|
| 12059 |
+
var max_percentage_opened = 5;
|
| 12060 |
+
var min_sent_hours_ago = 24;
|
| 12061 |
+
var min_total_sent = 10;
|
| 12062 |
|
| 12063 |
+
var after_content = undefined;
|
| 12064 |
+
if (show_kb_link && percentage_opened < max_percentage_opened && sent_hours_ago >= min_sent_hours_ago && total_sent >= min_total_sent) {
|
| 12065 |
// help link for bad open rate
|
| 12066 |
+
after_content = _react2['default'].createElement(
|
| 12067 |
'div',
|
| 12068 |
null,
|
| 12069 |
_react2['default'].createElement(
|
| 12078 |
);
|
| 12079 |
}
|
| 12080 |
|
| 12081 |
+
if (total_sent > 0 && params.link) {
|
| 12082 |
// wrap content in a link
|
| 12083 |
if (params.externalLink) {
|
| 12084 |
return _react2['default'].createElement(
|
| 12093 |
},
|
| 12094 |
content
|
| 12095 |
),
|
| 12096 |
+
after_content
|
| 12097 |
);
|
| 12098 |
}
|
| 12099 |
return _react2['default'].createElement(
|
| 12108 |
},
|
| 12109 |
content
|
| 12110 |
),
|
| 12111 |
+
after_content
|
| 12112 |
);
|
| 12113 |
}
|
| 12114 |
|
| 12116 |
'div',
|
| 12117 |
null,
|
| 12118 |
content,
|
| 12119 |
+
after_content
|
| 12120 |
);
|
| 12121 |
},
|
| 12122 |
addStatsCTAAction: function addStatsCTAAction(actions) {
|
| 12134 |
},
|
| 12135 |
display: function display(newsletter) {
|
| 12136 |
// welcome emails provide explicit total_sent value
|
| 12137 |
+
var count_processed = newsletter.queue && newsletter.queue.count_processed;
|
| 12138 |
+
return ~ ~(newsletter.total_sent || count_processed) > 0;
|
| 12139 |
}
|
| 12140 |
});
|
| 12141 |
return actions;
|
| 12163 |
}
|
| 12164 |
},
|
| 12165 |
getMailerError: function getMailerError(state) {
|
| 12166 |
+
var mailer_error_notice = undefined;
|
| 12167 |
+
var mailer_check_settings_notice = (0, _reactStringReplace2['default'])(_mailpoet2['default'].I18n.t('mailerCheckSettingsNotice'), /\[link\](.*?)\[\/link\]/g, function (match) {
|
| 12168 |
return _react2['default'].createElement(
|
| 12169 |
'a',
|
| 12170 |
{ href: '?page=mailpoet-settings#mta', key: 'check-sending' },
|
| 12172 |
);
|
| 12173 |
});
|
| 12174 |
if (state.meta.mta_log.error.operation === 'send') {
|
| 12175 |
+
mailer_error_notice = _mailpoet2['default'].I18n.t('mailerSendErrorNotice').replace('%$1s', state.meta.mta_method).replace('%$2s', state.meta.mta_log.error.error_message);
|
| 12176 |
} else {
|
| 12177 |
+
mailer_error_notice = _mailpoet2['default'].I18n.t('mailerConnectionErrorNotice').replace('%$1s', state.meta.mta_log.error.error_message);
|
| 12178 |
}
|
| 12179 |
if (state.meta.mta_log.error.error_code) {
|
| 12180 |
+
mailer_error_notice += ' ' + _mailpoet2['default'].I18n.t('mailerErrorCode').replace('%$1s', state.meta.mta_log.error.error_code);
|
| 12181 |
}
|
| 12182 |
return _react2['default'].createElement(
|
| 12183 |
'div',
|
| 12185 |
_react2['default'].createElement(
|
| 12186 |
'p',
|
| 12187 |
null,
|
| 12188 |
+
mailer_error_notice
|
| 12189 |
),
|
| 12190 |
_react2['default'].createElement(
|
| 12191 |
'p',
|
| 12192 |
null,
|
| 12193 |
+
mailer_check_settings_notice
|
| 12194 |
),
|
| 12195 |
_react2['default'].createElement(
|
| 12196 |
'p',
|
| 12270 |
|
| 12271 |
var _wpJsHooks2 = _interopRequireDefault(_wpJsHooks);
|
| 12272 |
|
| 12273 |
+
var mailpoet_roles = window.mailpoet_roles || {};
|
| 12274 |
+
var mailpoet_segments = window.mailpoet_segments || {};
|
| 12275 |
+
var mailpoet_tracking_enabled = !!window.mailpoet_tracking_enabled;
|
| 12276 |
|
| 12277 |
var messages = {
|
| 12278 |
onTrash: function onTrash(response) {
|
| 12279 |
+
var count = ~ ~response.meta.count;
|
| 12280 |
var message = null;
|
| 12281 |
|
| 12282 |
if (count === 1) {
|
| 12287 |
_mailpoet2['default'].Notice.success(message);
|
| 12288 |
},
|
| 12289 |
onDelete: function onDelete(response) {
|
| 12290 |
+
var count = ~ ~response.meta.count;
|
| 12291 |
var message = null;
|
| 12292 |
|
| 12293 |
if (count === 1) {
|
| 12298 |
_mailpoet2['default'].Notice.success(message);
|
| 12299 |
},
|
| 12300 |
onRestore: function onRestore(response) {
|
| 12301 |
+
var count = ~ ~response.meta.count;
|
| 12302 |
var message = null;
|
| 12303 |
|
| 12304 |
if (count === 1) {
|
| 12324 |
}, {
|
| 12325 |
name: 'statistics',
|
| 12326 |
label: _mailpoet2['default'].I18n.t('statistics'),
|
| 12327 |
+
display: mailpoet_tracking_enabled
|
| 12328 |
}, {
|
| 12329 |
name: 'updated_at',
|
| 12330 |
label: _mailpoet2['default'].I18n.t('lastModifiedOn'),
|
| 12331 |
sortable: true
|
| 12332 |
}];
|
| 12333 |
|
| 12334 |
+
var bulk_actions = [{
|
| 12335 |
name: 'trash',
|
| 12336 |
label: _mailpoet2['default'].I18n.t('moveToTrash'),
|
| 12337 |
onSuccess: messages.onTrash
|
| 12338 |
}];
|
| 12339 |
|
| 12340 |
+
var newsletter_actions = [{
|
| 12341 |
name: 'view',
|
| 12342 |
link: function link(newsletter) {
|
| 12343 |
return _react2['default'].createElement(
|
| 12360 |
}];
|
| 12361 |
|
| 12362 |
_wpJsHooks2['default'].addFilter('mailpoet_newsletters_listings_welcome_notification_actions', _newslettersListingsMixinsJsx.StatisticsMixin.addStatsCTAAction);
|
| 12363 |
+
newsletter_actions = _wpJsHooks2['default'].applyFilters('mailpoet_newsletters_listings_welcome_notification_actions', newsletter_actions);
|
| 12364 |
|
| 12365 |
var NewsletterListWelcome = _react2['default'].createClass({
|
| 12366 |
displayName: 'NewsletterListWelcome',
|
| 12378 |
endpoint: 'newsletters',
|
| 12379 |
action: 'setStatus',
|
| 12380 |
data: {
|
| 12381 |
+
id: ~ ~e.target.getAttribute('data-id'),
|
| 12382 |
status: e.target.value
|
| 12383 |
}
|
| 12384 |
}).done(function (response) {
|
| 12395 |
});
|
| 12396 |
},
|
| 12397 |
renderStatus: function renderStatus(newsletter) {
|
| 12398 |
+
var total_sent = _mailpoet2['default'].I18n.t('sentToXSubscribers').replace('%$1d', newsletter.total_sent.toLocaleString());
|
| 12399 |
|
| 12400 |
return _react2['default'].createElement(
|
| 12401 |
'div',
|
| 12425 |
_react2['default'].createElement(
|
| 12426 |
'p',
|
| 12427 |
null,
|
| 12428 |
+
total_sent
|
| 12429 |
)
|
| 12430 |
);
|
| 12431 |
},
|
| 12441 |
if (newsletter.options.role === 'mailpoet_all') {
|
| 12442 |
sendingEvent = _mailpoet2['default'].I18n.t('welcomeEventWPUserAnyRole');
|
| 12443 |
} else {
|
| 12444 |
+
sendingEvent = _mailpoet2['default'].I18n.t('welcomeEventWPUserWithRole').replace('%$1s', mailpoet_roles[newsletter.options.role]);
|
| 12445 |
}
|
| 12446 |
break;
|
| 12447 |
|
| 12448 |
+
case 'segment':
|
| 12449 |
// get segment
|
| 12450 |
+
segment = _underscore2['default'].find(mailpoet_segments, function (seg) {
|
| 12451 |
+
return ~ ~seg.id === ~ ~newsletter.options.segment;
|
| 12452 |
});
|
| 12453 |
|
| 12454 |
if (segment === undefined) {
|
| 12478 |
case 'weeks':
|
| 12479 |
sendingDelay = _mailpoet2['default'].I18n.t('sendingDelayWeeks').replace('%$1d', newsletter.options.afterTimeNumber);
|
| 12480 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12481 |
}
|
| 12482 |
sendingEvent += ' [' + sendingDelay + ']';
|
| 12483 |
}
|
| 12524 |
{ className: 'column', 'data-colname': _mailpoet2['default'].I18n.t('settings') },
|
| 12525 |
this.renderSettings(newsletter)
|
| 12526 |
),
|
| 12527 |
+
mailpoet_tracking_enabled === true ? _react2['default'].createElement(
|
| 12528 |
'td',
|
| 12529 |
{ className: 'column', 'data-colname': _mailpoet2['default'].I18n.t('statistics') },
|
| 12530 |
this.renderStatistics(newsletter, newsletter.total_sent > 0 && newsletter.statistics)
|
| 12565 |
base_url: 'welcome',
|
| 12566 |
onRenderItem: this.renderItem,
|
| 12567 |
columns: columns,
|
| 12568 |
+
bulk_actions: bulk_actions,
|
| 12569 |
+
item_actions: newsletter_actions,
|
| 12570 |
messages: messages,
|
| 12571 |
auto_refresh: true,
|
| 12572 |
sort_by: 'updated_at',
|
| 12616 |
|
| 12617 |
var messages = {
|
| 12618 |
onTrash: function onTrash(response) {
|
| 12619 |
+
var count = ~ ~response.meta.count;
|
| 12620 |
var message = null;
|
| 12621 |
|
| 12622 |
if (count === 1) {
|
| 12627 |
_mailpoet2['default'].Notice.success(message);
|
| 12628 |
},
|
| 12629 |
onDelete: function onDelete(response) {
|
| 12630 |
+
var count = ~ ~response.meta.count;
|
| 12631 |
var message = null;
|
| 12632 |
|
| 12633 |
if (count === 1) {
|
| 12638 |
_mailpoet2['default'].Notice.success(message);
|
| 12639 |
},
|
| 12640 |
onRestore: function onRestore(response) {
|
| 12641 |
+
var count = ~ ~response.meta.count;
|
| 12642 |
var message = null;
|
| 12643 |
|
| 12644 |
if (count === 1) {
|
| 12671 |
sortable: true
|
| 12672 |
}];
|
| 12673 |
|
| 12674 |
+
var bulk_actions = [{
|
| 12675 |
name: 'trash',
|
| 12676 |
label: _mailpoet2['default'].I18n.t('moveToTrash'),
|
| 12677 |
onSuccess: messages.onTrash
|
| 12678 |
}];
|
| 12679 |
|
| 12680 |
+
var newsletter_actions = [{
|
| 12681 |
name: 'view',
|
| 12682 |
link: function link(newsletter) {
|
| 12683 |
return _react2['default'].createElement(
|
| 12737 |
endpoint: 'newsletters',
|
| 12738 |
action: 'setStatus',
|
| 12739 |
data: {
|
| 12740 |
+
id: ~ ~e.target.getAttribute('data-id'),
|
| 12741 |
status: e.target.value
|
| 12742 |
}
|
| 12743 |
}).done(function (response) {
|
| 12812 |
case 'immediately':
|
| 12813 |
sendingFrequency = _mailpoet2['default'].I18n.t('sendImmediately');
|
| 12814 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12815 |
}
|
| 12816 |
|
| 12817 |
return _react2['default'].createElement(
|
| 12823 |
);
|
| 12824 |
},
|
| 12825 |
renderHistoryLink: function renderHistoryLink(newsletter) {
|
| 12826 |
+
var childrenCount = ~ ~newsletter.children_count;
|
| 12827 |
if (childrenCount === 0) {
|
| 12828 |
return _mailpoet2['default'].I18n.t('notSentYet');
|
| 12829 |
}
|
| 12909 |
base_url: 'notification',
|
| 12910 |
onRenderItem: this.renderItem,
|
| 12911 |
columns: columns,
|
| 12912 |
+
bulk_actions: bulk_actions,
|
| 12913 |
+
item_actions: newsletter_actions,
|
| 12914 |
messages: messages,
|
| 12915 |
auto_refresh: true,
|
| 12916 |
sort_by: 'updated_at',
|
| 12960 |
|
| 12961 |
var _newslettersListingsMixinsJsx = __webpack_require__(530);
|
| 12962 |
|
| 12963 |
+
var mailpoet_tracking_enabled = !!window.mailpoet_tracking_enabled;
|
| 12964 |
|
| 12965 |
var columns = [{
|
| 12966 |
name: 'subject',
|
| 12974 |
}, {
|
| 12975 |
name: 'statistics',
|
| 12976 |
label: _mailpoet2['default'].I18n.t('statistics'),
|
| 12977 |
+
display: mailpoet_tracking_enabled
|
| 12978 |
}, {
|
| 12979 |
name: 'sent_at',
|
| 12980 |
label: _mailpoet2['default'].I18n.t('sentOn')
|
| 12981 |
}];
|
| 12982 |
|
| 12983 |
+
var newsletter_actions = [{
|
| 12984 |
name: 'view',
|
| 12985 |
link: function link(newsletter) {
|
| 12986 |
return _react2['default'].createElement(
|
| 12992 |
}];
|
| 12993 |
|
| 12994 |
_wpJsHooks2['default'].addFilter('mailpoet_newsletters_listings_notification_history_actions', _newslettersListingsMixinsJsx.StatisticsMixin.addStatsCTAAction);
|
| 12995 |
+
newsletter_actions = _wpJsHooks2['default'].applyFilters('mailpoet_newsletters_listings_notification_history_actions', newsletter_actions);
|
| 12996 |
|
| 12997 |
var NewsletterListNotificationHistory = _react2['default'].createClass({
|
| 12998 |
displayName: 'NewsletterListNotificationHistory',
|
| 13035 |
{ className: 'column', 'data-colname': _mailpoet2['default'].I18n.t('lists') },
|
| 13036 |
segments
|
| 13037 |
),
|
| 13038 |
+
mailpoet_tracking_enabled === true ? _react2['default'].createElement(
|
| 13039 |
'td',
|
| 13040 |
{ className: 'column', 'data-colname': _mailpoet2['default'].I18n.t('statistics') },
|
| 13041 |
this.renderStatistics(newsletter, undefined, meta.current_time)
|
| 13080 |
base_url: 'notification/history/:parent_id',
|
| 13081 |
onRenderItem: this.renderItem,
|
| 13082 |
columns: columns,
|
| 13083 |
+
item_actions: newsletter_actions,
|
| 13084 |
auto_refresh: true,
|
| 13085 |
sort_by: 'sent_at',
|
| 13086 |
sort_order: 'desc',
|
| 13202 |
|
| 13203 |
var messages = {
|
| 13204 |
onTrash: function onTrash(response) {
|
| 13205 |
+
var count = ~ ~response.meta.count;
|
| 13206 |
var message = null;
|
| 13207 |
|
| 13208 |
if (count === 1) {
|
| 13213 |
_mailpoet2['default'].Notice.success(message);
|
| 13214 |
},
|
| 13215 |
onDelete: function onDelete(response) {
|
| 13216 |
+
var count = ~ ~response.meta.count;
|
| 13217 |
var message = null;
|
| 13218 |
|
| 13219 |
if (count === 1) {
|
| 13224 |
_mailpoet2['default'].Notice.success(message);
|
| 13225 |
},
|
| 13226 |
onRestore: function onRestore(response) {
|
| 13227 |
+
var count = ~ ~response.meta.count;
|
| 13228 |
var message = null;
|
| 13229 |
|
| 13230 |
if (count === 1) {
|
| 13236 |
}
|
| 13237 |
};
|
| 13238 |
|
| 13239 |
+
var bulk_actions = [{
|
| 13240 |
name: 'trash',
|
| 13241 |
label: _mailpoet2['default'].I18n.t('moveToTrash'),
|
| 13242 |
onSuccess: messages.onTrash
|
| 13243 |
}];
|
| 13244 |
|
| 13245 |
+
var item_actions = [{
|
| 13246 |
name: 'edit',
|
| 13247 |
link: function link(item) {
|
| 13248 |
return _react2['default'].createElement(
|
| 13339 |
renderItem: function renderItem(segment, actions) {
|
| 13340 |
var rowClasses = (0, _classnames2['default'])('manage-column', 'column-primary', 'has-row-actions');
|
| 13341 |
|
| 13342 |
+
var subscribed = ~ ~(segment.subscribers_count.subscribed || 0);
|
| 13343 |
+
var unconfirmed = ~ ~(segment.subscribers_count.unconfirmed || 0);
|
| 13344 |
+
var unsubscribed = ~ ~(segment.subscribers_count.unsubscribed || 0);
|
| 13345 |
+
var bounced = ~ ~(segment.subscribers_count.bounced || 0);
|
| 13346 |
|
| 13347 |
+
var segment_name = undefined;
|
| 13348 |
|
| 13349 |
if (segment.type === 'wp_users') {
|
| 13350 |
// the WP users segment is not editable so just display its name
|
| 13351 |
+
segment_name = _react2['default'].createElement(
|
| 13352 |
'span',
|
| 13353 |
{ className: 'row-title' },
|
| 13354 |
segment.name
|
| 13355 |
);
|
| 13356 |
} else {
|
| 13357 |
+
segment_name = _react2['default'].createElement(
|
| 13358 |
_reactRouter.Link,
|
| 13359 |
{
|
| 13360 |
className: 'row-title',
|
| 13373 |
_react2['default'].createElement(
|
| 13374 |
'strong',
|
| 13375 |
null,
|
| 13376 |
+
segment_name
|
| 13377 |
),
|
| 13378 |
actions
|
| 13379 |
),
|
| 13457 |
endpoint: 'segments',
|
| 13458 |
onRenderItem: this.renderItem,
|
| 13459 |
columns: columns,
|
| 13460 |
+
bulk_actions: bulk_actions,
|
| 13461 |
+
item_actions: item_actions,
|
| 13462 |
sort_by: 'name',
|
| 13463 |
sort_order: 'asc'
|
| 13464 |
})
|
| 13639 |
|
| 13640 |
var messages = {
|
| 13641 |
onTrash: function onTrash(response) {
|
| 13642 |
+
var count = ~ ~response.meta.count;
|
| 13643 |
var message = null;
|
| 13644 |
|
| 13645 |
if (count === 1) {
|
| 13650 |
_mailpoet2['default'].Notice.success(message);
|
| 13651 |
},
|
| 13652 |
onDelete: function onDelete(response) {
|
| 13653 |
+
var count = ~ ~response.meta.count;
|
| 13654 |
var message = null;
|
| 13655 |
|
| 13656 |
if (count === 1) {
|
| 13661 |
_mailpoet2['default'].Notice.success(message);
|
| 13662 |
},
|
| 13663 |
onRestore: function onRestore(response) {
|
| 13664 |
+
var count = ~ ~response.meta.count;
|
| 13665 |
var message = null;
|
| 13666 |
|
| 13667 |
if (count === 1) {
|
| 13673 |
}
|
| 13674 |
};
|
| 13675 |
|
| 13676 |
+
var bulk_actions = [{
|
| 13677 |
name: 'trash',
|
| 13678 |
label: _mailpoet2['default'].I18n.t('moveToTrash'),
|
| 13679 |
onSuccess: messages.onTrash
|
| 13680 |
}];
|
| 13681 |
|
| 13682 |
+
var item_actions = [{
|
| 13683 |
name: 'edit',
|
| 13684 |
label: _mailpoet2['default'].I18n.t('edit'),
|
| 13685 |
link: function link(item) {
|
| 13734 |
});
|
| 13735 |
},
|
| 13736 |
renderItem: function renderItem(form, actions) {
|
| 13737 |
+
var row_classes = (0, _classnames2['default'])('manage-column', 'column-primary', 'has-row-actions');
|
| 13738 |
|
| 13739 |
var segments = window.mailpoet_segments.filter(function (segment) {
|
| 13740 |
return _jquery2['default'].inArray(segment.id, form.segments) !== -1;
|
| 13751 |
null,
|
| 13752 |
_react2['default'].createElement(
|
| 13753 |
'td',
|
| 13754 |
+
{ className: row_classes },
|
| 13755 |
_react2['default'].createElement(
|
| 13756 |
'strong',
|
| 13757 |
null,
|
| 13815 |
endpoint: 'forms',
|
| 13816 |
onRenderItem: this.renderItem,
|
| 13817 |
columns: columns,
|
| 13818 |
+
bulk_actions: bulk_actions,
|
| 13819 |
+
item_actions: item_actions
|
| 13820 |
})
|
| 13821 |
);
|
| 13822 |
}
|
| 15990 |
}
|
| 15991 |
|
| 15992 |
function renderMSSSection(data) {
|
| 15993 |
+
if (!data.mss.enabled) return;
|
| 15994 |
|
| 15995 |
var status = data.mss.enabled.isReachable;
|
| 15996 |
|
assets/js/{admin_vendor.7914137d.js → admin_vendor.8b1d6679.js}
RENAMED
|
@@ -30794,22 +30794,26 @@ webpackJsonp([1],[
|
|
| 30794 |
);
|
| 30795 |
}
|
| 30796 |
|
| 30797 |
-
var
|
| 30798 |
-
var
|
| 30799 |
|
| 30800 |
-
if (
|
| 30801 |
(function () {
|
| 30802 |
-
var
|
| 30803 |
-
|
| 30804 |
-
|
| 30805 |
-
|
| 30806 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 30807 |
|
| 30808 |
if (action.name === 'trash') {
|
| 30809 |
-
|
| 30810 |
'span',
|
| 30811 |
{ key: 'action-' + index, className: 'trash' },
|
| 30812 |
-
!
|
| 30813 |
_react2['default'].createElement(
|
| 30814 |
'a',
|
| 30815 |
{
|
|
@@ -30819,28 +30823,28 @@ webpackJsonp([1],[
|
|
| 30819 |
)
|
| 30820 |
);
|
| 30821 |
} else if (action.refresh) {
|
| 30822 |
-
|
| 30823 |
'span',
|
| 30824 |
{
|
| 30825 |
onClick: _this.props.onRefreshItems,
|
| 30826 |
key: 'action-' + index, className: action.name },
|
| 30827 |
-
!
|
| 30828 |
action.link(_this.props.item)
|
| 30829 |
);
|
| 30830 |
} else if (action.link) {
|
| 30831 |
-
|
| 30832 |
'span',
|
| 30833 |
{
|
| 30834 |
key: 'action-' + index, className: action.name },
|
| 30835 |
-
!
|
| 30836 |
action.link(_this.props.item)
|
| 30837 |
);
|
| 30838 |
} else {
|
| 30839 |
-
|
| 30840 |
'span',
|
| 30841 |
{
|
| 30842 |
key: 'action-' + index, className: action.name },
|
| 30843 |
-
!
|
| 30844 |
_react2['default'].createElement(
|
| 30845 |
'a',
|
| 30846 |
{ href: 'javascript:;', onClick: action.onClick !== undefined ? action.onClick.bind(null, _this.props.item, _this.props.onRefreshItems) : false },
|
|
@@ -30849,15 +30853,15 @@ webpackJsonp([1],[
|
|
| 30849 |
);
|
| 30850 |
}
|
| 30851 |
|
| 30852 |
-
if (
|
| 30853 |
-
|
| 30854 |
}
|
| 30855 |
|
| 30856 |
-
return
|
| 30857 |
});
|
| 30858 |
})();
|
| 30859 |
} else {
|
| 30860 |
-
|
| 30861 |
'span',
|
| 30862 |
{ className: 'edit' },
|
| 30863 |
_react2['default'].createElement(
|
|
@@ -30923,7 +30927,7 @@ webpackJsonp([1],[
|
|
| 30923 |
_react2['default'].createElement(
|
| 30924 |
'div',
|
| 30925 |
{ className: 'row-actions' },
|
| 30926 |
-
|
| 30927 |
),
|
| 30928 |
_react2['default'].createElement(
|
| 30929 |
'button',
|
|
@@ -30939,11 +30943,11 @@ webpackJsonp([1],[
|
|
| 30939 |
);
|
| 30940 |
}
|
| 30941 |
|
| 30942 |
-
var
|
| 30943 |
|
| 30944 |
return _react2['default'].createElement(
|
| 30945 |
'tr',
|
| 30946 |
-
{ className:
|
| 30947 |
checkbox,
|
| 30948 |
this.props.onRenderItem(this.props.item, actions)
|
| 30949 |
);
|
|
@@ -30980,7 +30984,7 @@ webpackJsonp([1],[
|
|
| 30980 |
)
|
| 30981 |
);
|
| 30982 |
}
|
| 30983 |
-
var
|
| 30984 |
});
|
| 30985 |
|
| 30986 |
return _react2['default'].createElement(
|
|
@@ -30988,7 +30992,7 @@ webpackJsonp([1],[
|
|
| 30988 |
null,
|
| 30989 |
_react2['default'].createElement(
|
| 30990 |
'tr',
|
| 30991 |
-
{ className:
|
| 30992 |
_react2['default'].createElement(
|
| 30993 |
'td',
|
| 30994 |
{ colSpan: this.props.columns.length + (this.props.is_selectable ? 1 : 0) },
|
|
@@ -31063,7 +31067,7 @@ webpackJsonp([1],[
|
|
| 31063 |
var state = this.getInitialState();
|
| 31064 |
// check for url params
|
| 31065 |
if (params.splat) {
|
| 31066 |
-
params.splat.split('/').
|
| 31067 |
var _getParam = _this3.getParam(param);
|
| 31068 |
|
| 31069 |
var _getParam2 = _slicedToArray(_getParam, 2);
|
|
@@ -31074,7 +31078,7 @@ webpackJsonp([1],[
|
|
| 31074 |
var filters = {};
|
| 31075 |
switch (key) {
|
| 31076 |
case 'filter':
|
| 31077 |
-
value.split('&').
|
| 31078 |
var _pair$split = pair.split('=');
|
| 31079 |
|
| 31080 |
var _pair$split2 = _slicedToArray(_pair$split, 2);
|
|
@@ -31095,7 +31099,7 @@ webpackJsonp([1],[
|
|
| 31095 |
|
| 31096 |
// limit per page
|
| 31097 |
if (this.props.limit !== undefined) {
|
| 31098 |
-
state.limit = Math.abs(
|
| 31099 |
}
|
| 31100 |
|
| 31101 |
// sort by
|
|
@@ -31136,17 +31140,12 @@ webpackJsonp([1],[
|
|
| 31136 |
} else if (value === Boolean(value)) {
|
| 31137 |
value = value.toString();
|
| 31138 |
}
|
| 31139 |
-
|
| 31140 |
-
|
| 31141 |
-
value
|
| 31142 |
-
}
|
| 31143 |
-
}).filter(function (
|
| 31144 |
-
|
| 31145 |
-
return value !== '' && value !== null;
|
| 31146 |
-
}).map(function (_ref2) {
|
| 31147 |
-
var key = _ref2.key;
|
| 31148 |
-
var value = _ref2.value;
|
| 31149 |
-
return key + '[' + value + ']';
|
| 31150 |
}).join('/');
|
| 31151 |
|
| 31152 |
// set url
|
|
@@ -31158,22 +31157,22 @@ webpackJsonp([1],[
|
|
| 31158 |
}
|
| 31159 |
},
|
| 31160 |
getUrlWithParams: function getUrlWithParams(params) {
|
| 31161 |
-
var
|
| 31162 |
|
| 31163 |
-
if (
|
| 31164 |
-
|
| 31165 |
-
return '/' +
|
| 31166 |
}
|
| 31167 |
return '/' + params;
|
| 31168 |
},
|
| 31169 |
-
setBaseUrlParams: function setBaseUrlParams(
|
| 31170 |
var _this5 = this;
|
| 31171 |
|
| 31172 |
-
var ret =
|
| 31173 |
if (ret.indexOf(':') !== -1) {
|
| 31174 |
(function () {
|
| 31175 |
var params = _this5.getParams();
|
| 31176 |
-
Object.keys(params).
|
| 31177 |
if (ret.indexOf(':' + key) !== -1) {
|
| 31178 |
ret = ret.replace(':' + key, params[key]);
|
| 31179 |
}
|
|
@@ -31347,10 +31346,10 @@ webpackJsonp([1],[
|
|
| 31347 |
}), { scroll: true });
|
| 31348 |
});
|
| 31349 |
},
|
| 31350 |
-
handleBulkAction: function handleBulkAction(
|
| 31351 |
var _this12 = this;
|
| 31352 |
|
| 31353 |
-
if (this.state.selection === false && this.state.selected_ids.length === 0 &&
|
| 31354 |
return false;
|
| 31355 |
}
|
| 31356 |
|
|
@@ -31365,8 +31364,8 @@ webpackJsonp([1],[
|
|
| 31365 |
group: this.state.group,
|
| 31366 |
search: this.state.search
|
| 31367 |
};
|
| 31368 |
-
if (
|
| 31369 |
-
data.listing.selection =
|
| 31370 |
}
|
| 31371 |
|
| 31372 |
return _mailpoet2['default'].Ajax.post({
|
|
@@ -31396,47 +31395,47 @@ webpackJsonp([1],[
|
|
| 31396 |
_this13.setParams();
|
| 31397 |
});
|
| 31398 |
},
|
| 31399 |
-
handleSort: function handleSort(
|
| 31400 |
var _this14 = this;
|
| 31401 |
|
| 31402 |
-
var
|
| 31403 |
|
| 31404 |
this.setState({
|
| 31405 |
-
sort_by:
|
| 31406 |
-
sort_order:
|
| 31407 |
}, function () {
|
| 31408 |
_this14.setParams();
|
| 31409 |
});
|
| 31410 |
},
|
| 31411 |
-
handleSelectItem: function handleSelectItem(id,
|
| 31412 |
-
var
|
| 31413 |
var selection = false;
|
| 31414 |
|
| 31415 |
-
if (
|
| 31416 |
-
|
| 31417 |
// check whether all items on the page are selected
|
| 31418 |
if ((0, _jquery2['default'])('tbody .check-column :checkbox:not(:checked)').length === 0) {
|
| 31419 |
selection = 'page';
|
| 31420 |
}
|
| 31421 |
} else {
|
| 31422 |
-
|
| 31423 |
}
|
| 31424 |
|
| 31425 |
this.setState({
|
| 31426 |
selection: selection,
|
| 31427 |
-
selected_ids:
|
| 31428 |
});
|
| 31429 |
},
|
| 31430 |
-
handleSelectItems: function handleSelectItems(
|
| 31431 |
-
if (
|
| 31432 |
this.clearSelection();
|
| 31433 |
} else {
|
| 31434 |
-
var
|
| 31435 |
-
return
|
| 31436 |
});
|
| 31437 |
|
| 31438 |
this.setState({
|
| 31439 |
-
selected_ids:
|
| 31440 |
selection: 'page'
|
| 31441 |
});
|
| 31442 |
}
|
|
@@ -31502,8 +31501,8 @@ webpackJsonp([1],[
|
|
| 31502 |
},
|
| 31503 |
render: function render() {
|
| 31504 |
var items = this.state.items;
|
| 31505 |
-
var
|
| 31506 |
-
var
|
| 31507 |
|
| 31508 |
// columns
|
| 31509 |
var columns = this.props.columns || [];
|
|
@@ -31512,10 +31511,10 @@ webpackJsonp([1],[
|
|
| 31512 |
});
|
| 31513 |
|
| 31514 |
// bulk actions
|
| 31515 |
-
var
|
| 31516 |
|
| 31517 |
-
if (this.state.group === 'trash' &&
|
| 31518 |
-
|
| 31519 |
name: 'restore',
|
| 31520 |
label: _mailpoet2['default'].I18n.t('restore'),
|
| 31521 |
onSuccess: this.props.messages.onRestore
|
|
@@ -31527,9 +31526,9 @@ webpackJsonp([1],[
|
|
| 31527 |
}
|
| 31528 |
|
| 31529 |
// item actions
|
| 31530 |
-
var
|
| 31531 |
|
| 31532 |
-
var
|
| 31533 |
|
| 31534 |
// search
|
| 31535 |
var search = _react2['default'].createElement(_listingSearchJsx2['default'], {
|
|
@@ -31566,7 +31565,7 @@ webpackJsonp([1],[
|
|
| 31566 |
{ className: 'tablenav top clearfix' },
|
| 31567 |
_react2['default'].createElement(_listingBulk_actionsJsx2['default'], {
|
| 31568 |
count: this.state.count,
|
| 31569 |
-
bulk_actions:
|
| 31570 |
selection: this.state.selection,
|
| 31571 |
selected_ids: this.state.selected_ids,
|
| 31572 |
onBulkAction: this.handleBulkAction }),
|
|
@@ -31586,7 +31585,7 @@ webpackJsonp([1],[
|
|
| 31586 |
),
|
| 31587 |
_react2['default'].createElement(
|
| 31588 |
'table',
|
| 31589 |
-
{ className:
|
| 31590 |
_react2['default'].createElement(
|
| 31591 |
'thead',
|
| 31592 |
null,
|
|
@@ -31594,10 +31593,10 @@ webpackJsonp([1],[
|
|
| 31594 |
onSort: this.handleSort,
|
| 31595 |
onSelectItems: this.handleSelectItems,
|
| 31596 |
selection: this.state.selection,
|
| 31597 |
-
sort_by:
|
| 31598 |
-
sort_order:
|
| 31599 |
columns: columns,
|
| 31600 |
-
is_selectable:
|
| 31601 |
),
|
| 31602 |
_react2['default'].createElement(ListingItems, {
|
| 31603 |
onRenderItem: this.handleRenderItem,
|
|
@@ -31606,7 +31605,7 @@ webpackJsonp([1],[
|
|
| 31606 |
onTrashItem: this.handleTrashItem,
|
| 31607 |
onRefreshItems: this.handleRefreshItems,
|
| 31608 |
columns: columns,
|
| 31609 |
-
is_selectable:
|
| 31610 |
onSelectItem: this.handleSelectItem,
|
| 31611 |
onSelectAll: this.handleSelectAll,
|
| 31612 |
selection: this.state.selection,
|
|
@@ -31615,7 +31614,7 @@ webpackJsonp([1],[
|
|
| 31615 |
group: this.state.group,
|
| 31616 |
count: this.state.count,
|
| 31617 |
limit: this.state.limit,
|
| 31618 |
-
item_actions:
|
| 31619 |
messages: messages,
|
| 31620 |
items: items }),
|
| 31621 |
_react2['default'].createElement(
|
|
@@ -31625,10 +31624,10 @@ webpackJsonp([1],[
|
|
| 31625 |
onSort: this.handleSort,
|
| 31626 |
onSelectItems: this.handleSelectItems,
|
| 31627 |
selection: this.state.selection,
|
| 31628 |
-
sort_by:
|
| 31629 |
-
sort_order:
|
| 31630 |
columns: columns,
|
| 31631 |
-
is_selectable:
|
| 31632 |
)
|
| 31633 |
),
|
| 31634 |
_react2['default'].createElement(
|
|
@@ -31636,7 +31635,7 @@ webpackJsonp([1],[
|
|
| 31636 |
{ className: 'tablenav bottom' },
|
| 31637 |
_react2['default'].createElement(_listingBulk_actionsJsx2['default'], {
|
| 31638 |
count: this.state.count,
|
| 31639 |
-
bulk_actions:
|
| 31640 |
selection: this.state.selection,
|
| 31641 |
selected_ids: this.state.selected_ids,
|
| 31642 |
onBulkAction: this.handleBulkAction }),
|
|
@@ -33255,7 +33254,7 @@ webpackJsonp([1],[
|
|
| 33255 |
return;
|
| 33256 |
}
|
| 33257 |
|
| 33258 |
-
var
|
| 33259 |
|
| 33260 |
var data = action.getData !== undefined ? action.getData() : {};
|
| 33261 |
|
|
@@ -33267,7 +33266,7 @@ webpackJsonp([1],[
|
|
| 33267 |
}
|
| 33268 |
|
| 33269 |
if (data.action) {
|
| 33270 |
-
var promise = this.props.onBulkAction(
|
| 33271 |
if (promise !== false) {
|
| 33272 |
promise.then(onSuccess);
|
| 33273 |
}
|
|
@@ -33279,10 +33278,10 @@ webpackJsonp([1],[
|
|
| 33279 |
});
|
| 33280 |
},
|
| 33281 |
getSelectedAction: function getSelectedAction() {
|
| 33282 |
-
var
|
| 33283 |
-
if (
|
| 33284 |
var action = this.props.bulk_actions.filter(function (act) {
|
| 33285 |
-
return act.name ===
|
| 33286 |
});
|
| 33287 |
|
| 33288 |
if (action.length > 0) {
|
|
@@ -33417,9 +33416,9 @@ webpackJsonp([1],[
|
|
| 33417 |
displayName: 'ListingColumn',
|
| 33418 |
|
| 33419 |
handleSort: function handleSort() {
|
| 33420 |
-
var
|
| 33421 |
-
var
|
| 33422 |
-
this.props.onSort(
|
| 33423 |
},
|
| 33424 |
render: function render() {
|
| 33425 |
var classes = (0, _classnames2['default'])('manage-column', { 'column-primary': this.props.column.is_primary }, { sortable: this.props.column.sortable }, this.props.column.sorted, { sorted: this.props.sort_by === this.props.column.name });
|
|
@@ -33491,7 +33490,7 @@ webpackJsonp([1],[
|
|
| 33491 |
this.setPage(this.constrainPage(parseInt(this.props.page, 10) + 1));
|
| 33492 |
},
|
| 33493 |
constrainPage: function constrainPage(page) {
|
| 33494 |
-
return Math.min(Math.max(1, Math.abs(
|
| 33495 |
},
|
| 33496 |
handleSetManualPage: function handleSetManualPage(e) {
|
| 33497 |
if (e.which === 13) {
|
|
@@ -33664,7 +33663,7 @@ webpackJsonp([1],[
|
|
| 33664 |
var classes = classNames('tablenav-pages', { 'one-page': this.props.count <= this.props.limit });
|
| 33665 |
|
| 33666 |
var numberOfItemsLabel = undefined;
|
| 33667 |
-
if (
|
| 33668 |
numberOfItemsLabel = MailPoet.I18n.t('numberOfItemsSingular');
|
| 33669 |
} else {
|
| 33670 |
numberOfItemsLabel = MailPoet.I18n.t('numberOfItemsMultiple').replace('%$1d', this.props.count.toLocaleString());
|
|
@@ -33806,7 +33805,7 @@ webpackJsonp([1],[
|
|
| 33806 |
var _this = this;
|
| 33807 |
|
| 33808 |
var filters = {};
|
| 33809 |
-
this.getAvailableFilters().
|
| 33810 |
filters[_this.refs['filter-' + i].name] = _this.refs['filter-' + i].value;
|
| 33811 |
});
|
| 33812 |
if (this.props.onBeforeSelectFilter) {
|
|
@@ -33826,16 +33825,16 @@ webpackJsonp([1],[
|
|
| 33826 |
componentDidUpdate: function componentDidUpdate() {
|
| 33827 |
var _this2 = this;
|
| 33828 |
|
| 33829 |
-
var
|
| 33830 |
-
this.getAvailableFilters().
|
| 33831 |
-
if (
|
| 33832 |
-
jQuery(_this2.refs['filter-' + i]).val(
|
| 33833 |
}
|
| 33834 |
});
|
| 33835 |
},
|
| 33836 |
render: function render() {
|
| 33837 |
var filters = this.props.filters;
|
| 33838 |
-
var
|
| 33839 |
return React.createElement(
|
| 33840 |
'select',
|
| 33841 |
{
|
|
@@ -33858,7 +33857,7 @@ webpackJsonp([1],[
|
|
| 33858 |
|
| 33859 |
var button = undefined;
|
| 33860 |
|
| 33861 |
-
if (
|
| 33862 |
button = React.createElement('input', {
|
| 33863 |
id: 'post-query-submit',
|
| 33864 |
onClick: this.handleFilterAction,
|
|
@@ -33867,9 +33866,9 @@ webpackJsonp([1],[
|
|
| 33867 |
className: 'button' });
|
| 33868 |
}
|
| 33869 |
|
| 33870 |
-
var
|
| 33871 |
if (this.props.group === 'trash') {
|
| 33872 |
-
|
| 33873 |
onClick: this.handleEmptyTrash,
|
| 33874 |
type: 'submit',
|
| 33875 |
value: MailPoet.I18n.t('emptyTrash'),
|
|
@@ -33880,9 +33879,9 @@ webpackJsonp([1],[
|
|
| 33880 |
return React.createElement(
|
| 33881 |
'div',
|
| 33882 |
{ className: 'alignleft actions actions' },
|
| 33883 |
-
|
| 33884 |
button,
|
| 33885 |
-
|
| 33886 |
);
|
| 33887 |
}
|
| 33888 |
});
|
|
@@ -33918,7 +33917,7 @@ webpackJsonp([1],[
|
|
| 33918 |
return this.state.select2 === true;
|
| 33919 |
},
|
| 33920 |
componentDidMount: function componentDidMount() {
|
| 33921 |
-
if (this.allowMultipleValues()
|
| 33922 |
this.setupSelect2();
|
| 33923 |
}
|
| 33924 |
},
|
|
@@ -33928,7 +33927,7 @@ webpackJsonp([1],[
|
|
| 33928 |
}
|
| 33929 |
},
|
| 33930 |
componentWillUnmount: function componentWillUnmount() {
|
| 33931 |
-
if (this.allowMultipleValues()
|
| 33932 |
this.destroySelect2();
|
| 33933 |
}
|
| 33934 |
},
|
|
@@ -33986,14 +33985,9 @@ webpackJsonp([1],[
|
|
| 33986 |
return null;
|
| 33987 |
},
|
| 33988 |
loadCachedItems: function loadCachedItems() {
|
| 33989 |
-
var items = undefined;
|
| 33990 |
if (typeof window['mailpoet_' + this.props.field.endpoint] !== 'undefined') {
|
| 33991 |
-
items = window['mailpoet_' + this.props.field.endpoint];
|
| 33992 |
-
} else if (this.props.field.values !== undefined) {
|
| 33993 |
-
items = this.props.field.values;
|
| 33994 |
-
}
|
| 33995 |
|
| 33996 |
-
if (Array.isArray(items)) {
|
| 33997 |
if (this.props.field.filter !== undefined) {
|
| 33998 |
items = items.filter(this.props.field.filter);
|
| 33999 |
}
|
|
@@ -34047,14 +34041,6 @@ webpackJsonp([1],[
|
|
| 34047 |
}
|
| 34048 |
return value;
|
| 34049 |
},
|
| 34050 |
-
insertEmptyOption: function insertEmptyOption() {
|
| 34051 |
-
// https://select2.org/placeholders
|
| 34052 |
-
// For single selects only, in order for the placeholder value to appear,
|
| 34053 |
-
// we must have a blank <option> as the first option in the <select> control.
|
| 34054 |
-
if (this.allowMultipleValues()) return undefined;
|
| 34055 |
-
if (this.props.field.placeholder) return React.createElement('option', null);
|
| 34056 |
-
return undefined;
|
| 34057 |
-
},
|
| 34058 |
render: function render() {
|
| 34059 |
var _this = this;
|
| 34060 |
|
|
@@ -34084,7 +34070,6 @@ webpackJsonp([1],[
|
|
| 34084 |
multiple: this.props.field.multiple,
|
| 34085 |
defaultValue: this.getSelectedValues()
|
| 34086 |
}, this.props.field.validation),
|
| 34087 |
-
this.insertEmptyOption(),
|
| 34088 |
options
|
| 34089 |
);
|
| 34090 |
}
|
|
@@ -39908,6 +39893,8 @@ webpackJsonp([1],[
|
|
| 39908 |
if (props.item === undefined) {
|
| 39909 |
this.refs.form.reset();
|
| 39910 |
}
|
|
|
|
|
|
|
| 39911 |
}
|
| 39912 |
},
|
| 39913 |
loadItem: function loadItem(id) {
|
|
@@ -39927,9 +39914,6 @@ webpackJsonp([1],[
|
|
| 39927 |
loading: false,
|
| 39928 |
item: response.data
|
| 39929 |
});
|
| 39930 |
-
if (typeof _this.props.onItemLoad === 'function') {
|
| 39931 |
-
_this.props.onItemLoad(response.data);
|
| 39932 |
-
}
|
| 39933 |
}).fail(function () {
|
| 39934 |
_this.setState({
|
| 39935 |
loading: false,
|
|
@@ -39955,9 +39939,9 @@ webpackJsonp([1],[
|
|
| 39955 |
|
| 39956 |
// only get values from displayed fields
|
| 39957 |
var item = {};
|
| 39958 |
-
this.props.fields.
|
| 39959 |
if (field.fields !== undefined) {
|
| 39960 |
-
field.fields.
|
| 39961 |
item[subfield.name] = _this2.state.item[subfield.name];
|
| 39962 |
});
|
| 39963 |
} else {
|
|
@@ -40156,10 +40140,6 @@ webpackJsonp([1],[
|
|
| 40156 |
case 'reactComponent':
|
| 40157 |
field = React.createElement(data.field.component, data);
|
| 40158 |
break;
|
| 40159 |
-
|
| 40160 |
-
default:
|
| 40161 |
-
field = 'invalid';
|
| 40162 |
-
break;
|
| 40163 |
}
|
| 40164 |
|
| 40165 |
if (inline === true) {
|
|
@@ -40206,7 +40186,7 @@ webpackJsonp([1],[
|
|
| 40206 |
|
| 40207 |
return React.createElement(
|
| 40208 |
'tr',
|
| 40209 |
-
|
| 40210 |
React.createElement(
|
| 40211 |
'th',
|
| 40212 |
{ scope: 'row' },
|
|
@@ -40287,7 +40267,7 @@ webpackJsonp([1],[
|
|
| 40287 |
type: "text",
|
| 40288 |
className: "regular-text",
|
| 40289 |
name: this.props.field.name,
|
| 40290 |
-
id:
|
| 40291 |
value: this.props.item[this.props.field.name],
|
| 40292 |
placeholder: this.props.field.placeholder,
|
| 40293 |
defaultValue: this.props.field.defaultValue,
|
|
@@ -40360,10 +40340,11 @@ webpackJsonp([1],[
|
|
| 40360 |
keys = Object.keys(this.props.field.values);
|
| 40361 |
}
|
| 40362 |
|
| 40363 |
-
var options = keys.
|
| 40364 |
-
if (filter === false)
|
| 40365 |
-
|
| 40366 |
-
|
|
|
|
| 40367 |
return _react2['default'].createElement(
|
| 40368 |
'option',
|
| 40369 |
{
|
|
@@ -40393,11 +40374,11 @@ webpackJsonp([1],[
|
|
| 40393 |
/* 298 */
|
| 40394 |
/***/ function(module, exports, __webpack_require__) {
|
| 40395 |
|
| 40396 |
-
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
|
| 40397 |
|
| 40398 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(2)], __WEBPACK_AMD_DEFINE_RESULT__ = function (React) {
|
| 40399 |
var FormFieldRadio = React.createClass({
|
| 40400 |
-
displayName:
|
| 40401 |
|
| 40402 |
render: function render() {
|
| 40403 |
var _this = this;
|
|
@@ -40406,17 +40387,17 @@ webpackJsonp([1],[
|
|
| 40406 |
return false;
|
| 40407 |
}
|
| 40408 |
|
| 40409 |
-
var
|
| 40410 |
var options = Object.keys(this.props.field.values).map(function (value, index) {
|
| 40411 |
return React.createElement(
|
| 40412 |
-
|
| 40413 |
-
{ key:
|
| 40414 |
React.createElement(
|
| 40415 |
-
|
| 40416 |
null,
|
| 40417 |
-
React.createElement(
|
| 40418 |
-
type:
|
| 40419 |
-
checked:
|
| 40420 |
value: value,
|
| 40421 |
onChange: _this.props.onValueChange,
|
| 40422 |
name: _this.props.field.name }),
|
|
@@ -40426,7 +40407,7 @@ webpackJsonp([1],[
|
|
| 40426 |
});
|
| 40427 |
|
| 40428 |
return React.createElement(
|
| 40429 |
-
|
| 40430 |
null,
|
| 40431 |
options
|
| 40432 |
);
|
|
@@ -40459,7 +40440,7 @@ webpackJsonp([1],[
|
|
| 40459 |
|
| 40460 |
// isChecked will be true only if the value is "1"
|
| 40461 |
// it will be false in case value is "0" or empty
|
| 40462 |
-
var isChecked = !!
|
| 40463 |
var options = Object.keys(this.props.field.values).map(function (value, index) {
|
| 40464 |
return React.createElement(
|
| 40465 |
'p',
|
|
@@ -40729,11 +40710,6 @@ webpackJsonp([1],[
|
|
| 40729 |
year: this.state.year
|
| 40730 |
};
|
| 40731 |
break;
|
| 40732 |
-
default:
|
| 40733 |
-
value = {
|
| 40734 |
-
value: 'invalid type'
|
| 40735 |
-
};
|
| 40736 |
-
break;
|
| 40737 |
}
|
| 40738 |
|
| 40739 |
return value;
|
|
@@ -40752,7 +40728,7 @@ webpackJsonp([1],[
|
|
| 40752 |
field = matches[1];
|
| 40753 |
property = matches[2];
|
| 40754 |
|
| 40755 |
-
var value =
|
| 40756 |
|
| 40757 |
this.setState(_defineProperty({}, '' + property, value), function () {
|
| 40758 |
_this.props.onValueChange({
|
|
@@ -40806,13 +40782,6 @@ webpackJsonp([1],[
|
|
| 40806 |
day: _this2.state.day,
|
| 40807 |
placeholder: _this2.props.field.day_placeholder
|
| 40808 |
});
|
| 40809 |
-
|
| 40810 |
-
default:
|
| 40811 |
-
return React.createElement(
|
| 40812 |
-
'div',
|
| 40813 |
-
null,
|
| 40814 |
-
'Invalid date type'
|
| 40815 |
-
);
|
| 40816 |
}
|
| 40817 |
});
|
| 40818 |
|
|
@@ -40835,7 +40804,7 @@ webpackJsonp([1],[
|
|
| 40835 |
/***/ function(module, exports, __webpack_require__) {
|
| 40836 |
|
| 40837 |
var require;/* WEBPACK VAR INJECTION */(function(module) {//! moment.js
|
| 40838 |
-
//! version : 2.19.
|
| 40839 |
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
|
| 40840 |
//! license : MIT
|
| 40841 |
//! momentjs.com
|
|
@@ -42865,7 +42834,7 @@ webpackJsonp([1],[
|
|
| 42865 |
// note: all values past the year are optional and will default to the lowest possible value.
|
| 42866 |
// [year, month, day , hour, minute, second, millisecond]
|
| 42867 |
function configFromArray (config) {
|
| 42868 |
-
var i, date, input = [], currentDate,
|
| 42869 |
|
| 42870 |
if (config._d) {
|
| 42871 |
return;
|
|
@@ -42915,8 +42884,6 @@ webpackJsonp([1],[
|
|
| 42915 |
}
|
| 42916 |
|
| 42917 |
config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);
|
| 42918 |
-
expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();
|
| 42919 |
-
|
| 42920 |
// Apply timezone offset from input. The actual utcOffset can be changed
|
| 42921 |
// with parseZone.
|
| 42922 |
if (config._tzm != null) {
|
|
@@ -42928,7 +42895,7 @@ webpackJsonp([1],[
|
|
| 42928 |
}
|
| 42929 |
|
| 42930 |
// check for mismatching day of week
|
| 42931 |
-
if (config._w && typeof config._w.d !== 'undefined' && config._w.d !==
|
| 42932 |
getParsingFlags(config).weekdayMismatch = true;
|
| 42933 |
}
|
| 42934 |
}
|
|
@@ -44504,7 +44471,7 @@ webpackJsonp([1],[
|
|
| 44504 |
|
| 44505 |
addParseToken(['D', 'DD'], DATE);
|
| 44506 |
addParseToken('Do', function (input, array) {
|
| 44507 |
-
array[DATE] = toInt(input.match(match1to2)[0]);
|
| 44508 |
});
|
| 44509 |
|
| 44510 |
// MOMENTS
|
|
@@ -45316,7 +45283,7 @@ webpackJsonp([1],[
|
|
| 45316 |
// Side effect imports
|
| 45317 |
|
| 45318 |
|
| 45319 |
-
hooks.version = '2.19.
|
| 45320 |
|
| 45321 |
setHookCallback(createLocal);
|
| 45322 |
|
| 30794 |
);
|
| 30795 |
}
|
| 30796 |
|
| 30797 |
+
var custom_actions = this.props.item_actions;
|
| 30798 |
+
var item_actions = false;
|
| 30799 |
|
| 30800 |
+
if (custom_actions.length > 0) {
|
| 30801 |
(function () {
|
| 30802 |
+
var is_first = true;
|
| 30803 |
+
item_actions = custom_actions.map(function (action, index) {
|
| 30804 |
+
if (action.display !== undefined) {
|
| 30805 |
+
if (action.display(_this.props.item) === false) {
|
| 30806 |
+
return;
|
| 30807 |
+
}
|
| 30808 |
+
}
|
| 30809 |
+
|
| 30810 |
+
var custom_action = null;
|
| 30811 |
|
| 30812 |
if (action.name === 'trash') {
|
| 30813 |
+
custom_action = _react2['default'].createElement(
|
| 30814 |
'span',
|
| 30815 |
{ key: 'action-' + index, className: 'trash' },
|
| 30816 |
+
!is_first ? ' | ' : '',
|
| 30817 |
_react2['default'].createElement(
|
| 30818 |
'a',
|
| 30819 |
{
|
| 30823 |
)
|
| 30824 |
);
|
| 30825 |
} else if (action.refresh) {
|
| 30826 |
+
custom_action = _react2['default'].createElement(
|
| 30827 |
'span',
|
| 30828 |
{
|
| 30829 |
onClick: _this.props.onRefreshItems,
|
| 30830 |
key: 'action-' + index, className: action.name },
|
| 30831 |
+
!is_first ? ' | ' : '',
|
| 30832 |
action.link(_this.props.item)
|
| 30833 |
);
|
| 30834 |
} else if (action.link) {
|
| 30835 |
+
custom_action = _react2['default'].createElement(
|
| 30836 |
'span',
|
| 30837 |
{
|
| 30838 |
key: 'action-' + index, className: action.name },
|
| 30839 |
+
!is_first ? ' | ' : '',
|
| 30840 |
action.link(_this.props.item)
|
| 30841 |
);
|
| 30842 |
} else {
|
| 30843 |
+
custom_action = _react2['default'].createElement(
|
| 30844 |
'span',
|
| 30845 |
{
|
| 30846 |
key: 'action-' + index, className: action.name },
|
| 30847 |
+
!is_first ? ' | ' : '',
|
| 30848 |
_react2['default'].createElement(
|
| 30849 |
'a',
|
| 30850 |
{ href: 'javascript:;', onClick: action.onClick !== undefined ? action.onClick.bind(null, _this.props.item, _this.props.onRefreshItems) : false },
|
| 30853 |
);
|
| 30854 |
}
|
| 30855 |
|
| 30856 |
+
if (custom_action !== null && is_first === true) {
|
| 30857 |
+
is_first = false;
|
| 30858 |
}
|
| 30859 |
|
| 30860 |
+
return custom_action;
|
| 30861 |
});
|
| 30862 |
})();
|
| 30863 |
} else {
|
| 30864 |
+
item_actions = _react2['default'].createElement(
|
| 30865 |
'span',
|
| 30866 |
{ className: 'edit' },
|
| 30867 |
_react2['default'].createElement(
|
| 30927 |
_react2['default'].createElement(
|
| 30928 |
'div',
|
| 30929 |
{ className: 'row-actions' },
|
| 30930 |
+
item_actions
|
| 30931 |
),
|
| 30932 |
_react2['default'].createElement(
|
| 30933 |
'button',
|
| 30943 |
);
|
| 30944 |
}
|
| 30945 |
|
| 30946 |
+
var row_classes = (0, _classnames2['default'])({ 'is-expanded': this.state.expanded });
|
| 30947 |
|
| 30948 |
return _react2['default'].createElement(
|
| 30949 |
'tr',
|
| 30950 |
+
{ className: row_classes, 'data-automation-id': 'listing_item_' + this.props.item.id },
|
| 30951 |
checkbox,
|
| 30952 |
this.props.onRenderItem(this.props.item, actions)
|
| 30953 |
);
|
| 30984 |
)
|
| 30985 |
);
|
| 30986 |
}
|
| 30987 |
+
var select_all_classes = (0, _classnames2['default'])('mailpoet_select_all', { mailpoet_hidden: this.props.selection === false || this.props.count <= this.props.limit
|
| 30988 |
});
|
| 30989 |
|
| 30990 |
return _react2['default'].createElement(
|
| 30992 |
null,
|
| 30993 |
_react2['default'].createElement(
|
| 30994 |
'tr',
|
| 30995 |
+
{ className: select_all_classes },
|
| 30996 |
_react2['default'].createElement(
|
| 30997 |
'td',
|
| 30998 |
{ colSpan: this.props.columns.length + (this.props.is_selectable ? 1 : 0) },
|
| 31067 |
var state = this.getInitialState();
|
| 31068 |
// check for url params
|
| 31069 |
if (params.splat) {
|
| 31070 |
+
params.splat.split('/').map(function (param) {
|
| 31071 |
var _getParam = _this3.getParam(param);
|
| 31072 |
|
| 31073 |
var _getParam2 = _slicedToArray(_getParam, 2);
|
| 31078 |
var filters = {};
|
| 31079 |
switch (key) {
|
| 31080 |
case 'filter':
|
| 31081 |
+
value.split('&').map(function (pair) {
|
| 31082 |
var _pair$split = pair.split('=');
|
| 31083 |
|
| 31084 |
var _pair$split2 = _slicedToArray(_pair$split, 2);
|
| 31099 |
|
| 31100 |
// limit per page
|
| 31101 |
if (this.props.limit !== undefined) {
|
| 31102 |
+
state.limit = Math.abs(~ ~this.props.limit);
|
| 31103 |
}
|
| 31104 |
|
| 31105 |
// sort by
|
| 31140 |
} else if (value === Boolean(value)) {
|
| 31141 |
value = value.toString();
|
| 31142 |
}
|
| 31143 |
+
|
| 31144 |
+
if (value !== '' && value !== null) {
|
| 31145 |
+
return key + '[' + value + ']';
|
| 31146 |
+
}
|
| 31147 |
+
}).filter(function (key) {
|
| 31148 |
+
return key !== undefined;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 31149 |
}).join('/');
|
| 31150 |
|
| 31151 |
// set url
|
| 31157 |
}
|
| 31158 |
},
|
| 31159 |
getUrlWithParams: function getUrlWithParams(params) {
|
| 31160 |
+
var base_url = this.props.base_url !== undefined ? this.props.base_url : null;
|
| 31161 |
|
| 31162 |
+
if (base_url !== null) {
|
| 31163 |
+
base_url = this.setBaseUrlParams(base_url);
|
| 31164 |
+
return '/' + base_url + '/' + params;
|
| 31165 |
}
|
| 31166 |
return '/' + params;
|
| 31167 |
},
|
| 31168 |
+
setBaseUrlParams: function setBaseUrlParams(base_url) {
|
| 31169 |
var _this5 = this;
|
| 31170 |
|
| 31171 |
+
var ret = base_url;
|
| 31172 |
if (ret.indexOf(':') !== -1) {
|
| 31173 |
(function () {
|
| 31174 |
var params = _this5.getParams();
|
| 31175 |
+
Object.keys(params).map(function (key) {
|
| 31176 |
if (ret.indexOf(':' + key) !== -1) {
|
| 31177 |
ret = ret.replace(':' + key, params[key]);
|
| 31178 |
}
|
| 31346 |
}), { scroll: true });
|
| 31347 |
});
|
| 31348 |
},
|
| 31349 |
+
handleBulkAction: function handleBulkAction(selected_ids, params) {
|
| 31350 |
var _this12 = this;
|
| 31351 |
|
| 31352 |
+
if (this.state.selection === false && this.state.selected_ids.length === 0 && selected_ids !== 'all') {
|
| 31353 |
return false;
|
| 31354 |
}
|
| 31355 |
|
| 31364 |
group: this.state.group,
|
| 31365 |
search: this.state.search
|
| 31366 |
};
|
| 31367 |
+
if (selected_ids !== 'all') {
|
| 31368 |
+
data.listing.selection = selected_ids;
|
| 31369 |
}
|
| 31370 |
|
| 31371 |
return _mailpoet2['default'].Ajax.post({
|
| 31395 |
_this13.setParams();
|
| 31396 |
});
|
| 31397 |
},
|
| 31398 |
+
handleSort: function handleSort(sort_by) {
|
| 31399 |
var _this14 = this;
|
| 31400 |
|
| 31401 |
+
var sort_order = arguments.length <= 1 || arguments[1] === undefined ? 'asc' : arguments[1];
|
| 31402 |
|
| 31403 |
this.setState({
|
| 31404 |
+
sort_by: sort_by,
|
| 31405 |
+
sort_order: sort_order === 'asc' ? 'asc' : 'desc'
|
| 31406 |
}, function () {
|
| 31407 |
_this14.setParams();
|
| 31408 |
});
|
| 31409 |
},
|
| 31410 |
+
handleSelectItem: function handleSelectItem(id, is_checked) {
|
| 31411 |
+
var selected_ids = this.state.selected_ids;
|
| 31412 |
var selection = false;
|
| 31413 |
|
| 31414 |
+
if (is_checked) {
|
| 31415 |
+
selected_ids = _jquery2['default'].merge(selected_ids, [id]);
|
| 31416 |
// check whether all items on the page are selected
|
| 31417 |
if ((0, _jquery2['default'])('tbody .check-column :checkbox:not(:checked)').length === 0) {
|
| 31418 |
selection = 'page';
|
| 31419 |
}
|
| 31420 |
} else {
|
| 31421 |
+
selected_ids.splice(selected_ids.indexOf(id), 1);
|
| 31422 |
}
|
| 31423 |
|
| 31424 |
this.setState({
|
| 31425 |
selection: selection,
|
| 31426 |
+
selected_ids: selected_ids
|
| 31427 |
});
|
| 31428 |
},
|
| 31429 |
+
handleSelectItems: function handleSelectItems(is_checked) {
|
| 31430 |
+
if (is_checked === false) {
|
| 31431 |
this.clearSelection();
|
| 31432 |
} else {
|
| 31433 |
+
var selected_ids = this.state.items.map(function (item) {
|
| 31434 |
+
return ~ ~item.id;
|
| 31435 |
});
|
| 31436 |
|
| 31437 |
this.setState({
|
| 31438 |
+
selected_ids: selected_ids,
|
| 31439 |
selection: 'page'
|
| 31440 |
});
|
| 31441 |
}
|
| 31501 |
},
|
| 31502 |
render: function render() {
|
| 31503 |
var items = this.state.items;
|
| 31504 |
+
var sort_by = this.state.sort_by;
|
| 31505 |
+
var sort_order = this.state.sort_order;
|
| 31506 |
|
| 31507 |
// columns
|
| 31508 |
var columns = this.props.columns || [];
|
| 31511 |
});
|
| 31512 |
|
| 31513 |
// bulk actions
|
| 31514 |
+
var bulk_actions = this.props.bulk_actions || [];
|
| 31515 |
|
| 31516 |
+
if (this.state.group === 'trash' && bulk_actions.length > 0) {
|
| 31517 |
+
bulk_actions = [{
|
| 31518 |
name: 'restore',
|
| 31519 |
label: _mailpoet2['default'].I18n.t('restore'),
|
| 31520 |
onSuccess: this.props.messages.onRestore
|
| 31526 |
}
|
| 31527 |
|
| 31528 |
// item actions
|
| 31529 |
+
var item_actions = this.props.item_actions || [];
|
| 31530 |
|
| 31531 |
+
var table_classes = (0, _classnames2['default'])('mailpoet_listing_table', 'wp-list-table', 'widefat', 'fixed', 'striped', { mailpoet_listing_loading: this.state.loading });
|
| 31532 |
|
| 31533 |
// search
|
| 31534 |
var search = _react2['default'].createElement(_listingSearchJsx2['default'], {
|
| 31565 |
{ className: 'tablenav top clearfix' },
|
| 31566 |
_react2['default'].createElement(_listingBulk_actionsJsx2['default'], {
|
| 31567 |
count: this.state.count,
|
| 31568 |
+
bulk_actions: bulk_actions,
|
| 31569 |
selection: this.state.selection,
|
| 31570 |
selected_ids: this.state.selected_ids,
|
| 31571 |
onBulkAction: this.handleBulkAction }),
|
| 31585 |
),
|
| 31586 |
_react2['default'].createElement(
|
| 31587 |
'table',
|
| 31588 |
+
{ className: table_classes },
|
| 31589 |
_react2['default'].createElement(
|
| 31590 |
'thead',
|
| 31591 |
null,
|
| 31593 |
onSort: this.handleSort,
|
| 31594 |
onSelectItems: this.handleSelectItems,
|
| 31595 |
selection: this.state.selection,
|
| 31596 |
+
sort_by: sort_by,
|
| 31597 |
+
sort_order: sort_order,
|
| 31598 |
columns: columns,
|
| 31599 |
+
is_selectable: bulk_actions.length > 0 })
|
| 31600 |
),
|
| 31601 |
_react2['default'].createElement(ListingItems, {
|
| 31602 |
onRenderItem: this.handleRenderItem,
|
| 31605 |
onTrashItem: this.handleTrashItem,
|
| 31606 |
onRefreshItems: this.handleRefreshItems,
|
| 31607 |
columns: columns,
|
| 31608 |
+
is_selectable: bulk_actions.length > 0,
|
| 31609 |
onSelectItem: this.handleSelectItem,
|
| 31610 |
onSelectAll: this.handleSelectAll,
|
| 31611 |
selection: this.state.selection,
|
| 31614 |
group: this.state.group,
|
| 31615 |
count: this.state.count,
|
| 31616 |
limit: this.state.limit,
|
| 31617 |
+
item_actions: item_actions,
|
| 31618 |
messages: messages,
|
| 31619 |
items: items }),
|
| 31620 |
_react2['default'].createElement(
|
| 31624 |
onSort: this.handleSort,
|
| 31625 |
onSelectItems: this.handleSelectItems,
|
| 31626 |
selection: this.state.selection,
|
| 31627 |
+
sort_by: sort_by,
|
| 31628 |
+
sort_order: sort_order,
|
| 31629 |
columns: columns,
|
| 31630 |
+
is_selectable: bulk_actions.length > 0 })
|
| 31631 |
)
|
| 31632 |
),
|
| 31633 |
_react2['default'].createElement(
|
| 31635 |
{ className: 'tablenav bottom' },
|
| 31636 |
_react2['default'].createElement(_listingBulk_actionsJsx2['default'], {
|
| 31637 |
count: this.state.count,
|
| 31638 |
+
bulk_actions: bulk_actions,
|
| 31639 |
selection: this.state.selection,
|
| 31640 |
selected_ids: this.state.selected_ids,
|
| 31641 |
onBulkAction: this.handleBulkAction }),
|
| 33254 |
return;
|
| 33255 |
}
|
| 33256 |
|
| 33257 |
+
var selected_ids = this.props.selection !== 'all' ? this.props.selected_ids : [];
|
| 33258 |
|
| 33259 |
var data = action.getData !== undefined ? action.getData() : {};
|
| 33260 |
|
| 33266 |
}
|
| 33267 |
|
| 33268 |
if (data.action) {
|
| 33269 |
+
var promise = this.props.onBulkAction(selected_ids, data);
|
| 33270 |
if (promise !== false) {
|
| 33271 |
promise.then(onSuccess);
|
| 33272 |
}
|
| 33278 |
});
|
| 33279 |
},
|
| 33280 |
getSelectedAction: function getSelectedAction() {
|
| 33281 |
+
var selected_action = this.refs.action.value;
|
| 33282 |
+
if (selected_action.length > 0) {
|
| 33283 |
var action = this.props.bulk_actions.filter(function (act) {
|
| 33284 |
+
return act.name === selected_action;
|
| 33285 |
});
|
| 33286 |
|
| 33287 |
if (action.length > 0) {
|
| 33416 |
displayName: 'ListingColumn',
|
| 33417 |
|
| 33418 |
handleSort: function handleSort() {
|
| 33419 |
+
var sort_by = this.props.column.name;
|
| 33420 |
+
var sort_order = this.props.column.sorted === 'asc' ? 'desc' : 'asc';
|
| 33421 |
+
this.props.onSort(sort_by, sort_order);
|
| 33422 |
},
|
| 33423 |
render: function render() {
|
| 33424 |
var classes = (0, _classnames2['default'])('manage-column', { 'column-primary': this.props.column.is_primary }, { sortable: this.props.column.sortable }, this.props.column.sorted, { sorted: this.props.sort_by === this.props.column.name });
|
| 33490 |
this.setPage(this.constrainPage(parseInt(this.props.page, 10) + 1));
|
| 33491 |
},
|
| 33492 |
constrainPage: function constrainPage(page) {
|
| 33493 |
+
return Math.min(Math.max(1, Math.abs(~ ~page)), this.getLastPage());
|
| 33494 |
},
|
| 33495 |
handleSetManualPage: function handleSetManualPage(e) {
|
| 33496 |
if (e.which === 13) {
|
| 33663 |
var classes = classNames('tablenav-pages', { 'one-page': this.props.count <= this.props.limit });
|
| 33664 |
|
| 33665 |
var numberOfItemsLabel = undefined;
|
| 33666 |
+
if (this.props.count == 1) {
|
| 33667 |
numberOfItemsLabel = MailPoet.I18n.t('numberOfItemsSingular');
|
| 33668 |
} else {
|
| 33669 |
numberOfItemsLabel = MailPoet.I18n.t('numberOfItemsMultiple').replace('%$1d', this.props.count.toLocaleString());
|
| 33805 |
var _this = this;
|
| 33806 |
|
| 33807 |
var filters = {};
|
| 33808 |
+
this.getAvailableFilters().map(function (filter, i) {
|
| 33809 |
filters[_this.refs['filter-' + i].name] = _this.refs['filter-' + i].value;
|
| 33810 |
});
|
| 33811 |
if (this.props.onBeforeSelectFilter) {
|
| 33825 |
componentDidUpdate: function componentDidUpdate() {
|
| 33826 |
var _this2 = this;
|
| 33827 |
|
| 33828 |
+
var selected_filters = this.props.filter;
|
| 33829 |
+
this.getAvailableFilters().map(function (filter, i) {
|
| 33830 |
+
if (selected_filters[filter] !== undefined && selected_filters[filter]) {
|
| 33831 |
+
jQuery(_this2.refs['filter-' + i]).val(selected_filters[filter]).trigger('change');
|
| 33832 |
}
|
| 33833 |
});
|
| 33834 |
},
|
| 33835 |
render: function render() {
|
| 33836 |
var filters = this.props.filters;
|
| 33837 |
+
var available_filters = this.getAvailableFilters().map(function (filter, i) {
|
| 33838 |
return React.createElement(
|
| 33839 |
'select',
|
| 33840 |
{
|
| 33857 |
|
| 33858 |
var button = undefined;
|
| 33859 |
|
| 33860 |
+
if (available_filters.length > 0) {
|
| 33861 |
button = React.createElement('input', {
|
| 33862 |
id: 'post-query-submit',
|
| 33863 |
onClick: this.handleFilterAction,
|
| 33866 |
className: 'button' });
|
| 33867 |
}
|
| 33868 |
|
| 33869 |
+
var empty_trash = undefined;
|
| 33870 |
if (this.props.group === 'trash') {
|
| 33871 |
+
empty_trash = React.createElement('input', {
|
| 33872 |
onClick: this.handleEmptyTrash,
|
| 33873 |
type: 'submit',
|
| 33874 |
value: MailPoet.I18n.t('emptyTrash'),
|
| 33879 |
return React.createElement(
|
| 33880 |
'div',
|
| 33881 |
{ className: 'alignleft actions actions' },
|
| 33882 |
+
available_filters,
|
| 33883 |
button,
|
| 33884 |
+
empty_trash
|
| 33885 |
);
|
| 33886 |
}
|
| 33887 |
});
|
| 33917 |
return this.state.select2 === true;
|
| 33918 |
},
|
| 33919 |
componentDidMount: function componentDidMount() {
|
| 33920 |
+
if (this.allowMultipleValues()) {
|
| 33921 |
this.setupSelect2();
|
| 33922 |
}
|
| 33923 |
},
|
| 33927 |
}
|
| 33928 |
},
|
| 33929 |
componentWillUnmount: function componentWillUnmount() {
|
| 33930 |
+
if (this.allowMultipleValues()) {
|
| 33931 |
this.destroySelect2();
|
| 33932 |
}
|
| 33933 |
},
|
| 33985 |
return null;
|
| 33986 |
},
|
| 33987 |
loadCachedItems: function loadCachedItems() {
|
|
|
|
| 33988 |
if (typeof window['mailpoet_' + this.props.field.endpoint] !== 'undefined') {
|
| 33989 |
+
var items = window['mailpoet_' + this.props.field.endpoint];
|
|
|
|
|
|
|
|
|
|
| 33990 |
|
|
|
|
| 33991 |
if (this.props.field.filter !== undefined) {
|
| 33992 |
items = items.filter(this.props.field.filter);
|
| 33993 |
}
|
| 34041 |
}
|
| 34042 |
return value;
|
| 34043 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34044 |
render: function render() {
|
| 34045 |
var _this = this;
|
| 34046 |
|
| 34070 |
multiple: this.props.field.multiple,
|
| 34071 |
defaultValue: this.getSelectedValues()
|
| 34072 |
}, this.props.field.validation),
|
|
|
|
| 34073 |
options
|
| 34074 |
);
|
| 34075 |
}
|
| 39893 |
if (props.item === undefined) {
|
| 39894 |
this.refs.form.reset();
|
| 39895 |
}
|
| 39896 |
+
} else {
|
| 39897 |
+
this.loadItem(props.params.id);
|
| 39898 |
}
|
| 39899 |
},
|
| 39900 |
loadItem: function loadItem(id) {
|
| 39914 |
loading: false,
|
| 39915 |
item: response.data
|
| 39916 |
});
|
|
|
|
|
|
|
|
|
|
| 39917 |
}).fail(function () {
|
| 39918 |
_this.setState({
|
| 39919 |
loading: false,
|
| 39939 |
|
| 39940 |
// only get values from displayed fields
|
| 39941 |
var item = {};
|
| 39942 |
+
this.props.fields.map(function (field) {
|
| 39943 |
if (field.fields !== undefined) {
|
| 39944 |
+
field.fields.map(function (subfield) {
|
| 39945 |
item[subfield.name] = _this2.state.item[subfield.name];
|
| 39946 |
});
|
| 39947 |
} else {
|
| 40140 |
case 'reactComponent':
|
| 40141 |
field = React.createElement(data.field.component, data);
|
| 40142 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40143 |
}
|
| 40144 |
|
| 40145 |
if (inline === true) {
|
| 40186 |
|
| 40187 |
return React.createElement(
|
| 40188 |
'tr',
|
| 40189 |
+
null,
|
| 40190 |
React.createElement(
|
| 40191 |
'th',
|
| 40192 |
{ scope: 'row' },
|
| 40267 |
type: "text",
|
| 40268 |
className: "regular-text",
|
| 40269 |
name: this.props.field.name,
|
| 40270 |
+
id: 'field_' + this.props.field.name,
|
| 40271 |
value: this.props.item[this.props.field.name],
|
| 40272 |
placeholder: this.props.field.placeholder,
|
| 40273 |
defaultValue: this.props.field.defaultValue,
|
| 40340 |
keys = Object.keys(this.props.field.values);
|
| 40341 |
}
|
| 40342 |
|
| 40343 |
+
var options = keys.map(function (value, index) {
|
| 40344 |
+
if (filter !== false && filter(_this.props.item, value) === false) {
|
| 40345 |
+
return;
|
| 40346 |
+
}
|
| 40347 |
+
|
| 40348 |
return _react2['default'].createElement(
|
| 40349 |
'option',
|
| 40350 |
{
|
| 40374 |
/* 298 */
|
| 40375 |
/***/ function(module, exports, __webpack_require__) {
|
| 40376 |
|
| 40377 |
+
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';
|
| 40378 |
|
| 40379 |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(2)], __WEBPACK_AMD_DEFINE_RESULT__ = function (React) {
|
| 40380 |
var FormFieldRadio = React.createClass({
|
| 40381 |
+
displayName: 'FormFieldRadio',
|
| 40382 |
|
| 40383 |
render: function render() {
|
| 40384 |
var _this = this;
|
| 40387 |
return false;
|
| 40388 |
}
|
| 40389 |
|
| 40390 |
+
var selected_value = this.props.item[this.props.field.name];
|
| 40391 |
var options = Object.keys(this.props.field.values).map(function (value, index) {
|
| 40392 |
return React.createElement(
|
| 40393 |
+
'p',
|
| 40394 |
+
{ key: 'radio-' + index },
|
| 40395 |
React.createElement(
|
| 40396 |
+
'label',
|
| 40397 |
null,
|
| 40398 |
+
React.createElement('input', {
|
| 40399 |
+
type: 'radio',
|
| 40400 |
+
checked: selected_value === value,
|
| 40401 |
value: value,
|
| 40402 |
onChange: _this.props.onValueChange,
|
| 40403 |
name: _this.props.field.name }),
|
| 40407 |
});
|
| 40408 |
|
| 40409 |
return React.createElement(
|
| 40410 |
+
'div',
|
| 40411 |
null,
|
| 40412 |
options
|
| 40413 |
);
|
| 40440 |
|
| 40441 |
// isChecked will be true only if the value is "1"
|
| 40442 |
// it will be false in case value is "0" or empty
|
| 40443 |
+
var isChecked = !! ~ ~this.props.item[this.props.field.name];
|
| 40444 |
var options = Object.keys(this.props.field.values).map(function (value, index) {
|
| 40445 |
return React.createElement(
|
| 40446 |
'p',
|
| 40710 |
year: this.state.year
|
| 40711 |
};
|
| 40712 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40713 |
}
|
| 40714 |
|
| 40715 |
return value;
|
| 40728 |
field = matches[1];
|
| 40729 |
property = matches[2];
|
| 40730 |
|
| 40731 |
+
var value = ~ ~e.target.value;
|
| 40732 |
|
| 40733 |
this.setState(_defineProperty({}, '' + property, value), function () {
|
| 40734 |
_this.props.onValueChange({
|
| 40782 |
day: _this2.state.day,
|
| 40783 |
placeholder: _this2.props.field.day_placeholder
|
| 40784 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40785 |
}
|
| 40786 |
});
|
| 40787 |
|
| 40804 |
/***/ function(module, exports, __webpack_require__) {
|
| 40805 |
|
| 40806 |
var require;/* WEBPACK VAR INJECTION */(function(module) {//! moment.js
|
| 40807 |
+
//! version : 2.19.3
|
| 40808 |
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
|
| 40809 |
//! license : MIT
|
| 40810 |
//! momentjs.com
|
| 42834 |
// note: all values past the year are optional and will default to the lowest possible value.
|
| 42835 |
// [year, month, day , hour, minute, second, millisecond]
|
| 42836 |
function configFromArray (config) {
|
| 42837 |
+
var i, date, input = [], currentDate, yearToUse;
|
| 42838 |
|
| 42839 |
if (config._d) {
|
| 42840 |
return;
|
| 42884 |
}
|
| 42885 |
|
| 42886 |
config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);
|
|
|
|
|
|
|
| 42887 |
// Apply timezone offset from input. The actual utcOffset can be changed
|
| 42888 |
// with parseZone.
|
| 42889 |
if (config._tzm != null) {
|
| 42895 |
}
|
| 42896 |
|
| 42897 |
// check for mismatching day of week
|
| 42898 |
+
if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== config._d.getDay()) {
|
| 42899 |
getParsingFlags(config).weekdayMismatch = true;
|
| 42900 |
}
|
| 42901 |
}
|
| 44471 |
|
| 44472 |
addParseToken(['D', 'DD'], DATE);
|
| 44473 |
addParseToken('Do', function (input, array) {
|
| 44474 |
+
array[DATE] = toInt(input.match(match1to2)[0], 10);
|
| 44475 |
});
|
| 44476 |
|
| 44477 |
// MOMENTS
|
| 45283 |
// Side effect imports
|
| 45284 |
|
| 45285 |
|
| 45286 |
+
hooks.version = '2.19.3';
|
| 45287 |
|
| 45288 |
setHookCallback(createLocal);
|
| 45289 |
|
assets/js/{mailpoet.a5fa72ae.js → mailpoet.0a2f113c.js}
RENAMED
|
@@ -23905,7 +23905,7 @@ webpackJsonp([3],[
|
|
| 23905 |
/***/ function(module, exports, __webpack_require__) {
|
| 23906 |
|
| 23907 |
var require;/* WEBPACK VAR INJECTION */(function(module) {//! moment.js
|
| 23908 |
-
//! version : 2.19.
|
| 23909 |
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
|
| 23910 |
//! license : MIT
|
| 23911 |
//! momentjs.com
|
|
@@ -25935,7 +25935,7 @@ webpackJsonp([3],[
|
|
| 25935 |
// note: all values past the year are optional and will default to the lowest possible value.
|
| 25936 |
// [year, month, day , hour, minute, second, millisecond]
|
| 25937 |
function configFromArray (config) {
|
| 25938 |
-
var i, date, input = [], currentDate,
|
| 25939 |
|
| 25940 |
if (config._d) {
|
| 25941 |
return;
|
|
@@ -25985,8 +25985,6 @@ webpackJsonp([3],[
|
|
| 25985 |
}
|
| 25986 |
|
| 25987 |
config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);
|
| 25988 |
-
expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();
|
| 25989 |
-
|
| 25990 |
// Apply timezone offset from input. The actual utcOffset can be changed
|
| 25991 |
// with parseZone.
|
| 25992 |
if (config._tzm != null) {
|
|
@@ -25998,7 +25996,7 @@ webpackJsonp([3],[
|
|
| 25998 |
}
|
| 25999 |
|
| 26000 |
// check for mismatching day of week
|
| 26001 |
-
if (config._w && typeof config._w.d !== 'undefined' && config._w.d !==
|
| 26002 |
getParsingFlags(config).weekdayMismatch = true;
|
| 26003 |
}
|
| 26004 |
}
|
|
@@ -27574,7 +27572,7 @@ webpackJsonp([3],[
|
|
| 27574 |
|
| 27575 |
addParseToken(['D', 'DD'], DATE);
|
| 27576 |
addParseToken('Do', function (input, array) {
|
| 27577 |
-
array[DATE] = toInt(input.match(match1to2)[0]);
|
| 27578 |
});
|
| 27579 |
|
| 27580 |
// MOMENTS
|
|
@@ -28386,7 +28384,7 @@ webpackJsonp([3],[
|
|
| 28386 |
// Side effect imports
|
| 28387 |
|
| 28388 |
|
| 28389 |
-
hooks.version = '2.19.
|
| 28390 |
|
| 28391 |
setHookCallback(createLocal);
|
| 28392 |
|
| 23905 |
/***/ function(module, exports, __webpack_require__) {
|
| 23906 |
|
| 23907 |
var require;/* WEBPACK VAR INJECTION */(function(module) {//! moment.js
|
| 23908 |
+
//! version : 2.19.3
|
| 23909 |
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
|
| 23910 |
//! license : MIT
|
| 23911 |
//! momentjs.com
|
| 25935 |
// note: all values past the year are optional and will default to the lowest possible value.
|
| 25936 |
// [year, month, day , hour, minute, second, millisecond]
|
| 25937 |
function configFromArray (config) {
|
| 25938 |
+
var i, date, input = [], currentDate, yearToUse;
|
| 25939 |
|
| 25940 |
if (config._d) {
|
| 25941 |
return;
|
| 25985 |
}
|
| 25986 |
|
| 25987 |
config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);
|
|
|
|
|
|
|
| 25988 |
// Apply timezone offset from input. The actual utcOffset can be changed
|
| 25989 |
// with parseZone.
|
| 25990 |
if (config._tzm != null) {
|
| 25996 |
}
|
| 25997 |
|
| 25998 |
// check for mismatching day of week
|
| 25999 |
+
if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== config._d.getDay()) {
|
| 26000 |
getParsingFlags(config).weekdayMismatch = true;
|
| 26001 |
}
|
| 26002 |
}
|
| 27572 |
|
| 27573 |
addParseToken(['D', 'DD'], DATE);
|
| 27574 |
addParseToken('Do', function (input, array) {
|
| 27575 |
+
array[DATE] = toInt(input.match(match1to2)[0], 10);
|
| 27576 |
});
|
| 27577 |
|
| 27578 |
// MOMENTS
|
| 28384 |
// Side effect imports
|
| 28385 |
|
| 28386 |
|
| 28387 |
+
hooks.version = '2.19.3';
|
| 28388 |
|
| 28389 |
setHookCallback(createLocal);
|
| 28390 |
|
assets/js/manifest.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
| 1 |
{
|
| 2 |
"mp2migrator.js": "mp2migrator.81060f18.js",
|
| 3 |
"public.js": "public.3d1d91ad.js",
|
| 4 |
-
"admin.js": "admin.
|
| 5 |
-
"admin_vendor.js": "admin_vendor.
|
| 6 |
"form_editor.js": "form_editor.cc7529b3.js",
|
| 7 |
-
"mailpoet.js": "mailpoet.
|
| 8 |
"newsletter_editor.js": "newsletter_editor.e7b87b92.js",
|
| 9 |
-
"vendor.js": "vendor.
|
| 10 |
}
|
| 1 |
{
|
| 2 |
"mp2migrator.js": "mp2migrator.81060f18.js",
|
| 3 |
"public.js": "public.3d1d91ad.js",
|
| 4 |
+
"admin.js": "admin.dfed86f0.js",
|
| 5 |
+
"admin_vendor.js": "admin_vendor.8b1d6679.js",
|
| 6 |
"form_editor.js": "form_editor.cc7529b3.js",
|
| 7 |
+
"mailpoet.js": "mailpoet.0a2f113c.js",
|
| 8 |
"newsletter_editor.js": "newsletter_editor.e7b87b92.js",
|
| 9 |
+
"vendor.js": "vendor.16d46c95.js"
|
| 10 |
}
|
assets/js/{vendor.3c206dd6.js → vendor.16d46c95.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 |
/******/ };
|
| 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":"dfed86f0","1":"8b1d6679","2":"cc7529b3","3":"0a2f113c","4":"e7b87b92"}[chunkId] + ".chunk.js";
|
| 80 |
/******/ head.appendChild(script);
|
| 81 |
/******/ }
|
| 82 |
/******/ };
|
lang/mailpoet-ca.mo
CHANGED
|
Binary file
|
lang/mailpoet-da_DK.mo
CHANGED
|
Binary file
|
lang/mailpoet-de_DE.mo
CHANGED
|
Binary file
|
lang/mailpoet-en_GB.mo
CHANGED
|
Binary file
|
lang/mailpoet-es_ES.mo
CHANGED
|
Binary file
|
lang/mailpoet-fa_IR.mo
CHANGED
|
Binary file
|
lang/mailpoet-fr_CA.mo
CHANGED
|
Binary file
|
lang/mailpoet-fr_FR.mo
CHANGED
|
Binary file
|
lang/mailpoet-it_IT.mo
CHANGED
|
Binary file
|
lang/mailpoet-ja.mo
CHANGED
|
Binary file
|
lang/mailpoet-nl_NL.mo
CHANGED
|
Binary file
|
lang/mailpoet-pl_PL.mo
CHANGED
|
Binary file
|
lang/mailpoet-pt_BR.mo
CHANGED
|
Binary file
|
lang/mailpoet-pt_PT.mo
CHANGED
|
Binary file
|
lang/mailpoet-ru_RU.mo
CHANGED
|
Binary file
|
lang/mailpoet-sq.mo
CHANGED
|
Binary file
|
lang/mailpoet-sv_SE.mo
CHANGED
|
Binary file
|
lang/mailpoet-tr_TR.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-12-
|
| 8 |
"MIME-Version: 1.0\n"
|
| 9 |
"Content-Type: text/plain; charset=utf-8\n"
|
| 10 |
"Content-Transfer-Encoding: 8bit\n"
|
|
@@ -475,11 +475,11 @@ msgid ""
|
|
| 475 |
"might work within a MultiSite environment, we don’t support it."
|
| 476 |
msgstr ""
|
| 477 |
|
| 478 |
-
#: lib/Config/Populator.php:
|
| 479 |
msgid "My First List"
|
| 480 |
msgstr ""
|
| 481 |
|
| 482 |
-
#: lib/Config/Populator.php:
|
| 483 |
msgid "This list is automatically created when you install MailPoet."
|
| 484 |
msgstr ""
|
| 485 |
|
|
@@ -5353,7 +5353,7 @@ msgstr ""
|
|
| 5353 |
msgid "Care to Give Your Opinion?"
|
| 5354 |
msgstr ""
|
| 5355 |
|
| 5356 |
-
#: views/update.html:
|
| 5357 |
msgid "Awesome! Now, take me to MailPoet"
|
| 5358 |
msgstr ""
|
| 5359 |
|
| 4 |
msgstr ""
|
| 5 |
"Project-Id-Version: \n"
|
| 6 |
"Report-Msgid-Bugs-To: http://support.mailpoet.com/\n"
|
| 7 |
+
"POT-Creation-Date: 2017-12-05 16:47:51+00:00\n"
|
| 8 |
"MIME-Version: 1.0\n"
|
| 9 |
"Content-Type: text/plain; charset=utf-8\n"
|
| 10 |
"Content-Transfer-Encoding: 8bit\n"
|
| 475 |
"might work within a MultiSite environment, we don’t support it."
|
| 476 |
msgstr ""
|
| 477 |
|
| 478 |
+
#: lib/Config/Populator.php:156
|
| 479 |
msgid "My First List"
|
| 480 |
msgstr ""
|
| 481 |
|
| 482 |
+
#: lib/Config/Populator.php:158
|
| 483 |
msgid "This list is automatically created when you install MailPoet."
|
| 484 |
msgstr ""
|
| 485 |
|
| 5353 |
msgid "Care to Give Your Opinion?"
|
| 5354 |
msgstr ""
|
| 5355 |
|
| 5356 |
+
#: views/update.html:109 views/welcome.html:60
|
| 5357 |
msgid "Awesome! Now, take me to MailPoet"
|
| 5358 |
msgstr ""
|
| 5359 |
|
lib/Config/Localizer.php
CHANGED
|
@@ -35,15 +35,4 @@ class Localizer {
|
|
| 35 |
);
|
| 36 |
return $locale;
|
| 37 |
}
|
| 38 |
-
|
| 39 |
-
function forceLoadWebsiteLocaleText() {
|
| 40 |
-
$language_path = sprintf(
|
| 41 |
-
'%s/%s-%s.mo',
|
| 42 |
-
Env::$languages_path,
|
| 43 |
-
Env::$plugin_name,
|
| 44 |
-
get_locale()
|
| 45 |
-
);
|
| 46 |
-
unload_textdomain(Env::$plugin_name);
|
| 47 |
-
load_textdomain(Env::$plugin_name, $language_path);
|
| 48 |
-
}
|
| 49 |
}
|
| 35 |
);
|
| 36 |
return $locale;
|
| 37 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
}
|
lib/Config/Populator.php
CHANGED
|
@@ -57,8 +57,6 @@ class Populator {
|
|
| 57 |
}
|
| 58 |
|
| 59 |
function up() {
|
| 60 |
-
$localizer = new Localizer();
|
| 61 |
-
$localizer->forceLoadWebsiteLocaleText();
|
| 62 |
$this->convertExistingDataToUTF8();
|
| 63 |
$this->migrateSimpleScheduledTasks();
|
| 64 |
$this->populateNewsletterSentAtField();
|
| 57 |
}
|
| 58 |
|
| 59 |
function up() {
|
|
|
|
|
|
|
| 60 |
$this->convertExistingDataToUTF8();
|
| 61 |
$this->migrateSimpleScheduledTasks();
|
| 62 |
$this->populateNewsletterSentAtField();
|
mailpoet.php
CHANGED
|
@@ -4,12 +4,12 @@ if(!defined('ABSPATH')) exit;
|
|
| 4 |
|
| 5 |
/*
|
| 6 |
* Plugin Name: MailPoet 3 (New)
|
| 7 |
-
* Version: 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
|
| 11 |
* Author URI: http://www.mailpoet.com
|
| 12 |
-
* Requires at least: 4.
|
| 13 |
* Tested up to: 4.9
|
| 14 |
*
|
| 15 |
* Domain Path: /lang/
|
|
@@ -20,7 +20,7 @@ if(!defined('ABSPATH')) exit;
|
|
| 20 |
*/
|
| 21 |
|
| 22 |
$mailpoet_plugin = array(
|
| 23 |
-
'version' => '3.
|
| 24 |
'filename' => __FILE__,
|
| 25 |
'path' => dirname(__FILE__),
|
| 26 |
'autoloader' => dirname(__FILE__) . '/vendor/autoload.php',
|
| 4 |
|
| 5 |
/*
|
| 6 |
* Plugin Name: MailPoet 3 (New)
|
| 7 |
+
* Version: 3.2.4
|
| 8 |
* Plugin URI: http://www.mailpoet.com
|
| 9 |
* Description: Create and send newsletters, post notifications and welcome emails from your WordPress.
|
| 10 |
* Author: MailPoet
|
| 11 |
* Author URI: http://www.mailpoet.com
|
| 12 |
+
* Requires at least: 4.6
|
| 13 |
* Tested up to: 4.9
|
| 14 |
*
|
| 15 |
* Domain Path: /lang/
|
| 20 |
*/
|
| 21 |
|
| 22 |
$mailpoet_plugin = array(
|
| 23 |
+
'version' => '3.2.4',
|
| 24 |
'filename' => __FILE__,
|
| 25 |
'path' => dirname(__FILE__),
|
| 26 |
'autoloader' => dirname(__FILE__) . '/vendor/autoload.php',
|
readme.txt
CHANGED
|
@@ -1,10 +1,10 @@
|
|
| 1 |
=== MailPoet 3 (New) ===
|
| 2 |
Contributors: mailpoet, wysija
|
| 3 |
Tags: newsletter, email, welcome email, post notification, autoresponder, signup, subscription, SMTP
|
| 4 |
-
Requires at least: 4.
|
| 5 |
Tested up to: 4.9
|
| 6 |
Requires PHP: 5.3
|
| 7 |
-
Stable tag: 3.
|
| 8 |
License: GPLv3
|
| 9 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
| 10 |
|
|
@@ -116,10 +116,6 @@ Stop by our [support site](https://www.mailpoet.com/support).
|
|
| 116 |
|
| 117 |
== Changelog ==
|
| 118 |
|
| 119 |
-
= 3.3.0 - 2017-12-12 =
|
| 120 |
-
* Premium: you can now segment your subscribers by email opens or clicks;
|
| 121 |
-
* Fixed: default newsletter templates will not be duplicated when user switches profile language to one that's different from the system's.
|
| 122 |
-
|
| 123 |
= 3.2.4 - 2017-12-05 =
|
| 124 |
* Improved: [mailpoet_manage_subscription] always renders for logged in WP users. Thx Jon, Sean, Steve & metaglyphics;
|
| 125 |
* Fixed: migration from MailPoet 2 on hosts with missing "mbstring" PHP extension. Thanks Alvaro!
|
| 1 |
=== MailPoet 3 (New) ===
|
| 2 |
Contributors: mailpoet, wysija
|
| 3 |
Tags: newsletter, email, welcome email, post notification, autoresponder, signup, subscription, SMTP
|
| 4 |
+
Requires at least: 4.6
|
| 5 |
Tested up to: 4.9
|
| 6 |
Requires PHP: 5.3
|
| 7 |
+
Stable tag: 3.2.4
|
| 8 |
License: GPLv3
|
| 9 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
| 10 |
|
| 116 |
|
| 117 |
== Changelog ==
|
| 118 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 119 |
= 3.2.4 - 2017-12-05 =
|
| 120 |
* Improved: [mailpoet_manage_subscription] always renders for logged in WP users. Thx Jon, Sean, Steve & metaglyphics;
|
| 121 |
* Fixed: migration from MailPoet 2 on hosts with missing "mbstring" PHP extension. Thanks Alvaro!
|
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 ComposerAutoloaderInit46dc1bc911be5f4f030ee9cfb1b2a6de::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 ComposerAutoloaderInit76870e8a6a5056b793a5abea5bcd85d9
|
|
| 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 ComposerAutoloaderInit76870e8a6a5056b793a5abea5bcd85d9
|
|
| 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 ComposerAutoloaderInit46dc1bc911be5f4f030ee9cfb1b2a6de
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
+
spl_autoload_register(array('ComposerAutoloaderInit46dc1bc911be5f4f030ee9cfb1b2a6de', 'loadClassLoader'), true, true);
|
| 23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit46dc1bc911be5f4f030ee9cfb1b2a6de', '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\ComposerStaticInit46dc1bc911be5f4f030ee9cfb1b2a6de::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\ComposerStaticInit46dc1bc911be5f4f030ee9cfb1b2a6de::$files;
|
| 52 |
} else {
|
| 53 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
| 54 |
}
|
| 55 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
| 56 |
+
composerRequire46dc1bc911be5f4f030ee9cfb1b2a6de($fileIdentifier, $file);
|
| 57 |
}
|
| 58 |
|
| 59 |
return $loader;
|
| 60 |
}
|
| 61 |
}
|
| 62 |
|
| 63 |
+
function composerRequire46dc1bc911be5f4f030ee9cfb1b2a6de($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',
|
|
@@ -841,10 +841,10 @@ class ComposerStaticInit76870e8a6a5056b793a5abea5bcd85d9
|
|
| 841 |
public static function getInitializer(ClassLoader $loader)
|
| 842 |
{
|
| 843 |
return \Closure::bind(function () use ($loader) {
|
| 844 |
-
$loader->prefixLengthsPsr4 =
|
| 845 |
-
$loader->prefixDirsPsr4 =
|
| 846 |
-
$loader->prefixesPsr0 =
|
| 847 |
-
$loader->classMap =
|
| 848 |
|
| 849 |
}, null, ClassLoader::class);
|
| 850 |
}
|
| 4 |
|
| 5 |
namespace Composer\Autoload;
|
| 6 |
|
| 7 |
+
class ComposerStaticInit46dc1bc911be5f4f030ee9cfb1b2a6de
|
| 8 |
{
|
| 9 |
public static $files = array (
|
| 10 |
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
|
| 841 |
public static function getInitializer(ClassLoader $loader)
|
| 842 |
{
|
| 843 |
return \Closure::bind(function () use ($loader) {
|
| 844 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit46dc1bc911be5f4f030ee9cfb1b2a6de::$prefixLengthsPsr4;
|
| 845 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit46dc1bc911be5f4f030ee9cfb1b2a6de::$prefixDirsPsr4;
|
| 846 |
+
$loader->prefixesPsr0 = ComposerStaticInit46dc1bc911be5f4f030ee9cfb1b2a6de::$prefixesPsr0;
|
| 847 |
+
$loader->classMap = ComposerStaticInit46dc1bc911be5f4f030ee9cfb1b2a6de::$classMap;
|
| 848 |
|
| 849 |
}, null, ClassLoader::class);
|
| 850 |
}
|
views/update.html
CHANGED
|
@@ -94,20 +94,13 @@
|
|
| 94 |
<div class="feature-section one-col mailpoet_centered">
|
| 95 |
<h2><%= __('Care to Give Your Opinion?') %></h2>
|
| 96 |
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
domain: "mailpoet.polldaddy.com/s/",
|
| 105 |
-
id: "what-s-one-feature-that-s-missing-in-mailpoet",
|
| 106 |
-
placeholder: "pd_1505214143"
|
| 107 |
-
} );
|
| 108 |
-
|
| 109 |
-
(function(d,c,j){if(!document.getElementById(j)){var pd=d.createElement(c),s;pd.id=j;pd.src=('https:'==document.location.protocol)?'https://polldaddy.com/survey.js':'http://i0.poll.fm/survey.js';s=document.getElementsByTagName(c)[0];s.parentNode.insertBefore(pd,s);}}(document,'script','pd-embed'));
|
| 110 |
-
</script>
|
| 111 |
</div>
|
| 112 |
|
| 113 |
<hr>
|
| 94 |
<div class="feature-section one-col mailpoet_centered">
|
| 95 |
<h2><%= __('Care to Give Your Opinion?') %></h2>
|
| 96 |
|
| 97 |
+
<% if settings['mta']['method'] == 'MailPoet' %>
|
| 98 |
+
<script type="text/javascript" charset="utf-8" src="https://secure.polldaddy.com/p/9884019.js"></script>
|
| 99 |
+
<noscript><a href="https://polldaddy.com/poll/9884019/">You're confident your emails arrive in your subscribers' inboxes</a></noscript>
|
| 100 |
+
<% else %>
|
| 101 |
+
<script type="text/javascript" charset="utf-8" src="https://secure.polldaddy.com/p/9884021.js"></script>
|
| 102 |
+
<noscript><a href="https://polldaddy.com/poll/9884021/">You're confident your emails arrive in your subscribers' inboxes</a></noscript>
|
| 103 |
+
<% endif %>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 104 |
</div>
|
| 105 |
|
| 106 |
<hr>
|
