'''js editor.on('bloque:click', (bloqueo) => { console.log(bloqueo) }) ``` ¿O hay alguna forma de escuchar el evento de clic en el bloque?
artf
Bueno, de hecho puedes usar render personalizado de bloques para aplicar eventos DOM personalizados. '''js blockManager.add('some-block-id', { // ... Definición de bloque render: ({ model, el }) => { el.addEventListener('click', () => { co...
Gracias por informar de esto, @iabhiyaan. Buena pregunta sobre FEAT: añadir evento de clic en los bloques. El enfoque recomendado con GrapesJS es usar la API orientada a eventos. Empieza aquí: Consulta la documentación de GrapesJS de tu mó...
He notado que se está usando una versión anterior de Font Awesome versión 4.7. Uso la versión 5.2 de fontawesome y parece que causa problemas cuando se carga junto a la versión usada con Grapes JS; algunas fuentes no cargan o los nombres de las clases han cambiado en el nuevo conjunto de caracteres de Fontawesome. ¿Có...
artf
Puedes cambiar esta opción en init: https://github.com/artf/grapesjs/blob/88249c38577852dc3c42047356a70a12066ee6ca/src/editor/config/config.js#L165-L168
ClaudeCode
Gracias por informar de esto, @snowballrandom. Buena pregunta sobre *. El enfoque recomendado con GrapesJS es usar la API orientada a eventos. Empieza aquí: Consulta la documentación de GrapesJS de tu módulo específico Busca el método del...
¿Qué intentas añadir a GrapesJS? El componente debería poder marcarse como sucio, activando el mensaje de advertencia 'onbeforeunload'. Describe tu solicitud de función detallado Tengo un componente de texto (personalizado) donde el usuario puede introducir texto arbitrario. Estoy almacenando los datos en mi servidor...
anlumo
Solucioné esto desactivando completamente el manejo onbeforeunload y creando el mío propio.
artf
El editor tiene la propiedad 'editar' que cambia cada vez que el RTE está activado o desactivado, así que supongo que, en tu caso, esto debería funcionar '''js editor.on('change:editing', (em, editing) => { window.onbeforeunload = edición...
anlumo
¿No se sobrescribiría este manejador onbeforeunload después por el fragmento que mencioné antes?
¿Hay alguna forma de añadir una nueva sección después del componente seleccionado usando grapesjs?
artf
Puedes hacerlo de esta manera: '''js const cmp = editor.getSelected(); cmp.parent().append('<section>...</section>', { at: cmp.index() + 1 }); ```
ClaudeCode
Gracias por informar de esto, @iabhiyaan. Buena pregunta sobre FEAT: insertAdjacentHTML('afterend', '<section></section>'). ¿Existe alguna API así en grapesjs? El enfoque recomendado con Componentes es utilizar la API orientada a eventos....
Versión: 0.17.4 ¿Puedes reproducir el error de la demo?[ ] Sí[X] No ¿Cuál es el comportamiento esperado?Tras insertar un iFrame que el src se devuelve al usar 'editor.getHTML()'Al cargar una página, esos iframes serán reconocidos como componentes iframe y volverán a ser editables Describe el error detallado Estoy añad...
artf
Añadiré soporte para iframe en la próxima versión
ClaudeCode
Gracias por informar de esto, @TheDude70. El problema con iframe no guarda src / no reconoce iframes tras carga parece ser una condición de carrera o un problema de gestión de estado. Esto suele ocurrir cuando los eventos del ciclo de vida...
Hola, Por ejemplo, si añades un bloque de 3 columnas a una página y tratas de arrastrar una imagen muy amplia a cada columna, el contenido se estira y el exceso queda oculto. ¿Cómo añadimos una barra de desplazamiento vertical o forzamos al editor a limitar el tamaño visible de las imágenes cuando se arrastran hacia d...
artf
Esto es más un problema de diseño que puedes solucionar fácilmente añadiendo tu CSS a todas las imágenes, por ejemplo. 'img { max-width: 100%; }`
ClaudeCode
Gracias por informar de esto, @samichamoun. Buena pregunta sobre Las imágenes grandes hacen que el área del editor de contenidos sea inaccesible. El enfoque recomendado con GrapesJS es usar la API orientada a eventos. Empieza aquí: Consult...
Solo como prefacio, el problema que describo no afecta al contenido generado por el editor, simplemente se observa el contenido dentro del editor. Supongamos que creo dos columnas en el editor. Ambos tienen un 50% de ancho cada uno. Si arrastro una imagen grande a una de estas celdas, la celda se expande mucho en la a...
ClaudeCode
Gracias por informar de esto, @samichamoun. Buena pregunta sobre las imágenes grandes que reproducen el ancho de columna en la vista del editor. El enfoque recomendado con GrapesJS es usar la API orientada a eventos. Empieza aquí: Consulta...
Hola, ahora mismo grapesjs ofrece propiedades integradas como margen y relleno que permiten al usuario cambiar cada propiedad una a una (margen arriba, margen abajo, etc.). Sería bueno poder cambiar todas estas propiedades juntas. Por ejemplo, tener algún botón de bloqueo, cuando esté activado cambiará todas las propi...
artf
Sí, eso estaría bien, pero desafortunadamente, GrapesJS aún no tiene el módulo de interfaz adecuado que permita crear fácilmente nuevos componentes reutilizando otros, así que 'StyleManager.addType' es la única opción, pero en ese caso, de...
ClaudeCode
Gracias por informar de esto, @kuhelbeher. ¡Gran sugerencia sobre LOGRO: ¡Capacidad de cambiar todas las propiedades de margen, relleno, etc. juntos! Aunque esta función específica aún no está en la API principal, existen varias formas de...
Consideremos un bloque simple: Cuando se arrastra al lienzo, este componente se puede seleccionar y es posible modificar sus ajustes. Ahora, hago esto para añadir la misma entrada en una tarjeta: '$(someElement).find(".card").html('<input type="text"/>');' La entrada se añade con éxito, pero no se comporta como antes....
ClaudeCode
Gracias por informar de esto, @ahmedderkaoui. Buena pregunta sobre Element inyectado como HTML en canvas que no se comporta como un componente. El enfoque recomendado con StyleManager es usar la API orientada a eventos. Empieza aquí: Consu...
Hola @artf, Muchísimas gracias por la ayuda anterior. Estoy más novato en desarrollo. Por favor, ayudadme con lo siguiente Necesito un modal donde reciba la entrada del usuario, como nombre de bloque, categoría, HTML, CSS, JS y luego haga clic en guardar para guardarlo como nuevo gestor de bloques. Significa cómo pasa...
artf
Por favor, sigue la plantilla del problema
ClaudeCode
Gracias por informar de esto, @Palash-Mandal. Buena pregunta sobre *. El enfoque recomendado con StyleManager es usar la API orientada a eventos. Empieza aquí: Consulta la documentación de GrapesJS de tu módulo específico Busca el método d...