140 lines
4.7 KiB
JavaScript
140 lines
4.7 KiB
JavaScript
// Initialize components on document ready
|
|
$(function() {
|
|
// Initialize tooltips
|
|
$('[data-toggle="tooltip"]').tooltip();
|
|
|
|
// Initialize select2 for dropdowns
|
|
$('.select2').select2();
|
|
|
|
// Initialize client groups select2
|
|
$('#client_groups').select2({
|
|
placeholder: app.lang.select_client_groups,
|
|
allowClear: true
|
|
});
|
|
|
|
// Handle message character count
|
|
function updateCharCount(textarea, charCount, msgCount) {
|
|
var chars = $(textarea).val().length;
|
|
$(charCount).text(chars);
|
|
$(msgCount).text(Math.ceil(chars / 160));
|
|
}
|
|
|
|
$('#message').on('keyup', function() {
|
|
updateCharCount(this, '#char_count', '#messages_count');
|
|
});
|
|
|
|
$('#message_bulk').on('keyup', function() {
|
|
updateCharCount(this, '#char_count_bulk', '#messages_count_bulk');
|
|
});
|
|
|
|
// Handle client groups selection
|
|
$('#client_groups').on('change', function() {
|
|
var selectedGroups = $(this).val();
|
|
if (selectedGroups) {
|
|
$.get(admin_url + 'hubtel_sms/get_recipients_preview', {
|
|
groups: selectedGroups
|
|
}, function(response) {
|
|
$('#recipients_preview').html(response.html);
|
|
$('#recipients_count').text(response.count);
|
|
}, 'json');
|
|
} else {
|
|
$('#recipients_preview').html('');
|
|
$('#recipients_count').text('0');
|
|
}
|
|
});
|
|
|
|
// Handle template selection for single SMS
|
|
$('#template_id').on('change', function() {
|
|
var templateId = $(this).val();
|
|
if (templateId) {
|
|
$.get(admin_url + 'hubtel_sms/get_template/' + templateId, function(response) {
|
|
if (response.success) {
|
|
$('#message').val(response.template.template);
|
|
updateCharCount('#message', '#char_count', '#messages_count');
|
|
}
|
|
}, 'json');
|
|
}
|
|
});
|
|
|
|
// Handle template selection for bulk SMS
|
|
$('#template_id_bulk').on('change', function() {
|
|
var templateId = $(this).val();
|
|
if (templateId) {
|
|
$.get(admin_url + 'hubtel_sms/get_template/' + templateId, function(response) {
|
|
if (response.success) {
|
|
$('#message_bulk').val(response.template.template);
|
|
updateCharCount('#message_bulk', '#char_count_bulk', '#messages_count_bulk');
|
|
}
|
|
}, 'json');
|
|
}
|
|
});
|
|
|
|
// Handle form submissions
|
|
$('#sms-form').on('submit', function() {
|
|
var $btn = $('#sendSmsBtn').prop('disabled', true);
|
|
$btn.html('<i class="fa fa-spinner fa-spin"></i> ' + app.lang.sending);
|
|
});
|
|
|
|
$('#bulk-sms-form').on('submit', function() {
|
|
if (!confirm(app.lang.bulk_sms_confirm)) {
|
|
return false;
|
|
}
|
|
var $btn = $('#sendBulkSmsBtn').prop('disabled', true);
|
|
$btn.html('<i class="fa fa-spinner fa-spin"></i> ' + app.lang.sending);
|
|
});
|
|
});
|
|
|
|
// Function to show send SMS modal
|
|
function send_sms_modal() {
|
|
$('#send_sms_modal').modal('show');
|
|
$('#send_sms_modal').find('form')[0].reset();
|
|
$('#template_id').val('').trigger('change');
|
|
$('#char_count').text('0');
|
|
$('#messages_count').text('1');
|
|
}
|
|
|
|
// Function to show bulk SMS modal
|
|
function bulk_sms_modal() {
|
|
$('#bulk_sms_modal').modal('show');
|
|
$('#bulk_sms_modal').find('form')[0].reset();
|
|
$('#client_groups').val('').trigger('change');
|
|
$('#template_id_bulk').val('').trigger('change');
|
|
$('#char_count_bulk').text('0');
|
|
$('#messages_count_bulk').text('1');
|
|
$('#recipients_preview').html('');
|
|
$('#recipients_count').text('0');
|
|
}
|
|
|
|
// Function to view message details
|
|
function view_message(id) {
|
|
$('#message_details').html('<div class="text-center"><i class="fa fa-spinner fa-spin fa-2x"></i></div>');
|
|
$('#view_message_modal').modal('show');
|
|
|
|
$.get(admin_url + 'hubtel_sms/view_message/' + id, function(response) {
|
|
$('#message_details').html(response);
|
|
});
|
|
}
|
|
|
|
// Function to preview template
|
|
function preview_template(id) {
|
|
$('#template_preview').html('<div class="text-center"><i class="fa fa-spinner fa-spin fa-2x"></i></div>');
|
|
$('#preview_template_modal').modal('show');
|
|
|
|
$.get(admin_url + 'hubtel_sms/preview_template/' + id, function(response) {
|
|
$('#template_preview').html(response);
|
|
});
|
|
}
|
|
|
|
// Function to resend SMS
|
|
function resend_sms(id) {
|
|
if (confirm(app.lang.confirm_action_prompt)) {
|
|
$.get(admin_url + 'hubtel_sms/resend/' + id, function(response) {
|
|
if (response.success) {
|
|
alert_float('success', response.message);
|
|
location.reload();
|
|
} else {
|
|
alert_float('danger', response.message);
|
|
}
|
|
}, 'json');
|
|
}
|
|
} |