You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2021/02/21 08:16:09 UTC
[isis] 01/01: ISIS-471: fixing fa icon, moving pin icon to the right
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch ISIS-471-pin.bookmark
in repository https://gitbox.apache.org/repos/asf/isis.git
commit ac36bd98939b6f12fbb009c310f7bf4eba14cba5
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sun Feb 21 09:15:49 2021 +0100
ISIS-471: fixing fa icon, moving pin icon to the right
---
.../wicket/model/models/BookmarkedPagesModel.java | 8 +++---
.../bookmarkedpages/BookmarkedPagesPanel.html | 12 ++++-----
.../bookmarkedpages/BookmarkedPagesPanel.java | 31 ++++++++++++++++------
.../viewer/wicket/ui/util/CssClassAppender.java | 5 ++++
4 files changed, 38 insertions(+), 18 deletions(-)
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java
index e184462..7d788c6 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java
@@ -120,17 +120,17 @@ public class BookmarkedPagesModel extends ModelAbstract<List<BookmarkTreeNode>>
}
public void pin(BookmarkTreeNode rootNode) {
- this.rootNodes.remove(rootNode);
- this.rootNodes.add(0, rootNode);
rootNode.pin();
this.numPinned++;
+ this.rootNodes.remove(rootNode);
+ this.rootNodes.add(0, rootNode);
}
public void unpin(BookmarkTreeNode rootNode) {
- this.rootNodes.remove(rootNode);
- this.rootNodes.add(this.numPinned, rootNode);
rootNode.unpin();
this.numPinned--;
+ this.rootNodes.remove(rootNode);
+ this.rootNodes.add(rootNodes.size()-this.numPinned, rootNode);
}
public void clear() {
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.html b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.html
index 0e2ae06..4348f52 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.html
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.html
@@ -44,20 +44,20 @@
<ul wicket:id="bookmarkList" class="bookmarkedPagesList list-group">
<li wicket:id="bookmarkedPageItem" class="bookmarkedPageItem list-group-item">
<div>
- <a href="#" wicket:id="pinBookmarkLink" class="pinBookmarkPlaceHolder">
- <span class="fa fa-fw fa-thumb-tack"></span>
- </a>
-
<a href="#" wicket:id="bookmarkedPageLink">
<div class="bookmarkedPageImageAndTitle" style="display: inline-block">
<img wicket:id="bookmarkedPageImage" class="bookmarkedPageImage"/>
<span wicket:id="bookmarkedPageTitle" class="bookmarkedPageTitle">[link title]</span>
</div>
</a>
-
- <a href="#" wicket:id="clearBookmarkLink" class="clearBookmarkPlaceHolder pull-right">
+
+ <a href="#" wicket:id="clearBookmarkLink" class="clearBookmarkPlaceHolder pull-right">
<span class="fa fa-fw fa-ban text-danger"></span>
</a>
+ <a href="#" wicket:id="pinBookmarkLink" class="pinBookmarkPlaceHolder pull-right">
+ <span class="fas fa-fw fa-thumbtack"></span>
+ </a>
+
</div>
</li>
</ul>
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.java
index 1ec2ffb..d59d18c 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.java
@@ -138,26 +138,29 @@ public class BookmarkedPagesPanel extends PanelAbstract<BookmarkedPagesModel> {
final PageType pageType = node.getPageType();
final Class<? extends Page> pageClass = pageClassRegistry.getPageClass(pageType);
+ // toggle CSS pin state
final AjaxLink<Object> pinBookmarkLink = new AjaxLink<Object>(ID_PIN_BOOKMARK_LINK) {
private static final long serialVersionUID = 1L;
@Override
public void onClick(AjaxRequestTarget target) {
- if(!node.isPinned()) {
- bookmarkedPagesModel.pin(node);
- this.add(new CssClassAppender("text-success"));
- } else {
+ if(node.isPinned()) {
bookmarkedPagesModel.unpin(node);
- this.add(new CssClassAppender("text-muted"));
+ applyCssForUnpin(this);
+ } else {
+ bookmarkedPagesModel.pin(node);
+ applyCssForPin(this);
}
}
};
- if(!node.isPinned()) {
- pinBookmarkLink.add(new CssClassAppender("text-muted"));
+
+ // set initial CSS for pin state
+ if(node.isPinned()) {
+ applyCssForPin(pinBookmarkLink);
} else {
- pinBookmarkLink.add(new CssClassAppender("text-success"));
+ applyCssForUnpin(pinBookmarkLink);
}
final AjaxLink<Object> clearBookmarkLink = new AjaxLink<Object>(ID_CLEAR_BOOKMARK_LINK) {
@@ -247,5 +250,17 @@ public class BookmarkedPagesPanel extends PanelAbstract<BookmarkedPagesModel> {
return helpText;
}
+ // -- PINNING CSS
+
+ private static void applyCssForPin(Component target) {
+ target.add(new CssClassAppender("text-success"));
+ }
+
+ private static void applyCssForUnpin(Component target) {
+ target.add(new CssClassAppender("text-muted"));
+ }
+
+
+
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/CssClassAppender.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/CssClassAppender.java
index 8299066..0e92c82 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/CssClassAppender.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/CssClassAppender.java
@@ -42,6 +42,10 @@ public class CssClassAppender extends AttributeAppender {
public CssClassAppender(final String append) {
this(Model.of(append));
}
+
+ public String getCssClass() {
+ return super.getAttribute();
+ }
/**
* Adds CSS class to tag (providing that the class is non-null and non-empty).
@@ -73,4 +77,5 @@ public class CssClassAppender extends AttributeAppender {
public static String asCssStyle(final String str) {
return str.replaceAll("[^A-Za-z0-9- ]", "").replaceAll("\\s+", "-");
}
+
}
\ No newline at end of file