39 lines
1.1 KiB
JavaScript
39 lines
1.1 KiB
JavaScript
function combo_load_cell(elem, url) {
|
|
$.ajax({url: url,
|
|
xhrFields: { withCredentials: true },
|
|
async: true,
|
|
dataType: 'html',
|
|
crossDomain: true,
|
|
success: function(data) {
|
|
if (data == '') {
|
|
$(elem).remove();
|
|
} else {
|
|
$(elem).replaceWith(data);
|
|
}
|
|
},
|
|
error: function(error) {
|
|
$(elem).addClass('error-loading');
|
|
window.console && console.log(':(', error);
|
|
}
|
|
});
|
|
}
|
|
|
|
$(function() {
|
|
$('[data-ajax-cell-refresh]').each(function(idx, elem) {
|
|
var $elem = $(elem);
|
|
function refresh() {
|
|
combo_load_cell($elem.find('> div'), $elem.data('ajax-cell-url'));
|
|
}
|
|
$elem.timeout_id = setInterval(refresh, $elem.data('ajax-cell-refresh')*1000);
|
|
});
|
|
$('[data-ajax-cell-must-load]').each(function(idx, elem) {
|
|
var $elem = $(elem);
|
|
combo_load_cell($elem, $elem.parents('div.cell').data('ajax-cell-url'));
|
|
});
|
|
|
|
/* utility functions and events, for themes */
|
|
$('.togglable').on('click', function() {
|
|
$(this).toggleClass('toggled');
|
|
});
|
|
});
|