Solved!
Had to remind myself of having to assign my custom element to the window
object, see https://github.com/gwtproject/gwt/issues/9500
.i.e in my HTML:
customElements.define("my-app", MyApp);
window.MyApp = MyApp; // This additional line is required
.. and in GWT I had to use name="MyApp", or rename class to MyApp
@JsType(isNative = true, name="MyApp", namespace = JsPackage.GLOBAL)
public class MyAppElement extends HTMLElement {
...
}
On Thursday, April 27, 2017 at 2:36:06 PM UTC+2, Anders Forsell wrote:
>
> Hello again,
>
> I have a custom element defined in HTML and trying to communicate with it
> from GWT and with JsInterop.
>
> Similar to how I can create a div element and cast it to the Elemental 2
> HTMLDivElement, I have defined MyAppElement extending Elemental 2
> HTMLElement
> and using the same JsInterop annotations as for HTMLDivElement:
>
> @JsType(isNative = true, namespace = JsPackage.GLOBAL)
> public class MyAppElement extends HTMLElement {
> ...
> }
>
> The following works fine:
>
> Element element = DomGlobal.document.createElement("div");
> HTMLDivElement divElement = (HTMLDivElement) element;
>
>
> ... but for my custom element I cannot cast it to MyAppElement:
>
> Element element = DomGlobal.document.createElement("my-app");
> MyAppElement myAppElement = (MyAppElement) element; // Throws
> ClassCastException
>
> What am I missing?
>
>
--
You received this message because you are subscribed to the Google Groups "GWT
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.