Arrastrar contenido externo a Canvas
Estoy aclarando lo que quiero conseguir: Tengo unos 100+ fragmentos de html que uso en el constructor 'hecho a mano' actual y necesito migrarlos a GrapesJS. Para mi sorpresa, esto no parece un trabajo sencillo. Actualmente, con 2 funciones Ajax consigo lo que se necesita. a) ajax + scan_dir para listar todos los archi...
Lee la respuesta completa abajo ↓Pregunta
Estoy intentando añadir funcionalidad de d&d desde un modal que lista un montón de archivos html (fragmentos de html)... Al lienzo del editor. Cada uno de ellos encierra el contenido con un '<section>'
Intenté usar 'canvas:dragdata' para permitir soltar en el lienzo
editor.on('canvas:dragdata', (dataTransfer, result) => {
if(el.tagName == 'SECTION' && el.classList.contains('section')){
result.content = { type: 'text/html'}
}
});
Según entendí, esto es para extender los tipos de archivo que se pueden eliminar, GrapesJS soporta texto + imagen, ¿así que el enfoque anterior debería funcionar?
Mientras tanto, y después de trastear con 'Editor. DomComponents.addType' Estoy cambiando el alcance de mi problema... ver comentario abajo
Respuestas (2)
Estoy aclarando lo que quiero conseguir: Tengo unos 100+ fragmentos de html que uso en el constructor 'hecho a mano' actual y necesito migrarlos a GrapesJS. Para mi sorpresa, esto no parece un trabajo sencillo. Actualmente, con 2 funciones Ajax consigo lo que se necesita. a) ajax + scan_dir para listar todos los archivos dentro de un directorio (archivo imagen y html) b) el usuario hace clic (o arrastra) la imagen (vista previa) en la div editable y Ajax recupera el archivo html correspondiente, colocándolo donde se desea. ¡Hecho!
¿Cómo puede GrapesJS solucionar esto?
Al menos, esperaba que el texto/html con etiquetas html5 estándar estuviera soportado para arrastrarse al canvas del editor, desde fuera del editor.
EDITO: El HTML en bruto se puede arrastrar al editor desde fuera, esto podría ser una solución alternativa según veo, sin tener que lidiar con componentes y bloques para cada necesidad
Aquí puedes encontrar cómo hacerlo https://github.com/artf/grapesjs/issues/2595
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #2961
BUG: Los componentes en modal personalizado no son editables
Hola, estoy intentando añadir un bloque modal personalizado a mi proyecto y quiero cambiar el contenido de este modal también con arrastrar...
Issue #2768
[PREGUNTA] ¿Puedo añadir un oyente cuando el usuario arrastra un elemento en el lienzo?
Hola, GrapesJS tiene un montón de eventos que se pueden escuchar con editor.on. Uno de ellos es 'canvas:drop'. Pero solo se activa cuando s...
Issue #1263
¿Cómo puedo incrustar un modal y poder editarlo en mi contenido html?
Buen día Estoy intentando añadir un modal a mi html, pude añadir un modal en el gestor de bloques pero me cuesta encontrar formas de editar...
Issue #2399
Componente SVG no arrastrable
Hola, Estoy usando grapesjs en angular 7. Lo que quiero conseguir cuando llama cada método de caída de canvas es añadir un componente svg e...
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.