Mercurial Hosting > freedit
annotate src/edit.js.luan @ 43:298c71e0c854
caching
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Wed, 09 Nov 2022 23:05:01 -0700 |
parents | 0c1b820fff34 |
children | 289718f121e4 |
rev | line source |
---|---|
15 | 1 local Luan = require "luan:Luan.luan" |
2 local error = Luan.error | |
3 local Html = require "luan:Html.luan" | |
4 local html_encode = Html.encode or error() | |
5 local Parsers = require "luan:Parsers.luan" | |
6 local json_string = Parsers.json_string or error() | |
7 local Io = require "luan:Io.luan" | |
8 local Http = require "luan:http/Http.luan" | |
9 local Post = require "site:/lib/Post.luan" | |
10 | |
11 | |
12 return function() | |
13 local post = Http.request.parameters.post or error() | |
14 post = Post.get_by_id(post) or error() | |
15 Io.stdout = Http.response.text_writer() | |
16 %> | |
33
4fdc4ec0050b
upload with uploadcare
Franklin Schmidt <fschmidt@gmail.com>
parents:
25
diff
changeset
|
17 let postDiv = document.querySelector('[post="<%=post.id%>"]'); |
4fdc4ec0050b
upload with uploadcare
Franklin Schmidt <fschmidt@gmail.com>
parents:
25
diff
changeset
|
18 postDiv.querySelector('[output]').style.display = 'none'; |
4fdc4ec0050b
upload with uploadcare
Franklin Schmidt <fschmidt@gmail.com>
parents:
25
diff
changeset
|
19 postDiv.querySelector('[edit]').innerHTML = document.querySelector('[hidden][edit]').innerHTML; |
4fdc4ec0050b
upload with uploadcare
Franklin Schmidt <fschmidt@gmail.com>
parents:
25
diff
changeset
|
20 let textarea = postDiv.querySelector('textarea'); |
4fdc4ec0050b
upload with uploadcare
Franklin Schmidt <fschmidt@gmail.com>
parents:
25
diff
changeset
|
21 textarea.innerHTML = <%= json_string(html_encode(post.content)) %>; |
42 | 22 fixTextarea(textarea); |
33
4fdc4ec0050b
upload with uploadcare
Franklin Schmidt <fschmidt@gmail.com>
parents:
25
diff
changeset
|
23 textarea.focus(); |
15 | 24 <% |
25 end |