2023-09-25 14:03:51 -05:00
|
|
|
if (document.readyState && document.readyState !== 'loading') {
|
2023-09-25 14:44:28 -05:00
|
|
|
configureSummarizeButtons();
|
2023-09-25 14:03:51 -05:00
|
|
|
} else {
|
2023-09-25 14:44:28 -05:00
|
|
|
document.addEventListener('DOMContentLoaded', configureSummarizeButtons, false);
|
2023-09-25 14:03:51 -05:00
|
|
|
}
|
|
|
|
|
2023-09-25 14:44:28 -05:00
|
|
|
function configureSummarizeButtons() {
|
2023-09-25 15:57:46 -05:00
|
|
|
console.log(window.context);
|
2023-09-25 15:03:36 -05:00
|
|
|
document.getElementById('global').addEventListener('click', function(e) {
|
|
|
|
for (var target = e.target; target && target != this; target = target.parentNode) {
|
|
|
|
if (target.matches('.kagi-summary a.btn')) {
|
|
|
|
e.preventDefault();
|
|
|
|
e.stopPropagation();
|
2023-09-25 15:28:13 -05:00
|
|
|
if (target.href) {
|
2023-09-25 16:07:55 -05:00
|
|
|
summarizeButtonClick(target);
|
2023-09-25 15:07:33 -05:00
|
|
|
}
|
2023-09-25 15:03:36 -05:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}, false);
|
2023-09-25 13:30:27 -05:00
|
|
|
}
|
2023-09-25 15:07:33 -05:00
|
|
|
|
2023-09-25 16:06:56 -05:00
|
|
|
function summarizeButtonClick(button) {
|
|
|
|
var url = button.href;
|
|
|
|
var loadingMsg = button.dataset.loading;
|
|
|
|
var errorMsg = button.dataset.error;
|
2023-09-25 15:57:46 -05:00
|
|
|
var container = button.parentNode;
|
|
|
|
|
2023-09-25 16:06:56 -05:00
|
|
|
container.classList.add('alert');
|
|
|
|
container.classList.add('alert-warning');
|
|
|
|
container.innerHTML = loadingMsg;
|
|
|
|
|
2023-09-25 15:57:46 -05:00
|
|
|
var request = new XMLHttpRequest();
|
|
|
|
request.open('POST', url, true);
|
|
|
|
request.responseType = 'json';
|
|
|
|
|
|
|
|
request.onload = function(e) {
|
|
|
|
if (this.status != 200) {
|
2023-09-25 16:06:56 -05:00
|
|
|
return request.onerror(e);
|
|
|
|
}
|
|
|
|
|
|
|
|
var response = xmlHttpRequestJson(this);
|
|
|
|
if (!response) {
|
|
|
|
return request.onerror(e);
|
2023-09-25 15:57:46 -05:00
|
|
|
}
|
2023-09-25 16:06:56 -05:00
|
|
|
|
|
|
|
if (response.status !== 200) {
|
|
|
|
return request.onerror(e);
|
|
|
|
}
|
|
|
|
|
|
|
|
container.classList.remove('alert-warning');
|
|
|
|
container.classList.add('alert-success');
|
|
|
|
container.innerHTML = 'placeholder';
|
2023-09-25 15:57:46 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
request.onerror = function(e) {
|
|
|
|
badAjax(this.status == 403);
|
2023-09-25 16:06:56 -05:00
|
|
|
container.classList.remove('alert-warning');
|
2023-09-25 15:57:46 -05:00
|
|
|
container.classList.add('alert-error');
|
2023-09-25 16:06:56 -05:00
|
|
|
containter.innerHTML = errorMsg;
|
2023-09-25 15:57:46 -05:00
|
|
|
}
|
2023-09-25 15:07:33 -05:00
|
|
|
}
|