Author: danhaywood
Date: Fri Nov 23 13:44:06 2012
New Revision: 1412890
URL: http://svn.apache.org/viewvc?rev=1412890&view=rev
Log:
ISIS-232: removing the 'find using' component...
... instead only auto complete is supported for entity links.
Removed:
isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkAbstract.java
isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/FindUsingLinkFactory.java
Modified:
isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.css
isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.html
isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.java
Modified:
isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
URL:
http://svn.apache.org/viewvc/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java?rev=1412890&r1=1412889&r2=1412890&view=diff
==============================================================================
---
isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
(original)
+++
isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
Fri Nov 23 13:44:06 2012
@@ -34,7 +34,7 @@ import org.apache.isis.viewer.wicket.mod
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.ComponentType;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract;
-import
org.apache.isis.viewer.wicket.ui.components.widgets.entitylink.EntityLinkAbstract;
+import
org.apache.isis.viewer.wicket.ui.components.widgets.entitylink.EntityLinkSelect2Panel;
import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
/**
@@ -51,7 +51,7 @@ public class ReferencePanel extends Scal
private static final String ID_SCALAR_IF_COMPACT = "scalarIfCompact";
- private EntityLinkAbstract entityLink;
+ private EntityLinkSelect2Panel entityLink;
public ReferencePanel(final String id, final ScalarModel scalarModel) {
super(id, scalarModel);
@@ -85,7 +85,7 @@ public class ReferencePanel extends Scal
final ScalarModel scalarModel = getModel();
final String name = scalarModel.getName();
- entityLink = (EntityLinkAbstract)
getComponentFactoryRegistry().createComponent(ComponentType.ENTITY_LINK,
getModel());
+ entityLink = (EntityLinkSelect2Panel)
getComponentFactoryRegistry().createComponent(ComponentType.ENTITY_LINK,
getModel());
entityLink.setOutputMarkupId(true);
entityLink.setLabel(Model.of(name));
@@ -163,7 +163,7 @@ public class ReferencePanel extends Scal
final ScalarModel scalarModel = getModel();
final String name = scalarModel.getName();
- entityLink = (EntityLinkAbstract)
getComponentFactoryRegistry().createComponent(ComponentType.ENTITY_LINK,
getModel());
+ entityLink = (EntityLinkSelect2Panel)
getComponentFactoryRegistry().createComponent(ComponentType.ENTITY_LINK,
getModel());
entityLink.setOutputMarkupId(true);
entityLink.setLabel(Model.of(name));
Modified:
isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.css
URL:
http://svn.apache.org/viewvc/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.css?rev=1412890&r1=1412889&r2=1412890&view=diff
==============================================================================
---
isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.css
(original)
+++
isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.css
Fri Nov 23 13:44:06 2012
@@ -29,11 +29,6 @@ div.entityLinkSelect2Panel > div {
height: 16px;
}
-.entityLinkSelect2Panel table.findUsing {
- display: inline-table;
- font-size: smaller;
-}
-
.entityLinkSelect2Panel a.entityClearLink {
display:inline-table;
margin-left: 0px;
Modified:
isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.html
URL:
http://svn.apache.org/viewvc/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.html?rev=1412890&r1=1412889&r2=1412890&view=diff
==============================================================================
---
isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.html
(original)
+++
isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.html
Fri Nov 23 13:44:06 2012
@@ -35,18 +35,9 @@
<span
wicket:id="entityIconAndTitle">[icon and title]</span>
<span
wicket:id="entityTitleNull">(null)</span>
<div class="findUsingClearDetails">
- <table wicket:id="findUsing"
class="findUsing">
- <tbody>
- <tr>
- <td>
- <span
wicket:id="action">[find using...]</span>
- </td>
- </tr>
- </tbody>
- </table>
- <a href="#"
wicket:id="entityClearLink" class="entityClearLink">
-
<span>clear</span>
- </a>
+ <a href="#"
wicket:id="entityClearLink" class="entityClearLink">
+ <span>clear</span>
+ </a>
</div>
<div class="clear"/>
</div>
Modified:
isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.java
URL:
http://svn.apache.org/viewvc/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.java?rev=1412890&r1=1412889&r2=1412890&view=diff
==============================================================================
---
isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.java
(original)
+++
isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.java
Fri Nov 23 13:44:06 2012
@@ -22,22 +22,6 @@ package org.apache.isis.viewer.wicket.ui
import java.util.Collection;
import java.util.List;
-import com.google.common.base.Function;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.Lists;
-import com.vaynberg.wicket.select2.ChoiceProvider;
-import com.vaynberg.wicket.select2.Select2Choice;
-import com.vaynberg.wicket.select2.TextChoiceProvider;
-
-import org.apache.wicket.Component;
-import org.apache.wicket.extensions.yui.calendar.DateField;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.form.TextField;
-import org.apache.wicket.markup.html.link.Link;
-import org.apache.wicket.markup.html.panel.ComponentFeedbackPanel;
-import org.apache.wicket.model.Model;
-
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import
org.apache.isis.core.metamodel.adapter.mgr.AdapterManager.ConcurrencyChecking;
import org.apache.isis.core.metamodel.adapter.oid.RootOid;
@@ -57,43 +41,45 @@ import org.apache.isis.viewer.wicket.mod
import org.apache.isis.viewer.wicket.model.util.Mementos;
import org.apache.isis.viewer.wicket.ui.ComponentFactory;
import org.apache.isis.viewer.wicket.ui.ComponentType;
-import org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel;
-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.panels.PanelAbstract;
+import org.apache.isis.viewer.wicket.ui.components.actions.ActionInvokeHandler;
+import
org.apache.isis.viewer.wicket.ui.components.widgets.formcomponent.CancelHintRequired;
+import
org.apache.isis.viewer.wicket.ui.components.widgets.formcomponent.FormComponentPanelAbstract;
+import org.apache.wicket.Component;
+import org.apache.wicket.extensions.yui.calendar.DateField;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.form.FormComponentPanel;
+import org.apache.wicket.markup.html.link.Link;
+import org.apache.wicket.markup.html.panel.ComponentFeedbackPanel;
+
+import com.google.common.base.Function;
+import com.google.common.collect.Collections2;
+import com.google.common.collect.Lists;
+import com.vaynberg.wicket.select2.ChoiceProvider;
+import com.vaynberg.wicket.select2.Select2Choice;
+import com.vaynberg.wicket.select2.TextChoiceProvider;
-public class EntityLinkSelect2Panel extends EntityLinkAbstract {
+/**
+ * {@link FormComponentPanel} representing a reference to an entity: a link and
+ * (optionally) an autocomplete field.
+ */
+public class EntityLinkSelect2Panel extends
FormComponentPanelAbstract<ObjectAdapter> implements CancelHintRequired,
ActionInvokeHandler {
private static final long serialVersionUID = 1L;
private static final String ID_AUTO_COMPLETE = "autoComplete";
private static final String ID_ENTITY_ICON_AND_TITLE =
"entityIconAndTitle";
- private static final String ID_ENTITY_OID = "entityOid";
private static final String ID_ENTITY_TITLE_NULL = "entityTitleNull";
- private static final String ID_FIND_USING = "findUsing";
- private static final String ID_ENTITY_CLEAR_LINK = "entityClearLink";
+ private static final String ID_ENTITY_CLEAR_LINK = "entityClearLink";
private static final String ID_FEEDBACK = "feedback";
- private final FindUsingLinkFactory linkFactory;
-
private Select2Choice<ObjectAdapterMemento> autoCompleteField;
-
-
- private WebMarkupContainer findUsing;
private Link<String> entityDetailsLink;
private Link<String> entityClearLink;
-
- private PanelAbstract<?> actionFindUsingComponent;
-
- // REVIEW: can we remove, since pending info has now moved into the model.
- // private TextField<ObjectAdapterMemento> pendingOid;
-
public EntityLinkSelect2Panel(final String id, final EntityModel
entityModel) {
super(id, entityModel);
setType(ObjectAdapter.class);
- linkFactory = new FindUsingLinkFactory(this);
buildGui();
}
@@ -105,34 +91,11 @@ public class EntityLinkSelect2Panel exte
* Builds the parts of the GUI that are not dynamic.
*/
private void buildGui() {
- rebuildFindUsingMenu();
addOrReplace(new ComponentFeedbackPanel(ID_FEEDBACK, this));
-
syncWithInput();
}
- void rebuildFindUsingMenu() {
- final EntityModel entityModel = getEntityModel();
- final List<ObjectAction> actions =
findServiceActionsFor(entityModel.getTypeOfSpecification());
- findUsing = new WebMarkupContainer(ID_FIND_USING);
- switch (actions.size()) {
- case 0:
- permanentlyHide(findUsing, ComponentType.ACTION);
- break;
- default:
- // TODO: i18n
-
- final CssMenuBuilder cssMenuBuilder = new CssMenuBuilder(null,
getServiceAdapters(), actions, linkFactory);
- final CssMenuPanel cssMenuPanel =
cssMenuBuilder.buildPanel(ComponentType.ACTION.getWicketId(), "find using...");
-
- findUsing.addOrReplace(cssMenuPanel);
- actionFindUsingComponent = cssMenuPanel;
- break;
- }
- addOrReplace(findUsing);
- }
-
/**
* Must be called after {@link #setEnabled(boolean)} to ensure that the
* <tt>findUsing</tt> button, and the <tt>entityClearLink</tt> are
@@ -147,8 +110,6 @@ public class EntityLinkSelect2Panel exte
public void syncVisibilityAndUsability() {
final boolean mutability = isEnableAllowed() &&
!getEntityModel().isViewMode();
- findUsing.setVisible(mutability);
-
if(entityClearLink != null) {
entityClearLink.setVisible(mutability);
@@ -253,9 +214,6 @@ public class EntityLinkSelect2Panel exte
// 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);
-
- // hide links
- permanentlyHide(ID_FIND_USING);
}
abstract static class ObjectAdapterMementoProviderAbstract extends
TextChoiceProvider<ObjectAdapterMemento> {
@@ -393,18 +351,14 @@ public class EntityLinkSelect2Panel exte
@Override
public void onClick(final ActionModel actionModel) {
- final ActionPanel actionPanel = new
ActionPanel(actionFindUsingComponent.getComponentType().toString(),
actionModel);
- actionFindUsingComponent.replaceWith(actionPanel);
}
public void onSelected(final ObjectAdapterMemento selectedAdapterMemento) {
getEntityModel().setPending(selectedAdapterMemento);
- rebuildFindUsingMenu();
renderSamePage();
}
public void onNoResults() {
- rebuildFindUsingMenu();
renderSamePage();
}