| Matthias Andreas Benkard | ae40234 | 2020-01-25 10:09:57 +0100 | [diff] [blame] | 1 | {@eu.mulk.mulkcms2.benki.wiki.WikiPageRevision page} | 
| Matthias Andreas Benkard | d8f1644 | 2020-01-25 05:37:43 +0100 | [diff] [blame] | 2 |  | 
| Matthias Andreas Benkard | ae40234 | 2020-01-25 10:09:57 +0100 | [diff] [blame] | 3 | {#include base.html} | 
| Matthias Andreas Benkard | ffb428e | 2020-01-25 10:47:36 +0100 | [diff] [blame] | 4 |  | 
| Matthias Andreas Benkard | ae40234 | 2020-01-25 10:09:57 +0100 | [diff] [blame] | 5 | {#title}{page.title} — Benki Wiki{/title} | 
| Matthias Andreas Benkard | ffb428e | 2020-01-25 10:47:36 +0100 | [diff] [blame] | 6 |  | 
|  | 7 | {#head} | 
|  | 8 | <link rel="stylesheet" type="text/css" href="/web_modules/ContentTools/build/content-tools.min.css" /> | 
|  | 9 | <script type="module"> | 
| Matthias Andreas Benkard | 578c865 | 2020-02-01 23:53:37 +0100 | [diff] [blame^] | 10 | import ContentTools from "/web_modules/ContentTools.js"; | 
| Matthias Andreas Benkard | 2f53745 | 2020-01-27 21:23:00 +0100 | [diff] [blame] | 11 |  | 
| Matthias Andreas Benkard | ffb428e | 2020-01-25 10:47:36 +0100 | [diff] [blame] | 12 | window.addEventListener('DOMContentLoaded', function() { | 
|  | 13 | let editor = ContentTools.EditorApp.get(); | 
|  | 14 | editor.init('*[data-editable]', 'data-name'); | 
| Matthias Andreas Benkard | 2f53745 | 2020-01-27 21:23:00 +0100 | [diff] [blame] | 15 |  | 
| Matthias Andreas Benkard | d50bbb7 | 2020-01-27 05:53:07 +0100 | [diff] [blame] | 16 | editor.addEventListener('saved', async function (ev) { | 
|  | 17 | let regions = ev.detail().regions; | 
|  | 18 | if (Object.getOwnPropertyNames(regions).length === 0) { | 
|  | 19 | // Nothing changed. | 
|  | 20 | return; | 
|  | 21 | } | 
|  | 22 |  | 
|  | 23 | this.busy(true); | 
|  | 24 |  | 
|  | 25 | let requestParams = new URLSearchParams(); | 
|  | 26 | for (let name of Object.getOwnPropertyNames(regions)) { | 
|  | 27 | requestParams.append(name, regions[name]); | 
|  | 28 | } | 
|  | 29 |  | 
| Matthias Andreas Benkard | 97130f9 | 2020-01-27 21:03:39 +0100 | [diff] [blame] | 30 | let response = await fetch("/wiki/{page.title}", { | 
| Matthias Andreas Benkard | d50bbb7 | 2020-01-27 05:53:07 +0100 | [diff] [blame] | 31 | method: 'POST', | 
|  | 32 | body: requestParams | 
|  | 33 | }); | 
| Matthias Andreas Benkard | 97130f9 | 2020-01-27 21:03:39 +0100 | [diff] [blame] | 34 |  | 
| Matthias Andreas Benkard | 2f53745 | 2020-01-27 21:23:00 +0100 | [diff] [blame] | 35 | let status = await response.json(); | 
|  | 36 | if (status.status === "ok") { | 
|  | 37 | if (status.hasOwnProperty("content")) { | 
|  | 38 | document.getElementById("wiki-content").innerHTML = status.content; | 
|  | 39 | } | 
|  | 40 | } else { | 
|  | 41 | alert("Failed to save page: " + JSON.stringify(status)); | 
|  | 42 | } | 
|  | 43 |  | 
| Matthias Andreas Benkard | d50bbb7 | 2020-01-27 05:53:07 +0100 | [diff] [blame] | 44 | this.busy(false); | 
|  | 45 | }); | 
| Matthias Andreas Benkard | ffb428e | 2020-01-25 10:47:36 +0100 | [diff] [blame] | 46 | }); | 
|  | 47 | </script> | 
|  | 48 | {/head} | 
|  | 49 |  | 
| Matthias Andreas Benkard | ae40234 | 2020-01-25 10:09:57 +0100 | [diff] [blame] | 50 | {#body} | 
|  | 51 | <article id="wiki-page"> | 
|  | 52 | <header> | 
| Matthias Andreas Benkard | d50bbb7 | 2020-01-27 05:53:07 +0100 | [diff] [blame] | 53 | <div data-editable data-name="wiki-title"> | 
|  | 54 | <h1>{page.title}</h1> | 
|  | 55 | </div> | 
| Matthias Andreas Benkard | ae40234 | 2020-01-25 10:09:57 +0100 | [diff] [blame] | 56 | </header> | 
| Matthias Andreas Benkard | d8f1644 | 2020-01-25 05:37:43 +0100 | [diff] [blame] | 57 |  | 
| Matthias Andreas Benkard | ae40234 | 2020-01-25 10:09:57 +0100 | [diff] [blame] | 58 | <main> | 
| Matthias Andreas Benkard | 2f53745 | 2020-01-27 21:23:00 +0100 | [diff] [blame] | 59 | <div data-editable data-name="wiki-content" id="wiki-content"> | 
| Matthias Andreas Benkard | 97130f9 | 2020-01-27 21:03:39 +0100 | [diff] [blame] | 60 | {#with page}{enrichedContent.raw}{/} | 
| Matthias Andreas Benkard | ffb428e | 2020-01-25 10:47:36 +0100 | [diff] [blame] | 61 | </div> | 
| Matthias Andreas Benkard | ae40234 | 2020-01-25 10:09:57 +0100 | [diff] [blame] | 62 | </main> | 
| Matthias Andreas Benkard | d8f1644 | 2020-01-25 05:37:43 +0100 | [diff] [blame] | 63 |  | 
| Matthias Andreas Benkard | ae40234 | 2020-01-25 10:09:57 +0100 | [diff] [blame] | 64 | <hr> | 
| Matthias Andreas Benkard | 9222efa | 2020-01-24 19:11:24 +0100 | [diff] [blame] | 65 |  | 
| Matthias Andreas Benkard | ae40234 | 2020-01-25 10:09:57 +0100 | [diff] [blame] | 66 | <footer> | 
|  | 67 | <a href="/wiki/{page.title}/revisions">Page revisions</a> | 
|  | 68 | </footer> | 
|  | 69 | </article> | 
|  | 70 | {/body} | 
| Matthias Andreas Benkard | ffb428e | 2020-01-25 10:47:36 +0100 | [diff] [blame] | 71 |  | 
| Matthias Andreas Benkard | ae40234 | 2020-01-25 10:09:57 +0100 | [diff] [blame] | 72 | {/include} |