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/isis.git
The following commit(s) were added to refs/heads/master by this push:
new 1fe809b734 ISIS-3172: wkt: adds ui debug info (when in XrayWkt mode)
1fe809b734 is described below
commit 1fe809b7344697dc3a00ee498eaef4be46e98846
Author: Andi Huber <[email protected]>
AuthorDate: Thu Aug 25 06:04:45 2022 +0200
ISIS-3172: wkt: adds ui debug info (when in XrayWkt mode)
---
.../ui/components/scalars/ScalarPanelAbstract.java | 2 +-
.../scalars/ScalarPanelFormFieldAbstract.java | 24 +++++++++++++++-----
.../scalars/ScalarPanelFormFieldAbstract_xray.html | 8 +++++--
.../wicket/ui/util/{WktXray.java => XrayWkt.java} | 26 +++++++++++++++++++++-
.../wicketapp/config/WicketViewerXrayEnable.java | 4 ++--
5 files changed, 52 insertions(+), 12 deletions(-)
diff --git
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
index dce2407e73..1158c6bdb3 100644
---
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
+++
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
@@ -72,7 +72,6 @@ import lombok.val;
import
de.agilecoders.wicket.core.markup.html.bootstrap.common.NotificationPanel;
-
public abstract class ScalarPanelAbstract
extends PanelAbstract<ManagedObject, ScalarModel>
implements ScalarModelSubscriber {
@@ -83,6 +82,7 @@ implements ScalarModelSubscriber {
protected static final String ID_SCALAR_NAME = "scalarName";
protected static final String ID_SCALAR_VALUE = "scalarValue";
+ protected static final String ID_XRAY_DETAILS = "xrayDetails";
public enum FormatModifier {
MARKUP,
diff --git
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelFormFieldAbstract.java
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelFormFieldAbstract.java
index 928632ad47..d567781b66 100644
---
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelFormFieldAbstract.java
+++
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelFormFieldAbstract.java
@@ -27,6 +27,9 @@ import org.apache.wicket.markup.html.form.FormComponent;
import org.apache.wicket.model.Model;
import org.springframework.lang.Nullable;
+import org.apache.isis.commons.internal.base._NullSafe;
+import org.apache.isis.commons.internal.base._Strings;
+import org.apache.isis.commons.internal.collections._Maps;
import org.apache.isis.commons.internal.exceptions._Exceptions;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import
org.apache.isis.viewer.wicket.ui.components.scalars.ScalarFragmentFactory.FieldFragement;
@@ -36,7 +39,7 @@ import
org.apache.isis.viewer.wicket.ui.components.scalars.ScalarFragmentFactory
import org.apache.isis.viewer.wicket.ui.components.widgets.bootstrap.FormGroup;
import org.apache.isis.viewer.wicket.ui.util.Wkt;
import org.apache.isis.viewer.wicket.ui.util.WktTooltips;
-import org.apache.isis.viewer.wicket.ui.util.WktXray;
+import org.apache.isis.viewer.wicket.ui.util.XrayWkt;
import lombok.val;
@@ -136,10 +139,19 @@ extends ScalarPanelAbstract2 {
val renderScenario = getRenderScenario();
- //XXX debug (wicket viewer x-ray)
- WktXray.ifEnabledDo(()->{
- val debugInfo = String.format("%s", renderScenario.name());
- Wkt.labelAdd(fieldFrame, "xrayLabel", debugInfo);
+ XrayWkt.ifEnabledDo(()->{
+ // debug (wicket viewer x-ray)
+ val xrayDetails = _Maps.<String, String>newLinkedHashMap();
+ xrayDetails.put("renderScenario", renderScenario.name());
+ xrayDetails.put("inputFragmentType",
getInputFragmentType().map(x->x.name()).orElse("(none)"));
+ xrayDetails.put("formComponent",
_Strings.nonEmpty(formComponent.getClass().getSimpleName())
+ .orElseGet(()->formComponent.getClass().getName()));
+ xrayDetails.put("formComponent.id", formComponent.getId());
+ xrayDetails.put("formComponent.validators (count)",
""+_NullSafe.size(formComponent.getValidators()));
+ xrayDetails.put("scalarModel.disableReasonIfAny",
""+scalarModel().disableReasonIfAny());
+ xrayDetails.put("scalarModel.whetherHidden",
""+scalarModel().whetherHidden());
+ xrayDetails.put("scalarModel.identifier",
""+scalarModel().getIdentifier());
+ Wkt.markupAdd(fieldFrame, ID_XRAY_DETAILS,
XrayWkt.formatAsListGroup(xrayDetails));
});
if(renderScenario.isReadonly()) {
@@ -225,7 +237,7 @@ extends ScalarPanelAbstract2 {
@Override
public String getVariation() {
- return WktXray.isEnabled()
+ return XrayWkt.isEnabled()
? "xray"
: super.getVariation();
}
diff --git
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelFormFieldAbstract_xray.html
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelFormFieldAbstract_xray.html
index be78b667f0..aa738dc115 100644
---
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelFormFieldAbstract_xray.html
+++
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelFormFieldAbstract_xray.html
@@ -97,8 +97,12 @@
<wicket:fragment
wicket:id="fragment-fieldFrame-withoutLink-editing">
<span class="scalarValueInput input-group">
<!-- input format (when editing or action
dialog) -->
- <span wicket:id="xrayLabel"
- class="badge rounded-pill
text-bg-warning">xrayLabel</span>
+
+ <details>
+ <summary><span class="badge
bg-info">Xray</span></summary>
+ <div wicket:id="xrayDetails"
style="font-size: 0.75rem;"></div>
+ </details>
+
<wicket:container
wicket:id="container-scalarValue"/>
diff --git
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/WktXray.java
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/XrayWkt.java
similarity index 62%
rename from
viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/WktXray.java
rename to
viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/XrayWkt.java
index 2a9d88847c..34154e3e78 100644
---
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/WktXray.java
+++
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/XrayWkt.java
@@ -18,13 +18,18 @@
*/
package org.apache.isis.viewer.wicket.ui.util;
+import java.util.Map;
+
+import org.springframework.lang.Nullable;
+
import lombok.Getter;
import lombok.NonNull;
import lombok.Setter;
+import lombok.val;
import lombok.experimental.UtilityClass;
@UtilityClass
-public class WktXray {
+public class XrayWkt {
@Getter @Setter
private boolean enabled = false;
@@ -35,4 +40,23 @@ public class WktXray {
}
}
+ // -- FORMATTERS
+
+ public String formatAsListGroup(final @Nullable Map<String, String>
keyValuePairs) {
+ val sb = new StringBuilder();
+ sb.append("<ul class=\"list-group\">");
+ if(keyValuePairs!=null) {
+ keyValuePairs.forEach((key, value)->{
+ sb
+ .append("<li class=\"list-group-item\">")
+ .append(key)
+ .append(": ")
+ .append("<b>").append(value).append("</b>")
+ .append("</li>");
+ });
+ }
+ sb.append("</ul>");
+ return sb.toString();
+ }
+
}
diff --git
a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/config/WicketViewerXrayEnable.java
b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/config/WicketViewerXrayEnable.java
index 36fc14247e..695d53b872 100644
---
a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/config/WicketViewerXrayEnable.java
+++
b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/config/WicketViewerXrayEnable.java
@@ -22,7 +22,7 @@ import org.apache.wicket.protocol.http.WebApplication;
import org.springframework.context.annotation.Configuration;
import org.apache.isis.viewer.wicket.model.isis.WicketApplicationInitializer;
-import org.apache.isis.viewer.wicket.ui.util.WktXray;
+import org.apache.isis.viewer.wicket.ui.util.XrayWkt;
import org.apache.isis.viewer.wicket.viewer.IsisModuleViewerWicketViewer;
/**
@@ -37,7 +37,7 @@ implements WicketApplicationInitializer {
@Override
public void init(final WebApplication webApplication) {
- WktXray.setEnabled(true);
+ XrayWkt.setEnabled(true);
webApplication.getDebugSettings()
.setOutputMarkupContainerClassName(true);