Spaces:
No application file
No application file
/** SmsBundle **/ | |
Mautic.smsOnLoad = function (container, response) { | |
const smsMessage = mQuery('#sms_message'); | |
if (smsMessage.length) { | |
Mautic.setSmsCharactersCount(smsMessage); | |
smsMessage.on('input', () => { | |
Mautic.setSmsCharactersCount(smsMessage); | |
}); | |
} | |
if (mQuery(container + ' #list-search').length) { | |
Mautic.activateSearchAutocomplete('list-search', 'sms'); | |
} | |
if (mQuery('table.sms-list').length) { | |
var ids = []; | |
mQuery('td.col-stats').each(function () { | |
var id = mQuery(this).attr('data-stats'); | |
ids.push(id); | |
}); | |
// Get all stats numbers in batches of 10 | |
while (ids.length > 0) { | |
let batchIds = ids.splice(0, 10); | |
Mautic.ajaxActionRequest( | |
'sms:getSmsCountStats', | |
{ids: batchIds}, | |
function (response) { | |
if (response.success && response.stats) { | |
for (var i = 0; i < response.stats.length; i++) { | |
var stat = response.stats[i]; | |
if (mQuery('#pending-' + stat.id).length) { | |
if (stat.pending) { | |
mQuery('#pending-' + stat.id + ' > a').html(stat.pending); | |
mQuery('#pending-' + stat.id).removeClass('hide'); | |
} | |
} | |
} | |
} | |
}, | |
false, | |
true | |
); | |
} | |
} | |
Mautic.initSmsAtWho(); | |
}; | |
Mautic.setSmsCharactersCount = function (smsMessage) { | |
mQuery('#sms_nb_char').text((smsMessage.val().length)) | |
}; | |
Mautic.initSmsAtWho = function () { | |
var smsMessage = mQuery('#sms_message, #send_sms_message'); | |
smsMessage.each(function () { | |
var obj = mQuery(this); | |
var callbackAttr = obj.attr('data-token-callback'); | |
if (typeof callbackAttr == 'undefined') { | |
obj.attr('data-token-callback', 'sms:getBuilderTokens'); | |
obj.attr('data-token-activator', '{'); | |
obj.attr('data-token-visual', 'false'); | |
Mautic.initAtWho(obj, obj.attr('data-token-callback')); | |
} | |
}) | |
} | |
Mautic.selectSmsType = function(smsType) { | |
if (smsType == 'list') { | |
mQuery('#leadList').removeClass('hide'); | |
mQuery('#publishStatus').addClass('hide'); | |
mQuery('.page-header h3').text(mauticLang.newListSms); | |
} else { | |
mQuery('#publishStatus').removeClass('hide'); | |
mQuery('#leadList').addClass('hide'); | |
mQuery('.page-header h3').text(mauticLang.newTemplateSms); | |
} | |
mQuery('#sms_smsType').val(smsType); | |
mQuery('body').removeClass('noscroll'); | |
mQuery('.sms-type-modal').remove(); | |
mQuery('.sms-type-modal-backdrop').remove(); | |
}; | |
Mautic.standardSmsUrl = function(options) { | |
if (!options) { | |
return; | |
} | |
var url = options.windowUrl; | |
if (url) { | |
var editEmailKey = '/sms/edit/smsId'; | |
if (url.indexOf(editEmailKey) > -1) { | |
options.windowUrl = url.replace('smsId', mQuery('#campaignevent_properties_sms').val()); | |
} | |
} | |
return options; | |
}; | |
Mautic.disabledSmsAction = function(opener) { | |
if (typeof opener == 'undefined') { | |
opener = window; | |
} | |
var sms = opener.mQuery('#campaignevent_properties_sms').val(); | |
var disabled = sms === '' || sms === null; | |
opener.mQuery('#campaignevent_properties_editSmsButton').prop('disabled', disabled); | |
}; |