Обернуть виджет GWT в веб-компонент - PullRequest
1 голос
/ 14 марта 2020

Я пытаюсь использовать gwt с веб-компонентом, я хотел бы повторно использовать некоторые виджеты, оборачивая их (и использовать их в сценарии с микро-интерфейсом, но один шаг за раз). Я использую jsinterop в фиктивном проекте, но не могу использовать свой виджет в части javascript. Я использую @JsType, чтобы поделиться некоторыми классами (виджетами и тем, что они должны отображать), вот фрагмент моего простого веб-компонента:

import './gwtjs/gwtjs.nocache.js';
window.customElements.define('effort-component', class EffortComponent extends HTMLElement {
  constructor() {
    super();
    this._shadowRoot = this.attachShadow({ 'mode': 'open' });
  }

  connectedCallback() {
    console.log('connected!');

    var actv1 = new edu.pezzati.gwtjs.client.provided.model.Activity;
    ...
    var model = [];
    model[0] = [actv1, actv2];
    model[1] = [eff1, eff2, eff3];

    var effortTable = edu.pezzati.gwtjs.client.provided.EffortTable();
    this._shadowRoot.appendChild(effortTable);
    effortTable.refresh(model);
  }
});

когда компонент подключен, я получаю:

gwtjs.component.js:11 Uncaught ReferenceError: edu is not defined
at HTMLElement.connectedCallback (gwtjs.component.js:11)
at gwtjs.component.js:2

Я использую gwt 2.8.1, mojo's gwt-maven-plugin 2.8.1 с флагом <generateJsInteropExports>true</generateJsInteropExports> для использования JsInterop. Вы можете найти проект здесь .

...