You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2013/05/09 08:24:27 UTC
[3/3] git commit: ISIS-400: factored out AdditionalLinksPanel,
now used throughout
ISIS-400: factored out AdditionalLinksPanel, now used throughout
ie all subclasses of ScalarPanelAbstract, and also by entity collections as well.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/c3addb51
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/c3addb51
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/c3addb51
Branch: refs/heads/master
Commit: c3addb515062271eba2720fb208b7cfbb56022cc
Parents: 1fcc800
Author: Dan Haywood <da...@apache.org>
Authored: Thu May 9 08:23:41 2013 +0200
Committer: Dan Haywood <da...@apache.org>
Committed: Thu May 9 08:23:41 2013 +0200
----------------------------------------------------------------------
.../wicket/model/links/ListOfLinksModel.java | 26 ++++
.../viewer/wicket/model/models/ActionModel.java | 14 +-
.../viewer/wicket/model/models/EntityModel.java | 5 -
.../additionallinks/AdditionalLinksPanel.css | 18 +++
.../additionallinks/AdditionalLinksPanel.html | 37 ++++++
.../additionallinks/AdditionalLinksPanel.java | 85 ++++++++++++
.../additionallinks/EntityActionUtil.java | 81 ++++++++++++
.../cssmenu/AppActionsCssMenuLinkFactory.java | 2 +-
.../ui/components/collection/CollectionPanel.java | 76 +-----------
.../CollectionContentsLinksSelectorPanel.java | 1 -
.../components/entity/EntityActionLinkFactory.java | 8 +-
.../entity/properties/EntityPropertiesForm.java | 2 +-
.../ui/components/scalars/ScalarPanelAbstract.java | 45 +++++++-
.../scalars/ScalarPanelTextFieldAbstract.java | 16 ++-
.../isisapplib/IsisBlobOrClobPanelAbstract.css | 20 +++-
.../isisapplib/IsisBlobOrClobPanelAbstract.html | 1 +
.../isisapplib/IsisBlobOrClobPanelAbstract.java | 17 ++-
.../scalars/isisapplib/IsisColorPanel.html | 1 +
.../scalars/isisapplib/IsisDatePanel.html | 1 +
.../scalars/isisapplib/IsisDateTimePanel.html | 1 +
.../scalars/isisapplib/IsisMoneyPanel.html | 1 +
.../scalars/isisapplib/IsisPasswordPanel.html | 1 +
.../scalars/isisapplib/IsisPercentagePanel.html | 1 +
.../scalars/isisapplib/IsisTimePanel.html | 1 +
.../scalars/isisapplib/IsisTimeStampPanel.html | 1 +
.../scalars/jdkdates/JavaSqlDatePanel.html | 1 +
.../scalars/jdkdates/JavaUtilDatePanel.html | 1 +
.../scalars/jdkmath/JavaMathBigDecimalPanel.html | 1 +
.../scalars/jdkmath/JavaMathBigIntegerPanel.html | 1 +
.../scalars/jodatime/JodaDateTimePanel.html | 1 +
.../scalars/jodatime/JodaLocalDatePanel.html | 1 +
.../scalars/jodatime/JodaLocalDateTimePanel.html | 1 +
.../components/scalars/primitive/BooleanPanel.html | 1 +
.../components/scalars/primitive/BooleanPanel.java | 9 +-
.../ui/components/scalars/primitive/BytePanel.html | 1 +
.../scalars/primitive/CharacterPanel.html | 1 +
.../components/scalars/primitive/DoublePanel.html | 1 +
.../components/scalars/primitive/FloatPanel.html | 1 +
.../components/scalars/primitive/IntegerPanel.html | 1 +
.../ui/components/scalars/primitive/LongPanel.html | 1 +
.../components/scalars/primitive/ShortPanel.html | 1 +
.../scalars/reference/ReferencePanel.html | 3 +-
.../scalars/reference/ReferencePanel.java | 9 +-
.../scalars/string/MultiLineStringPanel.html | 5 +-
.../ui/components/scalars/string/StringPanel.html | 10 +--
.../ui/components/scalars/string/StringPanel.java | 101 +--------------
.../ui/components/scalars/value/ValuePanel.html | 1 +
.../valuechoices/ValueChoicesSelect2Panel.html | 1 +
.../valuechoices/ValueChoicesSelect2Panel.java | 6 +-
.../isis/viewer/wicket/ui/pages/PageAbstract.css | 9 +-
.../selector/links/LinksSelectorPanelAbstract.html | 13 +-
.../selector/links/LinksSelectorPanelAbstract.java | 78 +++++++-----
52 files changed, 458 insertions(+), 264 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/ListOfLinksModel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/ListOfLinksModel.java b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/ListOfLinksModel.java
new file mode 100644
index 0000000..10f520d
--- /dev/null
+++ b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/ListOfLinksModel.java
@@ -0,0 +1,26 @@
+package org.apache.isis.viewer.wicket.model.links;
+
+import java.util.List;
+
+import com.google.common.collect.Lists;
+
+import org.apache.wicket.model.LoadableDetachableModel;
+
+
+public class ListOfLinksModel extends LoadableDetachableModel<List<LinkAndLabel>> {
+
+ private static final long serialVersionUID = 1L;
+
+ private final List<LinkAndLabel> links;
+
+ public ListOfLinksModel(List<LinkAndLabel> links) {
+ // copy, in case supplied list is a non-serializable guava list using lazy evaluation;
+ this.links = Lists.newArrayList(links);
+ }
+
+ @Override
+ protected List<LinkAndLabel> load() {
+ return links;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
index d5c2004..c36f96b 100644
--- a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
+++ b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
@@ -106,10 +106,11 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> {
* Factory method for creating {@link PageParameters}.
*
* see {@link #ActionModel(PageParameters)}
+ * @param concurrencyChecking TODO
*/
- public static PageParameters createPageParameters(final ObjectAdapter adapter, final ObjectAction objectAction, final ObjectAdapter contextAdapter, final SingleResultsMode singleResultsMode) {
+ public static PageParameters createPageParameters(final ObjectAdapter adapter, final ObjectAction objectAction, final ObjectAdapter contextAdapter, final SingleResultsMode singleResultsMode, ConcurrencyChecking concurrencyChecking) {
- final PageParameters pageParameters = createPageParameters(adapter, objectAction, singleResultsMode);
+ final PageParameters pageParameters = createPageParameters(adapter, objectAction, singleResultsMode, concurrencyChecking);
final String actionTitle = objectAction.getName();
PageParameterNames.PAGE_TITLE.addStringTo(pageParameters, actionTitle);
@@ -121,13 +122,15 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> {
return pageParameters;
}
- private static PageParameters createPageParameters(final ObjectAdapter adapter, final ObjectAction objectAction, final SingleResultsMode singleResultsMode) {
+ private static PageParameters createPageParameters(final ObjectAdapter adapter, final ObjectAction objectAction, final SingleResultsMode singleResultsMode, ConcurrencyChecking concurrencyChecking) {
final PageParameters pageParameters = new PageParameters();
PageParameterNames.PAGE_TYPE.addEnumTo(pageParameters, PageType.ACTION);
PageParameterNames.ACTION_SINGLE_RESULTS_MODE.addEnumTo(pageParameters, singleResultsMode);
- final String oidStr = adapter.getOid().enString(getOidMarshaller());
+ final String oidStr = concurrencyChecking == ConcurrencyChecking.CHECK?
+ adapter.getOid().enString(getOidMarshaller()):
+ adapter.getOid().enStringNoVersion(getOidMarshaller());
PageParameterNames.OBJECT_OID.addStringTo(pageParameters, oidStr);
final ActionType actionType = objectAction.getType();
@@ -147,8 +150,7 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> {
public PageParameters asPageParameters() {
final ObjectAdapter adapter = getTargetAdapter();
final ObjectAction objectAction = getActionMemento().getAction();
- final PageParameters pageParameters = createPageParameters(adapter, objectAction, SingleResultsMode.REDIRECT);
-
+ final PageParameters pageParameters = createPageParameters(adapter, objectAction, SingleResultsMode.REDIRECT, ConcurrencyChecking.CHECK);
// capture argument values and build up a title
final StringBuilder buf = new StringBuilder();
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
index 5827fa8..e79a6dd 100644
--- a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
+++ b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
@@ -483,9 +483,4 @@ public class EntityModel extends BookmarkableModel<ObjectAdapter> {
return IsisContext.getSpecificationLoader();
}
-
-
-
-
-
}
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.css
new file mode 100644
index 0000000..eaeea17
--- /dev/null
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.css
@@ -0,0 +1,18 @@
+/*
+ * 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.
+ */
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/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
new file mode 100644
index 0000000..f532181
--- /dev/null
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.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">
+ <head></head>
+ <body>
+ <wicket:panel>
+ <ul wicket:id="additionalLinkList" class="additionalLinkList">
+ <li wicket:id="additionalLinkItem" class="additionalLinkItem">
+ <a href="#" wicket:id="additionalLink">
+ <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/c3addb51/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
new file mode 100644
index 0000000..259b9a6
--- /dev/null
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.java
@@ -0,0 +1,85 @@
+/*
+ * 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.wicket.behavior.AttributeAppender;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.link.AbstractLink;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
+
+import org.apache.isis.core.commons.lang.StringUtils;
+import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
+import org.apache.isis.viewer.wicket.model.links.ListOfLinksModel;
+import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
+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;
+
+ private static final String ID_ADDITIONAL_LINK_LIST = "additionalLinkList";
+ private static final String ID_ADDITIONAL_LINK_ITEM = "additionalLinkItem";
+ private static final String ID_ADDITIONAL_LINK_TITLE = "additionalLinkTitle";
+
+ private List<LinkAndLabel> linkAndLabels;
+
+ public AdditionalLinksPanel(final String id, final List<LinkAndLabel> links) {
+ super(id, new ListOfLinksModel(links));
+
+ this.linkAndLabels = getModel().getObject();
+
+ final WebMarkupContainer container = new WebMarkupContainer(ID_ADDITIONAL_LINK_LIST);
+ addOrReplace(container);
+
+ container.setOutputMarkupId(true);
+
+ setOutputMarkupId(true);
+
+ final ListView<LinkAndLabel> listView = new ListView<LinkAndLabel>(ID_ADDITIONAL_LINK_ITEM, this.linkAndLabels) {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void populateItem(ListItem<LinkAndLabel> item) {
+ final LinkAndLabel linkAndLabel = item.getModelObject();
+
+ final AbstractLink link = linkAndLabel.getLink();
+
+ Label viewTitleLabel = new Label(ID_ADDITIONAL_LINK_TITLE, linkAndLabel.getLabel());
+ String disabledReasonIfAny = linkAndLabel.getDisabledReasonIfAny();
+ if(disabledReasonIfAny != null) {
+ viewTitleLabel.add(new AttributeAppender("title", disabledReasonIfAny));
+ }
+ viewTitleLabel.add(new CssClassAppender(StringUtils.toLowerDashed(linkAndLabel.getLabel())));
+ link.addOrReplace(viewTitleLabel);
+ item.addOrReplace(link);
+ }
+ };
+ container.addOrReplace(listView);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/EntityActionUtil.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/EntityActionUtil.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/EntityActionUtil.java
new file mode 100644
index 0000000..5f1f7b6
--- /dev/null
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/EntityActionUtil.java
@@ -0,0 +1,81 @@
+package org.apache.isis.viewer.wicket.ui.components.additionallinks;
+
+import java.util.List;
+
+import com.google.common.base.Function;
+import com.google.common.base.Strings;
+import com.google.common.collect.Lists;
+
+import org.apache.wicket.Session;
+
+import org.apache.isis.applib.annotation.Where;
+import org.apache.isis.applib.filter.Filter;
+import org.apache.isis.applib.filter.Filters;
+import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
+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.members.order.MemberOrderFacet;
+import org.apache.isis.core.metamodel.spec.ActionType;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
+import org.apache.isis.core.metamodel.spec.feature.ObjectActionContainer.Contributed;
+import org.apache.isis.core.metamodel.spec.feature.ObjectActionFilters;
+import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
+import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
+import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
+import org.apache.isis.viewer.wicket.model.models.EntityModel;
+import org.apache.isis.viewer.wicket.ui.components.entity.EntityActionLinkFactory;
+import org.apache.isis.viewer.wicket.ui.components.widgets.cssmenu.CssMenuLinkFactory;
+import org.apache.isis.viewer.wicket.ui.selector.links.LinksSelectorPanelAbstract;
+
+public final class EntityActionUtil {
+
+ private EntityActionUtil(){}
+
+ public static List<LinkAndLabel> entityActions(EntityModel entityModel, ObjectAssociation association) {
+ final ObjectSpecification adapterSpec = entityModel.getTypeOfSpecification();
+ final ObjectAdapter adapter = entityModel.load(ConcurrencyChecking.NO_CHECK);
+ final ObjectAdapterMemento adapterMemento = entityModel.getObjectAdapterMemento();
+
+ @SuppressWarnings("unchecked")
+ final List<ObjectAction> userActions = adapterSpec.getObjectActions(ActionType.USER, Contributed.INCLUDED,
+ Filters.and(EntityActionUtil.memberOrderOf(association), EntityActionUtil.dynamicallyVisibleFor(adapter)));
+
+ final CssMenuLinkFactory linkFactory = new EntityActionLinkFactory(entityModel);
+
+ return Lists.transform(userActions, new Function<ObjectAction, LinkAndLabel>(){
+
+ @Override
+ public LinkAndLabel apply(ObjectAction objectAction) {
+ return linkFactory.newLink(adapterMemento, objectAction, LinksSelectorPanelAbstract.ID_ADDITIONAL_LINK);
+ }});
+ }
+
+ private static Filter<ObjectAction> dynamicallyVisibleFor(final ObjectAdapter adapter) {
+ final AuthenticationSessionProvider asa = (AuthenticationSessionProvider) Session.get();
+ AuthenticationSession authSession = asa.getAuthenticationSession();
+ return ObjectActionFilters.dynamicallyVisible(authSession, adapter, Where.ANYWHERE);
+ }
+
+ private static Filter<ObjectAction> memberOrderOf(ObjectAssociation association) {
+ final String collectionName = association.getName();
+ final String collectionId = association.getId();
+ return new Filter<ObjectAction>() {
+
+ @Override
+ public boolean accept(ObjectAction t) {
+ final MemberOrderFacet memberOrderFacet = t.getFacet(MemberOrderFacet.class);
+ if(memberOrderFacet == null) {
+ return false;
+ }
+ final String memberOrderName = memberOrderFacet.name();
+ if(Strings.isNullOrEmpty(memberOrderName)) {
+ return false;
+ }
+ return memberOrderName.equalsIgnoreCase(collectionName) || memberOrderName.equalsIgnoreCase(collectionId);
+ }
+ };
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuLinkFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuLinkFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuLinkFactory.java
index 01c339c..8e3964b 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuLinkFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuLinkFactory.java
@@ -42,7 +42,7 @@ class AppActionsCssMenuLinkFactory implements CssMenuLinkFactory {
@Override
public LinkAndLabel newLink(final ObjectAdapterMemento adapterMemento, final ObjectAction action, final String linkId) {
- final PageParameters pageParameters = ActionModel.createPageParameters(adapterMemento.getObjectAdapter(ConcurrencyChecking.NO_CHECK), action, null, ActionModel.SingleResultsMode.REDIRECT);
+ final PageParameters pageParameters = ActionModel.createPageParameters(adapterMemento.getObjectAdapter(ConcurrencyChecking.NO_CHECK), action, null, ActionModel.SingleResultsMode.REDIRECT, ConcurrencyChecking.NO_CHECK);
final Class<? extends Page> pageClass = getPageClassRegistry().getPageClass(PageType.ACTION);
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
index 56bf437..b6065df 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
@@ -21,39 +21,19 @@ package org.apache.isis.viewer.wicket.ui.components.collection;
import java.util.List;
-import com.google.common.base.Function;
-import com.google.common.base.Strings;
-import com.google.common.collect.Lists;
import org.apache.wicket.Component;
-import org.apache.wicket.Session;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.panel.ComponentFeedbackPanel;
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.applib.filter.Filter;
-import org.apache.isis.applib.filter.Filters;
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.members.order.MemberOrderFacet;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.core.metamodel.spec.feature.ObjectActionContainer.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectActionFilters;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
-import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
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.ComponentType;
-import org.apache.isis.viewer.wicket.ui.components.entity.EntityActionLinkFactory;
+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.cssmenu.CssMenuLinkFactory;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
-import org.apache.isis.viewer.wicket.ui.selector.links.LinksSelectorPanelAbstract;
/**
* Panel for rendering entity collection; analogous to (any concrete subclass
@@ -68,60 +48,12 @@ public class CollectionPanel extends PanelAbstract<EntityCollectionModel> {
private static EntityCollectionModel createEntityCollectionModel(EntityModel entityModel, OneToManyAssociation otma) {
EntityCollectionModel collectionModel = EntityCollectionModel.createParented(entityModel, otma);
- List<LinkAndLabel> entityActions = entityActions(entityModel, otma);
-
+ List<LinkAndLabel> entityActions = EntityActionUtil.entityActions(entityModel, otma);
+
collectionModel.addEntityActions(entityActions);
return collectionModel;
}
- // TODO: move to a utility class, since also called outside this class...
- public static List<LinkAndLabel> entityActions(EntityModel entityModel, ObjectAssociation association) {
- final ObjectSpecification adapterSpec = entityModel.getTypeOfSpecification();
- final ObjectAdapter adapter = entityModel.getObject();
- final ObjectAdapterMemento adapterMemento = entityModel.getObjectAdapterMemento();
-
- @SuppressWarnings("unchecked")
- final List<ObjectAction> userActions = adapterSpec.getObjectActions(ActionType.USER, Contributed.INCLUDED,
- Filters.and(memberOrderOf(association), dynamicallyVisibleFor(adapter)));
-
- final CssMenuLinkFactory linkFactory = new EntityActionLinkFactory(entityModel);
-
- return Lists.transform(userActions, new Function<ObjectAction, LinkAndLabel>(){
-
- @Override
- public LinkAndLabel apply(ObjectAction objectAction) {
- return linkFactory.newLink(adapterMemento, objectAction, LinksSelectorPanelAbstract.ID_ADDITIONAL_LINK);
- }});
- }
-
- // TODO: move to a utility class, since also called outside this class...
- private static Filter<ObjectAction> dynamicallyVisibleFor(final ObjectAdapter adapter) {
- final AuthenticationSessionProvider asa = (AuthenticationSessionProvider) Session.get();
- AuthenticationSession authSession = asa.getAuthenticationSession();
- return ObjectActionFilters.dynamicallyVisible(authSession, adapter, Where.ANYWHERE);
- }
-
- // TODO: move to a utility class, since also called outside this class...
- private static Filter<ObjectAction> memberOrderOf(ObjectAssociation association) {
- final String collectionName = association.getName();
- final String collectionId = association.getId();
- return new Filter<ObjectAction>() {
-
- @Override
- public boolean accept(ObjectAction t) {
- final MemberOrderFacet memberOrderFacet = t.getFacet(MemberOrderFacet.class);
- if(memberOrderFacet == null) {
- return false;
- }
- final String memberOrderName = memberOrderFacet.name();
- if(Strings.isNullOrEmpty(memberOrderName)) {
- return false;
- }
- return memberOrderName.equalsIgnoreCase(collectionName) || memberOrderName.equalsIgnoreCase(collectionId);
- }
- };
- }
-
public CollectionPanel(final String id, final EntityModel entityModel, OneToManyAssociation otma) {
this(id, createEntityCollectionModel(entityModel, otma));
}
@@ -134,14 +66,12 @@ public class CollectionPanel extends PanelAbstract<EntityCollectionModel> {
private void buildGui() {
-
final WebMarkupContainer markupContainer = new WebMarkupContainer(ID_COLLECTION);
final Component collectionContents = getComponentFactoryRegistry().addOrReplaceComponent(markupContainer, ComponentType.COLLECTION_CONTENTS, getModel());
addOrReplace(new ComponentFeedbackPanel(ID_FEEDBACK, collectionContents));
addOrReplace(markupContainer);
-
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/selector/links/CollectionContentsLinksSelectorPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/selector/links/CollectionContentsLinksSelectorPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/selector/links/CollectionContentsLinksSelectorPanel.java
index f45e307..6580da1 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/selector/links/CollectionContentsLinksSelectorPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/selector/links/CollectionContentsLinksSelectorPanel.java
@@ -19,7 +19,6 @@
package org.apache.isis.viewer.wicket.ui.components.collectioncontents.selector.links;
-import java.util.ArrayList;
import java.util.List;
import com.google.common.collect.Lists;
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityActionLinkFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityActionLinkFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityActionLinkFactory.java
index 4522efe..2d5f70a 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityActionLinkFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityActionLinkFactory.java
@@ -20,11 +20,9 @@
package org.apache.isis.viewer.wicket.ui.components.entity;
import org.apache.wicket.Application;
-import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Page;
import org.apache.wicket.markup.html.link.AbstractLink;
import org.apache.wicket.markup.html.link.Link;
-import org.apache.wicket.model.Model;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.isis.applib.annotation.Where;
@@ -99,7 +97,11 @@ public final class EntityActionLinkFactory implements CssMenuLinkFactory {
final ObjectAdapter adapter = adapterMemento.getObjectAdapter(ConcurrencyChecking.NO_CHECK);
final ObjectAdapter contextAdapter = entityModel.getObject();
- final PageParameters pageParameters = ActionModel.createPageParameters(adapter, action, contextAdapter, ActionModel.SingleResultsMode.REDIRECT);
+ // use NO concurrency checking because the link is rendered on the entity page.
+ // REVIEW: is this good enough. On the one hand we need it because otherwise a change done by this user basically prevents all actions from working
+ // on the other hand, if a change were made by some other user, then this user would want to know...
+ // perhaps the generated bookmarks need to subscribe to the EntityModel that backs the page?
+ final PageParameters pageParameters = ActionModel.createPageParameters(adapter, action, contextAdapter, ActionModel.SingleResultsMode.REDIRECT, ConcurrencyChecking.NO_CHECK);
final Class<? extends Page> pageClass = getPageClassRegistry().getPageClass(PageType.ACTION);
return Links.newBookmarkablePageLink(linkId, pageParameters, pageClass);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/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 20c72ad..9eccf45 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
@@ -94,7 +94,7 @@ class EntityPropertiesForm extends FormAbstract<ObjectAdapter> {
buildGui();
- // add any concurrency exception that might have been propogated into the entity model
+ // add any concurrency exception that might have been propagated into the entity model
// as a result of a previous action invocation
final String concurrencyExceptionIfAny = entityModel.getAndClearConcurrencyExceptionIfAny();
if(concurrencyExceptionIfAny != null) {
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/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 1075790..eedff4d 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
@@ -19,18 +19,31 @@
package org.apache.isis.viewer.wicket.ui.components.scalars;
+import java.util.List;
+
+import com.google.common.collect.Lists;
+
import org.apache.wicket.Component;
+import org.apache.wicket.MarkupContainer;
import org.apache.wicket.behavior.AttributeAppender;
+import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.FormComponentLabel;
import org.apache.wicket.markup.html.form.LabeledWebMarkupContainer;
+import org.apache.wicket.markup.html.panel.ComponentFeedbackPanel;
import org.apache.wicket.model.Model;
import org.apache.isis.applib.annotation.Where;
+import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
+import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
+import org.apache.isis.viewer.wicket.model.models.EntityModel;
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.additionallinks.EntityActionUtil;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract.Rendering;
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.Components;
/**
* Adapter for {@link PanelAbstract panel}s that use a {@link ScalarModel} as
@@ -43,7 +56,9 @@ import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> implements ScalarModelProvider {
private static final long serialVersionUID = 1L;
-
+
+ private static final String ID_ADDITIONAL_LINKS = "additionalLinks";
+ private static final String ID_FEEDBACK = "feedback";
public enum Rendering {
/**
@@ -169,7 +184,35 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
protected abstract Component addComponentForCompact();
+ protected void addFeedbackTo(MarkupContainer markupContainer, Component component) {
+ markupContainer.addOrReplace(new ComponentFeedbackPanel(ID_FEEDBACK, component));
+ }
+
+ protected void addAdditionalLinksTo(final FormComponentLabel labelIfRegular) {
+ final List<LinkAndLabel> entityActions;
+ if(scalarModel.getKind() == ScalarModel.Kind.PROPERTY) {
+ final ObjectAdapterMemento parentMemento = scalarModel.getParentObjectAdapterMemento();
+ final EntityModel parentEntityModel = new EntityModel(parentMemento);
+ entityActions = EntityActionUtil.entityActions(parentEntityModel, scalarModel.getPropertyMemento().getProperty());
+ } else {
+ entityActions = null;
+ }
+ addAdditionalLinks(labelIfRegular, entityActions);
+ }
+
+
+ private void addAdditionalLinks(MarkupContainer markupContainer, List<LinkAndLabel> links) {
+ if(links == null || links.isEmpty()) {
+ Components.permanentlyHide(markupContainer, ID_ADDITIONAL_LINKS);
+ return;
+ }
+ links = Lists.newArrayList(links); // copy, to serialize any lazy evaluation
+
+ final WebMarkupContainer views = new AdditionalLinksPanel(ID_ADDITIONAL_LINKS, links);
+ markupContainer.addOrReplace(views);
+ }
+
/**
* Optional hook.
*/
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/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 eb8c79e..f26b6b3 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
@@ -20,6 +20,7 @@
package org.apache.isis.viewer.wicket.ui.components.scalars;
import java.io.Serializable;
+import java.util.List;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Component;
@@ -34,7 +35,11 @@ import org.apache.wicket.model.Model;
import org.apache.isis.core.metamodel.facets.SingleIntValueFacet;
import org.apache.isis.core.metamodel.facets.maxlen.MaxLengthFacet;
import org.apache.isis.core.metamodel.facets.typicallen.TypicalLengthFacet;
+import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
+import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
+import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
+import org.apache.isis.viewer.wicket.ui.components.additionallinks.EntityActionUtil;
import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
/**
@@ -98,14 +103,13 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
labelIfRegular.add(new AttributeModifier("title", Model.of(describedAs)));
}
- addFeedbackTo(labelIfRegular);
+ addFeedbackTo(labelIfRegular, textField);
+ addAdditionalLinksTo(labelIfRegular);
+
return labelIfRegular;
}
-
- protected void addFeedbackTo(MarkupContainer markupContainer) {
- // 6.0.0
- markupContainer.addOrReplace(new ComponentFeedbackPanel(ID_FEEDBACK, textField));
- }
+
+
/**
* Optional hook method
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.css
index e90c9fa..d08ec3a 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.css
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.css
@@ -36,7 +36,7 @@
font-size: 0.9em;
}
-.isisBlobPanel .scalarValue span.uploadFile input {
+.isisBlobPanel .scalarValue .uploadFile input {
display: none;
}
@@ -50,7 +50,8 @@
.isisBlobPanel .scalarValue a:hover span.downloadTitle,
.isisBlobPanel .scalarValue span.uploadTitle:hover,
.isisBlobPanel .scalarValue a:hover span.clearTitle {
- background-color:#E3E3D9;
+ background-color:#40C0CB;
+ color: white;
text-decoration:none;
cursor: pointer;
}
@@ -68,3 +69,18 @@
background-color: #DDD;
cursor:pointer;
}
+
+
+
+.isisBlobPanel .scalarValue {
+ height: 30px;
+ line-height: 30px;
+}
+
+.isisBlobPanel .scalarValue span.uploadTitle,
+.isisBlobPanel .scalarValue span.downloadTitle,
+.isisBlobPanel .scalarValue span.clearTitle {
+ padding-top: 0px;
+ padding-bottom: 0px;
+ font-weight: bold;
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/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 a0e43ec..8986cd9 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
@@ -34,6 +34,7 @@
<a class="clear" wicket:id="scalarIfRegularClear"><span class="clearTitle">Clear</span></a>
</span>
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</label>
<span wicket:id="scalarIfCompact">
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/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 319d2e6..753c97f 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
@@ -71,21 +71,22 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
final FileUploadField fileUploadField = createFileUploadField(ID_SCALAR_VALUE);
fileUploadField.setLabel(Model.of(getModel().getName()));
- final FormComponentLabel scalarIfRegular = new FormComponentLabel(ID_SCALAR_IF_REGULAR, fileUploadField);
- scalarIfRegular.add(fileUploadField);
+ final FormComponentLabel labelIfRegular = new FormComponentLabel(ID_SCALAR_IF_REGULAR, fileUploadField);
+ labelIfRegular.add(fileUploadField);
final Label scalarUploadLabel = new Label(ID_SCALAR_IF_REGULAR_UPLOAD, "Upload");
- scalarIfRegular.add(scalarUploadLabel);
+ labelIfRegular.add(scalarUploadLabel);
final Label scalarName = new Label(ID_SCALAR_NAME, getModel().getName());
- scalarIfRegular.add(scalarName);
+ labelIfRegular.add(scalarName);
- updateDownloadLink(ID_SCALAR_IF_REGULAR_DOWNLOAD, scalarIfRegular);
- scalarIfRegular.addOrReplace(new ComponentFeedbackPanel(ID_FEEDBACK, fileUploadField));
+ updateDownloadLink(ID_SCALAR_IF_REGULAR_DOWNLOAD, labelIfRegular);
- addOrReplace(scalarIfRegular);
+ addOrReplace(labelIfRegular);
+ addFeedbackTo(labelIfRegular, fileUploadField);
+ addAdditionalLinksTo(labelIfRegular);
- return scalarIfRegular;
+ return labelIfRegular;
}
@Override
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanel.html
index 2d0c261..4f9c395 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<label wicket:id="scalarIfCompact"></label>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanel.html
index 89cbbd1..a62d736 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<input type="text" wicket:id="scalarIfCompact"></input>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanel.html
index 5ae35c8..6d7352e 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<input type="text" wicket:id="scalarIfCompact"></input>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanel.html
index 134c9cb..bc59011 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<label wicket:id="scalarIfCompact"></label>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanel.html
index 3e53112..1c435a3 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="password" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<label wicket:id="scalarIfCompact"></label>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanel.html
index 0e81054..29dc45a 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<label wicket:id="scalarIfCompact"></label>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanel.html
index ac590c4..463d254 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<label wicket:id="scalarIfCompact"></label>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanel.html
index de63e76..f367884 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<label wicket:id="scalarIfCompact"></label>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.html
index 5f75575..19abac8 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<input type="text" wicket:id="scalarIfCompact"></input>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.html
index b3488fb..49c9ef3 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<input type="text" wicket:id="scalarIfCompact"></input>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.html
index 6fad655..4fa1a20 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<input type="text" wicket:id="scalarIfCompact"></input>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.html
index 1ced237..5672ced 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<input type="text" wicket:id="scalarIfCompact"></input>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.html
index 93883f3..b0056bd 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<input type="text" wicket:id="scalarIfCompact"></input>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.html
index d8b955c..a26c44c 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<input type="text" wicket:id="scalarIfCompact"></input>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanel.html
index 0256334..22e9afa 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<input type="text" wicket:id="scalarIfCompact"></input>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/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 87976aa..b9f5012 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
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="checkbox" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<input type="checkbox" wicket:id="scalarIfCompact" />
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/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 c2a9306..54a660d 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
@@ -21,6 +21,7 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.primitive;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Component;
+import org.apache.wicket.MarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.CheckBox;
import org.apache.wicket.markup.html.form.FormComponentLabel;
@@ -42,7 +43,6 @@ public class BooleanPanel extends ScalarPanelAbstract {
private static final String ID_SCALAR_IF_REGULAR = "scalarIfRegular";
private static final String ID_SCALAR_NAME = "scalarName";
private static final String ID_SCALAR_VALUE = "scalarValue";
- private static final String ID_FEEDBACK = "feedback";
private static final String ID_SCALAR_IF_COMPACT = "scalarIfCompact";
@@ -76,11 +76,14 @@ public class BooleanPanel extends ScalarPanelAbstract {
addOrReplace(labelIfRegular);
- labelIfRegular.addOrReplace(new ComponentFeedbackPanel(ID_FEEDBACK, checkBox));
+ addFeedbackTo(labelIfRegular, checkBox);
+ addAdditionalLinksTo(labelIfRegular);
return labelIfRegular;
}
-
+
+
+
/**
* Mandatory hook method to build the component to render the model when in
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BytePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BytePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BytePanel.html
index 1080f6de..462a0aa 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BytePanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BytePanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<input type="text" wicket:id="scalarIfCompact"></input>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/CharacterPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/CharacterPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/CharacterPanel.html
index 9b5f300..e5bdc68 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/CharacterPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/CharacterPanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<label wicket:id="scalarIfCompact"></label>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/DoublePanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/DoublePanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/DoublePanel.html
index f201269..ac10bb0 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/DoublePanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/DoublePanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<input type="text" wicket:id="scalarIfCompact"></input>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/FloatPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/FloatPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/FloatPanel.html
index 3af85d8..319ead7 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/FloatPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/FloatPanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<input type="text" wicket:id="scalarIfCompact"></input>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/IntegerPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/IntegerPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/IntegerPanel.html
index 16bdecd..8f39178 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/IntegerPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/IntegerPanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<input type="text" wicket:id="scalarIfCompact"></input>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/LongPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/LongPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/LongPanel.html
index 0286267..34c230b 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/LongPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/LongPanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<input type="text" wicket:id="scalarIfCompact"></input>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/ShortPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/ShortPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/ShortPanel.html
index fd175ed..b0bb7cb 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/ShortPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/ShortPanel.html
@@ -31,6 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<input type="text" wicket:id="scalarIfCompact"></input>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/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 5baa8eb..57dad38 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
@@ -30,6 +30,8 @@
<span wicket:id="scalarName" class="scalarName">[Label text]</span>
<span class="scalarValue">
<span class="entityLink" wicket:id="entityLink">[property or parameter value]</span>
+ <span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<label wicket:id="scalarIfCompact" class="scalarIfCompact">
@@ -37,7 +39,6 @@
<span class="entityLink" wicket:id="entityLink">[property or parameter value]</span>
</span>
</label>
- <span wicket:id="feedback"></span>
</div>
</wicket:panel>
</body>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/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 f09e4ae..3f52fba 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
@@ -93,10 +93,6 @@ public class ReferencePanel extends ScalarPanelAbstract {
final FormComponentLabel labelIfRegular = new FormComponentLabel(ID_SCALAR_IF_REGULAR, entityLink);
labelIfRegular.add(entityLink);
- if(getModel().isRequired()) {
- labelIfRegular.add(new CssClassAppender("mandatory"));
- }
-
final String describedAs = getModel().getDescribedAs();
if(describedAs != null) {
labelIfRegular.add(new AttributeModifier("title", Model.of(describedAs)));
@@ -107,7 +103,8 @@ public class ReferencePanel extends ScalarPanelAbstract {
addOrReplace(labelIfRegular);
- addOrReplace(new ComponentFeedbackPanel(ID_FEEDBACK, entityLink));
+ addFeedbackTo(labelIfRegular, entityLink);
+ addAdditionalLinksTo(labelIfRegular);
addStandardSemantics();
addSemantics();
@@ -173,8 +170,6 @@ public class ReferencePanel extends ScalarPanelAbstract {
addOrReplace(labelIfCompact);
- addOrReplace(new ComponentFeedbackPanel(ID_FEEDBACK, entityLink));
-
return labelIfCompact;
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.html
index fe2f3d8..ef908fe 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.html
@@ -29,9 +29,10 @@
<label for="scalarValue" wicket:id="scalarIfRegular">
<span wicket:id="scalarName" class="scalarName">[Label text]</span>
<span class="scalarValue">
- <textarea name="scalarValue" wicket:id="scalarValue" ></textarea>
+ <textarea name="scalarValue" wicket:id="scalarValue" ></textarea>
+ <span wicket:id="feedback"></span>
+ <span wicket:id="additionalLinks"/>
</span>
- <span wicket:id="feedback"></span>
</label>
<label wicket:id="scalarIfCompact"></label>
</div>
http://git-wip-us.apache.org/repos/asf/isis/blob/c3addb51/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanel.html
index 4fe408b..cdac6f6 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanel.html
@@ -31,15 +31,7 @@
<span class="scalarValue">
<input type="text" name="scalarValue" wicket:id="scalarValue" />
<span wicket:id="feedback"></span>
- <span wicket:id="additionalLinks" class="additionalLinks">
- <ul wicket:id="additionalLinkList" class="additionalLinkList">
- <li wicket:id="additionalLinkItem" class="additionalLinkItem">
- <a href="#" wicket:id="additionalLink">
- <span wicket:id="additionalLinkTitle" class="additionalLinkItem">[link title]</span>
- </a>
- </li>
- </ul>
- </span>
+ <span wicket:id="additionalLinks"/>
</span>
</label>
<label wicket:id="scalarIfCompact"></label>