Repository: isis
Updated Branches:
  refs/heads/master 8b7267e60 -> 9746edbdf


ISIS-537: fixing hinting (selected view, page number, ordering of tables).


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

Branch: refs/heads/master
Commit: 6e17ab545bd24cb6530d2f3cd325c3e8fa35e32a
Parents: 8b7267e
Author: Dan Haywood <[email protected]>
Authored: Tue Nov 11 21:21:45 2014 +0000
Committer: Dan Haywood <[email protected]>
Committed: Tue Nov 11 21:21:45 2014 +0000

----------------------------------------------------------------------
 .../viewer/wicket/model/hints/UiHintContainer.java     | 13 ++++++++++---
 .../collection/selector/CollectionSelectorHelper.java  |  3 ++-
 .../collection/selector/CollectionSelectorPanel.java   |  8 ++++++--
 .../ajaxtable/IsisAjaxFallbackDataTable.java           |  8 +++-----
 .../ajaxtable/IsisAjaxFallbackHeadersToolbar.java      |  7 ++++---
 .../widgets/zclip/SimpleClipboardModalWindowPanel.html |  3 ++-
 .../components/widgets/zclip/ZeroClipboardPanel.java   | 13 ++++++-------
 .../isis/viewer/wicket/ui/panels/PanelAbstract.java    |  6 +++++-
 8 files changed, 38 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/6e17ab54/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/hints/UiHintContainer.java
----------------------------------------------------------------------
diff --git 
a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/hints/UiHintContainer.java
 
b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/hints/UiHintContainer.java
index 7a2df82..94b994b 100644
--- 
a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/hints/UiHintContainer.java
+++ 
b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/hints/UiHintContainer.java
@@ -29,16 +29,23 @@ public interface UiHintContainer {
 
     public static class Util {
         private Util(){}
+
         public static UiHintContainer hintContainerOf(Component component) {
+            return hintContainerOf(component, UiHintContainer.class);
+        }
+
+        public static <T extends UiHintContainer> T hintContainerOf(
+                final Component component, final Class<T> 
additionalConstraint) {
 
             if(component == null) {
                 return null;
             }
             IModel<?> model = component.getDefaultModel();
-            if(model instanceof UiHintContainer) {
-                return (UiHintContainer) model;
+            if(model != null && 
additionalConstraint.isAssignableFrom(model.getClass())) {
+                return additionalConstraint.cast(model);
             }
-            return hintContainerOf(component.getParent());
+            return hintContainerOf(component.getParent(), 
additionalConstraint);
         }
+
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/6e17ab54/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
----------------------------------------------------------------------
diff --git 
a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
 
b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
index 8261496..a600923 100644
--- 
a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
+++ 
b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
@@ -31,6 +31,7 @@ import 
org.apache.isis.core.metamodel.facets.members.render.RenderFacet;
 import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.isis.viewer.wicket.model.hints.UiHintContainer;
 import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel;
+import org.apache.isis.viewer.wicket.model.models.EntityModel;
 import org.apache.isis.viewer.wicket.ui.ComponentFactory;
 import org.apache.isis.viewer.wicket.ui.ComponentType;
 import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistry;
@@ -144,7 +145,7 @@ public class CollectionSelectorHelper implements 
Serializable {
 
 
     private static UiHintContainer getUiHintContainer(final Component 
component) {
-        return UiHintContainer.Util.hintContainerOf(component);
+        return UiHintContainer.Util.hintContainerOf(component, 
EntityModel.class);
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/6e17ab54/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorPanel.java
----------------------------------------------------------------------
diff --git 
a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorPanel.java
 
b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorPanel.java
index 2033f3d..ff2063a 100644
--- 
a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorPanel.java
+++ 
b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorPanel.java
@@ -37,9 +37,9 @@ import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.isis.core.commons.lang.StringExtensions;
 import org.apache.isis.viewer.wicket.model.hints.IsisUiHintEvent;
-import org.apache.isis.viewer.wicket.model.hints.UiHintContainer;
 import org.apache.isis.viewer.wicket.model.hints.UiHintPathSignificant;
 import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel;
+import org.apache.isis.viewer.wicket.model.models.EntityModel;
 import org.apache.isis.viewer.wicket.ui.CollectionContentsAsFactory;
 import org.apache.isis.viewer.wicket.ui.ComponentFactory;
 import org.apache.isis.viewer.wicket.ui.ComponentType;
@@ -203,7 +203,7 @@ public class CollectionSelectorPanel
 
 
     protected void setViewHintAndBroadcast(int viewNum, AjaxRequestTarget 
target) {
-        final UiHintContainer uiHintContainer = getUiHintContainer();
+        final EntityModel uiHintContainer = 
getUiHintContainer(EntityModel.class);
         if(uiHintContainer == null) {
             return;
         }
@@ -217,4 +217,8 @@ public class CollectionSelectorPanel
         //PanelUtil.renderHead(response, CollectionSelectorPanel.class);
     }
 
+
 }
+
+
+

http://git-wip-us.apache.org/repos/asf/isis/blob/6e17ab54/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxFallbackDataTable.java
----------------------------------------------------------------------
diff --git 
a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxFallbackDataTable.java
 
b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxFallbackDataTable.java
index da11850..84eabb0 100644
--- 
a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxFallbackDataTable.java
+++ 
b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxFallbackDataTable.java
@@ -21,7 +21,6 @@ package 
org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.event.Broadcast;
 import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
@@ -35,10 +34,10 @@ import org.apache.wicket.markup.repeater.Item;
 import org.apache.wicket.markup.repeater.OddEvenItem;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.util.lang.Generics;
-
 import org.apache.isis.viewer.wicket.model.hints.IsisUiHintEvent;
 import org.apache.isis.viewer.wicket.model.hints.UiHintContainer;
 import org.apache.isis.viewer.wicket.model.hints.UiHintPathSignificant;
+import org.apache.isis.viewer.wicket.model.models.EntityModel;
 
 public class IsisAjaxFallbackDataTable<T, S> extends DataTable<T, S> 
implements UiHintPathSignificant {
     
@@ -190,9 +189,8 @@ public class IsisAjaxFallbackDataTable<T, S> extends 
DataTable<T, S> implements
         send(getPage(), Broadcast.EXACT, new IsisUiHintEvent(uiHintContainer, 
target));
     }
 
-    private UiHintContainer getUiHintContainer() {
-        return UiHintContainer.Util.hintContainerOf(this);
+    private EntityModel getUiHintContainer() {
+        return UiHintContainer.Util.hintContainerOf(this, EntityModel.class);
     }
 
-    
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/6e17ab54/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxFallbackHeadersToolbar.java
----------------------------------------------------------------------
diff --git 
a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxFallbackHeadersToolbar.java
 
b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxFallbackHeadersToolbar.java
index 43698df..19c914d 100644
--- 
a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxFallbackHeadersToolbar.java
+++ 
b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxFallbackHeadersToolbar.java
@@ -22,6 +22,7 @@ import 
org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLoc
 import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.isis.viewer.wicket.model.hints.UiHintContainer;
+import org.apache.isis.viewer.wicket.model.models.EntityModel;
 
 
 /**
@@ -81,9 +82,9 @@ public class IsisAjaxFallbackHeadersToolbar<S> extends 
IsisAjaxHeadersToolbar<S>
             }
         }
     }
-    
-    public UiHintContainer getUiHintContainer() {
-        return UiHintContainer.Util.hintContainerOf(table);
+
+    private EntityModel getUiHintContainer() {
+        return UiHintContainer.Util.hintContainerOf(this, EntityModel.class);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/6e17ab54/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/zclip/SimpleClipboardModalWindowPanel.html
----------------------------------------------------------------------
diff --git 
a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/zclip/SimpleClipboardModalWindowPanel.html
 
b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/zclip/SimpleClipboardModalWindowPanel.html
index 527d79d..d001b8e 100644
--- 
a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/zclip/SimpleClipboardModalWindowPanel.html
+++ 
b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/zclip/SimpleClipboardModalWindowPanel.html
@@ -28,7 +28,8 @@
                             <input wicket:id="textField" class="form-control 
linkUrl"/>
                         </div>
                     </div>
-                    <input type="submit" value="OK" class="ok btn btn-xs 
btn-primary" onclick="$(this).closest('.modal').modal('hide'); return false;"/>
+                    <span class="help-block"></span>
+                    <input type="submit" value="OK" class="ok btn btn-sm 
btn-primary" onclick="$(this).closest('.modal').modal('hide'); return false;"/>
                 </form>
             </div>
         </wicket:panel>

http://git-wip-us.apache.org/repos/asf/isis/blob/6e17ab54/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/zclip/ZeroClipboardPanel.java
----------------------------------------------------------------------
diff --git 
a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/zclip/ZeroClipboardPanel.java
 
b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/zclip/ZeroClipboardPanel.java
index 1f116df..df94b11 100644
--- 
a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/zclip/ZeroClipboardPanel.java
+++ 
b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/zclip/ZeroClipboardPanel.java
@@ -136,9 +136,11 @@ public class ZeroClipboardPanel extends 
PanelAbstract<EntityModel> {
             // ignore, since has already been primed
             return;
         }
-        subscribingLink = createSubscribingLink(uiHintContainer);
-//        addOrReplace(subscribingLink);
-        subscribingLink.setOutputMarkupId(true);
+        AbstractLink subscribingLink = createSubscribingLink(uiHintContainer);
+        if(subscribingLink != null) {
+            this.subscribingLink = subscribingLink;
+            this.subscribingLink.setOutputMarkupId(true);
+        }
     }
 
     private void addSimpleClipboardModalWindow() {
@@ -149,10 +151,7 @@ public class ZeroClipboardPanel extends 
PanelAbstract<EntityModel> {
     private AbstractLink createSubscribingLink(UiHintContainer 
uiHintContainer) {
         if(uiHintContainer == null || !(uiHintContainer instanceof 
EntityModel)) {
             // return a no-op
-            AbstractLink link = new AbstractLink(ID_SUBSCRIBING_LINK) {
-                private static final long serialVersionUID = 1L;
-            };
-            return link;
+            return null;
         } else {
             final EntityModel entityModel = (EntityModel) uiHintContainer;
             final PageParameters pageParameters = 
entityModel.getPageParameters();

http://git-wip-us.apache.org/repos/asf/isis/blob/6e17ab54/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
----------------------------------------------------------------------
diff --git 
a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
 
b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
index f873e00..fb05b1e 100644
--- 
a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
+++ 
b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
@@ -137,8 +137,12 @@ public abstract class PanelAbstract<T extends IModel<?>> 
extends Panel implement
         return UiHintContainer.Util.hintContainerOf(this);
     }
 
+    public <T extends UiHintContainer> T getUiHintContainer(final Class<T> 
additionalConstraint) {
+        return UiHintContainer.Util.hintContainerOf(this, 
additionalConstraint);
+    }
 
-    // ///////////////////////////////////////////////////////////////////
+
+        // ///////////////////////////////////////////////////////////////////
     // Convenience
     // ///////////////////////////////////////////////////////////////////
 

Reply via email to