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 7f1e3127b3 ISIS-3122: adds vega java-script resource
7f1e3127b3 is described below
commit 7f1e3127b32b40e8b7d038893b002411705b8efe
Author: andi-huber <[email protected]>
AuthorDate: Fri Sep 30 10:27:45 2022 +0200
ISIS-3122: adds vega java-script resource
---
.../vega/ui/wkt/components/VegaComponentWkt.java | 8 ++++
.../vega/ui/wkt/components/js/VegaJsReference.java | 56 ++++++++++++++++++++++
.../vega/ui/wkt/components/js/vega.min.js | 2 +
.../components/scalars/markup/MarkupComponent.java | 2 +-
4 files changed, 67 insertions(+), 1 deletion(-)
diff --git
a/valuetypes/vega/ui/wicket/src/main/java/org/apache/isis/valuetypes/vega/ui/wkt/components/VegaComponentWkt.java
b/valuetypes/vega/ui/wicket/src/main/java/org/apache/isis/valuetypes/vega/ui/wkt/components/VegaComponentWkt.java
index 19003502f8..43c2b4bf85 100644
---
a/valuetypes/vega/ui/wicket/src/main/java/org/apache/isis/valuetypes/vega/ui/wkt/components/VegaComponentWkt.java
+++
b/valuetypes/vega/ui/wicket/src/main/java/org/apache/isis/valuetypes/vega/ui/wkt/components/VegaComponentWkt.java
@@ -18,9 +18,11 @@
*/
package org.apache.isis.valuetypes.vega.ui.wkt.components;
+import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.model.IModel;
import org.apache.isis.applib.value.semantics.Renderer.SyntaxHighlighter;
+import org.apache.isis.valuetypes.vega.ui.wkt.components.js.VegaJsReference;
import
org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupComponent;
public class VegaComponentWkt extends MarkupComponent {
@@ -34,4 +36,10 @@ public class VegaComponentWkt extends MarkupComponent {
.build());
}
+ @Override
+ public void renderHead(final IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(VegaJsReference.asHeaderItem());
+ }
+
}
diff --git
a/valuetypes/vega/ui/wicket/src/main/java/org/apache/isis/valuetypes/vega/ui/wkt/components/js/VegaJsReference.java
b/valuetypes/vega/ui/wicket/src/main/java/org/apache/isis/valuetypes/vega/ui/wkt/components/js/VegaJsReference.java
new file mode 100644
index 0000000000..57e6ec9b74
--- /dev/null
+++
b/valuetypes/vega/ui/wicket/src/main/java/org/apache/isis/valuetypes/vega/ui/wkt/components/js/VegaJsReference.java
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.valuetypes.vega.ui.wkt.components.js;
+
+import org.apache.wicket.markup.head.JavaScriptHeaderItem;
+import org.apache.wicket.markup.head.JavaScriptReferenceHeaderItem;
+import org.apache.wicket.request.resource.JavaScriptResourceReference;
+
+import lombok.Getter;
+import lombok.experimental.Accessors;
+
+/**
+ * Provides a local copy of https://vega.github.io/vega/vega.min.js
+ * <p>
+ * Unfortunately the webjar {@code org.webjars.npm:vega:5.22.1} cannot be used,
+ * as (at time of writing) <i>Maven</i> fails to resolve all its dependencies.
+ * <p>
+ * LICENSE <a
href="https://vega.github.io/vega/vega/blob/main/LICENSE">BSD-3-Clause
license</a>
+ * @since 2.0
+ */
+public class VegaJsReference
+extends JavaScriptResourceReference {
+ private static final long serialVersionUID = 1L;
+
+ @Getter(lazy = true) @Accessors(fluent = true)
+ private static final VegaJsReference instance =
+ new VegaJsReference();
+
+ public static JavaScriptHeaderItem asHeaderItem() {
+ return
JavaScriptReferenceHeaderItem.forReference(VegaJsReference.instance());
+ }
+
+ /**
+ * Private constructor.
+ */
+ private VegaJsReference() {
+ super(VegaJsReference.class, "vega.min.js");
+ }
+
+}
diff --git
a/valuetypes/vega/ui/wicket/src/main/java/org/apache/isis/valuetypes/vega/ui/wkt/components/js/vega.min.js
b/valuetypes/vega/ui/wicket/src/main/java/org/apache/isis/valuetypes/vega/ui/wkt/components/js/vega.min.js
new file mode 100644
index 0000000000..a3dd8d5e02
--- /dev/null
+++
b/valuetypes/vega/ui/wicket/src/main/java/org/apache/isis/valuetypes/vega/ui/wkt/components/js/vega.min.js
@@ -0,0 +1,2 @@
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof
module?e(exports):"function"==typeof
define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof
globalThis?globalThis:t||self).vega={})}(this,(function(t){"use
strict";function e(t,e,n){return t.fields=e||[],t.fname=n,t}function
n(t){return null==t?null:t.fname}function r(t){return
null==t?null:t.fields}function i(t){return 1===t.length?o(t[0]):a(t)}const
o=t=>function(e){return e[t]},a=t=>{const e=t.length;return functi [...]
+//# sourceMappingURL=vega.min.js.map
diff --git
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/markup/MarkupComponent.java
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/markup/MarkupComponent.java
index 2f43201aaa..3e8fbfc1d7 100644
---
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/markup/MarkupComponent.java
+++
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/markup/MarkupComponent.java
@@ -77,7 +77,7 @@ public class MarkupComponent extends WebComponent {
// --
@Override
- public final void renderHead(final IHeaderResponse response) {
+ public void renderHead(final IHeaderResponse response) {
super.renderHead(response);
options.highlightBehavior().renderHead(response);
}