Updated Branches: refs/heads/master 7533ebd8a -> 9a8c181db
ISIS-403: can now remove individual bookmarks from panel Bookmark panel now also appears on home page and about page Also some minor CSS restyling... * made margins a little smaller * float object actions to the left, not right (after title) * increased font size for drop-down box * increased font size for string panel Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/9a8c181d Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/9a8c181d Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/9a8c181d Branch: refs/heads/master Commit: 9a8c181dbbca5978b023e1d588209aba34255c05 Parents: 7533ebd Author: Dan Haywood <[email protected]> Authored: Sat May 11 11:24:20 2013 +0200 Committer: Dan Haywood <[email protected]> Committed: Sat May 11 11:24:20 2013 +0200 ---------------------------------------------------------------------- .../wicket/model/models/BookmarkedPagesModel.java | 5 + .../bookmarkedpages/BookmarkedPagesPanel.css | 24 +++- .../bookmarkedpages/BookmarkedPagesPanel.html | 19 ++- .../bookmarkedpages/BookmarkedPagesPanel.java | 68 ++++++--- .../bookmarkedpages/images/clear_bookmarks.png | Bin 0 -> 407 bytes .../bookmarkedpages/images/icon_clear.png | Bin 455 -> 0 bytes .../CollectionContentsAsAjaxTablePanel.css | 3 +- .../entity/collections/EntityCollectionsPanel.css | 4 +- .../components/entity/header/EntityHeaderPanel.css | 2 +- .../entity/properties/EntityPropertiesPanel.css | 2 +- .../entity/properties/EntityPropertiesPanel.html | 20 +--- .../ui/components/scalars/string/StringPanel.css | 4 + .../isis/viewer/wicket/ui/pages/PageAbstract.css | 9 +- .../isis/viewer/wicket/ui/pages/PageAbstract.java | 2 +- .../viewer/wicket/ui/pages/about/AboutPage.html | 1 + .../viewer/wicket/ui/pages/about/AboutPage.java | 1 + .../viewer/wicket/ui/pages/action/ActionPage.html | 2 +- .../viewer/wicket/ui/pages/entity/EntityPage.html | 2 +- .../isis/viewer/wicket/ui/pages/home/HomePage.html | 1 + .../isis/viewer/wicket/ui/pages/home/HomePage.java | 1 + .../wicket/ui/pages/jquery.isis.wicket.viewer.js | 8 +- .../dom/src/main/java/dom/todo/ToDoItem.java | 113 +++++++++------ 22 files changed, 183 insertions(+), 108 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java index 5c3192e..1696b7d 100644 --- a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java +++ b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java @@ -122,4 +122,9 @@ public class BookmarkedPagesModel extends ModelAbstract<List<? extends BookmarkT } + public void remove(BookmarkTreeNode rootNode) { + this.rootNodes.remove(rootNode); + } + + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.css ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.css index 1ced8c1..4071d88 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.css +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.css @@ -87,7 +87,6 @@ margin-top: 30px; margin-bottom: 10px; margin-right: 5px; - margin-left: 10px; } .bookmarkedPagesPanel .currentBookmark span.bookmarkedPageImageAndTitle, @@ -106,7 +105,7 @@ display:block; cursor:pointer; background-color: #40C0CB; - z-index: 2; + z-index: 999; text-transform:uppercase; font-weight:bold; @@ -120,7 +119,7 @@ background-color:#F0EFEA; height:800px; width:0;/*new line*/ - z-index: 1; + z-index: 998; } #bookmarkedPagesSlidingDiv .content { width:290px; @@ -147,4 +146,21 @@ } .bookmarkDepth5 { padding-left: 100px; -} \ No newline at end of file +} + +.clearBookmarkPlaceHolder { + position: relative; + top: -7px; + width: 20px; + padding-right: 20px; + padding-bottom: 40px; +} + +.clearBookmark, +.clearBookmarks { + background: url('images/clear_bookmarks.png') no-repeat; +} + +.clearBookmarks span { + padding-left: 25px; +} http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.html ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.html index 98347c2..62bae65 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.html +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.html @@ -29,15 +29,20 @@ <div id="bookmarkedPagesSlidingDiv"> <div class="content"> <div id="bookmarkedPages" class="bookmarkedPagesPanel bookmarkedPagesComponentType"> - <a href="#" wicket:id="clearBookmarks" class="clearBookmarks" title="Clear Bookmarks">clear</a> + <a href="#" wicket:id="clearBookmarks" class="clearBookmarks" title="Clear Bookmarks"> + <span>clear all</span> + </a> <ul wicket:id="bookmarkList" class="bookmarkedPagesList"> <li wicket:id="bookmarkedPageItem" class="bookmarkedPageItem"> - <a href="#" wicket:id="bookmarkedPageLink"> - <span class="bookmarkedPageImageAndTitle"> - <img wicket:id="bookmarkedPageImage" class="bookmarkedPageImage"/> - <span wicket:id="bookmarkedPageTitle" class="bookmarkedPageTitle">[link title]</span> - </span> - </a> + <span> + <a href="#" wicket:id="clearBookmarkLink" class="clearBookmarkPlaceHolder"></a> + <a href="#" wicket:id="bookmarkedPageLink"> + <span class="bookmarkedPageImageAndTitle"> + <img wicket:id="bookmarkedPageImage" class="bookmarkedPageImage"/> + <span wicket:id="bookmarkedPageTitle" class="bookmarkedPageTitle">[link title]</span> + </span> + </a> + </span> </li> </ul> </div> http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.java ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.java index 63ab4fb..b1994a0 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.java +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.java @@ -30,6 +30,7 @@ import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.image.Image; import org.apache.wicket.markup.html.link.AbstractLink; +import org.apache.wicket.markup.html.link.Link; import org.apache.wicket.markup.html.list.ListItem; import org.apache.wicket.markup.html.list.ListView; import org.apache.wicket.request.mapper.parameter.PageParameters; @@ -57,6 +58,7 @@ public class BookmarkedPagesPanel extends PanelAbstract<BookmarkedPagesModel> { private static final String ID_BOOKMARK_LIST = "bookmarkList"; private static final String ID_BOOKMARKED_PAGE_LINK = "bookmarkedPageLink"; + private static final String ID_CLEAR_BOOKMARK_LINK = "clearBookmarkLink"; private static final String ID_BOOKMARKED_PAGE_ITEM = "bookmarkedPageItem"; private static final String ID_BOOKMARKED_PAGE_TITLE = "bookmarkedPageTitle"; @@ -89,17 +91,58 @@ public class BookmarkedPagesPanel extends PanelAbstract<BookmarkedPagesModel> { final BookmarkedPagesModel bookmarkedPagesModel = getModel(); + final AjaxLink<Void> clearAllBookmarksLink = new AjaxLink<Void>(CLEAR_BOOKMARKS){ + + private static final long serialVersionUID = 1L; + + @Override + public void onClick(AjaxRequestTarget target) { + BookmarkedPagesPanel.this.getModel().clear(); + setEnabled(false); + target.add(container, this); + } + }; + clearAllBookmarksLink.setOutputMarkupId(true); + add(clearAllBookmarksLink); + clearAllBookmarksLink.setOutputMarkupId(true); + + if(getModel().isEmpty()) { + clearAllBookmarksLink.setVisible(false); + } + + final ListView<BookmarkTreeNode> listView = new ListView<BookmarkTreeNode>(ID_BOOKMARKED_PAGE_ITEM, bookmarkedPagesModel) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<BookmarkTreeNode> item) { - final BookmarkTreeNode rootNode = item.getModelObject(); - final PageParameters pageParameters = rootNode.getPageParameters(); + final BookmarkTreeNode node = item.getModelObject(); + final PageParameters pageParameters = node.getPageParameters(); final PageType pageType = PageParameterNames.PAGE_TYPE.getEnumFrom(pageParameters, PageType.class); final Class<? extends Page> pageClass = pageClassRegistry.getPageClass(pageType); + + final AjaxLink<Object> clearBookmarkLink = new AjaxLink<Object>(ID_CLEAR_BOOKMARK_LINK) { + + private static final long serialVersionUID = 1L; + + @Override + public void onClick(AjaxRequestTarget target) { + bookmarkedPagesModel.remove(node); + if(bookmarkedPagesModel.isEmpty()) { + permanentlyHide(CLEAR_BOOKMARKS); + } + target.add(container, clearAllBookmarksLink); + } + + }; + if(node.getDepth() == 0) { + clearBookmarkLink.add(new CssClassAppender("clearBookmark")); + } else { + clearBookmarkLink.setEnabled(true); + } + item.add(clearBookmarkLink); final AbstractLink link = Links.newBookmarkablePageLink(ID_BOOKMARKED_PAGE_LINK, pageParameters, pageClass); @@ -126,28 +169,11 @@ public class BookmarkedPagesPanel extends PanelAbstract<BookmarkedPagesModel> { if(bookmarkedPagesModel.isCurrent(pageParameters)) { item.add(new CssClassAppender("currentBookmark")); } - item.add(new CssClassAppender("bookmarkDepth" + rootNode.getDepth())); + item.add(new CssClassAppender("bookmarkDepth" + node.getDepth())); } }; container.add(listView); - - if(!getModel().isEmpty()) { - final AjaxLink<Void> ajaxLink = new AjaxLink<Void>(CLEAR_BOOKMARKS){ - - private static final long serialVersionUID = 1L; - - @Override - public void onClick(AjaxRequestTarget target) { - BookmarkedPagesPanel.this.getModel().clear(); - setEnabled(false); - target.add(container, this); - } - }; - ajaxLink.setOutputMarkupId(true); - add(ajaxLink); - } else { - permanentlyHide(CLEAR_BOOKMARKS); - } + } http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/images/clear_bookmarks.png ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/images/clear_bookmarks.png b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/images/clear_bookmarks.png new file mode 100644 index 0000000..b798031 Binary files /dev/null and b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/images/clear_bookmarks.png differ http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/images/icon_clear.png ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/images/icon_clear.png b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/images/icon_clear.png deleted file mode 100644 index 3e58109..0000000 Binary files a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/images/icon_clear.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.css ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.css index ece5d60..4fbfe74 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.css +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.css @@ -150,7 +150,8 @@ } .collectionContentsAsAjaxTablePanel .actions { - float: right; + margin-top: -1px; + float: left; padding:0em 0em; } http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanel.css ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanel.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanel.css index 9d2f551..c2db15f 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanel.css +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanel.css @@ -22,8 +22,8 @@ .entityCollectionsPanel fieldset legend { position:absolute; - left:20px; - top:20px; + left:10px; + top:10px; } .entityCollectionsPanel .actions { http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.css ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.css index a242649..8d5246a 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.css +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.css @@ -28,7 +28,7 @@ div.entityHeaderPanel .iconAndTitle{ } div.entityHeaderPanel .actions { - float: right; + float: left; padding:0em 0em; } http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.css ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.css index 4fa4ed8..20dfa96 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.css +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.css @@ -18,7 +18,7 @@ */ .entityPropertiesPanel fieldset { margin: 0px 0px 10px 0px; - padding:20px; + padding:10px 10px 0px 10px; border-radius: 4px; } http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.html ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.html index 0c4d8ee..107215a 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.html +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.html @@ -38,27 +38,13 @@ <input type="submit" class="ok" wicket:id="ok"/> <input type="submit" class="cancel" wicket:id="cancel"/> - <div id="veil" - style="display:none; - position:absolute; - top:0; - left:0; - z-index=99999; - height: 100%; - width: 100%; - background: rgb(0, 0, 0) transparent; - background-color:rgba(0,0,0,0.2);"> - <div style="display: relative;"> + <div id="veil" style="position:fixed;"> + <div class="imgHolder"> <wicket:link> - <img style="margin-left: auto; - margin-right: auto; - display: block; - margin-top: 7em;" - src="./spinning-icon.gif"/> + <img src="./spinning-icon.gif"/> </wicket:link> </div> </div> - </div> </form> </div> http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanel.css ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanel.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanel.css index eaeea17..f4ecfbd 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanel.css +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanel.css @@ -16,3 +16,7 @@ * specific language governing permissions and limitations * under the License. */ +.stringPanel .scalarValue input { + font-size:14px; +} + \ No newline at end of file http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css index 5980c52..e383760 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css @@ -384,7 +384,7 @@ form fieldset .okButton { .myBlockContainer { background-color:#FFFFFF; - padding:20px; + padding:10px; border-radius:4px; -moz-border-radius:4px; -webkit-border-radius:4px; @@ -621,6 +621,7 @@ div.scalarPanel { } + .actionPage .select2-container .select2-choice, .entityPage .select2-container .select2-choice { -webkit-border-radius: 4px; @@ -628,13 +629,17 @@ div.scalarPanel { border-radius: 4px; height: 20px; line-height: 20px; - font-size:11px; color:#7F7F7F; background:#FFFFFF none; border:1px solid #F0EFEA; border-top:1px solid #CCCBC7; } +.actionPage .select2-container .select2-choice span, +.entityPage .select2-container .select2-choice span { + font-size:13px; +} + .actionPage .select2-container.select2-drop-above .select2-choice, .entityPage .select2-container.select2-drop-above .select2-choice { -webkit-border-radius:0px; http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java index d78544e..3a5185b 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java @@ -74,7 +74,7 @@ public abstract class PageAbstract extends WebPage { private static final long serialVersionUID = 1L; - private static final String ID_BOOKMARKED_PAGES = "breadcrumbs"; + private static final String ID_BOOKMARKED_PAGES = "bookmarks"; private static final String ID_HOME_PAGE_LINK = "homePageLink"; private static final String ID_APPLICATION_NAME = "applicationName"; private static final String ID_USER_NAME = "userName"; http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/about/AboutPage.html ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/about/AboutPage.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/about/AboutPage.html index 210eb75..5e17908 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/about/AboutPage.html +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/about/AboutPage.html @@ -31,6 +31,7 @@ <wicket:extend> <div class="aboutPage"> <div> + <div wicket:id="bookmarks"/> <span wicket:id="about"/> </div> </div> http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/about/AboutPage.java ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/about/AboutPage.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/about/AboutPage.java index 517fa31..fdc1f32 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/about/AboutPage.java +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/about/AboutPage.java @@ -33,6 +33,7 @@ public class AboutPage extends PageAbstract { public AboutPage() { super(new PageParameters(), ComponentType.ABOUT); + addBookmarkedPages(); addChildComponents(null); } http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/action/ActionPage.html ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/action/ActionPage.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/action/ActionPage.html index 897b12f..7ee1742 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/action/ActionPage.html +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/action/ActionPage.html @@ -30,7 +30,7 @@ <body> <wicket:extend> <div class="actionPage"> - <div wicket:id="breadcrumbs"/> + <div wicket:id="bookmarks"/> <div wicket:id="action"/> </div> </wicket:extend> http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.html ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.html index 3250353..04ab8ae 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.html +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.html @@ -30,7 +30,7 @@ <body> <wicket:extend> <div class="entityPage"> - <div wicket:id="breadcrumbs"/> + <div wicket:id="bookmarks"/> <div wicket:id="entity"/> </div> </wicket:extend> http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/home/HomePage.html ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/home/HomePage.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/home/HomePage.html index 31fe6a5..66f7bce 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/home/HomePage.html +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/home/HomePage.html @@ -30,6 +30,7 @@ <body> <wicket:extend> <div class="homePage"> + <div wicket:id="bookmarks"/> <div wicket:id="welcome"/> </div> </wicket:extend> http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/home/HomePage.java ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/home/HomePage.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/home/HomePage.java index b60f8ec..f87b398 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/home/HomePage.java +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/home/HomePage.java @@ -35,6 +35,7 @@ public class HomePage extends PageAbstract { public HomePage() { super(new PageParameters(), ComponentType.WELCOME); + addBookmarkedPages(); addChildComponents(null); } http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/jquery.isis.wicket.viewer.js ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/jquery.isis.wicket.viewer.js b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/jquery.isis.wicket.viewer.js index 2f8c344..7c0e192 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/jquery.isis.wicket.viewer.js +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/jquery.isis.wicket.viewer.js @@ -1,5 +1,9 @@ $(document).ready(function() { - $('.buttons .okButton').click(function(){ + var showVeil = function() { $('#veil').show(); - }); + }; + + $('.buttons .okButton').click(showVeil); + $('.buttons .ok').click(showVeil);*/ + $('.cssSubMenuItemsPanel .cssSubMenuItem a').click(showVeil); }); http://git-wip-us.apache.org/repos/asf/isis/blob/9a8c181d/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java ---------------------------------------------------------------------- diff --git a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java index b905576..deda679 100644 --- a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java +++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java @@ -29,9 +29,15 @@ import javax.jdo.annotations.IdentityType; import javax.jdo.annotations.VersionStrategy; import javax.jdo.spi.PersistenceCapable; +import com.google.common.base.Objects; +import com.google.common.collect.Lists; + +import org.joda.time.LocalDate; + import org.apache.isis.applib.DomainObjectContainer; import org.apache.isis.applib.annotation.Audited; import org.apache.isis.applib.annotation.AutoComplete; +import org.apache.isis.applib.annotation.Bookmarkable; import org.apache.isis.applib.annotation.Bulk; import org.apache.isis.applib.annotation.Disabled; import org.apache.isis.applib.annotation.Hidden; @@ -54,10 +60,6 @@ import org.apache.isis.applib.filter.Filter; import org.apache.isis.applib.filter.Filters; import org.apache.isis.applib.util.TitleBuffer; import org.apache.isis.applib.value.Blob; -import org.joda.time.LocalDate; - -import com.google.common.base.Objects; -import com.google.common.collect.Lists; @javax.jdo.annotations.PersistenceCapable(identityType=IdentityType.DATASTORE) @javax.jdo.annotations.DatastoreIdentity(strategy=javax.jdo.annotations.IdGeneratorStrategy.IDENTITY) @@ -85,6 +87,7 @@ import com.google.common.collect.Lists; @PublishedObject(ToDoItemChangedPayloadFactory.class) @AutoComplete(repository=ToDoItems.class, action="autoComplete") @MemberGroups({"General", "Detail"}) +@Bookmarkable public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3: uncomment to use https://github.com/danhaywood/isis-wicket-gmap3 private static final long ONE_WEEK_IN_MILLIS = 7 * 24 * 60 * 60 * 1000L; @@ -106,9 +109,9 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3 } return buf.toString(); } - // }} + // {{ Description private String description; @@ -124,6 +127,7 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3 } // }} + // {{ DueBy (property) @javax.jdo.annotations.Persistent(defaultFetchGroup="true") private LocalDate dueBy; @@ -149,6 +153,7 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3 } // }} + // {{ Category private Category category; @@ -162,6 +167,7 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3 } // }} + // {{ OwnedBy (property) private String ownedBy; @@ -177,7 +183,7 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3 // }} - // {{ Complete (property) + // {{ Complete (property), Done (action), Undo (action) private boolean complete; @Disabled @@ -191,11 +197,39 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3 this.complete = complete; } - - // {{ Cost (property) + + @Named("Done") + @PublishedAction + @Bulk + @MemberOrder(name="complete", sequence = "1") + public ToDoItem completed() { + setComplete(true); + return this; + } + // disable action dependent on state of object + public String disableCompleted() { + return complete ? "Already completed" : null; + } + + + @Named("Undo") + @PublishedAction + @MemberOrder(name="complete", sequence = "2") + public ToDoItem notYetCompleted() { + setComplete(false); + return this; + } + // disable action dependent on state of object + public String disableNotYetCompleted() { + return !complete ? "Not yet completed" : null; + } + // }} + + + // {{ Cost (property), updateCost (action) private BigDecimal cost; - @Column(scale = 4) + @Column(scale = 2) @Optional @MemberOrder(sequence = "4.1") public BigDecimal getCost() { @@ -205,6 +239,17 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3 public void setCost(final BigDecimal cost) { this.cost = cost; } + + @Named("Update") + @MemberOrder(name="cost", sequence = "1") + public ToDoItem updateCost(@Named("New cost") final BigDecimal cost) { + setCost(cost); + return this; + } + // provide a default value + public BigDecimal default0UpdateCost() { + return getCost(); + } // }} @@ -224,7 +269,6 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3 } // }} - // {{ Attachment (property) private Blob attachment; @@ -258,44 +302,13 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3 final Long version = (Long) JDOHelper.getVersion(persistenceCapable); return version; } + // hide property (imperatively, based on state of object) public boolean hideVersionSequence() { return !(this instanceof PersistenceCapable); } // }} - // {{ completed (action) - @PublishedAction - @Bulk - @MemberOrder(sequence = "1") - public ToDoItem completed() { - setComplete(true); - return this; - } - - // disable action dependent on state of object - public String disableCompleted() { - return complete ? "Already completed" : null; - } - // }} - // {{ notYetCompleted (action) - @PublishedAction - @MemberOrder(sequence = "2") - public ToDoItem notYetCompleted() { - setComplete(false); - return this; - } - - - // disable action dependent on state of object - public String disableNotYetCompleted() { - return !complete ? "Not yet completed" : null; - } - // }} - - - - // {{ dependencies (Collection) @javax.jdo.annotations.Persistent(table="TODO_DEPENDENCIES") @javax.jdo.annotations.Join(column="DEPENDING_TODO_ID") @@ -327,6 +340,7 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3 } return null; } + // validate the provided argument prior to invoking action public String validateAdd(final ToDoItem toDoItem) { if(getDependencies().contains(toDoItem)) { return "Already a dependency"; @@ -344,18 +358,21 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3 getDependencies().remove(toDoItem); return this; } + // disable action dependent on state of object public String disableRemove(final ToDoItem toDoItem) { if(isComplete()) { return "Cannot remove dependencies for items that are complete"; } return getDependencies().isEmpty()? "No dependencies to remove": null; } + // validate the provided argument prior to invoking action public String validateRemove(final ToDoItem toDoItem) { if(!getDependencies().contains(toDoItem)) { return "Not a dependency"; } return null; } + // provide a drop-down public List<ToDoItem> choices0Remove() { return Lists.newArrayList(getDependencies()); } @@ -406,10 +423,8 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3 // }} - // {{ isDue (programmatic) - @Programmatic - // excluded from the framework's metamodel + @Programmatic // excluded from the framework's metamodel public boolean isDue() { if (getDueBy() == null) { return false; @@ -434,7 +449,10 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3 // {{ compareTo (programmatic) /** - * by complete flag, then due by date, then description + * by complete flag, then due by date, then description. + * + * <p> + * Required because {@link #getDependencies()} is of type {@link SortedSet}. */ @Override public int compareTo(final ToDoItem other) { @@ -512,7 +530,7 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3 // {{ injected: DomainObjectContainer private DomainObjectContainer container; - public void setDomainObjectContainer(final DomainObjectContainer container) { + public void injectDomainObjectContainer(final DomainObjectContainer container) { this.container = container; } // }} @@ -540,4 +558,5 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3 // } // // }} + }
