You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by ah...@apache.org on 2023/04/01 05:34:55 UTC
[causeway] branch master updated: CAUSEWAY-3401: always show disabled reason in prototyping mode
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/causeway.git
The following commit(s) were added to refs/heads/master by this push:
new 7bf569768c CAUSEWAY-3401: always show disabled reason in prototyping mode
7bf569768c is described below
commit 7bf569768cf7af14e7cd566ce482a5376b727621
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sat Apr 1 07:34:50 2023 +0200
CAUSEWAY-3401: always show disabled reason in prototyping mode
---
.../ui/components/scalars/ScalarPanelAbstract2.java | 15 +++++++++++----
.../components/scalars/ScalarPanelAdditionalButton.java | 13 +++++++++++++
.../common/bootstrap/css/bootstrap-overrides-all-v2.css | 4 ++++
3 files changed, 28 insertions(+), 4 deletions(-)
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
index a173dcb141..a2e4cdeba3 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
@@ -262,7 +262,11 @@ extends ScalarPanelAbstract {
//XXX Future extension
break;
case DISABLED_REASON:
- addDisabledReasonIcon(buttonContainer);
+ addDisabledReasonIcon(buttonContainer, "fa-solid fa-ban", "");
+ break;
+ case DISABLED_REASON_PROTOTYPING:
+ addDisabledReasonIcon(buttonContainer, "fa-solid fa-text-slash icon-prototyping",
+ " Note: This icon only appears in prototyping mode.");
break;
case CLEAR_FIELD:
addClearFieldButton(buttonContainer);
@@ -274,15 +278,18 @@ extends ScalarPanelAbstract {
}
}
- private void addDisabledReasonIcon(final @NonNull RepeatingView buttonContainer) {
+ private void addDisabledReasonIcon(
+ final @NonNull RepeatingView buttonContainer,
+ final @NonNull String faClass,
+ final @NonNull String reasonSuffix) {
val disableReasonButton = Wkt.linkAddWithBody(buttonContainer,
- Wkt.faIcon("fa-solid fa-ban"), ajaxTarget->{/*no-op*/});
+ Wkt.faIcon(faClass), ajaxTarget->{/*no-op*/});
val disabledReason = scalarModel().disabledReason()
.flatMap(InteractionVeto::getReasonAsString)
.orElse("framework bug: should provide a reason");
- WktTooltips.addTooltip(disableReasonButton, translate(disabledReason));
+ WktTooltips.addTooltip(disableReasonButton, translate(disabledReason) + translate(reasonSuffix));
if(scalarModel().isParameter()) {
// allow the client-side popover cleaner to kick in
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/scalars/ScalarPanelAdditionalButton.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/scalars/ScalarPanelAdditionalButton.java
index 63d9c74140..2c4b584c96 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/scalars/ScalarPanelAdditionalButton.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/scalars/ScalarPanelAdditionalButton.java
@@ -44,6 +44,19 @@ enum ScalarPanelAdditionalButton {
.orElse(false);
}
},
+ DISABLED_REASON_PROTOTYPING {
+ @Override
+ boolean isVisible(
+ final ScalarModel scalarModel,
+ final RenderScenario renderScenario,
+ final FieldFragement fieldFragement) {
+ return scalarModel.disabledReason()
+ .map(InteractionVeto::getVetoConsent)
+ .flatMap(Consent::getReason)
+ .map(vetoReason->!vetoReason.showInUi())
+ .orElse(false);
+ }
+ },
CLEAR_FIELD {
@Override
boolean isVisible(
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/pages/common/bootstrap/css/bootstrap-overrides-all-v2.css b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/pages/common/bootstrap/css/bootstrap-overrides-all-v2.css
index e1833041a3..9f331157de 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/pages/common/bootstrap/css/bootstrap-overrides-all-v2.css
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/pages/common/bootstrap/css/bootstrap-overrides-all-v2.css
@@ -583,6 +583,10 @@ div.additionalLinkList {
}
+.icon-prototyping {
+ color: silver;
+}
+
/* dropdown-menu: distinguished rendering for disabled menu-items
(assuming grey foreground text color is reasonable to apply to light as well as dark themes) */
.dropdown-menu > .disabled > a,