Issue #1893💬 RespondidoAbierto el 14 de marzo de 2019por trivago-vgarciaReacciones 1

Por definición, todos los bloques tienen que tener el mismo estilo

Respuesta rápidapor artf1

En primer lugar, tu ejemplo/problema no tiene nada que ver con el renderizado personalizado en bloques (lo usarías para personalizar la interfaz de los bloques, no de los componentes del lienzo). Una solución es establecer esa clase privada

Lee la respuesta completa abajo ↓

Pregunta

Estamos usando blockManager, como puedes ver en el ejemplo publicado en codesandbox, siguiendo la documentación relacionada con el renderizado personalizado. El comportamiento inesperado para nosotros es que cada vez que un usuario edita los estilos de un bloque, todos los bloques se actualizan con ese estilo, porque el estilo se ha establecido en la clase usada en el bloque, en este caso .row-cell.

  • ¿Es este el comportamiento esperado?
  • ¿Cómo podemos evitarlo?

¡Gracias!

Referencias: https://codesandbox.io/s/wkr3oqxpw8 https://grapesjs.com/docs/modules/Blocks.html#custom-render

Respuestas (3)

artf22 de marzo de 2019

En primer lugar, tu ejemplo/problema no tiene nada que ver con el renderizado personalizado en bloques (lo usarías para personalizar la interfaz de los bloques, no de los componentes del lienzo).

Una solución es establecer esa clase privada

trivago-vgarcia27 de marzo de 2019

@artf ¡Gracias por la respuesta! Perdona, porque el ejemplo no era claro. Me pasa en todos los casos, quiero decir, incluso cuando están definidos en la plantilla por defecto, y no solo cuando se añade un nuevo selector. Así que usar 'selector:add' no arreglará todos los casos.

¿Tienes alguna otra sugerencia? ¡Gracias!

artf29 de marzo de 2019

Ocurre en todos los casos, quiero decir, incluso cuando están definidos en la plantilla por defecto, y no solo cuando se añade un nuevo selector. Así que usar selector:add no arreglará todos los casos.

'selector:add' se activa incluso cuando se añade una nueva clase desde el análisis sintáctico. Así que colócalo como un plugin, para que se adjunte antes de cargar la plantilla y cualquier nueva clase sea pasada por el oyente

Preguntas y respuestas relacionadas

Continúa investigando con debates sobre temas similares.

Plugins de pago que cumplen con este problema

Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.

Ver todos los plugins

Cargando recomendaciones de plugins de pago...

Opción gratuita

Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.

Explora plugins gratuitos →
Opción premium

Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.

Explora plugins premium →

Tutoriales relacionados

Guías detalladas sobre el mismo tema.

Todos los tutoriales →

Explorar categorías de plugins

Ve directamente a las páginas de categorías de plugins en el marketplace.