Fix jQuery event targets

[MAILPOET-1794]
This commit is contained in:
Rostislav Wolny
2019-02-11 15:59:06 +01:00
committed by M. Shull
parent 5425b91321
commit cc1c1bb405

View File

@@ -144,8 +144,8 @@ jQuery(document).ready(() => {
return item.name; return item.name;
}, },
}) })
.change(() => { .change((event) => {
if (jQuery(this).val() !== null) { if (jQuery(event.currentTarget).val() !== null) {
toggleNextStepButton(mailChimpProcessButtonElement, 'on'); toggleNextStepButton(mailChimpProcessButtonElement, 'on');
} else { } else {
toggleNextStepButton(mailChimpProcessButtonElement, 'off'); toggleNextStepButton(mailChimpProcessButtonElement, 'off');
@@ -161,20 +161,20 @@ jQuery(document).ready(() => {
*/ */
pasteInputElement pasteInputElement
.attr('value', pasteInputPlaceholderElement).css('color', '#999') .attr('value', pasteInputPlaceholderElement).css('color', '#999')
.focus(() => { .focus((event) => {
if (jQuery(this).val() === pasteInputPlaceholderElement) { if (jQuery(event.currentTarget).val() === pasteInputPlaceholderElement) {
jQuery(this).attr('value', '').css('color', '#222'); jQuery(event.currentTarget).attr('value', '').css('color', '#222');
} }
}) })
.blur(() => { .blur((event) => {
if (jQuery(this).val() === '') { if (jQuery(event.currentTarget).val() === '') {
jQuery(this).attr('value', pasteInputPlaceholderElement).css('color', '#999'); jQuery(event.currentTarget).attr('value', pasteInputPlaceholderElement).css('color', '#999');
} }
}) })
.keyup(() => { .keyup((event) => {
toggleNextStepButton( toggleNextStepButton(
pasteProcessButtonElement, pasteProcessButtonElement,
(this.value.trim() !== '') ? 'on' : 'off' (event.currentTarget.value.trim() !== '') ? 'on' : 'off'
); );
}); });
@@ -196,17 +196,17 @@ jQuery(document).ready(() => {
/* /*
* CSV file * CSV file
*/ */
uploadElement.change(() => { uploadElement.change((event) => {
const ext = this.value.match(/[^.]+$/); const ext = event.currentTarget.value.match(/[^.]+$/);
MailPoet.Notice.hide(); MailPoet.Notice.hide();
if (ext === null || ext[0].toLowerCase() !== 'csv') { if (ext === null || ext[0].toLowerCase() !== 'csv') {
this.value = ''; event.currentTarget.value.val('');
MailPoet.Notice.error(MailPoet.I18n.t('wrongFileFormat')); MailPoet.Notice.error(MailPoet.I18n.t('wrongFileFormat'));
} }
toggleNextStepButton( toggleNextStepButton(
uploadProcessButtonElement, uploadProcessButtonElement,
(this.value.trim() !== '') ? 'on' : 'off' (event.currentTarget.value.trim() !== '') ? 'on' : 'off'
); );
}); });
@@ -225,9 +225,9 @@ jQuery(document).ready(() => {
/* /*
* MailChimp * MailChimp
*/ */
mailChimpKeyInputElement.keyup(() => { mailChimpKeyInputElement.keyup((event) => {
if (this.value.trim() === '' if (event.currentTarget.value.trim() === ''
|| !/[a-zA-Z0-9]{32}-/.exec(this.value.trim())) { || !/[a-zA-Z0-9]{32}-/.exec(event.currentTarget.value.trim())) {
mailChimpListsContainerElement.hide(); mailChimpListsContainerElement.hide();
jQuery('.mailpoet_mailchimp-key-status') jQuery('.mailpoet_mailchimp-key-status')
.html('') .html('')
@@ -380,12 +380,12 @@ jQuery(document).ready(() => {
} }
jQuery('.mailpoet_subscribers_data_parse_results_details_show') jQuery('.mailpoet_subscribers_data_parse_results_details_show')
.click(() => { .click((event) => {
const details = jQuery('.mailpoet_subscribers_data_parse_results_details'); const details = jQuery('.mailpoet_subscribers_data_parse_results_details');
jQuery(details).toggle(); jQuery(details).toggle();
this.text = (jQuery(details).is(':visible')) event.currentTarget.text((jQuery(details).is(':visible'))
? MailPoet.I18n.t('hideDetails') ? MailPoet.I18n.t('hideDetails')
: MailPoet.I18n.t('showDetails'); : MailPoet.I18n.t('showDetails'));
}); });
// show available segments // show available segments
@@ -417,9 +417,9 @@ jQuery(document).ready(() => {
return `${i.name} (${i.subscriberCount.toLocaleString()})`; return `${i.name} (${i.subscriberCount.toLocaleString()})`;
}, },
}) })
.change(() => { .change((event) => {
const segmentSelectionNotice = jQuery('[data-id="notice_segmentSelection"]'); const segmentSelectionNotice = jQuery('[data-id="notice_segmentSelection"]');
if (!this.value) { if (!event.currentTarget.value) {
if (!segmentSelectionNotice.length) { if (!segmentSelectionNotice.length) {
MailPoet.Notice.error(MailPoet.I18n.t('segmentSelectionRequired'), { MailPoet.Notice.error(MailPoet.I18n.t('segmentSelectionRequired'), {
static: true, static: true,
@@ -721,7 +721,7 @@ jQuery(document).ready(() => {
}, },
}) })
.on('select2:selecting', (selectEvent) => { .on('select2:selecting', (selectEvent) => {
const selectElement = this; const selectElement = selectEvent.currentTarget;
const selectedOptionId = selectEvent.params.args.data.id; const selectedOptionId = selectEvent.params.args.data.id;
// CREATE CUSTOM FIELD // CREATE CUSTOM FIELD
if (selectedOptionId === 'create') { if (selectedOptionId === 'create') {
@@ -733,7 +733,7 @@ jQuery(document).ready(() => {
}); });
jQuery('#form_field_new').parsley().on('form:submit', () => { jQuery('#form_field_new').parsley().on('form:submit', () => {
// get data // get data
const data = jQuery(this.$element).mailpoetSerializeObject(); const data = jQuery(selectElement.$element).mailpoetSerializeObject();
// save custom field // save custom field
MailPoet.Ajax.post({ MailPoet.Ajax.post({
@@ -760,7 +760,7 @@ jQuery(document).ready(() => {
window.mailpoetColumns.push(newColumnData); window.mailpoetColumns.push(newColumnData);
jQuery('select.mailpoet_subscribers_column_data_match') jQuery('select.mailpoet_subscribers_column_data_match')
.each(() => { .each(() => {
jQuery(this) jQuery(selectElement)
.html('') .html('')
.select2('destroy') .select2('destroy')
.select2({ .select2({
@@ -794,7 +794,7 @@ jQuery(document).ready(() => {
// check for duplicate values in all select options // check for duplicate values in all select options
jQuery('select.mailpoet_subscribers_column_data_match') jQuery('select.mailpoet_subscribers_column_data_match')
.each(() => { .each(() => {
const element = this; const element = selectElement;
const elementId = jQuery(element).val(); const elementId = jQuery(element).val();
// if another column has the same value and it's not an 'ignore', // if another column has the same value and it's not an 'ignore',
// prompt user // prompt user
@@ -811,7 +811,7 @@ jQuery(document).ready(() => {
} }
}) })
.on('select2:select', (selectEvent) => { .on('select2:select', (selectEvent) => {
const selectElement = this; const selectElement = selectEvent.currentTarget;
const selectedOptionId = selectEvent.params.data.id; const selectedOptionId = selectEvent.params.data.id;
jQuery(selectElement).data('column-id', selectedOptionId); jQuery(selectElement).data('column-id', selectedOptionId);
filterSubscribers(); filterSubscribers();
@@ -821,7 +821,7 @@ jQuery(document).ready(() => {
router.navigate('step1', { trigger: true }); router.navigate('step1', { trigger: true });
}); });
nextStepButton.off().on('click', () => { nextStepButton.off().on('click', (event) => {
const columns = {}; const columns = {};
const queue = new jQuery.AsyncQueue(); const queue = new jQuery.AsyncQueue();
let batchNumber = 0; let batchNumber = 0;
@@ -834,7 +834,7 @@ jQuery(document).ready(() => {
segments: [], segments: [],
}; };
if (jQuery(this).hasClass('button-disabled')) { if (jQuery(event.currentTarget).hasClass('button-disabled')) {
return; return;
} }
MailPoet.Modal.loading(true); MailPoet.Modal.loading(true);