%PDF- %PDF-
| Direktori : /home/lightco1/luminero.com.au/media/com_cmc/backend/js/ |
| Current File : /home/lightco1/luminero.com.au/media/com_cmc/backend/js/sync.js |
var cmcSync = function(){
var totalItems = null,
batchSize = null,
offset = null,
progress = null,
$ = jQuery,
path = 'index.php?option=com_cmc&format=json&' + $('#cmc-indexer-token').prop('name') + '=1';
var initialize = function () {
jQuery('#close').on('click', function() {
parent.closeIFrame();
});
$('input[type=checkbox]').on('click',function(){
if($(this).prop('checked')) {
$('#sync').prop('disabled', '');
} else {
if(!$('input[type=checkbox]:checked').length) {
$('#sync').prop('disabled', 'disabled');
}
}
});
$('#sync').on('click', function() {
var lists = $('input:checked'), data = [];
lists.each(function(key, list) {
data.push(list.name);
});
$('#sync').prop('disabled', true).addClass('disabled');
$('input[type=checkbox]').addClass('disabled').prop('disabled', true);
getRequest('task=sync.start&lists='+data.join(','));
});
};
var getRequest = function (data) {
return $.ajax({
dataType: "json",
url: path,
method: 'get',
data: data,
success: handleResponse,
error: handleFailure
});
};
var handleResponse = function (json, resp) {
try {
if (json === null) {
throw resp;
}
if (json.error) {
throw json;
}
if(json.lists.length) {
totalItems = json.lists[0].toSync;
offset = json.offset*json.batchSize;
updateProgress(json.header, json.message);
if (json.offset * json.batchSize < json.lists[0].toSync) {
getRequest('task=sync.batch');
}
} else {
console.log('no lists anymore');
offset = json.offset*json.batchSize;
updateProgress(json.header, json.message);
}
} catch (error) {
try {
if (json.error) {
$('#cmc-progress-header').html(json.header).addClass('cmc-error');
$('#cmc-progress-message').html(json.message).addClass('cmc-error');
}
} catch (ignore) {
if (error == '') {
error = Joomla.JText._('COM_CMC_NO_ERROR_RETURNED');
}
$('#cmc-progress-header').html(Joomla.JText._('COM_CMC_AN_ERROR_HAS_OCCURRED')).addClass('cmc-error');
$('#cmc-progress-message').html(error).addClass('cmc-error');
}
}
return true;
};
var handleFailure = function (xhr) {
json = (typeof xhr == 'object' && xhr.responseText) ? xhr.responseText : null;
console.log(json);
json = json ? JSON.decode(json, true) : null;
if (json) {
json = json.responseText != null ? Json.evaluate(json.responseText, true) : json;
}
var header = json ? json.header : Joomla.JText._('COM_CMC_AN_ERROR_HAS_OCCURRED');
var message = json ? json.message : Joomla.JText._('COM_CMC_MESSAGE_RETURNED') + ' <br />' + json;
$('cmc-progress-header').html(header).addClass('cmc-error');
$('cmc-progress-message').html(message).addClass('cmc-error');
};
var updateProgress = function (header, message) {
progress = (offset / totalItems) * 100;
var pb = $('#cmc-progress-container');
$('#cmc-progress-header').html(header);
$('#cmc-progress-message').html(message);
if (pb && progress < 100) {
pb.css('width', progress + '%').parent('div').removeClass('active');
} else if (progress >= 100) {
pb.css('width', '100%');
}
};
initialize();
};