¿cómo hago uso de las funcionalidades particulares de los componentes?

Hola:

Estoy estudiando Vaadin Flow a través del Web Binar “Introducción a Vaadin 10 en Español”. Estoy muy interesado en poder utilizar los componentes web html, logré reproducir el ejemplo donde utilizaron el componente “Monaco-Editor”. Sin embargo tengo algunas dudas cuando se trata de generalizar el conocimiento y hacer lo mismo con otros componentes.

Por ejemplo, ¿cómo aprovecho las funcionalidades particulares de los componentes?, es decir, las que son propias del componente y no las de la clase “Component”. Si me nueva clase que envuelve al componente (“MonacoEditor” en el ejemplo) extiende de la “Component”, solo verá los métodos definidos en “Component”. Por el Web binar, entendí que la idea es que Vaadin brinda una serie de interfaces que debemos implementar en la medida de lo que necesitemos. En el ejemplo implementaron la interface “HasSize” porque la misma tiene los métodos que necesitaban, pero no vi que hicieran uso de ninguna de las funcionalidades particulares del componente " Monaco-Editor". Lo único genérico que vi fue la lectura y actualización de una propiedad a través de “getElement().setProperty” y de “getElement().getProperty”. De esto último infiero que cada vez que necesite actualizar o leer una propiedad de un componente html, solo tengo que identificar el nombre de la propiedad y hacer uso de estos métodos. Pero… ¿y cómo hago para invocar a funcionalidades más especificas de los componentes?, por ejemplo, quiero utilizar un “Calendario” para hacer reservaciones de espacios de tiempos, ahí tendré que utilizar muchas otras funcionalidades.

¿Alguna recomendación para leer?

Saludos.

Hola Manuel,

Para el caso del Calendario creo que podrias usar la extension de Full Calendar Scheduler, sin embargo te recomiendo revisar la licencia.
https://vaadin.com/directory/component/full-calendar-web-component

Sobre las funcionalidades particulares de cada componente, puedes revisar los ejemplos que vienen en los demos:
https://polymervis.github.io/monaco-editor/build/demo/

Y tambien puedes encontrar mas documentacion sobre su uso aqui:
https://www.webcomponents.org/element/PolymerVis/monaco-editor

Espero te sirva!
Saludos

Gracias por la respuesta.

Aprendí intentando reutilizar el componente “Carousel Addon”. Como no pude utilizarlo por razones que aún desconozco(ver https://vaadin.com/directory/component/carousel-addon/discussions ), me puse a revisar su código y vi que lo habían construido a partir del web component “l2t-paper-slider”. Hice lo mismo y copie el código de “Carousel Addon” y todo me funcionó. Ahí me percaté de cómo logran acceder a las funcionalidades específicas del componente “l2t-paper-slider”.

https://vaadin.com/forum/thread/17656888/17659591