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 <[email protected]> Authored: Thu Nov 27 13:35:59 2014 +0000 Committer: Dan Haywood <[email protected]> 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; } + +
