mailcow/data/web/js/presets/sieveMailbox.js

35 lines
1.2 KiB
JavaScript

var sieve_presetsElem = document.getElementById("sieve_presets");
if (sieve_presetsElem) {
$.ajax({
dataType: 'json',
url: '/api/v1/get/presets/sieve',
jsonp: false,
complete: function (data) {
if (data.responseText !== '{}') {
var sieveMailboxPresets = JSON.parse(data.responseText);
if (sieveMailboxPresets) {
sieve_presetsElem.innerHTML = '';
sieveMailboxPresets.forEach(function (item, index) {
var elemID = 'sieve_preset_' + index;
sieve_presetsElem.innerHTML += '<li><a href="#" class="small" id="' + elemID + '">' + lang.insert_preset.replace('%s', item.headline) + '</a></li>';
/*
we need to define 0-timeout here, to prevent dom not be ready.
*/
setTimeout(function () {
document.getElementById(elemID).addEventListener('click', function (e) {
e.preventDefault();
document.querySelector('form[data-id=add_filter] #script_desc').value = item.headline;
document.querySelector('form[data-id=add_filter] .script_data').value = item.content;
return true;
});
}, 0);
});
}
}
}
});
}