in src/main/resources/buildServerResources/gh-webhook.js [459:521]
WH.refresh = function (element, repositories, table, projectId) {
if (repositories === undefined) {
if (table !== undefined) {
var data_holders = $j(table).find("[data-repository]");
repositories = data_holders.map(function () {
return $j(this).attr('data-repository');
}).toArray();
} else if (element !== undefined) {
var data_holder = $j(element).parents("[data-repository]");
repositories = [data_holder.attr('data-repository')];
} else return;
}
if (repositories.length < 1) return;
if (table === undefined) {
table = $j('#webHooksTable');
}
if (element !== undefined) {
BS.ProgressPopup.showProgress(element, "Refreshing webhook" + (repositories.length > 1 ? 's' : ''), {shift: {x: -65, y: 20}, zIndex: 100});
} else if (table !== undefined) {
$j(table).find('.spinner').show();
}
BS.ajaxRequest(window.base_uri + WH.WEBHOOKS_CONTROLLER_PATH, {
method: 'post',
parameters: {
'action': 'get-info',
'projectId': projectId,
'repository': repositories
},
onComplete: function (transport) {
if (element !== undefined) {
BS.ProgressPopup.hidePopup(0, true);
} else if (table !== undefined) {
$j(table).find('.spinner').hide();
}
if (transport.status != 200) {
BS.Log.error("Fetching webhooks info responded with " + transport.status);
return
}
var json = transport.responseJSON;
if (json['error']) {
BS.Log.error("Sad :( Something went wrong: " + json['error']);
} else if (json['result']) {
var arr = json['result'];
// Update internal data structure, then re-render table
for (var i = 0; i < arr.length; i++) {
var r = arr[i];
var repository = r['repository'];
if (WH.data[repository] && WH.data[repository]['manual']) {
if (!element) {
continue
}
WH.data[repository]['manual'] = false;
}
WH.data[repository] = r;
}
WH.renderTable($j(table));
} else {
BS.Log.error("Unexpected response: " + json.toString())
}
WH.refreshReports();
}
})
};