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();
     }
 


Reply via email to