mirror of
https://github.com/donlon/cloudflare-error-page.git
synced 2025-12-22 16:29:29 +00:00
editor/web: support exporting generated webpage
This commit is contained in:
@@ -532,6 +532,9 @@
|
||||
<button type="button" data-type="js" class="list-group-item list-group-item-action">
|
||||
NodeJS Example
|
||||
</button>
|
||||
<button type="button" data-type="static" class="list-group-item list-group-item-action">
|
||||
Static Page
|
||||
</button>
|
||||
</div>
|
||||
<div class="d-flex gap-1 save-as-dialog__buttons">
|
||||
<button type="button" class="btn btn-success" id="saveAsDialogCopyBtn" data-bs-toggle="popover"
|
||||
|
||||
@@ -445,7 +445,15 @@ function updateSaveAsDialog(e) {
|
||||
}
|
||||
const params = { ...lastCfg };
|
||||
delete params.time;
|
||||
$('saveAsDialogCode').innerHTML = saveAsContent = codegen.generate(params);
|
||||
if (codegen) {
|
||||
saveAsContent = codegen.generate(params);
|
||||
} else if (saveAsType == 'static') {
|
||||
render() // rerender the page
|
||||
saveAsContent = lastRenderedHtml;
|
||||
} else {
|
||||
throw new Error('unexpected saveAsType=' + saveAsType)
|
||||
}
|
||||
$('saveAsDialogCode').innerHTML = saveAsContent;
|
||||
$('saveAsDialogCode').scrollTop = 0;
|
||||
|
||||
document.querySelectorAll('#saveAsDialogTypes button').forEach((element) => {
|
||||
@@ -489,6 +497,10 @@ $('saveAsDialogSaveBtn').addEventListener('click', (e) => {
|
||||
case 'python':
|
||||
saveName = 'cf_error_page_example.py';
|
||||
break;
|
||||
case 'static':
|
||||
saveName = 'cf_error_page.html';
|
||||
break;
|
||||
// TODO: name output files using page title
|
||||
}
|
||||
saveFile(saveAsContent, saveName);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user