Issue #727💬 RespondidoAbierto el 8 de enero de 2018por kevinalvarezReacciones 3

Dos dispositivos con el mismo ancho

Respuesta rápidapor kevinalvarez1

Mira esta demo: https://jsfiddle.net/9w2g8su5/1/ Tengo 4 dispositivos. General y Desktop tienen el mismo ancho. Si cambio de General a Escritorio (o viceversa), no puedo seleccionar ni editar ningún componente del lienzo hasta seleccionar otro dispositivo con diferente ancho

Lee la respuesta completa abajo ↓

Pregunta

Hola a todos, Tenemos un escenario en el que necesitamos tener dos dispositivos con el mismo ancho. Casi todo funciona bien, pero cuando intentamos cambiar entre estos dispositivos (mismo ancho), los elementos de la vista previa no responden hasta que cambiamos otro dispositivo con diferente tamaño.

¿Alguna idea?

¡Gracias!

Respuestas (3)

kevinalvarez9 de enero de 2018

Mira esta demo: https://jsfiddle.net/9w2g8su5/1/ Tengo 4 dispositivos. General y Desktop tienen el mismo ancho. Si cambio de General a Escritorio (o viceversa), no puedo seleccionar ni editar ningún componente del lienzo hasta seleccionar otro dispositivo con diferente ancho

ryandeba10 de enero de 2018

Hola a todos,

He investigado un poco sobre esto, creo que el problema empieza dentro de 'FrameView.updateDim()' cuando se llama a 'em.stopDefault()', que detiene 'select-comp' (el comando por defecto) hasta que se completa la transición de redimensionamiento. Como las dimensiones no han cambiado, no hay transición de redimensionamiento, 'FrameView.updateOffset()' nunca se ejecuta, por lo que el comando 'select-comp' nunca se vuelve a iniciar. En código, esto se ejecuta, luego esto se ejecuta, y esto se espera que se ejecute después de que termina la transición, pero nunca lo hace. No sé cuál es la solución, pero aquí tienes un jsfiddle que replica el problema tras 2 segundos (mira el setTimeout al final) sin alterar los dispositivos en absoluto.

¿Es necesario llamar 'em.stopDefault()' dentro de 'FrameView.updateDim()'? Supongo que hay una buena razón para ello, pero no estoy seguro de cuál es.

@kevinalvarez - aquí tienes una solución improvisada si necesitas encontrar una solución funcional ahora mismo: jsfiddle

artf11 de enero de 2018

¿Es necesario llamar a em.stopDefault() dentro de FrameView.updateDim()? Supongo que hay una buena razón para ello, pero no estoy seguro de cuál es.

Está ahí para evitar que la caja de resaltado fija aparezca cuando pasas el cursor por componentes durante la animación 😬

Pondré una corrección que comprobará el cambio de dimensión, de lo contrario se activará inmediatamente el 'udpateOffset'

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.