Learn: icon formatting toolbar; fix editor shown when hidden

This commit is contained in:
2026-09-17 18:38:19 +03:00
parent c111dce6da
commit 57052ed117
3 changed files with 97 additions and 36 deletions

View File

@@ -82,26 +82,31 @@
<div id="article-view" class="card card-body md-body" th:utext="${article.bodyHtml}"></div>
<form id="article-edit" class="card card-body form-stack" hidden
<form id="article-edit" class="card" hidden
th:if="${currentUser != null and currentUser.admin}"
th:action="@{/admin/content/articles/{id}/save(id=${article.id})}" method="post">
<input type="hidden" name="_csrf" th:value="${csrfToken}">
<input type="hidden" name="back" th:value="${back}">
<div><label class="label" for="article-title">Заголовок</label>
<input class="input" id="article-title" name="title" th:value="${article.title}" required></div>
<div>
<label class="label" for="article-body">Текст статьи (markdown)</label>
<div th:replace="~{fragments/md-toolbar :: toolbar('#article-body')}"></div>
<textarea class="input md-editor-body" id="article-body" name="bodyMd" rows="24"
th:text="${article.bodyMd}"></textarea>
<p class="hint">
Кнопки вставляют разметку в текст. Картинки и видео берутся из папки <code class="code">assets/</code>
архива материалов (имена файлов — латиницей). Заголовок статьи — отдельное поле выше.
</p>
<div class="md-editor-head">
<span class="md-editor-title">Редактирование статьи</span>
<div class="flex gap-2">
<button class="btn btn-secondary btn-sm" type="button" onclick="cancelArticleEdit()">Отмена</button>
<button class="btn btn-primary btn-sm" type="submit">Сохранить</button>
</div>
</div>
<div class="flex gap-2">
<button class="btn btn-primary" type="submit">Сохранить</button>
<button class="btn btn-secondary" type="button" onclick="cancelArticleEdit()">Отмена</button>
<div class="card-body form-stack">
<div><label class="label" for="article-title">Заголовок</label>
<input class="input" id="article-title" name="title" th:value="${article.title}" required></div>
<div>
<label class="label" for="article-body">Текст статьи (markdown)</label>
<div th:replace="~{fragments/md-toolbar :: toolbar('#article-body')}"></div>
<textarea class="input md-editor-body" id="article-body" name="bodyMd" rows="24"
th:text="${article.bodyMd}"></textarea>
<p class="hint">
Наводите курсор на значки — подсказка объяснит действие. Картинки и видео берутся из папки
<code class="code">assets/</code> архива материалов (имена файлов — латиницей).
</p>
</div>
</div>
</form>