ISIS-537: AdditionalLinksPanel now supports being rendered either as inline-list (the original) or as a drop-down. Instantiated through factory method throughout.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/36efbfb3 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/36efbfb3 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/36efbfb3 Branch: refs/heads/master Commit: 36efbfb3ee4d5ef4eecb431a11bc8ba7dbcafb45 Parents: e183bbf Author: Dan Haywood <[email protected]> Authored: Wed Nov 26 16:24:28 2014 +0000 Committer: Dan Haywood <[email protected]> Committed: Wed Nov 26 16:24:28 2014 +0000 ---------------------------------------------------------------------- .../AdditionalLinksAsDropDownPanel.html | 42 ++++++++++++++++++++ .../AdditionalLinksAsDropDownPanel.java | 32 +++++++++++++++ .../AdditionalLinksAsInlineListPanel.html | 37 +++++++++++++++++ .../AdditionalLinksAsInlineListPanel.java | 32 +++++++++++++++ .../additionallinks/AdditionalLinksPanel.html | 37 ----------------- .../additionallinks/AdditionalLinksPanel.java | 31 +++++++++++---- .../collections/EntityCollectionsPanel.java | 3 +- .../entity/properties/EntityPropertiesForm.java | 6 ++- .../links/EntityLinksSelectorPanel.java | 19 +++++---- .../components/scalars/ScalarPanelAbstract.java | 2 +- .../StandaloneCollectionPanel.java | 10 ++--- 11 files changed, 189 insertions(+), 62 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/isis/blob/36efbfb3/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 new file mode 100644 index 0000000..0b10479 --- /dev/null +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsDropDownPanel.html @@ -0,0 +1,42 @@ +<?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> + <div wicket:id="additionalLinkList" class="additionalLinkList"> + <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> + <ul class="dropdown-menu" role="menu"> + <li wicket:id="additionalLinkItem" class="additionalLinkItem"> + <a href="#" wicket:id="additionalLink"> + <span wicket:id="additionalLinkFontAwesome"></span> + <span wicket:id="additionalLinkTitle" class="additionalLinkItem">[link title]</span> + </a> + </li> + </ul> + </div> + </div> + </wicket:panel> + </body> +</html> http://git-wip-us.apache.org/repos/asf/isis/blob/36efbfb3/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsDropDownPanel.java ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsDropDownPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsDropDownPanel.java new file mode 100644 index 0000000..3e971eb --- /dev/null +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsDropDownPanel.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 AdditionalLinksAsDropDownPanel extends AdditionalLinksPanel { + + private static final long serialVersionUID = 1L; + + public AdditionalLinksAsDropDownPanel(String id, List<LinkAndLabel> links) { + super(id, links); + } +} http://git-wip-us.apache.org/repos/asf/isis/blob/36efbfb3/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 new file mode 100644 index 0000000..3d3fb81 --- /dev/null +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsInlineListPanel.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 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/36efbfb3/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 new file mode 100644 index 0000000..caf4964 --- /dev/null +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksAsInlineListPanel.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 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/36efbfb3/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.html ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.html deleted file mode 100644 index 3d3fb81..0000000 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.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/36efbfb3/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 dd32ddb..b288c2d 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 @@ -38,9 +38,6 @@ import org.apache.isis.viewer.wicket.ui.panels.PanelUtil; import org.apache.isis.viewer.wicket.ui.util.Components; import org.apache.isis.viewer.wicket.ui.util.CssClassAppender; -/** - * Panel for rendering scalars of type {@link String}. - */ public class AdditionalLinksPanel extends PanelAbstract<ListOfLinksModel> { private static final long serialVersionUID = 1L; @@ -50,23 +47,41 @@ public class AdditionalLinksPanel extends PanelAbstract<ListOfLinksModel> { private static final String ID_ADDITIONAL_LINK_FONT_AWESOME = "additionalLinkFontAwesome"; private static final String ID_ADDITIONAL_LINK_TITLE = "additionalLinkTitle"; - public static void addAdditionalLinks( + public enum Style { + INLINE_LIST { + @Override + AdditionalLinksPanel newPanel(String id, List<LinkAndLabel> links) { + return new AdditionalLinksAsInlineListPanel(id, links); + } + }, + DROPDOWN { + @Override + AdditionalLinksPanel newPanel(String id, List<LinkAndLabel> links) { + return new AdditionalLinksAsDropDownPanel(id, links); + } + }; + abstract AdditionalLinksPanel newPanel(String id, List<LinkAndLabel> links); + } + + public static AdditionalLinksPanel addAdditionalLinks( final MarkupContainer markupContainer, final String id, - final List<LinkAndLabel> links) { + final List<LinkAndLabel> links, + final Style style) { if(links.isEmpty()) { Components.permanentlyHide(markupContainer, id); - return; + return null; } - final WebMarkupContainer additionalLinksPanel = new AdditionalLinksPanel(id, links); + final AdditionalLinksPanel additionalLinksPanel = style.newPanel(id, links); markupContainer.addOrReplace(additionalLinksPanel); + return additionalLinksPanel; } private List<LinkAndLabel> linkAndLabels; - public AdditionalLinksPanel(final String id, final List<LinkAndLabel> links) { + protected AdditionalLinksPanel(final String id, final List<LinkAndLabel> links) { super(id, new ListOfLinksModel(links)); this.linkAndLabels = getModel().getObject(); http://git-wip-us.apache.org/repos/asf/isis/blob/36efbfb3/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanel.java ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanel.java index d663d42..74f9617 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanel.java +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanel.java @@ -124,8 +124,7 @@ public class EntityCollectionsPanel extends PanelAbstract<EntityModel> { final EntityCollectionModel entityCollectionModel = collectionPanel.getModel(); List<LinkAndLabel> links = entityCollectionModel.getLinks(); - AdditionalLinksPanel additionalLinks = new AdditionalLinksPanel(ID_ADDITIONAL_LINKS, links); - fieldset.addOrReplace(additionalLinks); + AdditionalLinksPanel.addAdditionalLinks (fieldset,ID_ADDITIONAL_LINKS, links, AdditionalLinksPanel.Style.INLINE_LIST); final CollectionSelectorHelper selectorHelper = new CollectionSelectorHelper(entityCollectionModel, getComponentFactoryRegistry()); http://git-wip-us.apache.org/repos/asf/isis/blob/36efbfb3/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java index fa6250d..8474e4f 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java @@ -91,6 +91,8 @@ public class EntityPropertiesForm extends FormAbstract<ObjectAdapter> implements private static final String ID_MEMBER_GROUP = "memberGroup"; private static final String ID_MEMBER_GROUP_NAME = "memberGroupName"; + public static final String ID_ADDITIONAL_LINKS = "additionalLinks"; + private static final String ID_LEFT_COLUMN = "leftColumn"; private static final String ID_MIDDLE_COLUMN = "middleColumn"; private static final String ID_RIGHT_COLUMN = "rightColumn"; @@ -246,7 +248,9 @@ public class EntityPropertiesForm extends FormAbstract<ObjectAdapter> implements // TODO: suppressing until sort out markup and figure out which should contribute etc via Facets. memberGroupActions.clear(); AdditionalLinksPanel.addAdditionalLinks( - memberGroupRvContainer, "additionalLinks", memberGroupActions); + memberGroupRvContainer, ID_ADDITIONAL_LINKS, + memberGroupActions, + AdditionalLinksPanel.Style.INLINE_LIST); } addClassForSpan(markupContainer, span); http://git-wip-us.apache.org/repos/asf/isis/blob/36efbfb3/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/selector/links/EntityLinksSelectorPanel.java ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/selector/links/EntityLinksSelectorPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/selector/links/EntityLinksSelectorPanel.java index 459b692..e8f7da9 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/selector/links/EntityLinksSelectorPanel.java +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/selector/links/EntityLinksSelectorPanel.java @@ -61,6 +61,13 @@ import org.apache.isis.viewer.wicket.ui.util.CssClassRemover; /** * Provides a list of links for selecting other views that support * {@link ComponentType#ENTITY} with a backing {@link EntityModel}. + * + * <p> + * TODO: this code could be simplified + * (pushed down common code here and for the CollectionsSelectorPanel in order to do so); + * haven't simplified this yet because currently there is only one view, so the markup + * rendered by this component 'collapses' to just show that underlying view. + * </p> */ public class EntityLinksSelectorPanel extends PanelAbstract<EntityModel> implements UiHintPathSignificant { @@ -71,7 +78,6 @@ public class EntityLinksSelectorPanel extends PanelAbstract<EntityModel> impleme private static final int MAX_NUM_UNDERLYING_VIEWS = 10; private static final String ID_ADDITIONAL_LINKS = "additionalLinks"; - public static final String ID_ADDITIONAL_LINK = "additionalLink"; private static final String ID_VIEWS = "views"; private static final String ID_VIEW_LIST = "viewList"; @@ -90,11 +96,6 @@ public class EntityLinksSelectorPanel extends PanelAbstract<EntityModel> impleme private ComponentFactory selectedComponentFactory; protected Component selectedComponent; - /** - * May be <tt>null</tt>, depending upon the model implementation. - */ - protected WebMarkupContainer additionalLinks; - public EntityLinksSelectorPanel(final String id, final EntityModel model, final ComponentFactory factory) { super(id, model); @@ -142,8 +143,10 @@ public class EntityLinksSelectorPanel extends PanelAbstract<EntityModel> impleme } links = Lists.newArrayList(links); // copy, to serialize any lazy evaluation - additionalLinks = new AdditionalLinksPanel(ID_ADDITIONAL_LINKS, links); - markupContainer.addOrReplace(additionalLinks); + AdditionalLinksPanel.addAdditionalLinks( + markupContainer, ID_ADDITIONAL_LINKS, + links, + AdditionalLinksPanel.Style.INLINE_LIST); } private void addUnderlyingViews(final String underlyingIdPrefix, final EntityModel model, final ComponentFactory factory) { http://git-wip-us.apache.org/repos/asf/isis/blob/36efbfb3/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 66b07c2..2d6ce7c 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 @@ -296,7 +296,7 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp EntityActionUtil.appendAdditionalLinksForAssociation(this.scalarModel, getDeploymentType(), ID_ADDITIONAL_LINK, entityActions); // ... and add them to the panel - AdditionalLinksPanel.addAdditionalLinks(labelIfRegular, ID_ADDITIONAL_LINKS, entityActions); + AdditionalLinksPanel.addAdditionalLinks(labelIfRegular, ID_ADDITIONAL_LINKS, entityActions, AdditionalLinksPanel.Style.INLINE_LIST); } http://git-wip-us.apache.org/repos/asf/isis/blob/36efbfb3/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java index 279588f..89e7b50 100644 --- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java +++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java @@ -64,7 +64,8 @@ public class StandaloneCollectionPanel extends PanelAbstract<EntityCollectionMod private final ActionPromptModalWindow actionPromptModalWindow; private final CollectionSelectorPanel selectorDropdownPanel; private final BulkActionsHelper bulkActionsHelper; - private AdditionalLinksPanel additionalLinks; + + private boolean additionalLinksAdded; /** * note that the bulk actions components are added in {@link #configureBulkActions(org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.ObjectAdapterToggleboxColumn)}. @@ -152,7 +153,7 @@ public class StandaloneCollectionPanel extends PanelAbstract<EntityCollectionMod @Override public void configureBulkActions(final ObjectAdapterToggleboxColumn toggleboxColumn) { - if(additionalLinks != null) { + if(additionalLinksAdded) { return; } final BulkActionsLinkFactory linkFactory = @@ -167,9 +168,8 @@ public class StandaloneCollectionPanel extends PanelAbstract<EntityCollectionMod } }); - additionalLinks = new AdditionalLinksPanel(ID_ADDITIONAL_LINKS, links); - addOrReplace(additionalLinks); - + AdditionalLinksPanel.addAdditionalLinks(this, ID_ADDITIONAL_LINKS, links, AdditionalLinksPanel.Style.INLINE_LIST); + additionalLinksAdded = true; }
