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 // ///////////////////////////////////////////////////////////////////
