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 2014/11/28 18:44:57 UTC
[2/5] isis git commit: ISIS-537: refactored EntityHeaderPanel to use
additional links instead of CssMenuBuilder.
ISIS-537: refactored EntityHeaderPanel to use additional links instead of CssMenuBuilder.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/de0cc868
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/de0cc868
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/de0cc868
Branch: refs/heads/master
Commit: de0cc868fb520403c9fc9f574fe1b740d03d2e3b
Parents: 3d83695
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Nov 28 09:01:50 2014 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Nov 28 16:10:54 2014 +0000
----------------------------------------------------------------------
.../additionallinks/AdditionalLinksPanel.java | 2 +
.../additionallinks/EntityActionUtil.java | 79 ++++++++++++-----
.../components/collection/CollectionPanel.java | 5 +-
.../entity/header/EntityHeaderPanel.java | 93 +++++---------------
.../entity/properties/EntityPropertiesForm.java | 12 +--
.../components/scalars/ScalarPanelAbstract.java | 2 -
.../scalars/ScalarPanelTextFieldAbstract.java | 9 +-
.../isisapplib/IsisBlobOrClobPanelAbstract.java | 5 +-
.../scalars/primitive/BooleanPanel.java | 4 +-
.../scalars/reference/ReferencePanel.java | 3 +-
.../valuechoices/ValueChoicesSelect2Panel.java | 5 +-
.../src/main/java/dom/todo/ToDoItem.layout.json | 11 ++-
.../src/main/webapp/WEB-INF/isis.properties | 1 -
13 files changed, 99 insertions(+), 132 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/de0cc868/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 81d1954..68f4df5 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
@@ -47,6 +47,8 @@ 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 final String ID_ADDITIONAL_LINK = "additionalLink";
+
public enum Style {
INLINE_LIST {
@Override
http://git-wip-us.apache.org/repos/asf/isis/blob/de0cc868/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
index a2ff4bc..bd44fbc 100644
--- 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
@@ -53,34 +53,29 @@ public final class EntityActionUtil {
private final static MemberOrderFacetComparator memberOrderFacetComparator = new MemberOrderFacetComparator(false);
- public static List<LinkAndLabel> appendAdditionalLinksForAssociation(
+ public static List<LinkAndLabel> getEntityActionLinksForAssociation(
final ScalarModel scalarModel,
- final DeploymentType deploymentType,
- final String id,
- final List<LinkAndLabel> entityActionLinks) {
+ final DeploymentType deploymentType) {
+ final List<LinkAndLabel> entityActions = Lists.newArrayList();
if (scalarModel.getKind() != ScalarModel.Kind.PROPERTY) {
- return entityActionLinks;
- }
+ return entityActions;
+ } else {
+ final ObjectAdapterMemento parentMemento = scalarModel.getParentObjectAdapterMemento();
+ final EntityModel parentEntityModel = new EntityModel(parentMemento);
+ final OneToOneAssociation oneToOneAssociation = scalarModel.getPropertyMemento().getProperty();
- final ObjectAdapterMemento parentMemento = scalarModel.getParentObjectAdapterMemento();
- final EntityModel parentEntityModel = new EntityModel(parentMemento);
- final OneToOneAssociation oneToOneAssociation = scalarModel.getPropertyMemento().getProperty();
+ final List<ObjectAction> associatedActions = getObjectActionsForAssociation(parentEntityModel, oneToOneAssociation, deploymentType);
- return appendAdditionalLinksForAssociation(
- parentEntityModel,
- oneToOneAssociation,
- deploymentType,
- id,
- entityActionLinks);
+ entityActions.addAll(asLinkAndLabelsForAdditionalLinksPanel(parentEntityModel, associatedActions));
+ return entityActions;
+ }
}
- public static List<LinkAndLabel> appendAdditionalLinksForAssociation(
+ public static List<ObjectAction> getObjectActionsForAssociation(
final EntityModel entityModel,
final ObjectAssociation association,
- final DeploymentType deploymentType,
- final String linkId,
- final List<LinkAndLabel> entityActionLinks) {
+ final DeploymentType deploymentType) {
final List<ObjectAction> associatedActions = Lists.newArrayList();
addActions(ActionType.USER, entityModel, association, associatedActions);
@@ -98,20 +93,29 @@ public final class EntityActionUtil {
return memberOrderFacetComparator.compare(m1, m2);
}
});
+ return associatedActions;
+ }
+
+ /**
+ * Converts an {@link org.apache.isis.viewer.wicket.model.models.EntityModel} and a (subset of its) {@link org.apache.isis.core.metamodel.spec.feature.ObjectAction}s into a
+ * list of {@link org.apache.isis.viewer.wicket.model.links.LinkAndLabel}s intended to be apassed
+ * to the {@link org.apache.isis.viewer.wicket.ui.components.additionallinks.AdditionalLinksPanel}.
+ */
+ public static List<LinkAndLabel> asLinkAndLabelsForAdditionalLinksPanel(
+ final EntityModel entityModel,
+ final List<ObjectAction> actions) {
+ final String linkId = AdditionalLinksPanel.ID_ADDITIONAL_LINK;
final ActionLinkFactory linkFactory = new EntityActionLinkFactory(entityModel);
final ObjectAdapterMemento adapterMemento = entityModel.getObjectAdapterMemento();
- final List<LinkAndLabel> linkAndLabels = Lists.transform(associatedActions, new Function<ObjectAction, LinkAndLabel>() {
+ return Lists.transform(actions, new Function<ObjectAction, LinkAndLabel>() {
@Override
public LinkAndLabel apply(ObjectAction objectAction) {
return linkFactory.newLink(adapterMemento, objectAction, linkId);
}
});
- entityActionLinks.addAll(linkAndLabels);
-
- return entityActionLinks;
}
private static List<ObjectAction> addActions(
@@ -139,4 +143,33 @@ public final class EntityActionUtil {
}
+ public static void addTopLevelActions(
+ final ObjectAdapter adapter,
+ final ActionType actionType,
+ final List<ObjectAction> topLevelActions,
+ final AuthenticationSession authenticationSession) {
+
+ final ObjectSpecification adapterSpec = adapter.getSpecification();
+
+ @SuppressWarnings({ "unchecked", "deprecation" })
+ Filter<ObjectAction> filter = Filters.and(
+ ObjectAction.Filters.memberOrderNotAssociationOf(adapterSpec),
+ ObjectAction.Filters.dynamicallyVisible(authenticationSession, adapter, Where.ANYWHERE),
+ ObjectAction.Filters.notBulkOnly(),
+ ObjectAction.Filters.excludeWizardActions(adapterSpec));
+
+ final List<ObjectAction> userActions = adapterSpec.getObjectActions(actionType, Contributed.INCLUDED, filter);
+ topLevelActions.addAll(userActions);
+ }
+
+ public static List<ObjectAction> getTopLevelActions(final ObjectAdapter adapter, final DeploymentType deploymentType, final AuthenticationSession authenticationSession) {
+ final List<ObjectAction> topLevelActions = Lists.newArrayList();
+
+ addTopLevelActions(adapter, ActionType.USER, topLevelActions, authenticationSession);
+ if(deploymentType.isPrototyping()) {
+ addTopLevelActions(adapter, ActionType.EXPLORATION, topLevelActions, authenticationSession);
+ addTopLevelActions(adapter, ActionType.PROTOTYPE, topLevelActions, authenticationSession);
+ }
+ return topLevelActions;
+ }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/de0cc868/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 2f116f9..5609289 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
@@ -26,6 +26,7 @@ import com.google.common.collect.Lists;
import org.apache.wicket.Component;
import org.apache.wicket.feedback.ComponentFeedbackMessageFilter;
import org.apache.wicket.markup.html.basic.Label;
+import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
import org.apache.isis.core.runtime.system.DeploymentType;
import org.apache.isis.core.runtime.system.context.IsisContext;
@@ -78,7 +79,9 @@ public class CollectionPanel extends PanelAbstract<EntityCollectionModel> implem
final List<LinkAndLabel> entityActionLinks = Lists.newArrayList();
- EntityActionUtil.appendAdditionalLinksForAssociation(entityModel, otma, getDeploymentType(), "additionalLink", entityActionLinks);
+ final List<ObjectAction> associatedActions = EntityActionUtil.getObjectActionsForAssociation(entityModel, otma, getDeploymentType());
+
+ entityActionLinks.addAll(EntityActionUtil.asLinkAndLabelsForAdditionalLinksPanel(entityModel, associatedActions));
collectionModel.addEntityActions(entityActionLinks);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/de0cc868/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.java
index 8ee749c..509e6a1 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.java
@@ -20,32 +20,20 @@
package org.apache.isis.viewer.wicket.ui.components.entity.header;
import java.util.List;
-import com.google.common.collect.Lists;
-import com.google.inject.Inject;
import org.apache.wicket.Component;
import org.apache.wicket.markup.head.IHeaderResponse;
-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.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.core.runtime.system.DeploymentType;
import org.apache.isis.core.runtime.system.context.IsisContext;
+import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
-import org.apache.isis.viewer.wicket.model.models.ActionPromptProvider;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
-import org.apache.isis.viewer.wicket.model.models.ImageResourceCache;
import org.apache.isis.viewer.wicket.ui.ComponentFactory;
import org.apache.isis.viewer.wicket.ui.ComponentType;
+import org.apache.isis.viewer.wicket.ui.components.additionallinks.AdditionalLinksPanel;
+import org.apache.isis.viewer.wicket.ui.components.additionallinks.EntityActionUtil;
import org.apache.isis.viewer.wicket.ui.components.entity.EntityActionLinkFactory;
-import org.apache.isis.viewer.wicket.ui.components.widgets.cssmenu.CssMenuBuilder;
-import org.apache.isis.viewer.wicket.ui.components.widgets.cssmenu.CssMenuPanel;
-import org.apache.isis.viewer.wicket.ui.pages.PageClassRegistry;
-import org.apache.isis.viewer.wicket.ui.pages.PageClassRegistryAccessor;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
import org.apache.isis.viewer.wicket.ui.panels.PanelUtil;
@@ -97,53 +85,28 @@ public class EntityHeaderPanel extends PanelAbstract<EntityModel> {
final ObjectAdapter adapter = model.getObject();
final ObjectAdapterMemento adapterMemento = model.getObjectAdapterMemento();
if (adapter != null) {
- final List<ObjectAction> topLevelActions = getTopLevelActions(adapter);
-
- if(!topLevelActions.isEmpty()) {
- final ActionPromptProvider actionPromptProvider = ActionPromptProvider.Util.getFrom(this);
- final CssMenuBuilder cssMenuBuilder = new CssMenuBuilder(
- adapterMemento, topLevelActions, linkFactory, actionPromptProvider, null);
- final CssMenuPanel cssMenuPanel = cssMenuBuilder.buildPanel(ID_ENTITY_ACTIONS, "Actions");
-
- this.addOrReplace(cssMenuPanel);
- } else {
- permanentlyHide(ID_ENTITY_ACTIONS);
- }
+ final List<ObjectAction> topLevelActions = EntityActionUtil.getTopLevelActions(adapter, getDeploymentType(), getAuthenticationSession());
+
+ final List<LinkAndLabel> entityActionLinks = EntityActionUtil.asLinkAndLabelsForAdditionalLinksPanel(model, topLevelActions);
+
+ AdditionalLinksPanel.addAdditionalLinks(this, ID_ENTITY_ACTIONS, entityActionLinks, AdditionalLinksPanel.Style.INLINE_LIST);
+// if(!topLevelActions.isEmpty()) {
+//
+//
+// final ActionPromptProvider actionPromptProvider = ActionPromptProvider.Util.getFrom(this);
+// final CssMenuBuilder cssMenuBuilder = new CssMenuBuilder(
+// adapterMemento, topLevelActions, linkFactory, actionPromptProvider, null);
+// final CssMenuPanel cssMenuPanel = cssMenuBuilder.buildPanel(ID_ENTITY_ACTIONS, "Actions");
+//
+// this.addOrReplace(cssMenuPanel);
+// } else {
+// permanentlyHide(ID_ENTITY_ACTIONS);
+// }
} else {
permanentlyHide(ID_ENTITY_ACTIONS);
}
}
- private List<ObjectAction> getTopLevelActions(final ObjectAdapter adapter) {
- final List<ObjectAction> topLevelActions = Lists.newArrayList();
-
- addTopLevelActions(adapter, ActionType.USER, topLevelActions);
- if(getDeploymentType().isPrototyping()) {
- addTopLevelActions(adapter, ActionType.EXPLORATION, topLevelActions);
- addTopLevelActions(adapter, ActionType.PROTOTYPE, topLevelActions);
- }
- return topLevelActions;
- }
-
- private void addTopLevelActions(
- final ObjectAdapter adapter,
- final ActionType actionType,
- final List<ObjectAction> topLevelActions) {
-
- final ObjectSpecification adapterSpec = adapter.getSpecification();
- final AuthenticationSession authenticationSession = getAuthenticationSession();
-
- @SuppressWarnings({ "unchecked", "deprecation" })
- Filter<ObjectAction> filter = Filters.and(
- ObjectAction.Filters.memberOrderNotAssociationOf(adapterSpec),
- ObjectAction.Filters.dynamicallyVisible(authenticationSession, adapter, Where.ANYWHERE),
- ObjectAction.Filters.notBulkOnly(),
- ObjectAction.Filters.excludeWizardActions(adapterSpec));
-
- final List<ObjectAction> userActions = adapterSpec.getObjectActions(actionType, Contributed.INCLUDED, filter);
- topLevelActions.addAll(userActions);
- }
-
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
@@ -151,28 +114,12 @@ public class EntityHeaderPanel extends PanelAbstract<EntityModel> {
PanelUtil.renderHead(response, getClass());
}
- // ///////////////////////////////////////////////////////////////////
- // Convenience
- // ///////////////////////////////////////////////////////////////////
-
- protected PageClassRegistry getPageClassRegistry() {
- final PageClassRegistryAccessor pcra = (PageClassRegistryAccessor) getApplication();
- return pcra.getPageClassRegistry();
- }
// ///////////////////////////////////////////////
// Dependency Injection
// ///////////////////////////////////////////////
- @Inject
- private ImageResourceCache imageCache;
-
- protected ImageResourceCache getImageCache() {
- return imageCache;
- }
-
-
protected DeploymentType getDeploymentType() {
return IsisContext.getDeploymentType();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/de0cc868/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 bad729d..aa40774 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
@@ -61,6 +61,7 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.ObjectSpecifications;
import org.apache.isis.core.metamodel.spec.ObjectSpecifications.MemberGroupLayoutHint;
import org.apache.isis.core.metamodel.spec.feature.Contributed;
+import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
import org.apache.isis.core.runtime.memento.Memento;
@@ -264,9 +265,6 @@ public class EntityPropertiesForm extends FormAbstract<ObjectAdapter> implements
return !groupNames.isEmpty();
}
- public static final String ID_ADDITIONAL_LINK = "additionalLink";
-
-
private void addPropertyToForm(
final EntityModel entityModel,
final OneToOneAssociation association,
@@ -278,11 +276,9 @@ public class EntityPropertiesForm extends FormAbstract<ObjectAdapter> implements
final ScalarModel scalarModel = entityModel.getPropertyModel(pm);
final Component component = getComponentFactoryRegistry().addOrReplaceComponent(container, ID_PROPERTY, ComponentType.SCALAR_NAME_AND_VALUE, scalarModel);
- EntityActionUtil.appendAdditionalLinksForAssociation(
- entityModel, otoa,
- getDeploymentType(),
- ID_ADDITIONAL_LINK,
- entityActions);
+ final List<ObjectAction> associatedActions = EntityActionUtil.getObjectActionsForAssociation(entityModel, otoa, getDeploymentType());
+
+ entityActions.addAll(EntityActionUtil.asLinkAndLabelsForAdditionalLinksPanel(entityModel, associatedActions));
if(!renderedFirstField) {
component.add(new CssClassAppender("first-field"));
http://git-wip-us.apache.org/repos/asf/isis/blob/de0cc868/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 2edf2ea..ad93822 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
@@ -69,8 +69,6 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
private static final String ID_ASSOCIATED_ACTION_LINKS_BELOW = "associatedActionLinksBelow";
private static final String ID_ASSOCIATED_ACTION_LINKS_RIGHT = "associatedActionLinksRight";
- protected static final String ID_ADDITIONAL_LINK = "additionalLink";
-
private static final String ID_FEEDBACK = "feedback";
public enum CompactType {
http://git-wip-us.apache.org/repos/asf/isis/blob/de0cc868/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 1e1ba98..f47e54d 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
@@ -21,9 +21,7 @@ package org.apache.isis.viewer.wicket.ui.components.scalars;
import java.io.Serializable;
import java.util.List;
-
import com.google.common.base.Strings;
-import com.google.common.collect.Lists;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
@@ -35,13 +33,11 @@ import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
-
import org.apache.isis.core.metamodel.facets.SingleIntValueFacet;
-import org.apache.isis.core.metamodel.facets.propparam.maxlen.MaxLengthFacet;
import org.apache.isis.core.metamodel.facets.objpropparam.typicallen.TypicalLengthFacet;
+import org.apache.isis.core.metamodel.facets.propparam.maxlen.MaxLengthFacet;
import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.components.additionallinks.AdditionalLinksPanel;
import org.apache.isis.viewer.wicket.ui.components.additionallinks.EntityActionUtil;
import org.apache.isis.viewer.wicket.ui.components.widgets.bootstrap.FormGroup;
import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
@@ -106,9 +102,8 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
final Label scalarName = new Label(ID_SCALAR_NAME, getRendering().getLabelCaption(textField));
// find the links...
- final List<LinkAndLabel> entityActions = Lists.newArrayList();
- EntityActionUtil.appendAdditionalLinksForAssociation(this.scalarModel, getDeploymentType(), ID_ADDITIONAL_LINK, entityActions);
+ final List<LinkAndLabel> entityActions = EntityActionUtil.getEntityActionLinksForAssociation(this.scalarModel, getDeploymentType());
addPositioningCssTo(labelIfRegular, entityActions);
http://git-wip-us.apache.org/repos/asf/isis/blob/de0cc868/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 f78b265..b6c6c8e 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
@@ -26,7 +26,6 @@ import java.io.IOException;
import java.util.List;
import javax.activation.MimeType;
import javax.imageio.ImageIO;
-import com.google.common.collect.Lists;
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -96,9 +95,7 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
labelIfRegular.add(scalarName);
// find the links...
- final List<LinkAndLabel> entityActions = Lists.newArrayList();
-
- EntityActionUtil.appendAdditionalLinksForAssociation(this.scalarModel, getDeploymentType(), ID_ADDITIONAL_LINK, entityActions);
+ final List<LinkAndLabel> entityActions = EntityActionUtil.getEntityActionLinksForAssociation(this.scalarModel, getDeploymentType());
addPositioningCssTo(labelIfRegular, entityActions);
http://git-wip-us.apache.org/repos/asf/isis/blob/de0cc868/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 71d2508..cd57534 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
@@ -23,7 +23,6 @@ import de.agilecoders.wicket.extensions.markup.html.bootstrap.form.checkboxx.Che
import de.agilecoders.wicket.extensions.markup.html.bootstrap.form.checkboxx.CheckBoxXConfig;
import java.util.List;
-import com.google.common.collect.Lists;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
@@ -82,8 +81,7 @@ public class BooleanPanel extends ScalarPanelAbstract {
final Label scalarName = new Label(ID_SCALAR_NAME, getRendering().getLabelCaption(checkBox));
labelIfRegular.add(scalarName);
- final List<LinkAndLabel> entityActions = Lists.newArrayList();
- EntityActionUtil.appendAdditionalLinksForAssociation(this.scalarModel, getDeploymentType(), ID_ADDITIONAL_LINK, entityActions);
+ final List<LinkAndLabel> entityActions = EntityActionUtil.getEntityActionLinksForAssociation(this.scalarModel, getDeploymentType());
addPositioningCssTo(labelIfRegular, entityActions);
http://git-wip-us.apache.org/repos/asf/isis/blob/de0cc868/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 0a9e692..e580d77 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
@@ -126,8 +126,7 @@ public class ReferencePanel extends ScalarPanelAbstract {
labelIfRegular.add(scalarName);
// find the links...
- final List<LinkAndLabel> entityActions = Lists.newArrayList();
- EntityActionUtil.appendAdditionalLinksForAssociation(this.scalarModel, getDeploymentType(), ID_ADDITIONAL_LINK, entityActions);
+ final List<LinkAndLabel> entityActions = EntityActionUtil.getEntityActionLinksForAssociation(this.scalarModel, getDeploymentType());
addPositioningCssTo(labelIfRegular, entityActions);
http://git-wip-us.apache.org/repos/asf/isis/blob/de0cc868/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
index 699865b..346a40f 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesSelect2Panel.java
@@ -38,7 +38,6 @@ 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.ScalarModel;
import org.apache.isis.viewer.wicket.model.models.ScalarModelWithPending;
-import org.apache.isis.viewer.wicket.ui.components.additionallinks.AdditionalLinksPanel;
import org.apache.isis.viewer.wicket.ui.components.additionallinks.EntityActionUtil;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract;
import org.apache.isis.viewer.wicket.ui.components.widgets.ObjectAdapterMementoProviderAbstract;
@@ -86,9 +85,7 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
labelIfRegular.addOrReplace(scalarName);
// find the links...
- final List<LinkAndLabel> entityActions = Lists.newArrayList();
-
- EntityActionUtil.appendAdditionalLinksForAssociation(this.scalarModel, getDeploymentType(), ID_ADDITIONAL_LINK, entityActions);
+ final List<LinkAndLabel> entityActions = EntityActionUtil.getEntityActionLinksForAssociation(this.scalarModel, getDeploymentType());
addPositioningCssTo(labelIfRegular, entityActions);
http://git-wip-us.apache.org/repos/asf/isis/blob/de0cc868/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.layout.json
----------------------------------------------------------------------
diff --git a/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.layout.json b/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.layout.json
index 706e20e..0619d46 100644
--- a/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.layout.json
+++ b/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.layout.json
@@ -37,9 +37,8 @@
}
},
"analyseCategory": {
- "cssClassFa": {
- "value": "fa fa-pie-chart"
- }
+ "cssClass": { "value": "btn-default" },
+ "cssClassFa": { "value": "fa fa-pie-chart" }
}
}
},
@@ -53,6 +52,7 @@
"describedAs": {
"value": "Update this todo item as complete"
},
+ "cssClass": { "value": "btn-success" },
"cssClassFa": { "value": "fa fa-thumbs-up" }
},
"notYetCompleted": {
@@ -60,6 +60,7 @@
"describedAs": {
"value": "Update this todo item as not yet complete"
},
+ "cssClass": { "value": "btn-info" },
"cssClassFa": { "value": "fa fa-thumbs-down" }
},
"scheduleExplicitly": {
@@ -151,10 +152,11 @@
"disabled": {},
"actions": {
"add":{
+ "cssClass": { "value": "btn-default" },
"cssClassFa": { "value": "fa fa-plus-square" }
},
"remove": {
- "cssClass": { "value": "x-caution btn-danger" },
+ "cssClass": { "value": "x-caution btn-default" },
"cssClassFa": { "value": "fa fa-minus-square" }
}
},
@@ -190,6 +192,7 @@
"describedAs": {
"value": "Create a new todo item from this one"
},
+ "cssClass": { "value": "btn-default" },
"cssClassFa": { "value": "fa fa-copy fa-lg" }
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/de0cc868/example/application/todoapp/webapp/src/main/webapp/WEB-INF/isis.properties
----------------------------------------------------------------------
diff --git a/example/application/todoapp/webapp/src/main/webapp/WEB-INF/isis.properties b/example/application/todoapp/webapp/src/main/webapp/WEB-INF/isis.properties
index 3b53f77..e2f1027 100644
--- a/example/application/todoapp/webapp/src/main/webapp/WEB-INF/isis.properties
+++ b/example/application/todoapp/webapp/src/main/webapp/WEB-INF/isis.properties
@@ -124,7 +124,6 @@ isis.reflector.facet.cssClassFa.patterns=\
install.*:fa-wrench
isis.reflector.facet.cssClass.patterns=\
- update.*:btn-default,\
delete.*:btn-warning,\
.*:btn-primary