You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2014/11/27 18:06:23 UTC

[11/15] isis git commit: ISS-537: now renders actions to the right if annotated as such.

ISS-537: now renders actions to the right if annotated as such.


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

Branch: refs/heads/master
Commit: fd7be2a1aa68535def1856b5b28e826f51b511d0
Parents: 6393ac9
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Nov 27 13:35:59 2014 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Nov 27 13:35:59 2014 +0000

----------------------------------------------------------------------
 .../viewer/wicket/model/links/LinkAndLabel.java | 12 +++++
 .../AdditionalLinksAsDropDownPanel.html         |  6 ++-
 .../AdditionalLinksAsInlineListPanel.html       | 37 ---------------
 .../AdditionalLinksAsInlineListPanel.java       | 32 -------------
 .../AdditionalLinksAsListInlinePanel.html       | 37 +++++++++++++++
 .../AdditionalLinksAsListInlinePanel.java       | 32 +++++++++++++
 .../additionallinks/AdditionalLinksPanel.java   |  2 +-
 .../components/scalars/ScalarPanelAbstract.html |  3 +-
 .../components/scalars/ScalarPanelAbstract.java | 47 +++++++++++---------
 .../scalars/ScalarPanelTextFieldAbstract.java   |  4 +-
 .../isisapplib/IsisBlobOrClobPanelAbstract.html |  3 +-
 .../isisapplib/IsisBlobOrClobPanelAbstract.java |  5 +--
 .../scalars/primitive/BooleanPanel.html         |  3 +-
 .../scalars/primitive/BooleanPanel.java         |  7 +--
 .../scalars/reference/ReferencePanel.html       |  3 +-
 .../scalars/reference/ReferencePanel.java       | 10 ++---
 .../valuechoices/ValueChoicesSelect2Panel.html  |  3 +-
 .../valuechoices/ValueChoicesSelect2Panel.java  |  4 +-
 .../wicket/ui/pages/bootstrap-overrides.css     |  8 ++++
 19 files changed, 142 insertions(+), 116 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/fd7be2a1/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
index 37a4704..0c73f23 100644
--- a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
+++ b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
@@ -20,6 +20,7 @@ package org.apache.isis.viewer.wicket.model.links;
 
 import java.io.Serializable;
 
+import com.google.common.base.Predicate;
 import org.apache.wicket.markup.html.link.AbstractLink;
 import org.apache.isis.applib.annotation.ActionLayout;
 
@@ -100,4 +101,15 @@ public class LinkAndLabel implements Serializable {
     public ActionLayout.Position getPosition() {
         return position;
     }
+
+    public static class Predicates {
+        public static Predicate<LinkAndLabel> positioned(final ActionLayout.Position position) {
+            return new Predicate<LinkAndLabel>() {
+                @Override
+                public boolean apply(LinkAndLabel input) {
+                    return input.getPosition() == position;
+                }
+            };
+        }
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/fd7be2a1/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsDropDownPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsDropDownPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsDropDownPanel.html
index 0b10479..3667116 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsDropDownPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsDropDownPanel.html
@@ -24,9 +24,11 @@
       lang="en">
     <body>
         <wicket:panel>
-            <div wicket:id="additionalLinkList" class="additionalLinkList">
+            <div wicket:id="additionalLinkList" class="additionalLinkList additionalLinkListDropDown">
                 <div class="btn-group">
-                    <button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" aria-expanded="false"><span class="caret"></span></button>
+                    <button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
+                        <span class="fa fa-ellipsis-v"></span>
+                    </button>
                     <ul class="dropdown-menu" role="menu">
                         <li wicket:id="additionalLinkItem" class="additionalLinkItem">
                             <a href="#" wicket:id="additionalLink">

http://git-wip-us.apache.org/repos/asf/isis/blob/fd7be2a1/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsInlineListPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsInlineListPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsInlineListPanel.html
deleted file mode 100644
index 3d3fb81..0000000
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsInlineListPanel.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-  
-         http://www.apache.org/licenses/LICENSE-2.0
-         
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"  
-      xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"  
-      xml:lang="en"  
-      lang="en">
-    <body>
-        <wicket:panel>
-            <ul wicket:id="additionalLinkList" class="additionalLinkList list-unstyled list-inline">
-                <li wicket:id="additionalLinkItem" class="additionalLinkItem">
-                    <a href="#" wicket:id="additionalLink" class="btn btn-sm btn-primary">
-                        <span wicket:id="additionalLinkFontAwesome"></span>
-                        <span wicket:id="additionalLinkTitle" class="additionalLinkItem">[link title]</span>
-                    </a>
-                </li>
-            </ul>
-        </wicket:panel>
-    </body>
-</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/fd7be2a1/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsInlineListPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsInlineListPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsInlineListPanel.java
deleted file mode 100644
index caf4964..0000000
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsInlineListPanel.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.wicket.ui.components.additionallinks;
-
-import java.util.List;
-import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
-
-public class AdditionalLinksAsInlineListPanel extends AdditionalLinksPanel {
-
-    private static final long serialVersionUID = 1L;
-
-    public AdditionalLinksAsInlineListPanel(String id, List<LinkAndLabel> links) {
-        super(id, links);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/fd7be2a1/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsListInlinePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsListInlinePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsListInlinePanel.html
new file mode 100644
index 0000000..9fcacee
--- /dev/null
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsListInlinePanel.html
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+         http://www.apache.org/licenses/LICENSE-2.0
+         
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"  
+      xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"  
+      xml:lang="en"  
+      lang="en">
+    <body>
+        <wicket:panel>
+            <ul wicket:id="additionalLinkList" class="additionalLinkList additionalLinkListInline list-unstyled list-inline">
+                <li wicket:id="additionalLinkItem" class="additionalLinkItem">
+                    <a href="#" wicket:id="additionalLink" class="btn btn-sm btn-default">
+                        <span wicket:id="additionalLinkFontAwesome"></span>
+                        <span wicket:id="additionalLinkTitle" class="additionalLinkItem">[link title]</span>
+                    </a>
+                </li>
+            </ul>
+        </wicket:panel>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/fd7be2a1/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsListInlinePanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsListInlinePanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsListInlinePanel.java
new file mode 100644
index 0000000..bde760f
--- /dev/null
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsListInlinePanel.java
@@ -0,0 +1,32 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.viewer.wicket.ui.components.additionallinks;
+
+import java.util.List;
+import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
+
+public class AdditionalLinksAsListInlinePanel extends AdditionalLinksPanel {
+
+    private static final long serialVersionUID = 1L;
+
+    public AdditionalLinksAsListInlinePanel(String id, List<LinkAndLabel> links) {
+        super(id, links);
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/fd7be2a1/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.java
index b288c2d..81d1954 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.java
@@ -51,7 +51,7 @@ public class AdditionalLinksPanel extends PanelAbstract<ListOfLinksModel> {
         INLINE_LIST {
             @Override
             AdditionalLinksPanel newPanel(String id, List<LinkAndLabel> links) {
-                return new AdditionalLinksAsInlineListPanel(id, links);
+                return new AdditionalLinksAsListInlinePanel(id, links);
             }
         },
         DROPDOWN {

http://git-wip-us.apache.org/repos/asf/isis/blob/fd7be2a1/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.html
index 3a2d352..d4eee10 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.html
@@ -30,8 +30,9 @@
                     <span class="scalarValueWrapper">
                         <wicket:child/>
                         <span wicket:id="feedback" class="help-block"></span>
-                        <span wicket:id="additionalLinks"></span>
+                        <span wicket:id="additionalLinksBelow"></span>
                     </span>
+                    <span wicket:id="additionalLinksRight"></span>
                 </div>
                 <wicket:container wicket:id="scalarIfCompact"></wicket:container>
             </div>

http://git-wip-us.apache.org/repos/asf/isis/blob/fd7be2a1/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
index 3aeb759..18ec1f8 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
@@ -22,6 +22,7 @@ package org.apache.isis.viewer.wicket.ui.components.scalars;
 import de.agilecoders.wicket.core.markup.html.bootstrap.common.NotificationPanel;
 
 import java.util.List;
+import com.google.common.collect.Iterables;
 import com.google.common.collect.Lists;
 import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
@@ -36,7 +37,6 @@ import org.apache.wicket.model.Model;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.actions.layout.ActionLayoutFacet;
 import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
 import org.apache.isis.core.metamodel.facets.propparam.labelat.LabelAtFacet;
 import org.apache.isis.core.runtime.system.DeploymentType;
@@ -44,6 +44,7 @@ import org.apache.isis.core.runtime.system.context.IsisContext;
 import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
 import org.apache.isis.viewer.wicket.model.models.EntityModel.RenderingHint;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
+import org.apache.isis.viewer.wicket.ui.components.additionallinks.AdditionalLinksPanel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.TextFieldValueModel.ScalarModelProvider;
 import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
 import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
@@ -66,8 +67,9 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
 
     protected static final String ID_SCALAR_IF_COMPACT = "scalarIfCompact";
 
-    protected static final String ID_ADDITIONAL_LINKS = "additionalLinks";
     protected static final String ID_ADDITIONAL_LINK = "additionalLink";
+    protected static final String ID_ADDITIONAL_LINKS_BELOW = "additionalLinksBelow";
+    protected static final String ID_ADDITIONAL_LINKS_RIGHT = "additionalLinksRight";
 
     private static final String ID_FEEDBACK = "feedback";
 
@@ -318,19 +320,19 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
      */
     protected void addPositioningCssTo(final MarkupContainer markupContainer, final List<LinkAndLabel> entityActionLinks) {
         CssClassAppender.appendCssClassTo(markupContainer, determineLabelAtCss(getModel()));
-        boolean actionsPositionedOnRight = hasActionsPositioned(entityActionLinks, ActionLayout.Position.RIGHT);
-        if(actionsPositionedOnRight) {
-            CssClassAppender.appendCssClassTo(markupContainer, "actions-right");
-        }
+        CssClassAppender.appendCssClassTo(markupContainer, determineActionLayoutPositioningCss(entityActionLinks));
     }
 
-    private static boolean hasActionsPositioned(final List<LinkAndLabel> entityActionLinks, final ActionLayout.Position position) {
-        for (LinkAndLabel entityActionLink : entityActionLinks) {
-            if(entityActionLink.getPosition() == position) {
-                return true;
-            }
-        }
-        return false;
+    protected void addEntityActionLinksBelowAndRight(final MarkupContainer labelIfRegular, final List<LinkAndLabel> entityActions) {
+        final List<LinkAndLabel> entityActionsBelow = positioned(entityActions, ActionLayout.Position.BELOW);
+        AdditionalLinksPanel.addAdditionalLinks(labelIfRegular, ID_ADDITIONAL_LINKS_BELOW, entityActionsBelow, AdditionalLinksPanel.Style.INLINE_LIST);
+
+        final List<LinkAndLabel> entityActionsRight = positioned(entityActions, ActionLayout.Position.RIGHT);
+        AdditionalLinksPanel.addAdditionalLinks(labelIfRegular, ID_ADDITIONAL_LINKS_RIGHT, entityActionsRight, AdditionalLinksPanel.Style.DROPDOWN);
+    }
+
+    private static List<LinkAndLabel> positioned(final List<LinkAndLabel> entityActionLinks, final ActionLayout.Position position) {
+        return Lists.newArrayList(Iterables.filter(entityActionLinks, LinkAndLabel.Predicates.positioned(position)));
     }
 
     private static String determineLabelAtCss(ScalarModel model) {
@@ -348,17 +350,18 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
         return "label-left";
     }
 
-    private static String determineActionLayoutCss(ScalarModel model) {
-        final ActionLayoutFacet facet = model.getFacet(ActionLayoutFacet.class);
-        if (facet != null) {
-            switch (facet.position()) {
-                case BELOW:
-                    return "action-below";
-                case RIGHT:
-                    return "action-right";
+    private static String determineActionLayoutPositioningCss(List<LinkAndLabel> entityActionLinks) {
+        boolean actionsPositionedOnRight = hasActionsPositionedOn(entityActionLinks, ActionLayout.Position.RIGHT);
+        return actionsPositionedOnRight ? "actions-right" : null;
+    }
+
+    private static boolean hasActionsPositionedOn(final List<LinkAndLabel> entityActionLinks, final ActionLayout.Position position) {
+        for (LinkAndLabel entityActionLink : entityActionLinks) {
+            if(entityActionLink.getPosition() == position) {
+                return true;
             }
         }
-        return null;
+        return false;
     }
 
     // //////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/isis/blob/fd7be2a1/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
index 5b65910..1e1ba98 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
@@ -128,8 +128,8 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
         
         addFeedbackTo(labelIfRegular, textField);
 
-        // ... and add them to the panel
-        AdditionalLinksPanel.addAdditionalLinks(labelIfRegular, ID_ADDITIONAL_LINKS, entityActions, AdditionalLinksPanel.Style.INLINE_LIST);
+        // ... add entity links to panel (below and to right)
+        addEntityActionLinksBelowAndRight(labelIfRegular, entityActions);
 
         return labelIfRegular;
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/fd7be2a1/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html
index 0320af1..e7119d7 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html
@@ -36,8 +36,9 @@
                             <span class="fileName" wicket:id="fileName"></span>
                         </span>
                         <span wicket:id="feedback" class="help-block"></span>
-                        <span wicket:id="additionalLinks"></span>
+                        <span wicket:id="additionalLinksBelow"></span>
                     </span>
+                    <span wicket:id="additionalLinksRight"></span>
                 </div>
 
                 <span wicket:id="scalarIfCompact">

http://git-wip-us.apache.org/repos/asf/isis/blob/fd7be2a1/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
index 3a56411..f78b265 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
@@ -52,7 +52,6 @@ import org.apache.isis.core.commons.lang.CloseableExtensions;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.components.additionallinks.AdditionalLinksPanel;
 import org.apache.isis.viewer.wicket.ui.components.additionallinks.EntityActionUtil;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract;
 import org.apache.isis.viewer.wicket.ui.components.widgets.bootstrap.FormGroup;
@@ -117,8 +116,8 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
         addOrReplace(labelIfRegular);
         addFeedbackTo(labelIfRegular, fileUploadField);
 
-        // ... and add them to the panel
-        AdditionalLinksPanel.addAdditionalLinks(labelIfRegular, ID_ADDITIONAL_LINKS, entityActions, AdditionalLinksPanel.Style.INLINE_LIST);
+        // ... add entity links to panel (below and to right)
+        addEntityActionLinksBelowAndRight(labelIfRegular, entityActions);
 
         return labelIfRegular;
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/fd7be2a1/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html
index 146714b..66eb735 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html
@@ -30,8 +30,9 @@
                     <span class="scalarValueWrapper">
                         <input type="checkbox" name="scalarValue" class="form-control scalarValue" wicket:id="scalarValue" />
                         <span wicket:id="feedback" class="help-block"></span>
-                        <span wicket:id="additionalLinks"></span>
+                        <span wicket:id="additionalLinksBelow"></span>
                     </span>
+                    <span wicket:id="additionalLinksRight"></span>
                 </div>
                 <input type="checkbox" wicket:id="scalarIfCompact" />
             </div>

http://git-wip-us.apache.org/repos/asf/isis/blob/fd7be2a1/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
index efba774..71d2508 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
@@ -34,7 +34,6 @@ import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.components.additionallinks.AdditionalLinksPanel;
 import org.apache.isis.viewer.wicket.ui.components.additionallinks.EntityActionUtil;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract;
 import org.apache.isis.viewer.wicket.ui.components.widgets.bootstrap.FormGroup;
@@ -91,12 +90,14 @@ public class BooleanPanel extends ScalarPanelAbstract {
         addOrReplace(labelIfRegular);
         addFeedbackTo(labelIfRegular, checkBox);
 
-        // ... and add them to the panel
-        AdditionalLinksPanel.addAdditionalLinks(labelIfRegular, ID_ADDITIONAL_LINKS, entityActions, AdditionalLinksPanel.Style.INLINE_LIST);
+        // ... add entity links to panel (below and to right)
+        addEntityActionLinksBelowAndRight(labelIfRegular, entityActions);
 
         return labelIfRegular;
     }
 
+
+
     /**
      * Mandatory hook method to build the component to render the model when in
      * {@link Rendering#COMPACT compact} format.

http://git-wip-us.apache.org/repos/asf/isis/blob/fd7be2a1/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.html
index 41ec493..680ec67 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.html
@@ -41,8 +41,9 @@
                             </div>
                         </span>
                         <span wicket:id="feedback" class="help-block"></span>
-                        <span wicket:id="additionalLinks"></span>
+                        <span wicket:id="additionalLinksBelow"></span>
                     </span>
+                    <span wicket:id="additionalLinksRight"></span>
                 </div>
                 <div wicket:id="scalarIfCompact" class="scalarIfCompact">
                     <div class="scalarValue">

http://git-wip-us.apache.org/repos/asf/isis/blob/fd7be2a1/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
index be7921f..0a9e692 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
@@ -20,12 +20,10 @@
 package org.apache.isis.viewer.wicket.ui.components.scalars.reference;
 
 import java.util.List;
-
 import com.google.common.collect.Lists;
 import com.vaynberg.wicket.select2.ChoiceProvider;
 import com.vaynberg.wicket.select2.Select2Choice;
 import com.vaynberg.wicket.select2.Settings;
-
 import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
@@ -37,7 +35,6 @@ import org.apache.wicket.model.Model;
 import org.apache.wicket.validation.IValidatable;
 import org.apache.wicket.validation.IValidator;
 import org.apache.wicket.validation.ValidationError;
-
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager.ConcurrencyChecking;
 import org.apache.isis.core.metamodel.facets.object.autocomplete.AutoCompleteFacet;
@@ -49,13 +46,12 @@ import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.model.models.ScalarModelWithPending.Util;
 import org.apache.isis.viewer.wicket.ui.ComponentFactory;
 import org.apache.isis.viewer.wicket.ui.ComponentType;
-import org.apache.isis.viewer.wicket.ui.components.additionallinks.AdditionalLinksPanel;
 import org.apache.isis.viewer.wicket.ui.components.additionallinks.EntityActionUtil;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract;
 import org.apache.isis.viewer.wicket.ui.components.widgets.ObjectAdapterMementoProviderAbstract;
 import org.apache.isis.viewer.wicket.ui.components.widgets.bootstrap.FormGroup;
-import org.apache.isis.viewer.wicket.ui.components.widgets.select2.Select2ChoiceUtil;
 import org.apache.isis.viewer.wicket.ui.components.widgets.entitysimplelink.EntityLinkSimplePanel;
+import org.apache.isis.viewer.wicket.ui.components.widgets.select2.Select2ChoiceUtil;
 import org.apache.isis.viewer.wicket.ui.util.Components;
 import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
 
@@ -139,8 +135,8 @@ public class ReferencePanel extends ScalarPanelAbstract {
         
         addFeedbackTo(labelIfRegular, entityLink);
 
-        // ... and add them to the panel
-        AdditionalLinksPanel.addAdditionalLinks(labelIfRegular, ID_ADDITIONAL_LINKS, entityActions, AdditionalLinksPanel.Style.INLINE_LIST);
+        // ... add entity links to panel (below and to right)
+        addEntityActionLinksBelowAndRight(labelIfRegular, entityActions);
 
         // add semantics
         entityLink.setRequired(getModel().isRequired());

http://git-wip-us.apache.org/repos/asf/isis/blob/fd7be2a1/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.html
index 6722fb2..81cbc9e 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.html
@@ -32,8 +32,9 @@
                             <input wicket:id="scalarValue" type="hidden" class="choices form-control input-sm select2-remote" style="width: 99.8%;"/>
                         </div>
                         <span wicket:id="feedback" class="help-block"></span>
-                        <span wicket:id="additionalLinks"></span>
+                        <span wicket:id="additionalLinksBelow"></span>
                     </div>
+                    <span wicket:id="additionalLinksRight"></span>
                 </div>
                 <span wicket:id="scalarIfCompact"></span>
             </div>

http://git-wip-us.apache.org/repos/asf/isis/blob/fd7be2a1/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
index 5066334..699865b 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
@@ -94,8 +94,8 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
 
         addFeedbackTo(labelIfRegular, select2Field);
 
-        // ... and add them to the panel
-        AdditionalLinksPanel.addAdditionalLinks(labelIfRegular, ID_ADDITIONAL_LINKS, entityActions, AdditionalLinksPanel.Style.INLINE_LIST);
+        // ... add entity links to panel (below and to right)
+        addEntityActionLinksBelowAndRight(labelIfRegular, entityActions);
 
         return labelIfRegular;
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/fd7be2a1/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
index 3010db3..2c68090 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
@@ -134,6 +134,12 @@ div.label-left.actions-right .scalarValueWrapper {
     width: 62%;
 }
 
+.actions-right .additionalLinkListDropDown {
+    float:right;
+    /*width: 3%;*/
+}
+
+
 div.label-top .scalarValueWrapper,
 div.label-none .scalarValueWrapper {
     width: 99%;
@@ -218,3 +224,5 @@ div.label-left .choicesPlaceholder {
 #body {
     padding-top: 20px;
 }
+
+