Mercurial Hosting > nabble
comparison src/nabble/view/web/template/MessageNamespace.java @ 0:7ecd1a4ef557
add content
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 21 Mar 2019 19:15:52 -0600 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:7ecd1a4ef557 |
---|---|
1 package nabble.view.web.template; | |
2 | |
3 import fschmidt.html.Html; | |
4 import nabble.model.FileUpload; | |
5 import nabble.model.MailMessageFormat; | |
6 import nabble.model.Message; | |
7 import nabble.model.Node; | |
8 import nabble.naml.compiler.Command; | |
9 import nabble.naml.compiler.CommandSpec; | |
10 import nabble.naml.compiler.IPrintWriter; | |
11 import nabble.naml.compiler.Interpreter; | |
12 import nabble.naml.compiler.Namespace; | |
13 import nabble.naml.compiler.ScopedInterpreter; | |
14 | |
15 | |
16 @Namespace ( | |
17 name = "message", | |
18 global = false | |
19 ) | |
20 public final class MessageNamespace { | |
21 private final Message message; | |
22 | |
23 public MessageNamespace(Message message) { | |
24 this.message = message; | |
25 } | |
26 | |
27 @Command public void as_text(IPrintWriter out,Interpreter interp) { | |
28 out.print( interp.encode(message.getText()) ); | |
29 } | |
30 | |
31 @Command public void as_quoted_text(IPrintWriter out,Interpreter interp) { | |
32 boolean isMail = message.getFormat() instanceof MailMessageFormat; | |
33 if( isMail ) { | |
34 Html html = new Html(message.getText()); | |
35 MailMessageFormat.tagEmails(html,(Node)message.getSource()); | |
36 out.print(html); | |
37 } else { | |
38 Html html = new Html(message.getRaw()); | |
39 FileUpload.processFileTags(html,message.getSource()); | |
40 out.print(html); | |
41 } | |
42 } | |
43 | |
44 @Command public void as_text_without_quotes(IPrintWriter out,Interpreter interp) { | |
45 out.print( interp.encode(message.getTextWithoutQuotes()) ); | |
46 } | |
47 | |
48 @Command public void as_raw(IPrintWriter out,Interpreter interp) { | |
49 out.print( message.getRaw() ); | |
50 } | |
51 | |
52 @Command public void as_editable(IPrintWriter out,Interpreter interp) { | |
53 boolean isMail = message.getFormat() instanceof MailMessageFormat; | |
54 out.print( isMail ? message.getText() : message.getRaw() ); | |
55 } | |
56 | |
57 @Command public void is_imported_mail(IPrintWriter out,Interpreter interp) { | |
58 out.print( message.getFormat().isMail() ); | |
59 } | |
60 | |
61 @Command public void is_html_format(IPrintWriter out,Interpreter interp) { | |
62 out.print( message.getFormat() == Message.Format.HTML ); | |
63 } | |
64 | |
65 @Command public void is_text_format(IPrintWriter out,Interpreter interp) { | |
66 out.print( message.getFormat() == Message.Format.TEXT ); | |
67 } | |
68 | |
69 @Command public void is_deleted(IPrintWriter out,Interpreter interp) { | |
70 out.print( message.isDeleted() ); | |
71 } | |
72 | |
73 @Command public void is_deactivated(IPrintWriter out,Interpreter interp) { | |
74 out.print( message.isDeactivated() ); | |
75 } | |
76 | |
77 @Command public void format(IPrintWriter out,Interpreter interp) { | |
78 String s = message.getFormat().getName(); | |
79 if( s.equals("subscription") ) | |
80 s = "mail"; // hack for now | |
81 out.print(s); | |
82 } | |
83 | |
84 | |
85 public static final CommandSpec as_html_list = CommandSpec.DO; | |
86 | |
87 @Command public void as_html_list(IPrintWriter out,ScopedInterpreter<HtmlListNamespace> interp) { | |
88 HtmlListNamespace html = new HtmlListNamespace( message.parse(), message.getSource(), message.getFormat()); | |
89 interp.getArgString(html,"do"); | |
90 out.print(html); | |
91 } | |
92 | |
93 public static final CommandSpec as_raw_html_list = CommandSpec.DO; | |
94 | |
95 @Command public void as_raw_html_list(IPrintWriter out,ScopedInterpreter<HtmlListNamespace> interp) { | |
96 HtmlListNamespace html = new HtmlListNamespace( new Html(message.getRaw()), message.getSource(), message.getFormat()); | |
97 interp.getArgString(html,"do"); | |
98 out.print(html); | |
99 } | |
100 | |
101 public static final CommandSpec as_text_list = CommandSpec.DO; | |
102 | |
103 @Command public void as_text_list(IPrintWriter out,ScopedInterpreter<HtmlListNamespace> interp) { | |
104 boolean isMail = message.getFormat() instanceof MailMessageFormat; | |
105 if( isMail ) { | |
106 out.print( message.getText() ); | |
107 } else { | |
108 HtmlListNamespace html = new HtmlListNamespace( message.parseForMailText(), message.getSource(), message.getFormat()); | |
109 interp.getArgString(html,"do"); | |
110 out.print( html.toMailText() ); | |
111 } | |
112 } | |
113 | |
114 } |