Arrastrar desde la barra de herramientas puede estar desactivado (dragMode)
Oh, intenté encontrarlo antes de denunciar pero no pude. Gracias. Entonces cerraré esta.
Lee la respuesta completa abajo ↓Pregunta
Aquí tienes una demostración funcional del número
Pasos para reproducirse:
- Seleccionar un componente
- Prueba a arrastrarlo desde la barra de herramientas
Puedes ver que inmediatamente el componente salta hacia la izquierda. Aunque funciona bien si intentas arrastrar el componente solo (y no usar la barra de herramientas).
Esto solo ocurre si Grapesjs se carga desde a con margen y no empieza desde 'x:0'
La razón por la que ocurre es esta:
En ambos casos de arrastrar desde la barra de herramientas o desde el propio componente, se llama al comando 'tlb-move'. 'tlb-move' acepta un argumento de 'evento' y la posición del elemento se calcula usando 'evento.clienteX'.
Cuando arrastras el componente, dado que el componente está dentro del iframe, su clientX es relevante para el documento y todo va bien.
Pero el botón de barra de herramientas no está en el lienzo o en iframe. Por lo tanto, un evento originado desde 'ToolbarButtonView' es relevante para la página, no para el lienzo.
Aquí tienes una descripción visual:
La solución ideal sería calcular clientX y clientY de ToolbarIconView en relación con el lienzo antes de pasarlos al comando 'tlb-move'.
Si aceptas ese parche, puedo empezar con uno.
Respuestas (3)
Oh, intenté encontrarlo antes de denunciar pero no pude. Gracias. Entonces cerraré esta.
@emilsedgh hay un debate abierto sobre esto aquí
Esto se arregló en la última versión, ¿verdad?
Necesito una solución cuando arrastro fuera de iframe en dispositivos móviles
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #1321
[Error]: El componente de imagen no se elimina
El error es reproducible en la página de demostración de GrapesJ. Pasos para reproducirse:Arrastrar y soltar o seleccionar un componente de...
Issue #1033
[BUG]: Cuando se usan IDs, no es posible actualizar o eliminar un estilo
Pasos para reproducirsehttps://jsfiddle.net/1cjjr02p/Haz clic en el texto del editor, cambia el color de fondo.Exportar CSS. Verás que exis...
Issue #6409
No se puede arrastrar para mover componentes en móvil
Versión GrapesJS [x] Confirmo que uso la última versión de GrapesJS ¿Qué navegador usas? Chrome v133 Enlace de demo reproducible https://js...
Issue #4323
Problemas de rendimiento al arrastrar un componente a un lienzo cuando tienes 2k componentes en lienzo
Versión GrapesJS[X] Confirmo que se debe usar la última versión de GrapesJS¿Qué navegador usas? Google Chrome Versión 101.0.4951.41 (Versió...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
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 →Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.
Explora plugins premium →Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.