ADVERTENCIA LEE y SIGUE los siguientes 3 pasos, luego ELIMÍNALOS antes de publicar el númeroSeguir las Directrices de CONTRIBUCIÓN https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.mdHaz una BÚSQUEDA rápida primero, para ver si alguien más no abrió el mismo problemaTodas las afirmaciones/preguntas relativas de...
artf
Utiliza el diseño primero por componentes '''js grapesjs.init({ ... selectorManager: { componentFirst: cierto, ... }, }) ```
ClaudeCode
Gracias por informar de esto, @imouou. El problema con option resizeable:true cambiará todos los mismos componentes en el lienzo. parece ser un problema de condición de carrera o de sincronización de estado. Esto suele ocurrir cuando los e...
ADVERTENCIA LEE y SIGUE los siguientes 3 pasos, luego ELIMÍNALOS antes de publicar el númeroSeguir las Directrices de CONTRIBUCIÓN https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.mdHaz una BÚSQUEDA rápida primero, para ver si alguien más no abrió el mismo problemaTodas las afirmaciones/preguntas relativas de...
artf
No estoy seguro de entender tu problema, ¿cómo mueves o escalas exactamente el lienzo? esto no está relacionado, ¿existe alguna función que se pueda llamar para ampliar el contenido y no el lienzo? Así que si quiero escalarlo, como si estu...
anatoli-dp
Lo escalado usando el editor. Canvas.setZoom y muévelo usando la barra espaciadora. Ahora mismo quité lo que había hecho, pero era algo así como coger el elemento de lienzo y simplemente colocarlo con una actualización de estilo. Sin embar...
artf
Si hablas de las coordenadas móviles, aún no tenemos una API directa para eso, pero puedes obtenerlas o actualizarlas de esta manera: '''js const canvasModel = editor. Canvas.getModel(); Obtener valores const { x, y } = canvasModel.attribu...
Versión: Versión 0.17.19(grapesjs) Versión 0.1.11(grapesjs-preset-webpage) ¿Puedes reproducir el error de la demo?[ ] No ¿Cuál es el comportamiento esperado? Si cambio el nombre de un botón cambiando el texto en la configuración de componentes para el botón. El cambio debería reflejarse tanto en Canvas como en el códi...
artf
Hola @TRIGGEREDcoder hay un problema con el plugin de página web predefinido que hace referencia al antiguo plugin de formulario que contiene el error. Así que cierro este porque no forma parte del núcleo y actualizaré la referencia del pl...
ClaudeCode
Gracias por informar de esto, @TRIGGEREDcoder. El problema con Los cambios en el nombre de los botones de formulario no se capturan en el código html generado parece ser una condición de carrera o un problema de sincronización de gestión d...
Cuando se hace clic en 'ver código' y seleccionamos elemento(s) en el lienzo, el visor de código puede mostrar su código correspondiente y seleccionarlo outerHTML - una gran función para copiar instantáneamente desde ahí o una inspección rápida.
ClaudeCode
Gracias por informar de esto, @gMakaan. ¡Gran sugerencia sobre FEAT: visor de código: ve a bloque de lienzo seleccionado! Aunque esta función específica aún no está en la API principal, existen varias formas de lograr un comportamiento sim...
Hola @artf, He añadido el 'Sea cc = editor. CssCompositor; cc.setRule('.fadetop-animate', { opacidad: 0, 'nombre de animación': 'fadeTop' }, { atRuleType: 'fotogramas clave', atRuleParams: 'fadeTop', Selector: 'Para', estilo:{ opacidad: 1 } });` según el Documento [](https://grapesjs.com/docs/api/css_composer.html#set...
artf
Usa este '''js editor. CssComposer.getAll().add('@keyframes fadeTop { ... }') // Tu cadena CSS ```
ClaudeCode
Gracias por informar de esto, @niranjank151. Buena pregunta sobre @keyframes no añadir ni siquiera después de pasar el objeto de los fotogramas clave. El enfoque recomendado con StyleManager es usar la API orientada a eventos. Empieza aquí...
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...
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...
0.17.19 ¿Puedes reproducir el error de la demo? SÍ ¿Cuál es el comportamiento esperado? Había hecho una pregunta sobre la actualización de iframe (#3413). La solución propuesta funcionaba para esa versión (0.17.3) y, tras ejecutar el fragmento de código, el iframe debería actualizarse y el lienzo debería verse con los...
artf
Tendría que comprobar por qué sigue intentando quitar el marco, pero por ahora, simplemente sáltate esta línea 'frameView.remove()'
theSC0RP
@artf. Gracias. Esto funciona cuando se hace una vez. Si hago alguna acción como hacer clic dentro del lienzo y luego ejecuto 'frameWrapView.render();' otra vez, me aparece otro error. La captura de pantalla y un vídeo de este error se adj...
artf
Intentaré arreglarlo en la próxima versión, pero por ahora tienes que desseleccionar componentes antes de 'frameWrapView.render()' y volver a seleccionarlos después de renderizar
Soy nuevo en el mundo de las uvas, estoy intentando hacer los bloques en un estilo diferente al arrastrar por ejemplo, los bloques de imagen 1 - cuando no se arrastra o flota toma el estilo A. 2- cuando el estacionamiento toma el estilo B . 3- Cuando se arrastra, toma el estilo C (cuando está sobre el lienzo). ¿Alguie...
ronaldohoch
Quizá con estos eventos puedas hacerlo: https://grapesjs.com/docs/api/editor.html#blocks o https://grapesjs.com/docs/api/editor.html#canvas
artf
En tal caso, probablemente una interfaz de gestor de bloques completamente personalizada sea la única opción (por ejemplo, renderizada por tu propio componente BlockManager en Angular). Ya debería ser posible, pero preferiría tomarme mi ti...
hadeel94
En tal caso, probablemente una interfaz de gestor de bloques completamente personalizada sea la única opción (por ejemplo, renderizada por tu propio componente BlockManager en Angular). Ya debería ser posible, pero preferiría tomarme mi ti...