You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by mg...@apache.org on 2015/03/25 16:49:04 UTC

isis git commit: ISIS-1115 Make it possible to set a custom favicon

Repository: isis
Updated Branches:
  refs/heads/master e48e806dc -> 1aa380e0a


ISIS-1115 Make it possible to set a custom favicon


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/1aa380e0
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/1aa380e0
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/1aa380e0

Branch: refs/heads/master
Commit: 1aa380e0a2309a35c4f5ef725abda6270dc86e74
Parents: e48e806
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed Mar 25 17:48:26 2015 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Wed Mar 25 17:48:26 2015 +0200

----------------------------------------------------------------------
 .../ui/components/widgets/favicon/Favicon.java  | 43 ++++++++++++++++++++
 .../viewer/wicket/ui/pages/PageAbstract.html    |  1 +
 .../viewer/wicket/ui/pages/PageAbstract.java    |  8 +++-
 3 files changed, 50 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/1aa380e0/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/favicon/Favicon.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/favicon/Favicon.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/favicon/Favicon.java
new file mode 100644
index 0000000..622dffa
--- /dev/null
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/favicon/Favicon.java
@@ -0,0 +1,43 @@
+package org.apache.isis.viewer.wicket.ui.components.widgets.favicon;
+
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.html.WebComponent;
+import org.apache.wicket.util.string.Strings;
+
+/**
+ * A component for application favorite icon
+ */
+public class Favicon extends WebComponent {
+
+    @Inject(optional = true)
+    @Named("faviconUrl")
+    private String url;
+
+    @Inject(optional = true)
+    @Named("faviconContentType")
+    private String contentType;
+
+    public Favicon(String id) {
+        super(id);
+    }
+
+    @Override
+    protected void onConfigure() {
+        super.onConfigure();
+
+        setVisible(!Strings.isEmpty(url));
+    }
+
+    @Override
+    protected void onComponentTag(ComponentTag tag) {
+        super.onComponentTag(tag);
+
+        tag.put("href", url);
+
+        if (!Strings.isEmpty(contentType)) {
+            tag.put("type", contentType);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/1aa380e0/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html
index d4baa7d..cf8a91f 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html
@@ -27,6 +27,7 @@
         <meta http-equiv="X-UA-COMPATIBLE" content="IE=edge">
         <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, user-scalable=no">
         <title wicket:id="pageTitle"></title>
+        <link rel="icon" wicket:id="favicon">
         <wicket:header-items/>
     </head>
     <body>

http://git-wip-us.apache.org/repos/asf/isis/blob/1aa380e0/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
index c3ac228..7349bf3 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
@@ -81,6 +81,7 @@ import org.apache.isis.viewer.wicket.ui.ComponentType;
 import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistry;
 import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistryAccessor;
 import org.apache.isis.viewer.wicket.ui.components.actionprompt.ActionPromptModalWindow;
+import org.apache.isis.viewer.wicket.ui.components.widgets.favicon.Favicon;
 import org.apache.isis.viewer.wicket.ui.errors.ExceptionModel;
 import org.apache.isis.viewer.wicket.ui.errors.JGrowlBehaviour;
 import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
@@ -109,7 +110,9 @@ public abstract class PageAbstract extends WebPage implements ActionPromptProvid
     private static final String ID_ACTION_PROMPT_MODAL_WINDOW = "actionPromptModalWindow";
     
     private static final String ID_PAGE_TITLE = "pageTitle";
-    
+
+    private static final String ID_FAVICON = "favicon";
+
     public static final String ID_MENU_LINK = "menuLink";
 
     /**
@@ -168,6 +171,8 @@ public abstract class PageAbstract extends WebPage implements ActionPromptProvid
             
             setTitle(title);
 
+            add(new Favicon(ID_FAVICON));
+
             themeDiv = new WebMarkupContainer(ID_THEME);
             add(themeDiv);
             if(applicationName != null) {
@@ -233,7 +238,6 @@ public abstract class PageAbstract extends WebPage implements ActionPromptProvid
         addOrReplace(new Label(ID_PAGE_TITLE, title != null? title: applicationName));
     }
 
-
     private Class<? extends Page> getSignInPage() {
         return pageClassRegistry.getPageClass(PageType.SIGN_IN);
     }