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 2022/10/01 02:32:28 UTC
[isis] branch master updated: ISIS-3122: fixes vega script variable scope
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 c501bd8e07 ISIS-3122: fixes vega script variable scope
c501bd8e07 is described below
commit c501bd8e07ee8ef46756b8fb7580179bc4d890ec
Author: andi-huber <ah...@apache.org>
AuthorDate: Sat Oct 1 04:32:21 2022 +0200
ISIS-3122: fixes vega script variable scope
---
.../src/main/java/demoapp/dom/menubars.layout.xml | 2 +-
.../dom/types/isisval/IsisValTypesMenu.java | 4 +-
.../metamodel/semantics/VegaValueSemantics.java | 50 ++++++++++++++--------
3 files changed, 34 insertions(+), 22 deletions(-)
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/menubars.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/menubars.layout.xml
index d43a63213f..8a14d280ef 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/menubars.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/menubars.layout.xml
@@ -233,7 +233,7 @@ For latest we use: https://raw.githubusercontent.com/apache/isis/master/antora/s
<mb3:named>Apache Isis Values</mb3:named>
<mb3:serviceAction objectType="demo.IsisValTypesMenu" id="asciiDocs"/>
<mb3:serviceAction objectType="demo.IsisValTypesMenu" id="markdowns"/>
- <mb3:serviceAction objectType="demo.IsisValTypesMenu" id="vegas"/>
+ <mb3:serviceAction objectType="demo.IsisValTypesMenu" id="vegaCharts"/>
</mb3:section>
<mb3:section>
<mb3:named>Apache Isis Extensions</mb3:named>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisval/IsisValTypesMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisval/IsisValTypesMenu.java
index 6977d24122..bfb54a575b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisval/IsisValTypesMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisval/IsisValTypesMenu.java
@@ -54,8 +54,8 @@ public class IsisValTypesMenu {
}
@Action(semantics = SemanticsOf.SAFE)
- @ActionLayout(cssClassFa="fa-pen-fancy")
- public IsisVegas vegas(){
+ @ActionLayout(cssClassFa="fa-chart-gantt")
+ public IsisVegas vegaCharts(){
return new IsisVegas();
}
diff --git a/valuetypes/vega/metamodel/src/main/java/org/apache/isis/valuetypes/vega/metamodel/semantics/VegaValueSemantics.java b/valuetypes/vega/metamodel/src/main/java/org/apache/isis/valuetypes/vega/metamodel/semantics/VegaValueSemantics.java
index 47a772bb20..cb0a1a27e4 100644
--- a/valuetypes/vega/metamodel/src/main/java/org/apache/isis/valuetypes/vega/metamodel/semantics/VegaValueSemantics.java
+++ b/valuetypes/vega/metamodel/src/main/java/org/apache/isis/valuetypes/vega/metamodel/semantics/VegaValueSemantics.java
@@ -94,25 +94,37 @@ implements
private String asHtml(final @NonNull Vega vega) {
val containerId = "vegaContainer" + UUID.randomUUID().toString();
- val htmlFragment = String.format(""
- + "<div id=\"%1$s\"></div>\n"
- + "<script type=\"text/javascript\">\n"
- + "var spec = %2$s;\n"
- + "document.addEventListener('DOMContentLoaded', (event) => {\n"
- + " view = new vega.View(vega.parse(spec), {\n"
- + " renderer: '%3$s',\n"
- + " container: '#%1$s',\n"
- + " hover: %4$b \n"
- + " });\n"
- + " view.runAsync();\n"
- + "});"
- + "</script>",
- containerId,
- vega.getJson(),
- "canvas", // renderer (canvas or svg)
- true // enable hover processing
- );
- return htmlFragment;
+ switch (vega.getSchema()) {
+ case VEGA: {
+ val htmlFragment = String.format(""
+ + "<div id=\"%1$s\"></div>\n"
+ + "<script type=\"text/javascript\">\n"
+ + "document.addEventListener('DOMContentLoaded', (event) => {\n"
+ + " var spec = %2$s;\n"
+ + " var view = new vega.View(vega.parse(spec), {\n"
+ + " renderer: '%3$s',\n"
+ + " container: '#%1$s',\n"
+ + " hover: %4$b \n"
+ + " });\n"
+ + " view.runAsync();\n"
+ + "});"
+ + "</script>",
+ containerId,
+ vega.getJson(),
+ "canvas", // renderer (canvas or svg)
+ true // enable hover processing
+ );
+ return htmlFragment;
+ }
+ case VEGA_LITE: {
+ val htmlFragment = String.format(""
+ + "<div id=\"%1$s\">VEGA-LITE TODO</div>\n",
+ containerId);
+ return htmlFragment;
+ }
+ default:
+ return "<!-- emtpy Vega (unsupported schema) -->";
+ }
}
// -- PARSER