Add static website hosting
This commit is contained in:
@@ -4164,6 +4164,13 @@
|
||||
}
|
||||
});
|
||||
|
||||
interceptForm('websiteForm', {
|
||||
successMessage: 'Website settings saved',
|
||||
onSuccess: function (data) {
|
||||
updateWebsiteCard(data.enabled !== false, data.index_document, data.error_document);
|
||||
}
|
||||
});
|
||||
|
||||
interceptForm('bucketPolicyForm', {
|
||||
successMessage: 'Bucket policy saved',
|
||||
onSuccess: function (data) {
|
||||
@@ -4224,6 +4231,59 @@
|
||||
});
|
||||
}
|
||||
|
||||
function updateWebsiteCard(enabled, indexDoc, errorDoc) {
|
||||
var card = document.getElementById('bucket-website-card');
|
||||
if (!card) return;
|
||||
var alertContainer = card.querySelector('.alert');
|
||||
if (alertContainer) {
|
||||
if (enabled) {
|
||||
alertContainer.className = 'alert alert-success d-flex align-items-start mb-4';
|
||||
var detail = 'Index: <code>' + escapeHtml(indexDoc || 'index.html') + '</code>';
|
||||
if (errorDoc) detail += '<br>Error: <code>' + escapeHtml(errorDoc) + '</code>';
|
||||
alertContainer.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" class="me-2 flex-shrink-0" viewBox="0 0 16 16">' +
|
||||
'<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z"/>' +
|
||||
'</svg><div><strong>Website hosting is enabled</strong>' +
|
||||
'<p class="mb-0 small">' + detail + '</p></div>';
|
||||
} else {
|
||||
alertContainer.className = 'alert alert-secondary d-flex align-items-start mb-4';
|
||||
alertContainer.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" class="me-2 flex-shrink-0" viewBox="0 0 16 16">' +
|
||||
'<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/>' +
|
||||
'<path d="M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"/>' +
|
||||
'</svg><div><strong>Website hosting is disabled</strong>' +
|
||||
'<p class="mb-0 small">Enable website hosting to serve bucket contents as a static website.</p></div>';
|
||||
}
|
||||
}
|
||||
var disableBtn = document.getElementById('disableWebsiteBtn');
|
||||
if (disableBtn) {
|
||||
disableBtn.style.display = enabled ? '' : 'none';
|
||||
}
|
||||
var submitBtn = document.getElementById('websiteSubmitBtn');
|
||||
if (submitBtn) {
|
||||
submitBtn.classList.remove('btn-primary', 'btn-success');
|
||||
submitBtn.classList.add(enabled ? 'btn-primary' : 'btn-success');
|
||||
}
|
||||
var submitLabel = document.getElementById('websiteSubmitLabel');
|
||||
if (submitLabel) {
|
||||
submitLabel.textContent = enabled ? 'Save Website Settings' : 'Enable Website Hosting';
|
||||
}
|
||||
}
|
||||
|
||||
var disableWebsiteBtn = document.getElementById('disableWebsiteBtn');
|
||||
if (disableWebsiteBtn) {
|
||||
disableWebsiteBtn.addEventListener('click', function () {
|
||||
var form = document.getElementById('websiteForm');
|
||||
if (!form) return;
|
||||
document.getElementById('websiteAction').value = 'disable';
|
||||
window.UICore.submitFormAjax(form, {
|
||||
successMessage: 'Website hosting disabled',
|
||||
onSuccess: function (data) {
|
||||
document.getElementById('websiteAction').value = 'enable';
|
||||
updateWebsiteCard(false, null, null);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function reloadReplicationPane() {
|
||||
var replicationPane = document.getElementById('replication-pane');
|
||||
if (!replicationPane) return;
|
||||
|
||||
Reference in New Issue
Block a user