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 2017/04/28 09:21:40 UTC
[35/43] isis git commit: ISIS-1603: improvements to the tabbing
experience.
ISIS-1603: improvements to the tabbing experience.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/0d95f410
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/0d95f410
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/0d95f410
Branch: refs/heads/master
Commit: 0d95f410cab614f800b313298d6f698f3c8d060f
Parents: 8d06152
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Apr 27 15:38:56 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Apr 27 15:38:56 2017 +0100
----------------------------------------------------------------------
.../serviceactions/ServiceActionsPanel.html | 2 +-
.../actions/ActionParametersFormPanel.java | 3 +-
.../icontitle/EntityIconAndTitlePanel.html | 2 +-
.../ui/components/header/HeaderPanel.html | 4 +-
.../property/PropertyEditFormPanel.java | 3 +-
.../scalars/ScalarModelSubscriber.java | 6 +--
.../components/scalars/ScalarPanelAbstract.java | 46 ++++++++++++--------
.../scalars/ScalarPanelTextFieldAbstract.java | 7 ++-
.../scalars/reference/ReferencePanel.java | 30 +++++++++++++
.../wicket/ui/pages/bootstrap-overrides.css | 17 ++++++++
.../ui/pages/jquery.isis.wicket.viewer.js | 12 ++++-
.../ui/panels/PromptFormPanelAbstract.java | 7 ++-
12 files changed, 103 insertions(+), 36 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/0d95f410/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionsPanel.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionsPanel.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionsPanel.html
index 8b51434..f80ca9c 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionsPanel.html
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionsPanel.html
@@ -22,7 +22,7 @@
<body>
<wicket:panel>
<li class="dropdown" wicket:id="menuItems">
- <a href="javascript:;" class="dropdown-toggle" data-toggle="dropdown"><span wicket:id="name"></span> <span class="caret"></span></a>
+ <a tabindex="-1" href="javascript:;" class="dropdown-toggle" data-toggle="dropdown"><span wicket:id="name"></span> <span class="caret"></span></a>
<ul wicket:id="topMenu" class="dropdown-menu scrollable-menu multi-level" role="menu">
<li wicket:id="subMenuItems">
<wicket:container wicket:id="content"></wicket:container>
http://git-wip-us.apache.org/repos/asf/isis/blob/0d95f410/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.java
index 0ee44c9..be49fca 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.java
@@ -43,7 +43,6 @@ import org.apache.isis.viewer.wicket.ui.panels.PromptFormPanelAbstract;
import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditFormPanel;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarModelSubscriber;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract;
-import org.apache.isis.viewer.wicket.ui.components.scalars.TextFieldValueModel.ScalarModelProvider;
import org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
@@ -138,7 +137,7 @@ public class ActionParametersFormPanel extends PromptFormPanelAbstract<ActionMod
}
@Override
- public void onUpdate(AjaxRequestTarget target, ScalarModelProvider provider) {
+ public void onUpdate(AjaxRequestTarget target, ScalarPanelAbstract scalarPanel) {
final ActionModel actionModel = getActionModel();
http://git-wip-us.apache.org/repos/asf/isis/blob/0d95f410/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.html
index 4c919af..d7165ef 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.html
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.html
@@ -21,7 +21,7 @@
<body>
<wicket:panel>
<span wicket:id="entityLinkWrapper" class="entityIconAndTitlePanel entityIconAndTitleComponentType">
- <a href="#" wicket:id="entityLink" class="entityUrlSource">
+ <a tabindex="-1" href="#" wicket:id="entityLink" class="entityUrlSource">
<span wicket:id="entityFontAwesome"></span>
<img wicket:id="entityImage" class="entityImage"/>
<span wicket:id="entityTitle" class="entityTitle">[title]</span>
http://git-wip-us.apache.org/repos/asf/isis/blob/0d95f410/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/header/HeaderPanel.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/header/HeaderPanel.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/header/HeaderPanel.html
index 889bc50..e887868 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/header/HeaderPanel.html
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/header/HeaderPanel.html
@@ -31,7 +31,7 @@
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
- <a class="navbar-brand" wicket:id="applicationName">
+ <a tabindex="-1" class="navbar-brand" wicket:id="applicationName">
<span wicket:id="brandText"></span>
<img alt="Brand" wicket:id="brandLogo"/>
</a>
@@ -39,7 +39,7 @@
<div class="navbar-header navbar-right">
<ul class="nav navbar-nav tertiary">
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">
+ <a tabindex="-1" href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-fw fa-user"></i> <span wicket:id="userName"></span><span class="caret"></span>
</a>
<ul wicket:id="tertiaryMenuBar" class="dropdown-menu" role="menu" style="min-width: 0px;">
http://git-wip-us.apache.org/repos/asf/isis/blob/0d95f410/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditFormPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditFormPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditFormPanel.java
index 2c6719e..37ebf3b 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditFormPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditFormPanel.java
@@ -37,7 +37,6 @@ 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.ScalarModelSubscriber;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract;
-import org.apache.isis.viewer.wicket.ui.components.scalars.TextFieldValueModel.ScalarModelProvider;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
import org.apache.isis.viewer.wicket.ui.panels.PromptFormPanelAbstract;
@@ -114,7 +113,7 @@ public class PropertyEditFormPanel extends PromptFormPanelAbstract<ScalarModel>
@Override
public void onUpdate(
- final AjaxRequestTarget target, final ScalarModelProvider provider) {
+ final AjaxRequestTarget target, final ScalarPanelAbstract scalarPanel) {
}
http://git-wip-us.apache.org/repos/asf/isis/blob/0d95f410/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarModelSubscriber.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarModelSubscriber.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarModelSubscriber.java
index 647d903..30977de 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarModelSubscriber.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarModelSubscriber.java
@@ -18,12 +18,10 @@ package org.apache.isis.viewer.wicket.ui.components.scalars;
import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.isis.viewer.wicket.ui.components.scalars.TextFieldValueModel.ScalarModelProvider;
-
public interface ScalarModelSubscriber {
- void onUpdate(AjaxRequestTarget target, ScalarModelProvider provider);
+ void onUpdate(AjaxRequestTarget target, ScalarPanelAbstract scalarPanel);
- void onError(AjaxRequestTarget target, ScalarModelProvider provider);
+ void onError(AjaxRequestTarget target, ScalarPanelAbstract scalarPanel);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/0d95f410/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
index e70c846..f334f01 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
@@ -56,7 +56,6 @@ import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditFormExec
import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditFormPanel;
import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditPanel;
import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditPromptHeaderPanel;
-import org.apache.isis.viewer.wicket.ui.components.scalars.TextFieldValueModel.ScalarModelProvider;
import org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.IsisBlobOrClobPanelAbstract;
import org.apache.isis.viewer.wicket.ui.components.scalars.primitive.BooleanPanel;
import org.apache.isis.viewer.wicket.ui.components.scalars.reference.ReferencePanel;
@@ -67,7 +66,7 @@ import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
import de.agilecoders.wicket.core.markup.html.bootstrap.common.NotificationPanel;
-public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> implements ScalarModelProvider {
+public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> implements ScalarModelSubscriber {
private static final long serialVersionUID = 1L;
@@ -263,11 +262,16 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
}
}
}
+ if(scalarModel.getPromptStyle() != PromptStyle.INLINE) {
+ getScalarValueComponent().add(new AttributeAppender("tabindex", "-1"));
+ }
getRendering().buildGui(this);
addCssForMetaModel();
- addFormComponentBehaviour();
+ notifyOnChange(this);
+ addFormComponentBehaviourToUpdateSubscribers();
+
}
/**
@@ -312,6 +316,7 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
static class ScalarUpdatingBehavior extends AjaxFormComponentUpdatingBehavior {
private static final long serialVersionUID = 1L;
+
private final ScalarPanelAbstract scalarPanel;
private ScalarUpdatingBehavior(final ScalarPanelAbstract scalarPanel) {
@@ -324,10 +329,6 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
for (ScalarModelSubscriber subscriber : scalarPanel.subscribers) {
subscriber.onUpdate(target, scalarPanel);
}
-
- // hmmm... this doesn't seem to be picked up...
- target.appendJavaScript(
- String.format("Wicket.Event.publish(Isis.Topic.FOCUS_FIRST_ACTION_PARAMETER, '%s')", scalarPanel.getMarkupId()));
}
@Override
@@ -345,11 +346,7 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
subscribers.add(subscriber);
}
- private void addFormComponentBehaviour() {
- if (subscribers.isEmpty()) {
- return;
- }
-
+ private void addFormComponentBehaviourToUpdateSubscribers() {
Component scalarValueComponent = getScalarValueComponent();
if(scalarValueComponent == null) {
return;
@@ -360,8 +357,27 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
scalarValueComponent.add(new ScalarUpdatingBehavior(this));
}
+ // //////////////////////////////////////
+
+ @Override
+ public void onUpdate(
+ final AjaxRequestTarget target, final ScalarPanelAbstract scalarPanel) {
+
+ target.appendJavaScript(
+ String.format("Wicket.Event.publish(Isis.Topic.FOCUS_FIRST_PARAMETER, '%s')", getMarkupId()));
+ }
+
+
+ @Override
+ public void onError(
+ final AjaxRequestTarget target, final ScalarPanelAbstract scalarPanel) {
+
+ }
+
+
// ///////////////////////////////////////////////////////////////////
+
public enum Rendering {
/**
* Does not show labels, eg for use in tables
@@ -639,11 +655,5 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
target.add(this);
}
- // ///////////////////////////////////////////////////////////////////
-
- @Override
- public AdapterManager getAdapterManager() {
- return getPersistenceSession();
- }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/0d95f410/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
index 245e05f..e27a358 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
@@ -39,6 +39,7 @@ import org.apache.wicket.validation.IValidator;
import org.apache.wicket.validation.ValidationError;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
import org.apache.isis.core.metamodel.facets.SingleIntValueFacet;
import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
import org.apache.isis.core.metamodel.facets.objectvalue.maxlen.MaxLengthFacet;
@@ -62,7 +63,7 @@ import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
* This implementation is for panels that use a textfield/text area.
* </p>
*/
-public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> extends ScalarPanelAbstract {
+public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> extends ScalarPanelAbstract implements TextFieldValueModel.ScalarModelProvider {
private static final long serialVersionUID = 1L;
@@ -342,6 +343,10 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
return settings;
}
+ @Override
+ public AdapterManager getAdapterManager() {
+ return getPersistenceSession();
+ }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/0d95f410/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
index a600b68..92e3fb2 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
@@ -26,6 +26,7 @@ import com.google.common.collect.Lists;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
+import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.IModel;
@@ -49,6 +50,7 @@ import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.ComponentFactory;
import org.apache.isis.viewer.wicket.ui.ComponentType;
import org.apache.isis.viewer.wicket.ui.components.scalars.PanelWithChoices;
+import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelSelect2Abstract;
import org.apache.isis.viewer.wicket.ui.components.widgets.bootstrap.FormGroup;
import org.apache.isis.viewer.wicket.ui.components.widgets.entitysimplelink.EntityLinkSimplePanel;
@@ -150,6 +152,7 @@ public class ReferencePanel extends ScalarPanelSelect2Abstract implements PanelW
}
});
+
return formGroup;
}
@@ -230,6 +233,7 @@ public class ReferencePanel extends ScalarPanelSelect2Abstract implements PanelW
+
// //////////////////////////////////////
// onBeforeRender*
// //////////////////////////////////////
@@ -455,6 +459,30 @@ public class ReferencePanel extends ScalarPanelSelect2Abstract implements PanelW
// //////////////////////////////////////
+
+ @Override
+ public void onUpdate(
+ final AjaxRequestTarget target, final ScalarPanelAbstract scalarPanel) {
+
+ target.appendJavaScript(
+ String.format("Wicket.Event.publish(Isis.Topic.CLOSE_SELECT2, '%s')", getMarkupId()));
+
+
+ // super.onUpdate(target, scalarPanel);
+// target.appendJavaScript("console.log(\"ReferencePanel : changed\")");
+// target.appendJavaScript("console.log(" + jQuery(scalarPanel) + ".find(\"select\"));");
+// target.appendJavaScript("" + jQuery(scalarPanel) + ".find(\"select\").focus();");
+ }
+
+ private static String jQuery(final ScalarPanelAbstract scalarPanel) {
+ return "$(" + markupId(scalarPanel) + ")";
+ }
+
+ private static String markupId(final ScalarPanelAbstract scalarPanel) {
+ return "\"#" + scalarPanel.getMarkupId() + "\"";
+ }
+
+ // //////////////////////////////////////
// helpers querying model state
// //////////////////////////////////////
@@ -496,3 +524,5 @@ public class ReferencePanel extends ScalarPanelSelect2Abstract implements PanelW
}
}
+
+
http://git-wip-us.apache.org/repos/asf/isis/blob/0d95f410/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
index 7001b98..df8b700 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
@@ -896,3 +896,20 @@ tr.headers th form input {
.referencePanel .inlinePrompt .entityIconAndTitlePanel .entityTitle {
display: none;
}
+
+#container a:focus,
+#container .btn:focus,
+#container input:focus,
+#container :focus {
+// outline-color: darkorange;
+// outline-color: sienna;
+// outline-color: darkred;
+ outline-color: maroon;
+ outline-style: solid;
+ outline-width: 2px;
+}
+
+#container a.edit:focus {
+ padding: 3px;
+}
+
http://git-wip-us.apache.org/repos/asf/isis/blob/0d95f410/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/jquery.isis.wicket.viewer.js
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/jquery.isis.wicket.viewer.js b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/jquery.isis.wicket.viewer.js
index 8c91219..24b391e 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/jquery.isis.wicket.viewer.js
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/jquery.isis.wicket.viewer.js
@@ -27,6 +27,7 @@ $(function() {
window.Isis = {
Topic: {
OPEN_IN_NEW_TAB: 'openInNewTab',
+ CLOSE_SELECT2: 'closeSelect2',
FOCUS_FIRST_PARAMETER: 'focusFirstParameter',
FOCUS_FIRST_PROPERTY: 'focusFirstProperty'
},
@@ -79,6 +80,15 @@ $(function() {
if(win) { win.focus(); }
});
+ Wicket.Event.subscribe(Isis.Topic.CLOSE_SELECT2, function(jqEvent, panelId) {
+ setTimeout(function() {
+ var $panel = $('#'+panelId);
+ console.log($panel);
+ $($panel).find('select').select2('close');
+ $($panel).find('select').filter(':visible:first').focus();
+ }, 0);
+ });
+
Wicket.Event.subscribe(Isis.Topic.FOCUS_FIRST_PARAMETER, function(jqEvent, modalWindowId) {
setTimeout(function() {
$('#'+modalWindowId).find('.inputFormTable.parameters').find('input,textarea,select').filter(':visible:first').focus();
@@ -87,7 +97,7 @@ $(function() {
Wicket.Event.subscribe(Isis.Topic.FOCUS_FIRST_PROPERTY, function(jqEvent) {
setTimeout(function() {
- $(document).find('a.scalarValueEditInline').filter(':visible:first').focus();
+ $(document).find('a.scalarValueInlinePromptLink').filter(':visible:first').focus();
}, 0);
});
http://git-wip-us.apache.org/repos/asf/isis/blob/0d95f410/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormPanelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormPanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormPanelAbstract.java
index 8a20f08..786d0c9 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormPanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormPanelAbstract.java
@@ -44,7 +44,6 @@ import org.apache.isis.viewer.wicket.model.models.FormExecutor;
import org.apache.isis.viewer.wicket.model.models.HasFormExecutor;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarModelSubscriber;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract;
-import org.apache.isis.viewer.wicket.ui.components.scalars.TextFieldValueModel;
import org.apache.isis.viewer.wicket.ui.components.widgets.formcomponent.FormFeedbackPanel;
import org.apache.isis.viewer.wicket.ui.errors.JGrowlBehaviour;
import org.apache.isis.viewer.wicket.ui.errors.JGrowlUtil;
@@ -221,10 +220,10 @@ public abstract class PromptFormPanelAbstract<T extends IModel<?> & HasFormExecu
final Form<?> form);
@Override
- public void onError(AjaxRequestTarget target, TextFieldValueModel.ScalarModelProvider provider) {
- if(provider instanceof Component) {
+ public void onError(AjaxRequestTarget target, ScalarPanelAbstract scalarPanel) {
+ if(scalarPanel instanceof Component) {
// ensure that any feedback error associated with the providing component is shown.
- target.add((Component)provider);
+ target.add(scalarPanel);
}
}