1 package be
.nikiroo
.fanfix
.library
.web
.templates
;
5 import be
.nikiroo
.fanfix
.Instance
;
6 import be
.nikiroo
.fanfix
.bundles
.UiConfig
;
7 import be
.nikiroo
.fanfix
.library
.Template
;
8 import be
.nikiroo
.utils
.Version
;
11 * Utility class to retrieve and fill HTML templates for Fanfix web server.
15 public class WebLibraryServerTemplates
{
16 static private WebLibraryServerTemplates instance
= new WebLibraryServerTemplates();
19 * Get the (unique) instance of this {@link WebLibraryServerTemplates}.
21 * @return the (unique) instance
23 static public WebLibraryServerTemplates
getInstance() {
27 public Template
bookline(String luid
, String href
, String title
,
28 String author
, boolean cached
) {
30 String cachedClass
= "cached";
31 String cachedValue
= "◉";
33 cachedClass
= "uncached";
34 cachedValue
= "○";
37 return new Template(getClass(), "bookline.html") //
39 .set("cachedClass", cachedClass
) //
40 .set("cached", cachedValue
) //
42 .set("title", title
) //
43 .set("author", author
) //
47 public Template
index(boolean banner
, boolean fullscreen
,
48 List
<Template
> content
) {
49 String favicon
= "favicon.ico";
50 String icon
= Instance
.getInstance().getUiConfig()
51 .getString(UiConfig
.PROGRAM_ICON
);
53 favicon
= "icon_" + icon
.replace("-", "_") + ".png";
56 Template index
= new Template(getClass(), "index.html") //
57 .set("title", "Fanfix") //
58 .set("favicon", favicon
) //
59 .set("mainClass", fullscreen ?
"fullscreen" : "") //
60 .set("content", content
) //
64 index
.set("banner", new Template(getClass(), "index.banner.html") //
65 .set("favicon", favicon
) //
66 .set("version", Version
.getCurrentVersion().toString()) //
69 index
.set("banner", "");
75 public Template
login(String url
) {
76 return new Template(getClass(), "login.html") //
81 public Template
message(String message
, boolean error
) {
82 return new Template(getClass(), "message.html") //
83 .set("class", error ?
"message error" : "message") //
84 .set("message", message
) //
88 public Template
browser(String selectedValue
, String filter
,
89 List
<Template
> selects
) {
90 return new Template(getClass(), "browser.html") //
91 .set("sourcesSelected",
92 "sources".equals(selectedValue
) ?
"selected='selected'"
94 .set("authorsSelected",
95 "authors".equals(selectedValue
) ?
"selected='selected'"
98 "tags".equals(selectedValue
) ?
"selected='selected'"
100 .set("filter", filter
) //
101 .set("selects", selects
) //
105 public Template
browserOption(String name
, String value
,
106 String selectedValue
) {
107 return new Template(getClass(), "browser.option.html") //
108 .set("value", value
) //
110 value
.equals(selectedValue
) ?
"selected='selected'"
112 .set("name", name
) //
116 public Template
browserSelect(String name
, String value
,
117 List
<Template
> options
) {
118 return new Template(getClass(), "browser.select.html") //
119 .set("name", name
) //
120 .set("value", value
) //
121 .set("options", options
) //
125 public Template
viewerDesc(String title
, String href
, String cover
,
126 List
<Template
> desclines
) {
127 return new Template(getClass(), "viewer.desc.html") //
128 .set("title", title
) //
129 .set("href", href
) //
130 .set("cover", cover
) //
131 .set("details", desclines
) //
135 public Template
viewerDescline(String key
, String value
) {
136 return new Template(getClass(), "viewer.descline.html") //
138 .set("value", value
) //
142 // href NULL means no forward link
143 public Template
viewerImage(String src
, String href
, String zoomStyle
) {
144 return new Template(getClass(),
145 href
== null ?
"viewer.image.nolink.html" : "viewer.image.html") //
147 .set("href", href
) //
148 .set("zoomStyle", zoomStyle
) //
152 public Template
viewerText(Template desc
, String content
) {
153 return new Template(getClass(), "viewer.text.html") //
154 .set("desc", desc
) //
155 .set("content", content
) //
159 public Template
viewerLink(String name
, String link
, boolean selected
) {
160 return new Template(getClass(), "viewer.link.html") //
161 .set("link", link
) //
162 .set("class", selected ?
"selected" : "") //
163 .set("name", name
) //
167 public Template
viewerNavbar(int current
, List
<Template
> links
,
168 String hrefFirst
, String hrefPrevious
, String hrefNext
,
169 String hrefLast
, boolean disabledFirst
, boolean disabledPrevious
,
170 boolean disabledNext
, boolean disabledLast
) {
171 return new Template(getClass(), "viewer.navbar.html") //
172 .set("disabledFirst",
173 disabledFirst ?
"disabled='disabled'" : "") //
174 .set("disabledPrevious",
175 disabledPrevious ?
"disabled='disabled'" : "") //
176 .set("disabledNext", disabledNext ?
"disabled='disabled'" : "") //
177 .set("disabledLast", disabledLast ?
"disabled='disabled'" : "") //
178 .set("hrefFirst", hrefFirst
) //
179 .set("hrefPrevious", hrefPrevious
) //
180 .set("hrefNext", hrefNext
) //
181 .set("hrefLast", hrefLast
) //
182 .set("current", Integer
.toString(current
)) //
183 .set("links", links
) //
187 // supported numberOfButtons = 5 or 4 or 1 or the moment
188 public Template
viewerOptionbar(int numberOfButtons
,
189 List
<Template
> buttons
) {
190 return new Template(getClass(), "viewer.optionbar.html") //
191 .set("classSize", "s" + numberOfButtons
) //
192 .set("buttons", buttons
) //
196 public Template
viewerOptionbarButton(String value
, String href
,
197 String className
, boolean disabled
) {
198 return new Template(getClass(), "viewer.optionbar.button.html") //
199 .set("disabled", disabled ?
"disabled='disabled'" : "") //
200 .set("class", className
) //
201 .set("href", href
) //
202 .set("value", value
) //