2022-02-14 17:09:29 +01:00
|
|
|
let log = Format.printf
|
|
|
|
|
|
|
|
|
|
(* called by clicking post_id *)
|
|
|
|
|
(* insert id into reply form *)
|
2022-02-18 18:31:55 +01:00
|
|
|
let insert_quote post_id _event =
|
2022-02-19 00:59:01 +01:00
|
|
|
log "quote@\n";
|
2022-02-18 01:37:25 +01:00
|
|
|
Option.iter
|
2022-02-26 14:36:44 +01:00
|
|
|
(fun textarea ->
|
|
|
|
|
let content = Jv.to_string @@ Jv.get textarea "value" in
|
2022-02-18 01:37:25 +01:00
|
|
|
let new_content =
|
2022-02-26 14:36:44 +01:00
|
|
|
if String.ends_with ~suffix:"\n" content || String.length content = 0
|
|
|
|
|
then Format.sprintf "%s>>%s " content post_id
|
2022-02-27 19:58:32 +01:00
|
|
|
else Format.sprintf "%s@\n>>%s " content post_id
|
2022-02-18 01:37:25 +01:00
|
|
|
in
|
2022-02-26 14:36:44 +01:00
|
|
|
ignore @@ Jv.set textarea "value" (Jv.of_string new_content) )
|
|
|
|
|
Jv.(find global "reply-comment")
|
2022-02-14 17:09:29 +01:00
|
|
|
|
2022-02-18 18:31:55 +01:00
|
|
|
let () =
|
2022-02-19 00:59:01 +01:00
|
|
|
log "add inser_quote event on post links@\n";
|
2022-02-18 18:31:55 +01:00
|
|
|
let document = Jv.get Jv.global "document" in
|
|
|
|
|
let quote_links =
|
|
|
|
|
Jv.to_jv_list
|
2022-02-18 20:17:24 +01:00
|
|
|
@@ Jv.call document "getElementsByClassName" [| Jv.of_string "quote-link" |]
|
2022-02-18 18:31:55 +01:00
|
|
|
in
|
2022-02-19 00:59:01 +01:00
|
|
|
log "quote_links leng %d@\n" (List.length quote_links);
|
2022-02-18 18:31:55 +01:00
|
|
|
let add_click quote_link =
|
|
|
|
|
let post_id =
|
2022-02-26 14:36:44 +01:00
|
|
|
Jv.to_string
|
|
|
|
|
@@ Jv.call quote_link "getAttribute" [| Jv.of_string "data-id" |]
|
2022-02-18 18:31:55 +01:00
|
|
|
in
|
|
|
|
|
ignore
|
|
|
|
|
@@ Jv.call quote_link "addEventListener"
|
|
|
|
|
[| Jv.of_string "click"; Jv.repr (insert_quote post_id) |]
|
|
|
|
|
in
|
|
|
|
|
List.iter add_click quote_links
|
2022-02-14 17:09:29 +01:00
|
|
|
|
|
|
|
|
(* make image description field visible when a file is selected*)
|
|
|
|
|
let make_visible el _event =
|
|
|
|
|
let el_style = Jv.get el "style" in
|
2022-02-18 01:37:25 +01:00
|
|
|
ignore @@ Jv.set el_style "display" (Jv.of_string "block")
|
2022-02-14 17:09:29 +01:00
|
|
|
|
|
|
|
|
let () =
|
2022-02-19 00:59:01 +01:00
|
|
|
log "change image description visibility@\n";
|
2022-02-18 01:37:25 +01:00
|
|
|
Option.iter
|
|
|
|
|
(fun file_input ->
|
|
|
|
|
let alt_input = Jv.get Jv.global "alt" in
|
2022-02-18 20:17:24 +01:00
|
|
|
let alt_label = Jv.get Jv.global "alt-label" in
|
2022-02-18 01:37:25 +01:00
|
|
|
ignore
|
|
|
|
|
@@ Jv.call file_input "addEventListener"
|
|
|
|
|
[| Jv.of_string "change"; Jv.repr (make_visible alt_input) |];
|
|
|
|
|
ignore
|
|
|
|
|
@@ Jv.call file_input "addEventListener"
|
|
|
|
|
[| Jv.of_string "change"; Jv.repr (make_visible alt_label) |] )
|
|
|
|
|
Jv.(find global "file")
|