This is an automated email from the ASF dual-hosted git repository.
jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git
The following commit(s) were added to refs/heads/master by this push:
new 0341ad2 Javadocs.
0341ad2 is described below
commit 0341ad24c0a46a885e3cd902bd7876ed78717f9f
Author: JamesBognar <[email protected]>
AuthorDate: Thu Aug 30 14:00:28 2018 -0400
Javadocs.
---
...erver.HtmlDocAnnotation.PredefinedWidgets.1.png | Bin
...erver.HtmlDocAnnotation.PredefinedWidgets.2.png | Bin
...erver.HtmlDocAnnotation.PredefinedWidgets.3.png | Bin
...erver.HtmlDocAnnotation.PredefinedWidgets.4.png | Bin
juneau-doc/src/main/javadoc/overview.html | 224 +++++++++++++++++++--
.../27.HtmlDocAnnotation/02.PredefinedWidgets.html | 222 ++++++++++++++++++--
...erver.HtmlDocAnnotation.PredefinedWidgets.1.png | Bin
...erver.HtmlDocAnnotation.PredefinedWidgets.2.png | Bin
...erver.HtmlDocAnnotation.PredefinedWidgets.3.png | Bin
...erver.HtmlDocAnnotation.PredefinedWidgets.4.png | Bin
.../juneau/rest/widget/ContentTypeMenuItem.java | 2 +-
.../apache/juneau/rest/widget/MenuItemWidget.java | 35 +---
.../apache/juneau/rest/widget/PoweredByJuneau.java | 21 +-
.../apache/juneau/rest/widget/QueryMenuItem.java | 46 +----
.../apache/juneau/rest/widget/ThemeMenuItem.java | 26 +--
.../org/apache/juneau/rest/widget/Tooltip.java | 35 +---
.../java/org/apache/juneau/rest/widget/Widget.java | 91 ---------
.../widget/doc-files/PoweredByApacheWidget.png | Bin 4368 -> 0 bytes
18 files changed, 425 insertions(+), 277 deletions(-)
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/doc-files/ContentTypeMenuItem.png
b/juneau-doc/src/main/javadoc/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.1.png
similarity index 100%
copy from
juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/doc-files/ContentTypeMenuItem.png
copy to
juneau-doc/src/main/javadoc/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.1.png
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/doc-files/QueryMenuItem_1.png
b/juneau-doc/src/main/javadoc/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.2.png
similarity index 100%
copy from
juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/doc-files/QueryMenuItem_1.png
copy to
juneau-doc/src/main/javadoc/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.2.png
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/doc-files/QueryMenuItem_2.png
b/juneau-doc/src/main/javadoc/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.3.png
similarity index 100%
copy from
juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/doc-files/QueryMenuItem_2.png
copy to
juneau-doc/src/main/javadoc/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.3.png
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/doc-files/PoweredByJuneauWidget.png
b/juneau-doc/src/main/javadoc/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.4.png
similarity index 100%
copy from
juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/doc-files/PoweredByJuneauWidget.png
copy to
juneau-doc/src/main/javadoc/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.4.png
diff --git a/juneau-doc/src/main/javadoc/overview.html
b/juneau-doc/src/main/javadoc/overview.html
index c3c5de8..57c3b0a 100644
--- a/juneau-doc/src/main/javadoc/overview.html
+++ b/juneau-doc/src/main/javadoc/overview.html
@@ -337,7 +337,7 @@
<li><p class=''><a class='doclink'
href='#juneau-rest-server.HtmlDocAnnotation'>@HtmlDoc</a></p>
<ol>
<li><p class=''><a class='doclink'
href='#juneau-rest-server.HtmlDocAnnotation.Widgets'>Widgets</a></p>
- <li><p class='todo'><a class='doclink'
href='#juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets'>Predefined
Widgets</a></p>
+ <li><p class='new'><a class='doclink'
href='#juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets'>Predefined
Widgets</a></p>
<li><p class='updated'><a class='doclink'
href='#juneau-rest-server.HtmlDocAnnotation.UiCustomization'>UI
Customization</a></p>
<li><p class=''><a class='doclink'
href='#juneau-rest-server.HtmlDocAnnotation.Stylesheets'>Stylesheets</a></p>
</ol>
@@ -18748,48 +18748,244 @@
<!--
====================================================================================================
-->
-<h4 class='topic todo' onclick='toggle(this)'><a
href='#juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets'
id='juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets'>7.27.2 - Predefined
Widgets</a></h4>
+<h4 class='topic new' onclick='toggle(this)'><a
href='#juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets'
id='juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets'>7.27.2 - Predefined
Widgets</a></h4>
<div class='topic'><!-- START: 7.27.2 -
juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets -->
+<p>
+ The {@link org.apache.juneau.rest.widget} package contains predefined
reusable widgets.
+</p>
<ul class='doctree'>
- <li class='jac'>{@link org.apache.juneau.rest.widget.Widget}
+ <li class='jp'>{@link org.apache.juneau.rest.widget}
<ul>
- <li class='jac'>{@link
org.apache.juneau.rest.widget.MenuItemWidget}
+ <li class='jac'>{@link org.apache.juneau.rest.widget.Widget}
<ul>
- <li class='jc'>{@link
org.apache.juneau.rest.widget.ContentTypeMenuItem}
- <li class='jc'>{@link
org.apache.juneau.rest.widget.QueryMenuItem}
- <li class='jc'>{@link
org.apache.juneau.rest.widget.ThemeMenuItem}
+ <li class='jac'>{@link
org.apache.juneau.rest.widget.MenuItemWidget}
+ <ul>
+ <li class='jc'>{@link
org.apache.juneau.rest.widget.ContentTypeMenuItem}
+ <li class='jc'>{@link
org.apache.juneau.rest.widget.QueryMenuItem}
+ <li class='jc'>{@link
org.apache.juneau.rest.widget.ThemeMenuItem}
+ </ul>
+ <li class='jc'>{@link
org.apache.juneau.rest.widget.PoweredByJuneau}
</ul>
- <li class='jc'>{@link
org.apache.juneau.rest.widget.PoweredByJuneau}
+ <li class='jc'>{@link org.apache.juneau.rest.widget.Tooltip}
</ul>
- <li class='jc'>{@link org.apache.juneau.rest.widget.Tooltip}
</ul>
-<h5 class='topic'>Widget</h5>
+<h5 class='topic'>MenuItemWidget</h5>
<p>
+ {@link org.apache.juneau.rest.widget.MenuItemWidget} is an abstract
class for rendering menu items with drop-downs.
+ It defines some simple CSS and Javascript for enabling drop-down menus
in the nav section of the page (although
+ nothing keeps you from using it in an arbitrary location in the page).
+</p>
+<p>
+ The script specifies a <js>"menuClick(element)"</js> function that
toggles the visibility of the next sibling of the element.
+</p>
+<p>
+ Subclasses implement the following two methods:
+</p>
+<ul class='doctree'>
+ <li class='jac'>{@link org.apache.juneau.rest.widget.MenuItemWidget}
+ <ul>
+ <li class='jm'>{@link
org.apache.juneau.rest.widget.MenuItemWidget#getLabel(RestRequest)
getLabel(RestRequest)} - The menu item label.
+ <li class='jm'>{@link
org.apache.juneau.rest.widget.MenuItemWidget#getContent(RestRequest)
getContent(RestRequest)} - The menu item content.
+ </ul>
+</ul>
+<p>
+ For example, to render a link that brings up a simple dialog in a div
tag:
+</p>
+<p class='bpcode w800'>
+ <ja>@Override</ja>
+ <jk>public</jk> String getLabel() {
+ <jk>return</jk> <js>"my-menu-item"</js>;
+ };
+
+ <ja>@Override</ja>
+ <jk>public</jk> Div getLabel() {
+ <jk>return</jk>
Html5Builder.<jsm>div</jsm>(<js>"Surprise!"</js>).style(<js>"color:red"</js>);
+ };
</p>
-
-<h5 class='topic'>MenuItemWidget</h5>
<p>
+ The HTML content returned by the {@link
org.apache.juneau.rest.widget.MenuItemWidget#getHtml(RestRequest)
getHtml(RestRequest)} method is added where the <js>"$W{...}"</js> is
referenced in the page.
</p>
<h5 class='topic'>ContentTypeMenuItem</h5>
<p>
+ {@link org.apache.juneau.rest.widget.ContentTypeMenuItem} is a
predefined Widget that returns back a list of hyperlinks for rendering the
contents of a page in a variety of content types.
+</p>
+<p>
+ The variable it resolves is <js>"$W{ContentTypeMenuItem}"</js>.
+</p>
+<p>
+ An example of this widget can be found in the
<code>PetStoreResource</code> in the examples that provides a drop-down menu
item for rendering all other supported content types in plain text:
+</p>
+<p class='bpcode w800'>
+ <ja>@RestMethod</ja>(
+ name=<jsf>GET</jsf>,
+ path=<js>"/"</js>,
+ widgets={
+ ContentTypeMenuItem.<jk>class</jk>,
+ },
+ htmldoc=<ja>@HtmlDoc</ja>(
+ navlinks={
+ <js>"up: ..."</js>,
+ <js>"options: ..."</js>,
+ <js>"$W{QueryMenuItem}"</js>,
+ <js>"$W{ContentTypeMenuItem}"</js>,
+ <js>"$W{ThemeMenuItem}"</js>,
+ <js>"source: ..."</js>
+ }
+ )
+ )
+ <jk>public</jk> Collection<Pet> getPets() {
+</p>
+<p>
+ It renders the following popup-box:
</p>
+<img class='bordered'
src='doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.1.png'>
<h5 class='topic'>QueryMenuItem</h5>
<p>
+ {@link org.apache.juneau.rest.widget.QueryMenuItem} is a predefined
Widget that returns a menu-item drop-down form for entering search/view/sort
arguments.
+</p>
+<p>
+ The variable it resolves is <js>"$W{QueryMenuItem}"</js>.
+</p>
+<p>
+ This widget is designed to be used in conjunction with the {@link
org.apache.juneau.rest.converters.Queryable} converter, although implementations
+ can process the query parameters themselves if they wish to do so by
using the {@link org.apache.juneau.rest.RequestQuery#getSearchArgs()}
+ method to retrieve the arguments and process the data themselves.
+</p>
+<p>
+ An example of this widget can be found in the
<code>PetStoreResource</code> in the examples that provides
+ search/view/sort capabilities against the collection of POJOs:
+<p class='bpcode w800'>
+ <ja>@RestMethod</ja>(
+ name=<jsf>GET</jsf>,
+ path=<js>"/"</js>,
+ widgets={
+ QueryMenuItem.<jk>class</jk>,
+ },
+ htmldoc=<ja>@HtmlDoc</ja>(
+ navlinks={
+ <js>"up: ..."</js>,
+ <js>"options: ..."</js>,
+ <js>"$W{QueryMenuItem}"</js>,
+ <js>"$W{ContentTypeMenuItem}"</js>,
+ <js>"$W{ThemeMenuItem}"</js>,
+ <js>"source: ..."</js>
+ }
+ ),
+ converters=Queryable.<jk>class</jk>
+ )
+ <jk>public</jk> Collection<Pet> getPets() {
+</p>
+<p>
+ It renders the following popup-box:
+</p>
+<img class='bordered'
src='doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.2.png'>
+<p>
+ Tooltips are provided by hovering over the field names.
+</p>
+<img class='bordered'
src='doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.3.png'>
+
+<p>
+ When submitted, the form submits a GET request against the current URI
with special GET search API query parameters.
+ (e.g.
<js>"?s=column1=Foo*&v=column1,column2&o=column1,column2-&p=100&l=100"</js>).
+ The {@link org.apache.juneau.rest.converters.Queryable} class knows how
to perform these filters against collections of POJOs.
</p>
<h5 class='topic'>ThemeMenuItem</h5>
<p>
+ {@link org.apache.juneau.rest.widget.ThemeMenuItem} is a predefined
Widget that returns back a list of hyperlinks for rendering the contents of a
page in the various default styles.
+</p>
+<p>
+ The variable it resolves is <js>"$W{ThemeMenuItem}"</js>.
+</p>
+<p>
+ An example of this widget can be found in the
<code>PetStoreResource</code> in the examples that provides
+ a drop-down menu item for rendering all other supported content types
in plain text:
+</p>
+<p class='bpcode w800'>
+ <ja>@RestMethod</ja>(
+ name=<jsf>GET</jsf>,
+ path=<js>"/"</js>,
+ widgets={
+ ThemeMenuItem.<jk>class</jk>,
+ },
+ htmldoc=<ja>@HtmlDoc</ja>(
+ navlinks={
+ <js>"up: ..."</js>,
+ <js>"options: ..."</js>,
+ <js>"$W{QueryMenuItem}"</js>,
+ <js>"$W{ContentTypeMenuItem}"</js>,
+ <js>"$W{ThemeMenuItem}"</js>,
+ <js>"source: ..."</js>
+ }
+ )
+ )
+ <jk>public</jk> Collection<Pet> getPets() {
</p>
<h5 class='topic'>PoweredByJuneau</h5>
<p>
+ {@link org.apache.juneau.rest.widget.PoweredByJuneau} is a predefined
Widget that places a powered-by-Juneau message on a page.
</p>
-
+<p>
+ The variable it resolves is <js>"$W{PoweredByJuneau}"</js>.
+</p>
+<p>
+ It produces a simple Apache Juneau icon floating on the right.
+ Typically it's used in the footer of the page, as shown below in the
<code>AddressBookResource</code> from the examples:
+</p>
+<p class='bpcode w800'>
+ <ja>@RestResource</ja>(
+ path=<js>"/addressBook"</js>,
+ widgets={
+ PoweredByJuneau.<jk>class</jk>
+ },
+ htmldoc=<ja>@HtmlDoc</ja>(
+ footer=<js>"$W{PoweredByJuneau}"</js>
+ )
+</p>
+<p>
+ It renders the following image:
+</p>
+<img class='bordered'
src='doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.4.png'>
+
<h5 class='topic'>Tooltip</h5>
<p>
+ {@link org.apache.juneau.rest.widget.Tooltip} is a predefined template
for adding tooltips to HTML5 bean constructs, typically in menu item widgets.
+</p>
+<p>
+ The following examples shows how tooltips can be added to a menu item
widget.
+</p>
+<p class='bpcode w800'>
+ <jk>public class</jk> MyFormMenuItem <jk>extends</jk> MenuItemWidget {
+
+ <ja>@Override</ja>
+ <jk>public</jk> String getLabel(RestRequest req)
<jk>throws</jk> Exception {
+ <jk>return</jk> <js>"myform"</js>;
+ }
+
+ <ja>@Override</ja>
+ <jk>public</jk> Object getContent(RestRequest req)
<jk>throws</jk> Exception {
+ <jk>return</jk> div(
+
<jsm>form</jsm>().id(<js>"form"</js>).action(<js>"servlet:/form"</js>).method(<jsf>POST</jsf>).children(
+ <jsm>table</jsm>(
+ <jsm>tr</jsm>(
+
<jsm>th</jsm>(<js>"Field 1:"</js>),
+
<jsm>td</jsm>(<jsm>input</jsm>().name(<js>"field1"</js>).type(<js>"text"</js>)),
+
<jsm>td</jsm>(<jk>new</jk> Tooltip(<js>"(?)"</js>, <js>"This is field
#1!"</js>, br(), <js>"(e.g. '"</js>, code(<js>"Foo"</js>), <js>"')"</js>))
+ ),
+ <jsm>tr</jsm>(
+
<jsm>th</jsm>(<js>"Field 2:"</js>),
+
<jsm>td</jsm>(<jsm>input</jsm>().name(<js>"field2"</js>).type(<js>"text"</js>)),
+
<jsm>td</jsm>(<jk>new</jk> Tooltip(<js>"(?)"</js>, <js>"This is field
#2!"</js>, br(), <js>"(e.g. '"</js>, code(<js>"Bar"</js>), <js>"')"</js>))
+ )
+ )
+ )
+ );
+ }
+ }
</p>
</div><!-- END: 7.27.2 -
juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets -->
@@ -18904,7 +19100,7 @@
<p>
The default annotation values use {@link
org.apache.juneau.config.vars.ConfigVar $C} variables to pull in values from an
optional
- external configuration file, such as the one shown below:
+ external configuration file such as the one shown below:
</p>
<p class='bpcode w800'>
<cc>#=======================================================================================================================
diff --git
a/juneau-doc/src/main/resources/Topics/07.juneau-rest-server/27.HtmlDocAnnotation/02.PredefinedWidgets.html
b/juneau-doc/src/main/resources/Topics/07.juneau-rest-server/27.HtmlDocAnnotation/02.PredefinedWidgets.html
index b54de40..3d9f834 100644
---
a/juneau-doc/src/main/resources/Topics/07.juneau-rest-server/27.HtmlDocAnnotation/02.PredefinedWidgets.html
+++
b/juneau-doc/src/main/resources/Topics/07.juneau-rest-server/27.HtmlDocAnnotation/02.PredefinedWidgets.html
@@ -13,46 +13,242 @@
***************************************************************************************************************************/
-->
-{todo} Predefined Widgets
+{new} Predefined Widgets
+<p>
+ The {@link oajr.widget} package contains predefined reusable widgets.
+</p>
<ul class='doctree'>
- <li class='jac'>{@link oajr.widget.Widget}
+ <li class='jp'>{@link oajr.widget}
<ul>
- <li class='jac'>{@link oajr.widget.MenuItemWidget}
+ <li class='jac'>{@link oajr.widget.Widget}
<ul>
- <li class='jc'>{@link oajr.widget.ContentTypeMenuItem}
- <li class='jc'>{@link oajr.widget.QueryMenuItem}
- <li class='jc'>{@link oajr.widget.ThemeMenuItem}
+ <li class='jac'>{@link oajr.widget.MenuItemWidget}
+ <ul>
+ <li class='jc'>{@link
oajr.widget.ContentTypeMenuItem}
+ <li class='jc'>{@link oajr.widget.QueryMenuItem}
+ <li class='jc'>{@link oajr.widget.ThemeMenuItem}
+ </ul>
+ <li class='jc'>{@link oajr.widget.PoweredByJuneau}
</ul>
- <li class='jc'>{@link oajr.widget.PoweredByJuneau}
+ <li class='jc'>{@link oajr.widget.Tooltip}
</ul>
- <li class='jc'>{@link oajr.widget.Tooltip}
</ul>
-<h5 class='topic'>Widget</h5>
+<h5 class='topic'>MenuItemWidget</h5>
<p>
+ {@link oajr.widget.MenuItemWidget} is an abstract class for rendering
menu items with drop-downs.
+ It defines some simple CSS and Javascript for enabling drop-down menus
in the nav section of the page (although
+ nothing keeps you from using it in an arbitrary location in the page).
+</p>
+<p>
+ The script specifies a <js>"menuClick(element)"</js> function that
toggles the visibility of the next sibling of the element.
</p>
-
-<h5 class='topic'>MenuItemWidget</h5>
<p>
+ Subclasses implement the following two methods:
+</p>
+<ul class='doctree'>
+ <li class='jac'>{@link oajr.widget.MenuItemWidget}
+ <ul>
+ <li class='jm'>{@link
oajr.widget.MenuItemWidget#getLabel(RestRequest) getLabel(RestRequest)} - The
menu item label.
+ <li class='jm'>{@link
oajr.widget.MenuItemWidget#getContent(RestRequest) getContent(RestRequest)} -
The menu item content.
+ </ul>
+</ul>
+<p>
+ For example, to render a link that brings up a simple dialog in a div
tag:
+</p>
+<p class='bpcode w800'>
+ <ja>@Override</ja>
+ <jk>public</jk> String getLabel() {
+ <jk>return</jk> <js>"my-menu-item"</js>;
+ };
+
+ <ja>@Override</ja>
+ <jk>public</jk> Div getLabel() {
+ <jk>return</jk>
Html5Builder.<jsm>div</jsm>(<js>"Surprise!"</js>).style(<js>"color:red"</js>);
+ };
+</p>
+<p>
+ The HTML content returned by the {@link
oajr.widget.MenuItemWidget#getHtml(RestRequest) getHtml(RestRequest)} method is
added where the <js>"$W{...}"</js> is referenced in the page.
</p>
<h5 class='topic'>ContentTypeMenuItem</h5>
<p>
+ {@link oajr.widget.ContentTypeMenuItem} is a predefined Widget that
returns back a list of hyperlinks for rendering the contents of a page in a
variety of content types.
+</p>
+<p>
+ The variable it resolves is <js>"$W{ContentTypeMenuItem}"</js>.
+</p>
+<p>
+ An example of this widget can be found in the
<code>PetStoreResource</code> in the examples that provides a drop-down menu
item for rendering all other supported content types in plain text:
+</p>
+<p class='bpcode w800'>
+ <ja>@RestMethod</ja>(
+ name=<jsf>GET</jsf>,
+ path=<js>"/"</js>,
+ widgets={
+ ContentTypeMenuItem.<jk>class</jk>,
+ },
+ htmldoc=<ja>@HtmlDoc</ja>(
+ navlinks={
+ <js>"up: ..."</js>,
+ <js>"options: ..."</js>,
+ <js>"$W{QueryMenuItem}"</js>,
+ <js>"$W{ContentTypeMenuItem}"</js>,
+ <js>"$W{ThemeMenuItem}"</js>,
+ <js>"source: ..."</js>
+ }
+ )
+ )
+ <jk>public</jk> Collection<Pet> getPets() {
</p>
+<p>
+ It renders the following popup-box:
+</p>
+<img class='bordered'
src='doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.1.png'>
<h5 class='topic'>QueryMenuItem</h5>
<p>
+ {@link oajr.widget.QueryMenuItem} is a predefined Widget that returns a
menu-item drop-down form for entering search/view/sort arguments.
+</p>
+<p>
+ The variable it resolves is <js>"$W{QueryMenuItem}"</js>.
+</p>
+<p>
+ This widget is designed to be used in conjunction with the {@link
oajr.converters.Queryable} converter, although implementations
+ can process the query parameters themselves if they wish to do so by
using the {@link oajr.RequestQuery#getSearchArgs()}
+ method to retrieve the arguments and process the data themselves.
+</p>
+<p>
+ An example of this widget can be found in the
<code>PetStoreResource</code> in the examples that provides
+ search/view/sort capabilities against the collection of POJOs:
+<p class='bpcode w800'>
+ <ja>@RestMethod</ja>(
+ name=<jsf>GET</jsf>,
+ path=<js>"/"</js>,
+ widgets={
+ QueryMenuItem.<jk>class</jk>,
+ },
+ htmldoc=<ja>@HtmlDoc</ja>(
+ navlinks={
+ <js>"up: ..."</js>,
+ <js>"options: ..."</js>,
+ <js>"$W{QueryMenuItem}"</js>,
+ <js>"$W{ContentTypeMenuItem}"</js>,
+ <js>"$W{ThemeMenuItem}"</js>,
+ <js>"source: ..."</js>
+ }
+ ),
+ converters=Queryable.<jk>class</jk>
+ )
+ <jk>public</jk> Collection<Pet> getPets() {
+</p>
+<p>
+ It renders the following popup-box:
+</p>
+<img class='bordered'
src='doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.2.png'>
+<p>
+ Tooltips are provided by hovering over the field names.
+</p>
+<img class='bordered'
src='doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.3.png'>
+
+<p>
+ When submitted, the form submits a GET request against the current URI
with special GET search API query parameters.
+ (e.g.
<js>"?s=column1=Foo*&v=column1,column2&o=column1,column2-&p=100&l=100"</js>).
+ The {@link oajr.converters.Queryable} class knows how to perform these
filters against collections of POJOs.
</p>
<h5 class='topic'>ThemeMenuItem</h5>
<p>
+ {@link oajr.widget.ThemeMenuItem} is a predefined Widget that returns
back a list of hyperlinks for rendering the contents of a page in the various
default styles.
+</p>
+<p>
+ The variable it resolves is <js>"$W{ThemeMenuItem}"</js>.
+</p>
+<p>
+ An example of this widget can be found in the
<code>PetStoreResource</code> in the examples that provides
+ a drop-down menu item for rendering all other supported content types
in plain text:
+</p>
+<p class='bpcode w800'>
+ <ja>@RestMethod</ja>(
+ name=<jsf>GET</jsf>,
+ path=<js>"/"</js>,
+ widgets={
+ ThemeMenuItem.<jk>class</jk>,
+ },
+ htmldoc=<ja>@HtmlDoc</ja>(
+ navlinks={
+ <js>"up: ..."</js>,
+ <js>"options: ..."</js>,
+ <js>"$W{QueryMenuItem}"</js>,
+ <js>"$W{ContentTypeMenuItem}"</js>,
+ <js>"$W{ThemeMenuItem}"</js>,
+ <js>"source: ..."</js>
+ }
+ )
+ )
+ <jk>public</jk> Collection<Pet> getPets() {
</p>
<h5 class='topic'>PoweredByJuneau</h5>
<p>
+ {@link oajr.widget.PoweredByJuneau} is a predefined Widget that places
a powered-by-Juneau message on a page.
</p>
-
+<p>
+ The variable it resolves is <js>"$W{PoweredByJuneau}"</js>.
+</p>
+<p>
+ It produces a simple Apache Juneau icon floating on the right.
+ Typically it's used in the footer of the page, as shown below in the
<code>AddressBookResource</code> from the examples:
+</p>
+<p class='bpcode w800'>
+ <ja>@RestResource</ja>(
+ path=<js>"/addressBook"</js>,
+ widgets={
+ PoweredByJuneau.<jk>class</jk>
+ },
+ htmldoc=<ja>@HtmlDoc</ja>(
+ footer=<js>"$W{PoweredByJuneau}"</js>
+ )
+</p>
+<p>
+ It renders the following image:
+</p>
+<img class='bordered'
src='doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.4.png'>
+
<h5 class='topic'>Tooltip</h5>
<p>
-</p>
\ No newline at end of file
+ {@link oajr.widget.Tooltip} is a predefined template for adding
tooltips to HTML5 bean constructs, typically in menu item widgets.
+</p>
+<p>
+ The following examples shows how tooltips can be added to a menu item
widget.
+</p>
+<p class='bpcode w800'>
+ <jk>public class</jk> MyFormMenuItem <jk>extends</jk> MenuItemWidget {
+
+ <ja>@Override</ja>
+ <jk>public</jk> String getLabel(RestRequest req)
<jk>throws</jk> Exception {
+ <jk>return</jk> <js>"myform"</js>;
+ }
+
+ <ja>@Override</ja>
+ <jk>public</jk> Object getContent(RestRequest req)
<jk>throws</jk> Exception {
+ <jk>return</jk> div(
+
<jsm>form</jsm>().id(<js>"form"</js>).action(<js>"servlet:/form"</js>).method(<jsf>POST</jsf>).children(
+ <jsm>table</jsm>(
+ <jsm>tr</jsm>(
+
<jsm>th</jsm>(<js>"Field 1:"</js>),
+
<jsm>td</jsm>(<jsm>input</jsm>().name(<js>"field1"</js>).type(<js>"text"</js>)),
+
<jsm>td</jsm>(<jk>new</jk> Tooltip(<js>"(?)"</js>, <js>"This is field
#1!"</js>, br(), <js>"(e.g. '"</js>, code(<js>"Foo"</js>), <js>"')"</js>))
+ ),
+ <jsm>tr</jsm>(
+
<jsm>th</jsm>(<js>"Field 2:"</js>),
+
<jsm>td</jsm>(<jsm>input</jsm>().name(<js>"field2"</js>).type(<js>"text"</js>)),
+
<jsm>td</jsm>(<jk>new</jk> Tooltip(<js>"(?)"</js>, <js>"This is field
#2!"</js>, br(), <js>"(e.g. '"</js>, code(<js>"Bar"</js>), <js>"')"</js>))
+ )
+ )
+ )
+ );
+ }
+ }
+</p>
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/doc-files/ContentTypeMenuItem.png
b/juneau-doc/src/main/resources/Topics/07.juneau-rest-server/27.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.1.png
similarity index 100%
rename from
juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/doc-files/ContentTypeMenuItem.png
rename to
juneau-doc/src/main/resources/Topics/07.juneau-rest-server/27.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.1.png
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/doc-files/QueryMenuItem_1.png
b/juneau-doc/src/main/resources/Topics/07.juneau-rest-server/27.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.2.png
similarity index 100%
rename from
juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/doc-files/QueryMenuItem_1.png
rename to
juneau-doc/src/main/resources/Topics/07.juneau-rest-server/27.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.2.png
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/doc-files/QueryMenuItem_2.png
b/juneau-doc/src/main/resources/Topics/07.juneau-rest-server/27.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.3.png
similarity index 100%
rename from
juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/doc-files/QueryMenuItem_2.png
rename to
juneau-doc/src/main/resources/Topics/07.juneau-rest-server/27.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.3.png
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/doc-files/PoweredByJuneauWidget.png
b/juneau-doc/src/main/resources/Topics/07.juneau-rest-server/27.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.4.png
similarity index 100%
rename from
juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/doc-files/PoweredByJuneauWidget.png
rename to
juneau-doc/src/main/resources/Topics/07.juneau-rest-server/27.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.4.png
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/ContentTypeMenuItem.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/ContentTypeMenuItem.java
index 2e1c2a4..5329534 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/ContentTypeMenuItem.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/ContentTypeMenuItem.java
@@ -59,7 +59,7 @@ import org.apache.juneau.utils.*;
*
* <h5 class='section'>See Also:</h5>
* <ul>
- * <li class='link'>{@doc juneau-rest-server.HtmlDocAnnotation.Widgets}
+ * <li class='link'>{@doc
juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets}
* </ul>
*/
public class ContentTypeMenuItem extends MenuItemWidget {
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/MenuItemWidget.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/MenuItemWidget.java
index bc8ccc6..612f27c 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/MenuItemWidget.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/MenuItemWidget.java
@@ -24,42 +24,9 @@ import org.apache.juneau.serializer.*;
/**
* A subclass of widgets for rendering menu items with drop-down windows.
*
- * <p>
- * Defines some simple CSS and Javascript for enabling drop-down menus in the
nav section of the page (although
- * nothing keeps you from using it in an arbitrary location in the page).
- *
- * <p>
- * The script specifies a <js>"menuClick(element)"</js> function that toggles
the visibility of the next sibling of the
- * element.
- *
- * <p>
- * Subclasses should implement the following two methods:
- * <ul>
- * <li class='jm'>{@link #getLabel(RestRequest)} - The menu item label.
- * <li class='jm'>{@link #getContent(RestRequest)} - The menu item content.
- * </ul>
- *
- * <p>
- * For example, to render a link that brings up a simple dialog in a div tag:
- * <p class='bcode w800'>
- * <ja>@Override</ja>
- * <jk>public</jk> String getLabel() {
- * <jk>return</jk> <js>"my-menu-item"</js>;
- * };
- *
- * <ja>@Override</ja>
- * <jk>public</jk> Div getLabel() {
- * <jk>return</jk>
Html5Builder.<jsm>div</jsm>(<js>"Surprise!"</js>).style(<js>"color:red"</js>);
- * };
- * </p>
- *
- * <p>
- * The HTML content returned by the {@link #getHtml(RestRequest)} method is
added where the <js>"$W{...}"</js> is
- * referenced in the page.
- *
* <h5 class='section'>See Also:</h5>
* <ul>
- * <li class='link'>{@doc juneau-rest-server.HtmlDocAnnotation.Widgets}
+ * <li class='link'>{@doc
juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets}
* </ul>
*/
public abstract class MenuItemWidget extends Widget {
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/PoweredByJuneau.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/PoweredByJuneau.java
index de827e6..5231a47 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/PoweredByJuneau.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/PoweredByJuneau.java
@@ -21,28 +21,9 @@ import org.apache.juneau.rest.*;
* <p>
* The variable it resolves is <js>"$W{PoweredByJuneau}"</js>.
*
- * <p>
- * It produces a simple Apache Juneau icon floating on the right.
- * Typically it's used in the footer of the page, as shown below in the
<code>AddressBookResource</code> from the examples:
- *
- * <p class='bcode w800'>
- * <ja>@RestResource</ja>(
- * path=<js>"/addressBook"</js>,
- * widgets={
- * PoweredByJuneau.<jk>class</jk>
- * },
- * htmldoc=<ja>@HtmlDoc</ja>(
- * footer=<js>"$W{PoweredByJuneau}"</js>
- * )
- * </p>
- *
- * <p>
- * It renders the following image:
- * <img class='bordered' src='doc-files/PoweredByJuneauWidget.png'>
- *
* <h5 class='section'>See Also:</h5>
* <ul>
- * <li class='link'>{@doc juneau-rest-server.HtmlDocAnnotation.Widgets}
+ * <li class='link'>{@doc
juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets}
* </ul>
*/
public class PoweredByJuneau extends Widget {
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/QueryMenuItem.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/QueryMenuItem.java
index 858b583..f01d403 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/QueryMenuItem.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/QueryMenuItem.java
@@ -13,7 +13,6 @@
package org.apache.juneau.rest.widget;
import org.apache.juneau.rest.*;
-import org.apache.juneau.rest.converters.*;
/**
* Widget that returns a menu-item drop-down form for entering
search/view/sort arguments.
@@ -21,52 +20,9 @@ import org.apache.juneau.rest.converters.*;
* <p>
* The variable it resolves is <js>"$W{QueryMenuItem}"</js>.
*
- * <p>
- * This widget is designed to be used in conjunction with the {@link
Queryable} converter, although implementations
- * can process the query parameters themselves if they wish to do so by using
the {@link RequestQuery#getSearchArgs()}
- * method to retrieve the arguments and process the data themselves.
- *
- * <p>
- * An example of this widget can be found in the <code>PetStoreResource</code>
in the examples that provides
- * search/view/sort capabilities against the collection of POJOs:
- * <p class='bcode w800'>
- * <ja>@RestMethod</ja>(
- * name=<jsf>GET</jsf>,
- * path=<js>"/"</js>,
- * widgets={
- * QueryMenuItem.<jk>class</jk>,
- * },
- * htmldoc=<ja>@HtmlDoc</ja>(
- * navlinks={
- * <js>"up: ..."</js>,
- * <js>"options: ..."</js>,
- * <js>"$W{QueryMenuItem}"</js>,
- * <js>"$W{ContentTypeMenuItem}"</js>,
- * <js>"$W{ThemeMenuItem}"</js>,
- * <js>"source: ..."</js>
- * }
- * ),
- * converters=Queryable.<jk>class</jk>
- * )
- * <jk>public</jk> Collection<Pet> getPets() {
- * </p>
- *
- * <p>
- * It renders the following popup-box:
- * <br><img class='bordered' src='doc-files/QueryMenuItem_1.png'>
- *
- * <p>
- * Tooltips are provided by hovering over the field names.
- * <br><img class='bordered' src='doc-files/QueryMenuItem_2.png'>
- *
- * <p>
- * When submitted, the form submits a GET request against the current URI with
special GET search API query parameters.
- * <br>(e.g.
<js>"?s=column1=Foo*&v=column1,column2&o=column1,column2-&p=100&l=100"</js>).
- * <br>The {@link Queryable} class knows how to perform these filters against
collections of POJOs.
- *
* <h5 class='section'>See Also:</h5>
* <ul>
- * <li class='link'>{@doc juneau-rest-server.HtmlDocAnnotation.Widgets}
+ * <li class='link'>{@doc
juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets}
* </ul>
*/
public class QueryMenuItem extends MenuItemWidget {
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/ThemeMenuItem.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/ThemeMenuItem.java
index 07f36f3..b27ecaa 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/ThemeMenuItem.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/ThemeMenuItem.java
@@ -24,33 +24,9 @@ import org.apache.juneau.utils.*;
* <p>
* The variable it resolves is <js>"$W{ThemeMenuItem}"</js>.
*
- * <p>
- * An example of this widget can be found in the <code>PetStoreResource</code>
in the examples that provides
- * a drop-down menu item for rendering all other supported content types in
plain text:
- * <p class='bcode w800'>
- * <ja>@RestMethod</ja>(
- * name=<jsf>GET</jsf>,
- * path=<js>"/"</js>,
- * widgets={
- * ThemeMenuItem.<jk>class</jk>,
- * },
- * htmldoc=<ja>@HtmlDoc</ja>(
- * navlinks={
- * <js>"up: ..."</js>,
- * <js>"options: ..."</js>,
- * <js>"$W{QueryMenuItem}"</js>,
- * <js>"$W{ContentTypeMenuItem}"</js>,
- * <js>"$W{ThemeMenuItem}"</js>,
- * <js>"source: ..."</js>
- * }
- * )
- * )
- * <jk>public</jk> Collection<Pet> getPets() {
- * </p>
- *
* <h5 class='section'>See Also:</h5>
* <ul>
- * <li class='link'>{@doc juneau-rest-server.HtmlDocAnnotation.Widgets}
+ * <li class='link'>{@doc
juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets}
* </ul>
*/
public class ThemeMenuItem extends MenuItemWidget {
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/Tooltip.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/Tooltip.java
index 5173948..ebe7fbd 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/Tooltip.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/Tooltip.java
@@ -26,42 +26,9 @@ import org.apache.juneau.dto.html5.*;
* Tooltips depend on the existence of the <code>tooltip</code> and
<code>tooltiptext</code> styles that should be
* present in the stylesheet for the document.
*
- * <p>
- * The following examples shows how tooltips can be added to a menu item
widget.
- *
- * <p class='bcode w800'>
- * <jk>public class</jk> MyFormMenuItem <jk>extends</jk> MenuItemWidget {
- *
- * <ja>@Override</ja>
- * <jk>public</jk> String getLabel(RestRequest req) <jk>throws</jk>
Exception {
- * <jk>return</jk> <js>"myform"</js>;
- * }
- *
- * <ja>@Override</ja>
- * <jk>public</jk> Object getContent(RestRequest req) <jk>throws</jk>
Exception {
- * <jk>return</jk> div(
- *
<jsm>form</jsm>().id(<js>"form"</js>).action(<js>"servlet:/form"</js>).method(<jsf>POST</jsf>).children(
- * <jsm>table</jsm>(
- * <jsm>tr</jsm>(
- * <jsm>th</jsm>(<js>"Field
1:"</js>),
- *
<jsm>td</jsm>(<jsm>input</jsm>().name(<js>"field1"</js>).type(<js>"text"</js>)),
- * <jsm>td</jsm>(<jk>new</jk>
Tooltip(<js>"(?)"</js>, <js>"This is field #1!"</js>, br(), <js>"(e.g. '"</js>,
code(<js>"Foo"</js>), <js>"')"</js>))
- * ),
- * <jsm>tr</jsm>(
- * <jsm>th</jsm>(<js>"Field
2:"</js>),
- *
<jsm>td</jsm>(<jsm>input</jsm>().name(<js>"field2"</js>).type(<js>"text"</js>)),
- * <jsm>td</jsm>(<jk>new</jk>
Tooltip(<js>"(?)"</js>, <js>"This is field #2!"</js>, br(), <js>"(e.g. '"</js>,
code(<js>"Bar"</js>), <js>"')"</js>))
- * )
- * )
- * )
- * );
- * }
- * }
- * </p>
- *
* <h5 class='section'>See Also:</h5>
* <ul>
- * <li class='link'>{@doc juneau-rest-server.HtmlDocAnnotation.Widgets}
+ * <li class='link'>{@doc
juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets}
* </ul>
*/
public class Tooltip {
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/Widget.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/Widget.java
index 9be6c55..6b4b673 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/Widget.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/Widget.java
@@ -16,103 +16,12 @@ import java.io.*;
import java.util.*;
import org.apache.juneau.rest.*;
-import org.apache.juneau.rest.annotation.*;
import org.apache.juneau.utils.*;
/**
* Defines an interface for resolvers of <js>"$W{...}"</js> string variables.
*
* <p>
- * Widgets are associated with resources through the following
- * <ul>
- * <li class='ja'>{@link HtmlDoc#widgets() @HtmlDoc.widgets}
- * <li class='jm'>{@link RestContextBuilder#widgets(Class...)}
- * <li class='jm'>{@link RestContextBuilder#widgets(Widget...)}
- * </ul>
- *
- * <p>
- * Widgets allow you to add arbitrary HTML, CSS, and Javascript to the page.
- *
- * <p>
- * The HTML content returned by the {@link #getHtml(RestRequest)} method is
added where the <js>"$W{...}"</js> is
- * referenced in the page.
- * The Javascript and stylesheet content is added to the header of the page.
- * They allow you to control the look and behavior of your widgets.
- *
- * <p>
- * The following examples shows how to associate a widget with a REST method
and then have it rendered in the links
- * and aside section of the page:
- *
- * <p class='bcode w800'>
- * <ja>@RestMethod</ja>(
- * widgets={
- * MyWidget.<jk>class</jk>
- * }
- * htmldoc=<ja>@HtmlDoc</ja>(
- * navlinks={
- * <js>"$W{MyWidget}"</js>
- * },
- * aside={
- * <js>"Check out this widget: $W{MyWidget}"</js>
- * }
- * )
- * )
- * </p>
- *
- * <p>
- * The following shows an example of a widget that renders an image located in
the <code>htdocs</code> static files
- * directory in your classpath (see {@link RestResource#staticFiles()
@RestResource(staticFiles)}):
- * <p class='bcode w800'>
- * <jk>public class</jk> MyWidget <jk>extends</jk> Widget {
- *
- * <ja>@Override</ja>
- * <jk>public</jk> String getHtml(RestRequest req) <jk>throws</jk>
Exception {
- * UriResolver r = req.getUriResolver();
- * <jk>return</jk> <js>"<img class='myimage'
onclick='myalert(this)'
src='"</js>+r.resolve(<js>"servlet:/htdocs/myimage.png"</js>)+<js>"'>"</js>;
- * }
- *
- * <ja>@Override</ja>
- * <jk>public</jk> String getScript(RestRequest req)
<jk>throws</jk> Exception {
- * <jk>return</jk> <js>""</js>
- * + <js>"\n function myalert(imageElement) {"</js>
- * + <js>"\n alert('cool!');"</js>
- * + <js>"\n }"</js>;
- * }
- *
- * <ja>@Override</ja>
- * <jk>public</jk> String getStyle(RestRequest req)
<jk>throws</jk> Exception {
- * <jk>return</jk> <js>""</js>
- * + <js>"\n .myimage {"</js>
- * + <js>"\n border: 10px solid red;"</js>
- * + <js>"\n }"</js>;
- * }
- * }
- * </p>
- *
- * <p>
- * Note the {@link #getClasspathResourceAsString(String)} and {@link
#getClasspathResourceAsString(String, Locale)} convenience methods
- * provided for quickly loading javascript and css files from the classpath or
file system.
- * These are useful if your script or styles are complex and you want them
loaded from files.
- *
- * <p>
- * <p class='bcode w800'>
- * <jk>public class</jk> MyWidget <jk>extends</jk> Widget {
- *
- * ...
- *
- * <ja>@Override</ja>
- * <jk>public</jk> String getScript(RestRequest req)
<jk>throws</jk> Exception {
- * <jk>return</jk>
getResourceAsString(<js>"MyWidget.js"</js>);
- * }
- *
- * <ja>@Override</ja>
- * <jk>public</jk> String getStyle(RestRequest req)
<jk>throws</jk> Exception {
- * <jk>return</jk>
getResourceAsString(<js>"MyWidget.css"</js>);
- * }
- * }
- * </p>
- *
- * <p>
* Widgets must provide one of the following public constructors:
* <ul>
* <li><code><jk>public</jk> Widget();</code>
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/doc-files/PoweredByApacheWidget.png
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/doc-files/PoweredByApacheWidget.png
deleted file mode 100644
index dd3d63f..0000000
Binary files
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/doc-files/PoweredByApacheWidget.png
and /dev/null differ