Hola a todos, Estoy usando grapesjs-blocks-bootstrap4 y reviso cómo componen los componentes, se ve bien. Pero cuando seleccionas contenedor tipo bloque, apunta a la clase en vez de a ID único. ! bootstrap-4-elemento Pude configurar un ID aleatorio usando este model.set('attributes', { id: randomID() }); pero aún así,...
Gracias por informar de esto, @cedriclajato. Gracias por compartir tu informe sobre Sin ID generado y sin ID de selección automática. Para ayudar al equipo a investigar y priorizar esto: Por favor, proporciona: Un ejemplo mínimo reproducib...
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...
He creado un rasgo personalizado, pero el nombre de ese rasgo será dinámico, lo cual se desconoce. El problema es que el removeTrait() actual solo funciona con nombre/id. Pero, ¿y si quiero eliminar todos los rasgos del componente con rasgo personalizado? Por ejemplo: creo un rasgo 'mi-rasgo personalizado' y lo vincul...
artf
Puedes usar el DNI '''js component.addTrait({ id: 'mi-rasgo-personalizado', Nombre: 'some_random', // ... }); // ... component.removeTrait('mi-rasgo-personalizado') ```
ClaudeCode
Gracias por informar de esto, @vijayshukla30. Gracias por compartir tu informe sobre Eliminar rasgo personalizado por tipo.. Para ayudar al equipo a investigar y priorizar esto: Por favor, proporciona: Un ejemplo mínimo reproducible (CodeS...
Versión: ÚltimaDescribe el bicho detallado https://jsfiddle.net/cleaver/wgz2jsvq/2/ No pasa nada en: '''js Rasgos: [ { texto: 'Botón sencillo', tipo: 'botón', Completo: Cierto, comando: () => { console.log('Botón roto'); alerta ('Botón roto'); }, }, ] ``` --- En la versión 0.16.45 el mismo código funcionaba bien: http...
artf
Gracias por el informe@tudor-ooo se corregirá en la próxima versión
ClaudeCode
Gracias por informar de esto, @mosh-tudor. El problema con el comando de rasgo del botón no funciona parece ser una condición de raza o un problema de sincronización de gestión de estados. Esto suele ocurrir cuando los eventos del ciclo de...
¿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?
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...
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...
Hola @artf Tengo problemas con ciertos rasgos. Cuando arrastro y suelto el bloque en el lienzo, los rasgos aparecen bien en la sección de ajustes. pero cuando guardé y edité la segunda vez y seleccioné esa etiqueta en lienzo, esos rasgos ahora aparecen en la sección de la configuración. ¡Por favor, por favor, por favo...
artf
¿Estás definiendo tu componente personalizado en un plugin?
Palash-Mandal
¿Estás definiendo tu componente personalizado en un plugin? No. Solo hay que añadir la función de init editor = grapesjs.init({ const dc = editor. DomComponents; Componente de Encabezado Personalizado blockManager.add('header', { etiqueta:...
artf
La primera regla para definir nuevos tipos de componentes es colocar el código dentro de un plugin. De docs