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); | |
| }; |