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/12/02 23:23:50 UTC

git commit: ISIS-486: fixing defaults and focus handling

Updated Branches:
  refs/heads/master 3b6fa937b -> 8ba1d6dd8


ISIS-486: fixing defaults and focus handling

If open up an action prompt, then cancel, then open up
again, then any defaults for the action parameters were
not being setup second time around.

In addition:
* use Wicket API to set focus on first param, rather than JQuery hack
* minor tweaks to CSS so can see when an OK or Cancel button has focus


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/8ba1d6dd
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/8ba1d6dd
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/8ba1d6dd

Branch: refs/heads/master
Commit: 8ba1d6dd8b87537608408cdd322a65e9f307cf32
Parents: 3b6fa93
Author: Dan Haywood <da...@apache.org>
Authored: Mon Dec 2 21:21:06 2013 +0000
Committer: Dan Haywood <da...@apache.org>
Committed: Mon Dec 2 21:21:06 2013 +0000

----------------------------------------------------------------------
 .../viewer/wicket/model/models/ActionModel.java |  2 +-
 .../viewer/wicket/model/models/ScalarModel.java | 27 ++++++++++++++++----
 .../ui/components/actions/ActionPanel.java      |  1 -
 .../actions/ActionParametersFormPanel.java      |  1 -
 .../cssmenu/ActionLinkFactoryAbstract.java      |  2 ++
 .../viewer/wicket/ui/pages/PageAbstract.css     | 11 ++++++++
 .../ui/pages/jquery.isis.wicket.viewer.js       |  3 ---
 7 files changed, 36 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/8ba1d6dd/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 a84c005..c7480f6 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
@@ -467,7 +467,7 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> {
 
     public void clearArguments() {
         for (ScalarModel argumentModel : arguments.values()) {
-            argumentModel.setObject((ObjectAdapter)null);
+            argumentModel.reset();
         }
         this.actionMode = determineMode(actionMemento.getAction());
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/8ba1d6dd/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
index b226b53..c10caee 100644
--- a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
+++ b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
@@ -220,6 +220,13 @@ public class ScalarModel extends EntityModel implements LinksProvider {
                 return facet != null? facet.getScale(): null;
             }
 
+            @Override
+            public void reset(ScalarModel scalarModel) {
+                final OneToOneAssociation property = scalarModel.propertyMemento.getProperty();
+                final ObjectAdapter associatedAdapter = property.get(scalarModel.parentObjectAdapterMemento.getObjectAdapter(ConcurrencyChecking.CHECK));
+
+                scalarModel.setObject(associatedAdapter);
+            }
         },
         PARAMETER {
             @Override
@@ -356,6 +363,13 @@ public class ScalarModel extends EntityModel implements LinksProvider {
                 final BigDecimalValueFacet facet = actionParameter.getFacet(BigDecimalValueFacet.class);
                 return facet != null? facet.getScale(): null;
             }
+
+            @Override
+            public void reset(ScalarModel scalarModel) {
+                final ObjectActionParameter actionParameter = scalarModel.parameterMemento.getActionParameter();
+                final ObjectAdapter defaultAdapter = actionParameter.getDefault(scalarModel.parentObjectAdapterMemento.getObjectAdapter(ConcurrencyChecking.NO_CHECK));
+                scalarModel.setObject(defaultAdapter);
+            }
         };
 
         private static List<ObjectAdapter> choicesAsList(final ObjectAdapter[] choices) {
@@ -404,6 +418,8 @@ public class ScalarModel extends EntityModel implements LinksProvider {
         public abstract Integer getLength(ScalarModel scalarModel);
         public abstract Integer getScale(ScalarModel scalarModel);
 
+        public abstract void reset(ScalarModel scalarModel);
+
     }
 
     private final Kind kind;
@@ -431,11 +447,7 @@ public class ScalarModel extends EntityModel implements LinksProvider {
         this.parentObjectAdapterMemento = parentObjectAdapterMemento;
         this.parameterMemento = apm;
 
-        final ObjectActionParameter actionParameter = parameterMemento.getActionParameter();
-        // REVIEW: is no checking ok here?
-        final ObjectAdapter defaultAdapter = actionParameter.getDefault(parentObjectAdapterMemento.getObjectAdapter(ConcurrencyChecking.NO_CHECK));
-        setObject(defaultAdapter);
-
+        reset();
         setMode(Mode.EDIT);
     }
 
@@ -449,10 +461,15 @@ public class ScalarModel extends EntityModel implements LinksProvider {
         this.parentObjectAdapterMemento = parentObjectAdapterMemento;
         this.propertyMemento = pm;
 
+        reset();
         setObject(parentObjectAdapterMemento);
         setMode(Mode.VIEW);
     }
 
+    public void reset() {
+        kind.reset(this);
+    }
+    
     public ObjectAdapterMemento getParentObjectAdapterMemento() {
         return parentObjectAdapterMemento;
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/8ba1d6dd/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanel.java
index 71b4026..c619c0f 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanel.java
@@ -127,7 +127,6 @@ public class ActionPanel extends PanelAbstract<ActionModel> implements ActionExe
             ResultType.OBJECT.addResults(this, targetAdapter, ex);
 
             getMessageBroker().addWarning(ex.getMessage());
-
         }
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/8ba1d6dd/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.java
index 5b5d012..6858d79 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.java
@@ -25,7 +25,6 @@ import static org.hamcrest.CoreMatchers.nullValue;
 
 import java.util.List;
 
-import com.google.common.base.Strings;
 import com.google.common.collect.Lists;
 
 import org.apache.wicket.Component;

http://git-wip-us.apache.org/repos/asf/isis/blob/8ba1d6dd/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/ActionLinkFactoryAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/ActionLinkFactoryAbstract.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/ActionLinkFactoryAbstract.java
index 19f244f..3644ac6 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/ActionLinkFactoryAbstract.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/ActionLinkFactoryAbstract.java
@@ -92,6 +92,8 @@ public abstract class ActionLinkFactoryAbstract implements ActionLinkFactory {
 
                     actionPrompt.setPanel(actionPromptPanel, target);
                     actionPrompt.show(target);
+                    
+                    target.focusComponent(actionPromptPanel);
 
                 }
             };

http://git-wip-us.apache.org/repos/asf/isis/blob/8ba1d6dd/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css
index 0bb2be5..d916a73 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css
@@ -175,6 +175,13 @@ colors
 	cursor:pointer;
 }
 
+.edit:focus,
+.ok:focus,
+.okButton:focus {
+	background-color: #40C0CB;
+	font-style: italic;
+}
+
 .cancel {
 	display:inline-block;
 	background-color:#E4E4DB;
@@ -187,6 +194,10 @@ colors
 	cursor:pointer;	
 }
 
+.cancel:focus {
+    font-style: italic;
+}
+
 
 /********** CLASSes **********/
 

http://git-wip-us.apache.org/repos/asf/isis/blob/8ba1d6dd/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/jquery.isis.wicket.viewer.js
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/jquery.isis.wicket.viewer.js b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/jquery.isis.wicket.viewer.js
index 2926c19..5f564b3 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/jquery.isis.wicket.viewer.js
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/jquery.isis.wicket.viewer.js
@@ -45,9 +45,6 @@ $(document).ready(function() {
     $('.buttons .ok:not(.noVeil)').click(isisShowVeil);
     $('.cssSubMenuItemsPanel .cssSubMenuItem a:not(.noVeil)').click(isisShowVeil);
 
-    
-    $('.first-field input').focus();
-    
     $('div.collectionContentsAsAjaxTablePanel > table.contents > tbody > tr.reloaded-after-concurrency-exception') 
         .livequery(function(){
             x=$(this);