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 2019/01/29 18:03:52 UTC
[isis] branch v2 updated: ISIS-1989: fixes tooltips for disabled
action button
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch v2
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/v2 by this push:
new 96ffac1 ISIS-1989: fixes tooltips for disabled action button
96ffac1 is described below
commit 96ffac17b45459056602d6246b9313fbd620aca6
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Jan 29 18:03:37 2019 +0000
ISIS-1989: fixes tooltips for disabled action button
---
.../viewer/wicket/model/links/LinkAndLabel.java | 10 +-------
.../entityactions/AdditionalLinksPanel.java | 6 +++--
.../entityactions/EntityActionLinkFactory.java | 29 +++-------------------
.../serviceactions/ServiceActionLinkFactory.java | 2 +-
.../linkandlabel/ActionLinkFactoryAbstract.java | 5 ++--
5 files changed, 11 insertions(+), 41 deletions(-)
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
index 1270890..c0d3aa6 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
@@ -46,7 +46,6 @@ public class LinkAndLabel implements Serializable {
final ObjectAdapter objectAdapter,
final ObjectAction objectAction,
final AbstractLink link,
- final String disabledReasonIfAny,
final boolean blobOrClob) {
final String name = ObjectAction.Util.nameFor(objectAction);
@@ -63,7 +62,7 @@ public class LinkAndLabel implements Serializable {
return new LinkAndLabel(
link, name,
- disabledReasonIfAny, description,
+ description,
blobOrClob, isPrototype,
actionIdentifier,
cssClass, cssClassFa, cssClassFaPosition, actionLayoutPosition,
@@ -87,7 +86,6 @@ public class LinkAndLabel implements Serializable {
private final AbstractLink link;
private final String label;
- private final String disabledReasonIfAny;
private final String descriptionIfAny;
private final boolean blobOrClob;
private final boolean prototype;
@@ -103,7 +101,6 @@ public class LinkAndLabel implements Serializable {
private LinkAndLabel(
final AbstractLink link,
final String label,
- final String disabledReasonIfAny,
final String descriptionIfAny,
final boolean blobOrClob,
final boolean prototype,
@@ -117,7 +114,6 @@ public class LinkAndLabel implements Serializable {
final Parameters parameters) {
this.link = link;
this.label = label;
- this.disabledReasonIfAny = disabledReasonIfAny;
this.descriptionIfAny = descriptionIfAny;
this.blobOrClob = blobOrClob;
this.prototype = prototype;
@@ -139,10 +135,6 @@ public class LinkAndLabel implements Serializable {
return label;
}
- public String getReasonDisabledIfAny() {
- return disabledReasonIfAny;
- }
-
public String getDescriptionIfAny() {
return descriptionIfAny;
}
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/AdditionalLinksPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/AdditionalLinksPanel.java
index 4777ea5..f2d5d0b 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/AdditionalLinksPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/AdditionalLinksPanel.java
@@ -127,7 +127,7 @@ public class AdditionalLinksPanel extends PanelAbstract<ListOfLinksModel> {
return first(reasonDisabledIfAny, linkAndLabel.getDescriptionIfAny());
}
}
- : Model.of(first(linkAndLabel.getReasonDisabledIfAny(), linkAndLabel.getDescriptionIfAny()));
+ : Model.of(linkAndLabel.getDescriptionIfAny());
Tooltips.addTooltip(link, tooltipModel);
@@ -141,7 +141,9 @@ public class AdditionalLinksPanel extends PanelAbstract<ListOfLinksModel> {
link.add(new CssClassAppender(linkAndLabel.getActionIdentifier()));
SemanticsOf semantics = linkAndLabel.getSemantics();
- if (linkAndLabel.getParameters().isNoParameters() && linkAndLabel.getReasonDisabledIfAny() == null) {
+ if (linkAndLabel.getParameters().isNoParameters() &&
+ (link instanceof ActionLink ? ((ActionLink)link).getReasonDisabledIfAny() : null) == null
+ ) {
addConfirmationDialogIfAreYouSureSemantics(link, semantics);
}
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/EntityActionLinkFactory.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/EntityActionLinkFactory.java
index 7a9589d..2a33d13 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/EntityActionLinkFactory.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/EntityActionLinkFactory.java
@@ -54,35 +54,12 @@ public final class EntityActionLinkFactory extends ActionLinkFactoryAbstract {
"Object '%s' is not persistent.", objectAdapter.titleString(null)));
}
- // visibility needs to be determined at point of rendering, by ActionLink itself
-
- // // check visibility and whether enabled
- // final Consent visibility =
- // objectAction.isVisible(
- // objectAdapter,
- // InteractionInitiatedBy.USER,
- // Where.OBJECT_FORMS);
- // if (visibility.isVetoed()) {
- // return null;
- // }
-
+ // previously we computed visibility and enablement here, but
+ // this is now done at the point of rendereing
final AbstractLink link = newLink(linkId, objectAction, toggledMementosProviderIfAny);
- // similarly for whether disabled, done at point of rendering
-
- // final Consent usability =
- // objectAction.isUsable(
- // objectAdapter,
- // InteractionInitiatedBy.USER,
- // Where.OBJECT_FORMS);
- // final String disabledReasonIfAny = usability.getReason();
- // if(disabledReasonIfAny != null) {
- // link.setEnabled(false);
- // }
-
- final String disabledReasonIfAny = null;
- return newLinkAndLabel(objectAdapter, objectAction, link, disabledReasonIfAny);
+ return newLinkAndLabel(objectAdapter, objectAction, link);
}
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionLinkFactory.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionLinkFactory.java
index 10ce792..9a9f4ae 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionLinkFactory.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionLinkFactory.java
@@ -47,7 +47,7 @@ class ServiceActionLinkFactory extends ActionLinkFactoryAbstract {
final AbstractLink link = newLink(linkId, objectAction, toggledMementosProviderIfAny);
- return newLinkAndLabel(objectAdapter, objectAction, link, null);
+ return newLinkAndLabel(objectAdapter, objectAction, link);
}
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 8de064c..4e035c3 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
@@ -276,12 +276,11 @@ public abstract class ActionLinkFactoryAbstract implements ActionLinkFactory {
protected LinkAndLabel newLinkAndLabel(
final ObjectAdapter objectAdapter,
final ObjectAction objectAction,
- final AbstractLink link,
- final String disabledReasonIfAny) {
+ final AbstractLink link) {
final boolean whetherReturnsBlobOrClob = ObjectAction.Util.returnsBlobOrClob(objectAction);
- return LinkAndLabel.newLinkAndLabel(objectAdapter, objectAction, link, disabledReasonIfAny, whetherReturnsBlobOrClob);
+ return LinkAndLabel.newLinkAndLabel(objectAdapter, objectAction, link, whetherReturnsBlobOrClob);
}
private InlinePromptContext determineInlinePromptContext() {