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/06/27 11:22:10 UTC
[2/2] git commit: ISIS-447: prototype class for prototype/exploration
actions.
ISIS-447: prototype class for prototype/exploration actions.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/56b558c5
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/56b558c5
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/56b558c5
Branch: refs/heads/master
Commit: 56b558c543a5c27b999f4089b05c5c3a811caf65
Parents: bfa434b
Author: Dan Haywood <da...@apache.org>
Authored: Thu Jun 27 10:11:50 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Thu Jun 27 10:11:50 2013 +0100
----------------------------------------------------------------------
.../viewer/wicket/model/links/LinkAndLabel.java | 9 +++++-
.../additionallinks/AdditionalLinksPanel.java | 5 +++-
.../cssmenu/AppActionsCssMenuLinkFactory.java | 6 ++--
.../ajaxtable/BulkActionsLinkFactory.java | 2 +-
.../entity/EntityActionLinkFactory.java | 5 ++--
.../components/widgets/cssmenu/CssMenuItem.java | 31 ++++++++++++++++++--
.../entitylink/EntityLinkSelect2Panel.html | 4 +--
.../entitylink/EntityLinkSelect2Panel.java | 2 +-
.../viewer/wicket/ui/pages/PageAbstract.css | 7 ++++-
9 files changed, 57 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/56b558c5/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
index 9aca2ea..717a528 100644
--- a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
+++ b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
@@ -30,12 +30,14 @@ public class LinkAndLabel implements Serializable {
private final String label;
private final String disabledReasonIfAny;
private final boolean blobOrClob;
+ private final boolean prototype;
- public LinkAndLabel(final AbstractLink link, final String label, String disabledReasonIfAny, boolean blobOrClob) {
+ public LinkAndLabel(final AbstractLink link, final String label, String disabledReasonIfAny, final boolean blobOrClob, final boolean prototype) {
this.link = link;
this.label = label;
this.disabledReasonIfAny = disabledReasonIfAny;
this.blobOrClob = blobOrClob;
+ this.prototype = prototype;
}
public AbstractLink getLink() {
@@ -53,4 +55,9 @@ public class LinkAndLabel implements Serializable {
public boolean isBlobOrClob() {
return blobOrClob;
}
+
+ public boolean isPrototype() {
+ return prototype;
+ }
+
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/56b558c5/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.java
index 434b6b1..92b7162 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.java
@@ -77,7 +77,10 @@ public class AdditionalLinksPanel extends PanelAbstract<ListOfLinksModel> {
viewTitleLabel.add(new AttributeAppender("title", disabledReasonIfAny));
}
if(linkAndLabel.isBlobOrClob()) {
- link.add(new AttributeModifier("class", Model.of("noVeil")));
+ link.add(new CssClassAppender("noVeil"));
+ }
+ if(linkAndLabel.isPrototype()) {
+ link.add(new CssClassAppender("prototype"));
}
viewTitleLabel.add(new CssClassAppender(StringUtils.toLowerDashed(linkAndLabel.getLabel())));
link.addOrReplace(viewTitleLabel);
http://git-wip-us.apache.org/repos/asf/isis/blob/56b558c5/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuLinkFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuLinkFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuLinkFactory.java
index d6df1a5..9e77876 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuLinkFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuLinkFactory.java
@@ -50,8 +50,10 @@ class AppActionsCssMenuLinkFactory implements CssMenuLinkFactory {
final AbstractLink link = Links.newBookmarkablePageLink(linkId, pageParameters, pageClass);
final String actionLabel = ObjectActions.nameFor(action);
- boolean blobOrClob = CssMenuItem.returnsBlobOrClob(action);
- return new LinkAndLabel(link, actionLabel, null, blobOrClob);
+ final boolean blobOrClob = CssMenuItem.returnsBlobOrClob(action);
+ final boolean prototype = CssMenuItem.isExplorationOrPrototype(action);
+
+ return new LinkAndLabel(link, actionLabel, null, blobOrClob, prototype);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/56b558c5/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/BulkActionsLinkFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/BulkActionsLinkFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/BulkActionsLinkFactory.java
index e2481de..f80c8ef 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/BulkActionsLinkFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/BulkActionsLinkFactory.java
@@ -101,6 +101,6 @@ final class BulkActionsLinkFactory implements CssMenuLinkFactory {
};
link.add(new JGrowlBehaviour());
- return new LinkAndLabel(link, objectAction.getName(), null, false);
+ return new LinkAndLabel(link, objectAction.getName(), null, false, CssMenuItem.isExplorationOrPrototype(objectAction));
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/56b558c5/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityActionLinkFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityActionLinkFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityActionLinkFactory.java
index 14714e3..99335b8 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityActionLinkFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityActionLinkFactory.java
@@ -82,8 +82,9 @@ public final class EntityActionLinkFactory implements CssMenuLinkFactory {
link.setEnabled(false);
}
- boolean blobOrClob = CssMenuItem.returnsBlobOrClob(action);
- return new LinkAndLabel(link, label, disabledReasonIfAny, blobOrClob);
+ final boolean blobOrClob = CssMenuItem.returnsBlobOrClob(action);
+ final boolean prototype = CssMenuItem.isExplorationOrPrototype(action);
+ return new LinkAndLabel(link, label, disabledReasonIfAny, blobOrClob, prototype);
}
private AbstractLink createLink(final ObjectAdapterMemento adapterMemento, final ObjectAction action, final String linkId, final ObjectAdapter adapter) {
http://git-wip-us.apache.org/repos/asf/isis/blob/56b558c5/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItem.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItem.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItem.java
index 4f6417b..4c566d7 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItem.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItem.java
@@ -103,6 +103,11 @@ public class CssMenuItem implements Serializable {
return cssMenuItem;
}
+ public Builder prototyping(boolean prototype) {
+ cssMenuItem.setPrototyping(prototype);
+ return this;
+ }
+
/**
* Returns the built {@link CssMenuItem}, associating with
* {@link #parent(CssMenuItem) parent} (if specified).
@@ -113,6 +118,7 @@ public class CssMenuItem implements Serializable {
}
return cssMenuItem;
}
+
}
private final String name;
@@ -123,12 +129,14 @@ public class CssMenuItem implements Serializable {
private boolean enabled = true; // unless disabled
private String disabledReason;
private boolean blobOrClob = false; // unless set otherwise
+ private boolean prototype = false; // unless set otherwise
static final String ID_MENU_LABEL = "menuLabel";
static final String ID_SUB_MENU_ITEMS = "subMenuItems";
+
/**
* Factory method returning {@link Builder builder}.
*/
@@ -136,6 +144,14 @@ public class CssMenuItem implements Serializable {
return new Builder(name);
}
+ /**
+ * @param prototype
+ */
+ public void setPrototyping(boolean prototype) {
+ this.prototype = prototype;
+
+ }
+
private CssMenuItem(final String name) {
this.name = name;
}
@@ -238,9 +254,10 @@ public class CssMenuItem implements Serializable {
final String reasonDisabledIfAny = usability.getReason();
// check if returns blob or clob (if so, then add CSS to suppress veil)
- boolean blobOrClob = returnsBlobOrClob(objectAction);
+ final boolean blobOrClob = returnsBlobOrClob(objectAction);
+ final boolean prototype = isExplorationOrPrototype(objectAction);
- return newSubMenuItem(actionLabel).link(link).enabled(reasonDisabledIfAny).returnsBlobOrClob(blobOrClob);
+ return newSubMenuItem(actionLabel).link(link).enabled(reasonDisabledIfAny).returnsBlobOrClob(blobOrClob).prototyping(prototype);
}
public static boolean returnsBlobOrClob(final ObjectAction objectAction) {
@@ -255,6 +272,10 @@ public class CssMenuItem implements Serializable {
return blobOrClob;
}
+ public static boolean isExplorationOrPrototype(final ObjectAction action) {
+ return action.getType().isExploration() || action.getType().isPrototype();
+ }
+
/**
* Creates a {@link Builder} for a submenu item where the provided {@link CssMenuLinkFactory} is able to provide the target adapter.
@@ -291,7 +312,10 @@ public class CssMenuItem implements Serializable {
link.add(label);
if(this.blobOrClob) {
- link.add(new AttributeModifier("class", Model.of("noVeil")));
+ link.add(new CssClassAppender("noVeil"));
+ }
+ if(this.prototype) {
+ link.add(new CssClassAppender("prototype"));
}
// .. and hide label
Components.permanentlyHide(markupContainer, CssMenuItem.ID_MENU_LABEL);
@@ -302,6 +326,7 @@ public class CssMenuItem implements Serializable {
// ... and show label, along with disabled reason
label.add(new AttributeModifier("title", Model.of(this.getDisabledReason())));
label.add(new AttributeModifier("class", Model.of("disabled")));
+
markupContainer.add(label);
return label;
http://git-wip-us.apache.org/repos/asf/isis/blob/56b558c5/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.html
index 62b0add..c3109ca 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.html
@@ -41,8 +41,8 @@
</div>
<div class="clear"/>
</div>
- <div class="feedbackPanel">
- <span wicket:id="feedback"/>
+ <div class="xfeedbackPanel">
+ <span xwicket:id="feedback"/>
</div>
</div>
</wicket:panel>
http://git-wip-us.apache.org/repos/asf/isis/blob/56b558c5/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.java
index d93c45a..67259d4 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLinkSelect2Panel.java
@@ -93,7 +93,7 @@ public class EntityLinkSelect2Panel extends FormComponentPanelAbstract<ObjectAda
* Builds the parts of the GUI that are not dynamic.
*/
private void buildGui() {
- addOrReplace(new ComponentFeedbackPanel(ID_FEEDBACK, this));
+ //addOrReplace(new ComponentFeedbackPanel(ID_FEEDBACK, this));
syncWithInput();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/56b558c5/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 157e17e..d988bfe 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
@@ -235,6 +235,11 @@ colors
font-weight:bold;
}
+ #applicationActions .cssMenuPanel .menuh a.prototype span {
+ color: lightblue;
+ }
+
+
#applicationActions .cssMenuPanel .menuh li a:link,
#applicationActions .cssMenuPanel .menuh li a:visited,
#applicationActions .cssMenuPanel .menuh li a:active,
@@ -291,7 +296,7 @@ colors
padding: 0px 1em 0px 1em;
background-image:none !important;
}
-
+
#applicationActions .cssMenuPanel .menuh li:hover a,
#applicationActions .cssMenuPanel .menuh li:hover p {
color: #FFFFFF;