{{define "page-content"}} <h2>Editor</h2> <form> <div class="flex flex-col gap-y-1"> <label for="article-title">Titel</label> <input name="article-title" type="text" value="{{.Article.Title}}" /> </div> <div class="flex flex-col"> <label for="article-description">Beschreibung</label> <textarea name="article-description">{{.Article.Description}}</textarea> </div> <div class="flex flex-col"> <label for="article-content">Artikel</label> <textarea name="article-content" placeholder="Artikel">{{.Article.Content}}</textarea> </div> <input id="article-content" name="article-content" type="hidden" /> <div> <span>Tags</span> <div class="flex flex-wrap gap-x-4"> {{range .Tags}} <div> <input id="tag-{{.Name}}" name="tags" type="checkbox" value="{{.ID}}" {{if index $.Selected .ID}}checked{{end}} /> <label for="tag-{{.Name}}">{{.Name}}</label> </div> {{end}} </div> </div> <div class="btn-area"> <input class="action-btn" type="submit" value="Senden" hx-post="/article/resubmit/{{.Article.ID}}" hx-target="#page-content" /> <button class="btn" hx-get="/hub" hx-target="#page-content">Zurück</button> </div> </form> <script> var easyMDE = new EasyMDE({ element: document.getElementById('easyMDE'), hideIcons: ['image'], imageTexts: {sbInit: ''}, showIcons: ["code", "table", "upload-image"], uploadImage: true, imageUploadFunction: function (file, onSuccess, onError) { var formData = new FormData(); formData.append('article-image', file); fetch('/image/upload', { method: 'POST', body: formData }) .then(response => response.json()) .then(data => { onSuccess(data); }) .catch(error => { onError(error); }); }, }); easyMDE.codemirror.on("change", () => { document.getElementById('article-content').value = easyMDE.value(); }); </script> {{end}}