admin: post editing: automatically set textarea height

This commit is contained in:
E. S. 2024-03-16 00:46:36 +00:00
parent 3e3c14ce59
commit dbca0698bf
2 changed files with 13 additions and 3 deletions

View File

@ -6,6 +6,7 @@ function AdminWriteEditForm(opts) {
this.form = document.forms[this.isPage() ? 'pageForm' : 'postForm']; this.form = document.forms[this.isPage() ? 'pageForm' : 'postForm'];
this.previewTimeout = null; this.previewTimeout = null;
this.previewRequest = null; this.previewRequest = null;
this.firstPreviewShowDone = false;
this.tocByLang = {}; this.tocByLang = {};
if (!this.isEditing() && this.isPost()) { if (!this.isEditing() && this.isPost()) {
@ -91,7 +92,17 @@ extend(AdminWriteEditForm.prototype, {
if (err) if (err)
return console.error(err); return console.error(err);
ge('preview_html').innerHTML = response.html; ge('preview_html').innerHTML = response.html;
}); if (!this.firstPreviewShowDone && this.isEditing() && this.isPost()) {
window.requestAnimationFrame(function() {
var taHeight = this.form.text.getBoundingClientRect().height;
var blogPostHeight = ge('blog_post').getBoundingClientRect().height - 70;
if (blogPostHeight > taHeight) {
setStyle(this.form.text, {height: blogPostHeight + 'px'});
}
}.bind(this))
this.firstPreviewShowDone = true;
}
}.bind(this));
}, },
showError: function(code, message) { showError: function(code, message) {

View File

@ -424,8 +424,7 @@ HTML;
function markdownPreview($ctx, $unsafe_html, $title) { function markdownPreview($ctx, $unsafe_html, $title) {
return <<<HTML return <<<HTML
<div class="blog-post"> <div class="blog-post" id="blog_post">
<div class="blog-post">
{$ctx->if_true($title, '<div class="blog-post-title"><h1>'.$title.'</h1></div>')} {$ctx->if_true($title, '<div class="blog-post-title"><h1>'.$title.'</h1></div>')}
<div class="blog-post-text">{$unsafe_html}</div> <div class="blog-post-text">{$unsafe_html}</div>
</div> </div>