You've already forked roundcube-aliasmanager
Initial
This commit is contained in:
96
assets/scripts/app.js
Normal file
96
assets/scripts/app.js
Normal file
@ -0,0 +1,96 @@
|
||||
$(function() {
|
||||
function updateAliasesList() {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/?_task=settings&_action=plugin.aliasmanager-get-alias-list',
|
||||
success: function(response) {
|
||||
if (response.success) {
|
||||
$('[name=alias_new_name]').val('');
|
||||
|
||||
// Clear table
|
||||
$('.alias-list').html('');
|
||||
|
||||
// Make template
|
||||
let template = $('template#alias-list-row').html();
|
||||
|
||||
for (let i = 0; i < response.data.alias_list.length; i++) {
|
||||
const row = response.data.alias_list[i];
|
||||
|
||||
let tpl = template.replaceAll('{i}', i);
|
||||
tpl = tpl.replaceAll('{email}', row.email);
|
||||
tpl = tpl.replaceAll('{active}', row.active == 1);
|
||||
tpl = tpl.replaceAll('{checked}', row.active == 1 ? 'checked' : '');
|
||||
$('.alias-list').append(tpl);
|
||||
}
|
||||
}
|
||||
},
|
||||
dataType: 'json'
|
||||
});
|
||||
}
|
||||
|
||||
$(document).on('click', '.btn-aliasmanager-add-alias', function() {
|
||||
const email = $('[name=alias_new_name]').val();
|
||||
if (!/[a-z0-9]/.test(email)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/?_task=settings&_action=plugin.aliasmanager-add-alias',
|
||||
data: {
|
||||
email: email,
|
||||
},
|
||||
success: function(response) {
|
||||
if (response.success) {
|
||||
$('[name=alias_new_name]').val('');
|
||||
|
||||
updateAliasesList();
|
||||
}
|
||||
},
|
||||
dataType: 'json'
|
||||
});
|
||||
})
|
||||
|
||||
$(document).on('change', '.btn-aliasmanager-toggle-alias', function() {
|
||||
const email = $(this).attr('data-email');
|
||||
const isOn = $(this).is(':checked');
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/?_task=settings&_action=plugin.aliasmanager-toggle-alias',
|
||||
data: {
|
||||
state: isOn,
|
||||
email: email,
|
||||
},
|
||||
success: function(response) {
|
||||
if (response.success) {
|
||||
updateAliasesList();
|
||||
}
|
||||
},
|
||||
dataType: 'json'
|
||||
});
|
||||
})
|
||||
|
||||
$(document).on('click', '.btn-aliasmanager-delete-alias', function() {
|
||||
const email = $(this).attr('data-email');
|
||||
|
||||
if (confirm('You really want to delete ' + email + '?')) {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/?_task=settings&_action=plugin.aliasmanager-delete-alias',
|
||||
data: {
|
||||
email: email,
|
||||
},
|
||||
success: function(response) {
|
||||
if (response.success) {
|
||||
updateAliasesList();
|
||||
}
|
||||
},
|
||||
dataType: 'json'
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
// Init
|
||||
updateAliasesList()
|
||||
});
|
Reference in New Issue
Block a user