¿Qué intentas añadir a GrapesJS? Mejor soporte para Shadow DOM, que permite a los desarrolladores renderizar GrapesJS dentro de un elemento Shadow sin tener que pasar elementos específicamente en lugar de selectores en la configuración. Describe tu solicitud de función detallado Cuando actualmente se usan selectores d...
artf
Hola @AStoker no entiendo cuál es el verdadero problema con tu ejemplo (aparte de no cargar estilos GrapesJS dentro de tu dom de sombras). Si estás añadiendo shadow dom, obviamente no puedes hacer este 'contenedor: '#gjs'', pero aún puedes...
AStoker
El problema es que debo pasar elementos HTML por todas partes y no puedo usar selectores. Esto puede volverse engorroso de escribir, ya que ahora debo usar el selector de consultas del Dom sombra para cada viñeta, cada elemento, cualquier...
AStoker
Actualicé el JSFiddle para que veáis lo que tenemos que hacer para conseguir estilos dentro de Shadow DOM. Pero, desafortunadamente, el CSS que GrapesJS añade automáticamente existe en el cuerpo y contamina las hojas de estilo globales y e...
Para reducir la posible superficie de ataque si el editor se usa en entornos "hostiles" (por ejemplo, en plataformas SaaS), se requiere soporte para CSP. Esto también evitará problemas como https://github.com/artf/grapesjs/issues/3082 Actualmente, el único problema que impide reglas CSP efectivas es el uso de 'new Fun...
artf
Vale, entonces intentaré arreglarlo para la próxima entrega.
artf
Mmm, no estoy seguro de cómo puedo arreglarlo exactamente y a qué te refieres con '¿el uso de new Function() está en el código GrapesJS', si no hay tal cosa en el código?
aimeos
Descubrí que está en los archivos dist por underscore.js método template() que usa 'new Function()'. Creo que esto dificultará reemplazar o eliminar esa dependencia para hacer cumplir un CSP sin 'evaluación insegura'.
Tengo algunas plantillas que se generaron con la v0.14.5. ¿Cómo puedo "actualizarlas" a la última versión? Tienen clases asociadas y veo que la versión más reciente ya no añade clases a los elementos. Contexto: usamos componentes a medida y algunos valores predeterminados (por ejemplo, arrastrable, redimensionable, et...
artf
Tienen clases asociadas y veo que la versión más reciente ya no añade clases a los elementos. No estoy seguro de a qué te refieres, las clases deberían importarse como antes.Contexto: usamos componentes personalizados y algunos valores pre...
acip
Hola, gracias por la respuesta rápida. Aquí está la plantilla generada por la v0.14.5 https://jsonblob.com/535ae06f-d4f6-11eb-8bc1-415e99da64cb Así es como se ve https://ibb.co/Zz8qg2J Hemos cambiado los atributos y el estilo predeterminad...
acip
He configurado la versión antigua vs nueva para una plantilla existente: https://grapesjs-templates-upgrade.ciprianamariei.repl.co/0.14.5-old-template.html https://grapesjs-templates-upgrade.ciprianamariei.repl.co/0.16.45-old-template.html...
Versión: 0.17.4 / git master Describe el error detallado FrameView reempaqueta los eventos de teclado y ratón aquí: https://github.com/artf/grapesjs/blob/07061ae1307fedf2a3b9bd585ce0cb30f653f112/src/canvas/view/FrameView.js#L389-L399 Creo que la razón está relacionada con redirigir eventos iframe a eventos de marco pa...
ClaudeCode
Gracias por informar de esto, @anlumo. El problema con createCustomEvent no gestiona correctamente los eventos con ratón parece ser un problema de gestión de tiempos de condición de carrera o estado. Esto suele ocurrir cuando los eventos d...
¡Hola a todos! Tengo un problema con el componente personalizado. Me crearon un componente modal con atributos tabindex = -1 y no puedo usar la tecla Ctrl + C para copiar este componente. Por favor, ayudadme. ¡Muchas gracias!!
artf
Solo elimina ese atributo en tu vista de componentes (por ejemplo, en el método onRender), así seguirás obteniendo el atributo en tu HTML final
ClaudeCode
Gracias por informar de esto, @tannguyen97. Gracias por compartir tu informe sobre no se puede copiar con "control + C" cuando los elementos tienen tabindex de atributos = -1. Para ayudar al equipo a investigar y priorizar esto: Por favor,...
Versión: 0.17.4¿Puedes reproducir el bug de la demo? SÍ¿Cuál es el comportamiento esperado? Al arrastrar los bloques, el orden debe mantenerse.¿Cuál es el comportamiento actual? Al arrastrar hasta arriba o por encima del conjunto de bloques, va en un orden. Al arrastrar hasta el fondo o por debajo del conjunto de bloq...
lexoyo
Hola Estoy intentando arreglar este bug Esto es más un ejercicio para sumergirme en el código de grapesjs, decidme si estoy perdiendo tiempo o si te parece útil
ClaudeCode
Gracias por informar de esto, @japo32. El problema de Arrastrar varios bloques invierte el orden parece ser una condición de carrera o un problema de sincronización de gestión de estado. Esto suele ocurrir cuando los eventos del ciclo de v...
Queremos añadir una barra de herramientas personalizada al componente de imagen que se mostrará a la izquierda (similar a lo que mostramos para el componente de texto). Por favor, decidme cómo puedo hacerlo. Queremos añadir diferentes barras de herramientas personalizadas para componentes personalizados también.
artf
Revisa la propiedad 'toolbar' en la referencia de la API de Componentes e intenta buscar algo relacionado en Problemas
ClaudeCode
Gracias por informar de esto, @ankx06. Buena pregunta sobre ¿Cómo puedo añadir la barra de herramientas izquierda personalizada para el componente Imagen, similar a texto. El enfoque recomendado con Componentes es utilizar la API orientada...
Hola 👋 ¡Me encanta el editor! Estamos usando rasgos para modificar las clases que tiene un componente, pero eso resulta un poco forzado porque tienes que reafirmar TODOS los nombres de clase para cada selección de rasgos Aquí tienes un ejemplo sencillo: Cada opción de rasgo debe tener todas las clases definidas, porq...
krishnaeverestengineering
@deiga estamos haciendo algo así.
artf
Adjuntaría el rasgo a alguna propiedad componente en lugar del atributo clase, y según el valor que usaría correctamente removeClass y addClass
ClaudeCode
Gracias por informar de esto, @deiga. Buena pregunta sobre [PREGUNTA] ¿Cuál es la forma idiomática de añadir y eliminar clases de componentes?. El enfoque recomendado con Componentes es utilizar la API orientada a eventos. Empieza aquí: Co...
Estoy usando el plugin grapesjs-blocks-bootstrap4 y el integrado grapesjs-lory-slider, funciona la primera vez que lo uso, pero cuando lo cargo desde la base de datos pierde la función de deslizamiento. ¿En qué estoy fallando? Cuando se pone, sigue funcionando con normalidad ! imagen Es cuando las cargo desde la base...
artf
Hola @vuongluc sí, puede ser un problema cargar html/css de esa manera para editar. Deberías almacenar y volver a cargar datos JSON, echa un vistazo a esta guía
ClaudeCode
Gracias por informar de esto, @vuongluc. ¡Gran sugerencia sobre grapesjs lory slider! Aunque esta función específica aún no está en la API principal, existen varias formas de lograr un comportamiento similar. Usando el sistema de eventos:...
Necesito generar el modelo de objetos JSON de la página diseñada en lugar de generar el código HTML, CSS y JS, ¿existe alguna función que devuelva el objeto JSON de la página diseñada? Además, estoy implementando el creador de interfaces en Angular, así que la versión typescript será preferida.
artf
Te recomendaría mucho leer las páginas de documentación como Components y Storage Manager donde se cubren todas estas partes.
ClaudeCode
Gracias por informar de esto, @ola-893. Excelente pregunta sobre FEAT: Modelo de objeto JSON de la página generada. El enfoque recomendado con StyleManager es usar la API orientada a eventos. Empieza aquí: Consulta la documentación de Grap...