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/05/08 09:13:53 UTC
[07/10] git commit: ISIS-764: more stuff moved over
ISIS-764: more stuff moved over
from EntityLinkSelect2Panel to ReferencePanel. Specifically, the entityIconAndTitle link is now parented by ReferencePanel.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/5fef6586
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/5fef6586
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/5fef6586
Branch: refs/heads/ISIS-764
Commit: 5fef65862dac5ceae208220639b53d6b5e05cecc
Parents: 1f714c0
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu May 8 00:23:25 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu May 8 00:23:25 2014 +0100
----------------------------------------------------------------------
.../entity/header/EntityHeaderPanel.java | 6 ---
.../reference/EntityLinkSelect2Panel.html | 1 -
.../scalars/reference/ReferencePanel.html | 1 +
.../scalars/reference/ReferencePanel.java | 53 ++++++++++----------
.../dom/src/main/java/dom/todo/ToDoItem.java | 45 +++++++++++++++++
5 files changed, 73 insertions(+), 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/5fef6586/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 070048b..fb16b44 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
@@ -27,10 +27,7 @@ import com.google.common.collect.Lists;
import com.google.inject.Inject;
import org.apache.wicket.Component;
-import org.apache.wicket.Page;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
-import org.apache.isis.applib.annotation.Bulk;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.filter.Filter;
import org.apache.isis.applib.filter.Filters;
@@ -42,11 +39,9 @@ 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.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.progmodel.facets.actions.bulk.BulkFacet;
import org.apache.isis.core.runtime.system.DeploymentType;
import org.apache.isis.core.runtime.system.context.IsisContext;
import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
-import org.apache.isis.viewer.wicket.model.models.ActionModel;
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;
@@ -57,7 +52,6 @@ import org.apache.isis.viewer.wicket.ui.components.widgets.cssmenu.CssMenuBuilde
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.pages.actionprompt.ActionPromptPage;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
/**
http://git-wip-us.apache.org/repos/asf/isis/blob/5fef6586/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/EntityLinkSelect2Panel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/EntityLinkSelect2Panel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/EntityLinkSelect2Panel.html
index 7610cf1..9f86f3e 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/EntityLinkSelect2Panel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/EntityLinkSelect2Panel.html
@@ -25,7 +25,6 @@
<body>
<wicket:panel>
<input wicket:id="autoComplete" type="hidden" class="autoComplete" />
- <span wicket:id="entityIconAndTitle">[icon and title]</span>
</wicket:panel>
</body>
</html>
http://git-wip-us.apache.org/repos/asf/isis/blob/5fef6586/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 dd9de09..a1ddb42 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
@@ -34,6 +34,7 @@
<div class="wrapper">
<span class="autoCompletePlaceholder">
<span wicket:id="entityLink">link or drop down</span>
+ <span wicket:id="entityIconAndTitle">[icon and title]</span>
</span>
<div class="clear"/>
</div>
http://git-wip-us.apache.org/repos/asf/isis/blob/5fef6586/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 09d8e8a..cba1720 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
@@ -28,6 +28,7 @@ import com.vaynberg.wicket.select2.Settings;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Component;
+import org.apache.wicket.MarkupContainer;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.FormComponentLabel;
@@ -44,7 +45,6 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification;
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.model.models.ScalarModelWithPending;
import org.apache.isis.viewer.wicket.model.models.ScalarModelWithPending.Util;
import org.apache.isis.viewer.wicket.ui.ComponentFactory;
import org.apache.isis.viewer.wicket.ui.ComponentType;
@@ -69,11 +69,14 @@ public class ReferencePanel extends ScalarPanelAbstract {
private static final String ID_SCALAR_IF_COMPACT = "scalarIfCompact";
static final String ID_AUTO_COMPLETE = "autoComplete";
+
static final String ID_ENTITY_ICON_AND_TITLE = "entityIconAndTitle";
private EntityLinkSelect2Panel entityLink;
private EntityLinkSimplePanel entitySimpleLink;
+ private FormComponentLabel labelIfRegular;
+
public ReferencePanel(final String id, final ScalarModel scalarModel) {
super(id, scalarModel);
}
@@ -116,7 +119,7 @@ public class ReferencePanel extends ScalarPanelAbstract {
entityLink.setOutputMarkupId(true);
entityLink.setLabel(Model.of(name));
- final FormComponentLabel labelIfRegular = new FormComponentLabel(ID_SCALAR_IF_REGULAR, entityLink);
+ labelIfRegular = new FormComponentLabel(ID_SCALAR_IF_REGULAR, entityLink);
labelIfRegular.add(entityLink);
final String describedAs = getModel().getDescribedAs();
@@ -344,27 +347,27 @@ public class ReferencePanel extends ScalarPanelAbstract {
}
void syncLinkWithInput(EntityLinkSelect2Panel linkPanel, final ObjectAdapter adapter) {
+ if(labelIfRegular == null) {
+ return;
+ }
+
if (adapter != null) {
- addOrReplaceIconAndTitle(linkPanel, adapter);
+ final EntityModel entityModelForLink = new EntityModel(adapter);
+
+ entityModelForLink.setContextAdapterIfAny(getModel().getContextAdapterIfAny());
+ entityModelForLink.setRenderingHint(getModel().getRenderingHint());
+
+ final ComponentFactory componentFactory =
+ getComponentFactoryRegistry().findComponentFactory(ComponentType.ENTITY_ICON_AND_TITLE, entityModelForLink);
+ final Component component = componentFactory.createComponent(entityModelForLink);
+
+ labelIfRegular.addOrReplace(component);
} else {
- Components.permanentlyHide(linkPanel, ReferencePanel.ID_ENTITY_ICON_AND_TITLE);
+ Components.permanentlyHide(labelIfRegular, ReferencePanel.ID_ENTITY_ICON_AND_TITLE);
+
}
}
- void addOrReplaceIconAndTitle(EntityLinkSelect2Panel linkPanel, ObjectAdapter pendingOrCurrentAdapter) {
-
- final EntityModel entityModelForLink = new EntityModel(pendingOrCurrentAdapter);
-
- entityModelForLink.setContextAdapterIfAny(getModel().getContextAdapterIfAny());
- entityModelForLink.setRenderingHint(getModel().getRenderingHint());
-
- final ComponentFactory componentFactory =
- getComponentFactoryRegistry().findComponentFactory(ComponentType.ENTITY_ICON_AND_TITLE, entityModelForLink);
- final Component component = componentFactory.createComponent(entityModelForLink);
-
- linkPanel.addOrReplace(component);
- }
-
void onSelected(EntityLinkSelect2Panel linkPanel, final ObjectAdapterMemento selectedAdapterMemento) {
@@ -394,8 +397,8 @@ public class ReferencePanel extends ScalarPanelAbstract {
select2Field.setEnabled(mutability);
}
- if(isEditableWithEitherAutoCompleteOrChoices()) {
- Components.permanentlyHide(linkPanel, ReferencePanel.ID_ENTITY_ICON_AND_TITLE);
+ if(labelIfRegular != null && isEditableWithEitherAutoCompleteOrChoices()) {
+ Components.permanentlyHide(labelIfRegular, ReferencePanel.ID_ENTITY_ICON_AND_TITLE);
}
}
@@ -457,13 +460,11 @@ public class ReferencePanel extends ScalarPanelAbstract {
//
linkPanel.select2Field.clearInput();
}
-
- // no need for link, since can see in drop-down
- Components.permanentlyHide(linkPanel, ReferencePanel.ID_ENTITY_ICON_AND_TITLE);
- // no need for the 'null' title, since if there is no object yet
- // can represent this fact in the drop-down
- // permanentlyHide(ID_ENTITY_TITLE_NULL);
+ if(labelIfRegular != null) {
+ // no need for link, since can see in drop-down
+ Components.permanentlyHide(labelIfRegular, ReferencePanel.ID_ENTITY_ICON_AND_TITLE);
+ }
}
String getInput() {
http://git-wip-us.apache.org/repos/asf/isis/blob/5fef6586/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
index c384a9c..e2d5e1e 100644
--- a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
+++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
@@ -22,13 +22,18 @@ import java.math.BigDecimal;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.*;
+
import javax.jdo.JDOHelper;
import javax.jdo.annotations.IdentityType;
+import javax.jdo.annotations.NullValue;
import javax.jdo.annotations.VersionStrategy;
+
import com.google.common.base.Objects;
import com.google.common.base.Predicate;
import com.google.common.collect.Ordering;
+
import org.joda.time.LocalDate;
+
import org.apache.isis.applib.DomainObjectContainer;
import org.apache.isis.applib.NonRecoverableException;
import org.apache.isis.applib.RecoverableException;
@@ -901,4 +906,44 @@ public class ToDoItem implements Comparable<ToDoItem> {
//endregion
+
+ // //////////////////////////////////////
+ // foo (property)
+ // //////////////////////////////////////
+
+ private ToDoItem foo;
+
+ @javax.jdo.annotations.Persistent()
+ @javax.jdo.annotations.Column(allowsNull="true")
+ @MemberOrder(sequence = "1")
+ public ToDoItem getFoo() {
+ return foo;
+ }
+
+ public void setFoo(final ToDoItem foo) {
+ this.foo = foo;
+ }
+
+ // //////////////////////////////////////
+ // bar (property)
+ // //////////////////////////////////////
+
+ private ToDoItem bar;
+
+ @javax.jdo.annotations.Persistent()
+ @javax.jdo.annotations.Column(allowsNull="true")
+ @MemberOrder(sequence = "1")
+ public ToDoItem getBar() {
+ return bar;
+ }
+
+ public void setBar(final ToDoItem bar) {
+ this.bar = bar;
+ }
+
+ public List<ToDoItem> choicesBar() {
+ return toDoItems.allToDos();
+ }
+
+
}