Hola, primero quiero decir que este proyecto es increíble, ¡gracias! Usé código del ejemplo de GrapeJS Demo, y añadí sus datos de guardar y cargar desde archivos remotos, este es mi código de StorageManager: savenow.php código de archivo: loadnow.php código del archivo: Cuando guardo mis cambios funciona bien, pero de...
lbmir
El mismo problema que en https://github.com/artf/grapesjs/issues/2963. Pero en mi caso solo carga contenido después de Hard Refresh
artf
Parece más un problema por tu parte, las aplicaciones web no distinguen el Refresh del Hard Refresh, de hecho el Hard Refresh es más parecido a un refresh sin la caché local del navegador. Intenta comprobar, desde el inspector, si tu llama...
ClaudeCode
Gracias por informar de esto, @lbmir. Buena pregunta sobre Autoload storage no funciona al actualizar la página. El enfoque recomendado con GrapesJS es usar la API orientada a eventos. Empieza aquí: Consulta la documentación de GrapesJS de...
Hola, ¡Proyecto increíble! sin embargo, tras comprobar el plugin para Grapejs Touch, sigue siendo muy difícil usar el editor desde un dispositivo móvil. ¿Hay alguna forma de simplificar la interfaz para facilitar la personalización desde un dispositivo móvil? Esto es principalmente para la opción de "boletín". ¡Muchas...
artf
Desafortunadamente, la interfaz actual es la que es, la alternativa es crear tu propia interfaz más amigable para móviles.
ClaudeCode
Gracias por informar de esto, @ap0l0. Buena pregunta sobre Pregunta: ¿hay alguna forma de hacer que GrapeJS Mobile Editor sea utilizable?. El enfoque recomendado con GrapesJS es usar la API orientada a eventos. Empieza aquí: Consulta la do...
Hola. ¿Hay posibilidad de crear una instancia de grapesjs sin generar un editor completo? Había creado componentes personalizados con datos asincrónicos y necesito crear un servicio backend en Node, que genera salida HTML a partir de componentes almacenados, poblados con datos de APIs. Ahora me está saliendo un error:...
artf
Lo cierro como un duplicado de https://github.com/artf/grapesjs/issues/3399
ClaudeCode
Gracias por informar de esto, @milan. El error error:ReferenceError: la ventana no está definida ocurre cuando los componentes intentan acceder a propiedades antes de que el ciclo de vida del componente esté completamente inicializado. Est...
init() { this.listenTo(this.model,'change:components', this.handleComponentsChange); }, Desarrollo un componente, intento escuchar cómo cambian los componentes hijos, luego añado el código anterior para ver el componente, pero la función no se activa al añadir o eliminar componentes. ¿cómo puedo escuchar cómo cambian...
dm-siegel
tampoco conseguí que funcionara. Error leyendo componentes() al configurar el listenTo. La etiqueta está vacía (sin contenido dentro) en el init, así que tiene sentido. olvídalo... Lo hacía en la entrada del modelo en vez de en la vista. '...
anlumo
La colección de componentes no cambia, por eso no se activa ningún evento. El backend de almacenamiento es una colección Backbone, véase aquí. Tienes que escuchar sus eventos, específicamente 'añadir' y 'eliminar'.
artf
Como ya mencionó Andreas, tienes que añadir un oyente a la colección. '''js init() { hijos const = this.model.components(); this.listenTo(niños, 'añadir remove', this.handleComponentsChange); }, ```
Versión: 0.17.4 ¿Puedes reproducir el error de la demo?[x] Sí[ ] No Pasos para reproducir:Ir a la demoColocar un bloque de "Texto" dentro del lienzoHaz clic en el componente "Texto" que acaba de ser eliminadoEl RTE abierto está fuera de lugar (cf. captura de pantalla adjunta) ¿Cuál es el comportamiento esperado? El RT...
artf
Sí, supongo que tienes razón. En realidad no tiene sentido activar RTE sin seleccionar el componente (probablemente tenga sentido con todos los demás bloques "activables").
gustavohleal
Hola. Yo y @ronaldohoch hemos encontrado una solución para este problema. Activamos el evento de desplazamiento cuando el RTE está activado. Aquí está el código: '''javascript Activa el evento de desplazamiento desde el lienzo para que gra...
ronaldohoch
Hola, acabo de actualizar el archivo desde el commit bb4a661, y creo que está tan cerca que estoy usando el código grapesjs-ckeditor y la primera apertura de RTE, está colocado correctamente: ! imagen Pero en la segunda vez que el rte se a...
Añado domComponents: { storeWrapper: 1 }, Al inicializar el editor web, para habilitar añadir imagen de fondo al cuerpo. funciona bien usando el StorageManager local, pero se pierden todos los componentes al usar el StorageManager remoto A continuación se presentan los datos {"type":"wrapper", "droppable":".container"...
artf
Hola @jcsofts si el almacenamiento local funciona bien y tu remoto no, eso significa que probablemente estés haciendo algo mal en el lado del endpoint. No puedo ayudarte aquí sin un ejemplo reproducible, así que solo puedo sugerir que siga...
ClaudeCode
Gracias por informar de esto, @jcsofts. Gracias por compartir tu informe sobre la versión 0.17.4 de los componentes que faltan al intentar añadir una imagen de fondo al cuerpo. Para ayudar al equipo a investigar y priorizar esto: Por favor...
Estoy intentando desactivar el botón de deshacer cuando no hay acciones de deshacer que hacer. Para ello, estoy escuchando el evento ''change:changesCount'' y usando 'editor?. ¿Atributos? ¿DeshacerGerente? hasUndo()' para establecer el estado desactivado del botón de deshacer. 'editor.on('change:changesCount', editor...
artf
Así que se añade una acción extra a la cola cuando no debería, que es cuando arrastro un bloque sobre el lienzo. No realmente, ¿puedes crear una demo reproducible, ya que yo no puedo reproducirla?
no-response[bot]
Este asunto se ha cerrado automáticamente porque no ha recibido respuesta a nuestra solicitud de más información por parte del autor original. Con solo la información que actualmente hay en el asunto, no tenemos suficiente información para...
ClaudeCode
Gracias por informar de esto, @alimajed93. Buena pregunta sobre El método UndoManager hasUndo() devuelve true cuando no debería. El enfoque recomendado con Canvas es usar la API orientada a eventos. Empieza aquí: Consulta la documentación...
Me salió este error al añadir el <iframe src="https://app.conversiobot.com/boot/fvMEvO" width="100%" height="500" frameBorder="0" permitido="geolocalización"></iframe> Usaba el componente de código personalizado. Mi código funciona bien con la 0.17.4, pero con la 0.17.19 salió por debajo del error grapes.min.js:2 Unca...
artf
Gracias por el informe, la solución está lista para la próxima versión.
rahul-singh-bv
Me encuentro con un problema similar con la v0.19.5 cuando intento añadir un iframe dentro de un bloque de código personalizado
ClaudeCode
Gracias por informar de esto, @jcsofts. El error TypeError: No se puede leer la propiedad 'longitud' de indefinido ocurre cuando Canvas intenta acceder a propiedades antes de que el ciclo de vida del componente esté completamente inicializ...
Siguiendo un ejemplo de docs. ¿Hay alguna configuración adicional para que se muestren nuevos rasgos para los elementos? El ejemplo que usa la entrada no se ejecuta, mis identificaciones se detectan pero no los atributos adicionales. '''js Prueba a añadir rasgos editor. DomComponents.addType('ol', { isComponent: el =>...
artf
Puedo ver tu ejemplo correctamente y todos los rasgos funcionan correctamente. ¿Eres capaz de crear una demo reproducible?
no-response[bot]
Este asunto se ha cerrado automáticamente porque no ha recibido respuesta a nuestra solicitud de más información por parte del autor original. Con solo la información que actualmente hay en el asunto, no tenemos suficiente información para...
ClaudeCode
Gracias por informar de esto, @alpha2k-io. Buena pregunta sobre añadir rasgos no los detecta el gestor de rasgos.. El enfoque recomendado con Componentes es utilizar la API orientada a eventos. Empieza aquí: Consulta la documentación de Gr...
Versión: 0.17.17 ¿Puedes reproducir el error de la demo?[ ] Sí[x] No ¿Cuál es el comportamiento esperado? No debería mostrar controles duplicados. ¿Cuál es el comportamiento actual? ! db Describe el error detallado Por alguna razón, estoy obteniendo controles duplicados con la configuración de Vanilla de GJS. ¿Puedes...
artf
Añade esto a tu configuración de init para eliminar las propiedades predeterminadas 'styleManager: { clearProperties: 1 },'
ClaudeCode
Gracias por informar de esto, @jasminder. El problema con Controles duplicados para cada componente parece ser un problema de condición de carrera o de sincronización de estado. Esto suele ocurrir cuando los eventos del ciclo de vida de lo...