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 2018/12/20 18:48:16 UTC
[isis] 05/06: ISIS-1997: fine-tuning sidebar prompt
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch ISIS-1997
in repository https://gitbox.apache.org/repos/asf/isis.git
commit effc68817649d73d0728431ecfc64686cfa9ca6a
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Dec 20 12:19:35 2018 +0000
ISIS-1997: fine-tuning sidebar prompt
- don't add the icon to the action name at the top of the panel (also for modal dialog, too)
- escape key should cancel
- removes toggle button from every page
- specify width of panel as 20% rather than hardcoded number of pixels
---
.../actionpromptsb/ActionPromptSidebar.java | 2 +-
.../linkandlabel/ActionLinkFactoryAbstract.java | 36 ++++++++++++++--------
.../isis/viewer/wicket/ui/pages/PageAbstract.html | 1 -
.../wicket/ui/pages/jquery.isis.wicket.viewer.js | 6 ++++
.../isis/viewer/wicket/ui/pages/simple-sidebar.css | 26 ++++++++--------
5 files changed, 45 insertions(+), 26 deletions(-)
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionpromptsb/ActionPromptSidebar.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionpromptsb/ActionPromptSidebar.java
index ab0ba10..7dd619c 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionpromptsb/ActionPromptSidebar.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionpromptsb/ActionPromptSidebar.java
@@ -78,10 +78,10 @@ public class ActionPromptSidebar extends GenericPanel<Void> implements ActionPro
@Override
public void closePrompt(final AjaxRequestTarget target) {
+ setVisible(false);
if (target != null) {
hide(target);
}
- setVisible(false);
if(closeHandlerIfAny != null) {
closeHandlerIfAny.close(target);
}
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLinkFactoryAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLinkFactoryAbstract.java
index e90474b..1db195c 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLinkFactoryAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLinkFactoryAbstract.java
@@ -31,7 +31,9 @@ import org.apache.wicket.Application;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.Page;
import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.AbstractLink;
+import org.apache.wicket.model.AbstractReadOnlyModel;
import org.apache.wicket.request.cycle.RequestCycle;
import org.apache.isis.applib.annotation.PromptStyle;
@@ -58,7 +60,6 @@ import org.apache.isis.viewer.wicket.model.models.ToggledMementosProvider;
import org.apache.isis.viewer.wicket.ui.ComponentType;
import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistry;
import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistryAccessor;
-import org.apache.isis.viewer.wicket.ui.components.actionprompt.ActionPromptHeaderPanel;
import org.apache.isis.viewer.wicket.ui.components.actions.ActionFormExecutorStrategy;
import org.apache.isis.viewer.wicket.ui.components.actions.ActionParametersPanel;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract2;
@@ -169,16 +170,16 @@ public abstract class ActionLinkFactoryAbstract implements ActionLinkFactory {
final ActionPromptProvider promptProvider = ActionPromptProvider.Util.getFrom(actionLink.getPage());
final ActionPrompt prompt = promptProvider.getActionPrompt();
- // REVIEW: I wonder if this is still needed after the ISIS-1613 rework?
- final ActionPromptHeaderPanel titlePanel =
- PersistenceSession.ConcurrencyChecking.executeWithConcurrencyCheckingDisabled(
- new Callable<ActionPromptHeaderPanel>() {
- @Override
- public ActionPromptHeaderPanel call() throws Exception {
- final String titleId = prompt.getTitleId();
- return new ActionPromptHeaderPanel(titleId, actionModel);
- }
- });
+// // REVIEW: I wonder if this is still needed after the ISIS-1613 rework?
+// final ActionPromptHeaderPanel titlePanel =
+// PersistenceSession.ConcurrencyChecking.executeWithConcurrencyCheckingDisabled(
+// new Callable<ActionPromptHeaderPanel>() {
+// @Override
+// public ActionPromptHeaderPanel call() throws Exception {
+// final String titleId = prompt.getTitleId();
+// return new ActionPromptHeaderPanel(titleId, actionModel);
+// }
+// });
//
@@ -194,7 +195,14 @@ public abstract class ActionLinkFactoryAbstract implements ActionLinkFactory {
actionParametersPanel.setShowHeader(false);
- prompt.setTitle(titlePanel, target);
+ final Label label = new Label(prompt.getTitleId(), new AbstractReadOnlyModel<String>() {
+ @Override
+ public String getObject() {
+ final ObjectAction action = actionModel.getActionMemento().getAction(getSpecificationLoader());
+ return action.getName();
+ }
+ });
+ prompt.setTitle(label, target);
prompt.setPanel(actionParametersPanel, target);
actionParametersPanel.setActionPrompt(prompt);
prompt.showPrompt(target);
@@ -309,6 +317,10 @@ public abstract class ActionLinkFactoryAbstract implements ActionLinkFactory {
return IsisContext.getSessionFactory();
}
+ private SpecificationLoader getSpecificationLoader() {
+ return getIsisSessionFactory().getSpecificationLoader();
+ }
+
//endregion
}
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html
index aaa4753..f73406d 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html
@@ -58,7 +58,6 @@
<wicket:child/>
- <a href="#menu-toggle" class="btn btn-default" id="menu-toggle">Toggle Menu</a>
</div>
</div>
</div>
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 273272c..5899557 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
@@ -179,6 +179,12 @@ $(function() {
$('#wrapper').toggleClass('toggled');
});
+ $('#sidebar-wrapper').keyup(function(e) {
+ if (e.keyCode == 27) {
+ $('#wrapper').addClass('toggled');
+ }
+ });
+
/*
$('.editing .editable').parent().hover(function () {
var inputEl = $(this).find("> .editable")
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/simple-sidebar.css b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/simple-sidebar.css
index e67c026..32ee2c8 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/simple-sidebar.css
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/simple-sidebar.css
@@ -4,9 +4,10 @@
* Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap/blob/gh-pages/LICENSE)
*/
- body {
- overflow-x: hidden;
- }
+body {
+ overflow-x: hidden;
+}
+
/* Toggle Styles */
@@ -19,16 +20,16 @@
}
#wrapper.toggled {
- padding-left: 350px;
+ padding-left: 20%;
}
#sidebar-wrapper {
z-index: 1000;
position: fixed;
- left: 350px;
+ left: 20%;
width: 0;
height: 100%;
- margin-left: -350px;
+ margin-left: -20%;
overflow-y: auto;
border: 1px dotted;
-webkit-transition: all 0.5s ease;
@@ -38,7 +39,7 @@
}
#wrapper.toggled #sidebar-wrapper {
- width: 350px;
+ width: 20%;
}
#page-content-wrapper {
@@ -49,7 +50,7 @@
#wrapper.toggled #page-content-wrapper {
position: absolute;
- margin-right: -350px;
+ margin-right: -20%;
}
/* Sidebar Styles */
@@ -57,7 +58,7 @@
.sidebar-nav {
position: absolute;
top: 0;
- width: 350px;
+ width: 100%;
margin: 0;
padding: 0;
list-style: none;
@@ -111,7 +112,7 @@
@media(min-width:768px) {
#wrapper {
- padding-left: 350px;
+ padding-left: 20%;
}
#wrapper.toggled {
@@ -119,7 +120,7 @@
}
#sidebar-wrapper {
- width: 350px;
+ width: 20%;
}
#wrapper.toggled #sidebar-wrapper {
@@ -135,4 +136,5 @@
position: relative;
margin-right: 0;
}
-}
\ No newline at end of file
+}
+