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:08 UTC

[isis] branch ISIS-471-pin.bookmark created (now ac36bd9)

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a change to branch ISIS-471-pin.bookmark
in repository https://gitbox.apache.org/repos/asf/isis.git.


      at ac36bd9  ISIS-471: fixing fa icon, moving pin icon to the right

This branch includes the following new commits:

     new ac36bd9  ISIS-471: fixing fa icon, moving pin icon to the right

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[isis] 01/01: ISIS-471: fixing fa icon, moving pin icon to the right

Posted by ah...@apache.org.
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