You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2018/09/20 19:54:17 UTC
[isis] 02/02: ISIS-1920: show all disabled reasons on members
except 'Always disabled'
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch v2
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 528671c63749d1e03c19562c50f1be626ac4de27
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Sep 20 21:53:43 2018 +0200
ISIS-1920: show all disabled reasons on members except 'Always disabled'
Task-Url: https://issues.apache.org/jira/browse/ISIS-1920
---
.../ui/components/scalars/ScalarPanelAbstract.java | 19 +++++++++++--------
.../ui/components/scalars/ScalarPanelAbstract2.java | 20 +++++++++++++-------
.../scalars/ScalarPanelTextFieldAbstract.java | 5 +++--
.../apache/isis/viewer/wicket/ui/util/Tooltips.java | 5 ++---
.../isis/viewer/wicket/ui/util/isis-tooltips.css | 4 +++-
5 files changed, 32 insertions(+), 21 deletions(-)
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 0c11a39..d7db095 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
@@ -21,8 +21,6 @@ package org.apache.isis.viewer.wicket.ui.components.scalars;
import java.util.List;
-import org.apache.isis.commons.internal.collections._Lists;
-
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -35,6 +33,7 @@ import org.apache.wicket.model.Model;
import org.apache.isis.applib.annotation.ActionLayout;
import org.apache.isis.applib.annotation.Where;
+import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.ObjectAdapterProvider;
import org.apache.isis.core.metamodel.adapter.concurrency.ConcurrencyChecking;
@@ -177,14 +176,18 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
}
final ScalarModel scalarModel = getModel();
+
final String disableReasonIfAny = scalarModel.whetherDisabled();
-
- if (scalarModel.isViewMode()) {
- onBeforeRenderWhenViewMode();
- } else {
- if (disableReasonIfAny != null) {
- onBeforeRenderWhenDisabled(disableReasonIfAny);
+ if (disableReasonIfAny != null) {
+ if("Always disabled".equals(disableReasonIfAny)) {
+ onBeforeRenderWhenViewMode();
} else {
+ onBeforeRenderWhenDisabled(disableReasonIfAny.toString());
+ }
+ } else {
+ if (scalarModel.isViewMode()) {
+ onBeforeRenderWhenViewMode();
+ } else {
onBeforeRenderWhenEnabled();
}
}
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
index 006e3a5..235f638 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
@@ -167,7 +167,7 @@ public abstract class ScalarPanelAbstract2 extends PanelAbstract<ScalarModel> im
setOutputMarkupId(true);
}
-
+
private void buildGuiAndCallHooks() {
try {
@@ -186,16 +186,22 @@ public abstract class ScalarPanelAbstract2 extends PanelAbstract<ScalarModel> im
final ScalarModel scalarModel = getModel();
- if (scalarModel.isViewMode()) {
- onInitializeWhenViewMode();
- } else {
- final String disableReasonIfAny = scalarModel.whetherDisabled();
- if (disableReasonIfAny != null) {
- onInitializeWhenDisabled(disableReasonIfAny);
+ final String disableReasonIfAny = scalarModel.whetherDisabled();
+ if (disableReasonIfAny != null) {
+ if("Always disabled".equals(disableReasonIfAny)) {
+ onInitializeWhenViewMode();
} else {
+ onInitializeWhenDisabled(disableReasonIfAny.toString());
+ }
+ } else {
+ if (scalarModel.isViewMode()) {
+ onInitializeWhenViewMode();
+ } else {
onInitializeWhenEnabled();
}
}
+
+
}
/**
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 0266460..470d537 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
@@ -36,6 +36,7 @@ import org.apache.wicket.validation.IValidatable;
import org.apache.wicket.validation.IValidator;
import org.apache.wicket.validation.ValidationError;
+import org.apache.isis.commons.internal.base._Casts;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.ObjectAdapterProvider;
import org.apache.isis.core.metamodel.facets.SingleIntValueFacet;
@@ -294,7 +295,7 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
protected IModel<String> obtainInlinePromptModel() {
IModel<T> model = textField.getModel();
// must be "live", for ajax updates.
- return (IModel<String>) model;
+ return _Casts.uncheckedCast(model);
}
@@ -308,7 +309,7 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
textField.setEnabled(false);
addReplaceDisabledTagWithReadonlyTagBehaviourIfRequired(textField);
- setTooltip("No editing.");
+ clearTooltip();
}
@Override
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/Tooltips.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/Tooltips.java
index 6829cb5..4695a88 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/Tooltips.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/Tooltips.java
@@ -17,8 +17,6 @@
package org.apache.isis.viewer.wicket.ui.util;
-import static org.apache.isis.commons.internal.functions._Predicates.alwaysTrue;
-
import org.apache.wicket.Component;
import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.markup.head.CssHeaderItem;
@@ -65,7 +63,8 @@ public class Tooltips {
}
public static void clearTooltip(Component target) {
- target.getBehaviors(TooltipBehavior.class).removeIf(alwaysTrue());
+ target.getBehaviors(TooltipBehavior.class)
+ .forEach(target::remove);
}
// -- HELPER
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/isis-tooltips.css b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/isis-tooltips.css
index 65d50be..5cb47bc 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/isis-tooltips.css
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/isis-tooltips.css
@@ -13,4 +13,6 @@
.isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
-}
\ No newline at end of file
+}
+
+.ui-helper-hidden-accessible { display:none; }
\ No newline at end of file