Hola @artf ¿Hay alguna forma estándar de añadir una nueva barra de herramientas en cada componente He probado esta manera '''js editor. Components.getTypes().map(type => { editor. Components.addType(type.id, { modelo: { Predeterminados: { barra de herramientas, Rasgos:[ ... editor. Componentes.getType(type.id).model.p...
artf
Sigue la plantilla del issue (versión, demo en directo, etc.)
ClaudeCode
Gracias por informar de esto, @Abhisheknanda1344463. Buena pregunta sobre Establecer barra de herramientas en cada componente. El enfoque recomendado con Componentes es utilizar la API orientada a eventos. Empieza aquí: Consulta la documen...
Hola, tengo el siguiente problema: Necesito un editor de tipo de evento (editor.on ("ordener: drag: end") que se incluya en todos estos casos: (detectar qué elemento y dónde lo estoy dejando) 1- Haz que se escuche cuando arrastres y soltes un elemento desde el BlockManager y lo dejes caer en el lienzo. 2- Haz que se e...
bgrand-ch
Hola, Para futuras preguntas o problemas técnicos, que no sean errores, la pestaña Discussions de GitHub es el lugar ideal. No olvides cerrar este problema si se resuelve o escribir un nuevo mensaje detallado en la categoría Discussiones -...
ClaudeCode
Gracias por informar de esto, @matiasmasciotta. Buena pregunta sobre COMPONENTES DE ARRASTRAR Y SOLTAR:. El enfoque recomendado con ProseMirror es usar la API orientada a eventos. Empieza aquí: Consulta la documentación de GrapesJS de tu m...
Hola a todos, Todos sabemos que el plugin GJS-ckeditor-funciona con componentes [data-gjs-type]="text". Quiero saber, ¿podríamos cambiar esta opción? Quiero crear mi propio componente personalizado con, por ejemplo, [data-gjs-type]="anyDiv" y tener la misma funcionalidad que en [data-gjs-type]="text". ¿Quizá alguien s...
Abhisheknanda1344463
@vatte21 Para que tu componente sea editable. Tienes que extender el texto en tu componente de esta manera '''js editor. Components.addType('anyDiv', { modelo: { Predeterminados: { Tipo: 'texto', Rasgos:[ ... editor. Componentes.getType(ty...
vatte21
@Abhisheknanda1344463 ¡Gracias! Lo intentaré
abulka
@Abhisheknanda1344463 tu fragmento de código me da un error 'Uncaught ReferenceError: type is not defined' en la línea ¿Dónde se define el 'tipo'?
Hola; Gracias a todos por la gran herramienta, me encanta la documentación, lo fácil de usar y entender. Creo que me encontré con un problema con el modal que no se abría de nuevo después de cerrarlo dinámicamente la primera vez. Ejemplo:
artf
No puedo reproducirlo en la demo oficial, por ejemplo. '''js editor.on('modal:open', () => { console.log('Modal abierto'); setTimeout(() => { console.log('Modal cerrado'); editor. Modal.close() }, 2000) }); ``` Pero solo revisando tu códig...
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, @alivex. Gracias por compartir tu informe sobre Modal no se abre después de cerrarlo dinámicamente. Para ayudar al equipo a investigar y priorizar esto: Por favor, proporciona: Un ejemplo mínimo reproducible (...
Hola @artf He añadido un nuevo componente Aquí está el código '''js editor. DomComponents.addType('header', { modelo: { Predeterminados: { etiquetaNombre: 'h1', tipo: 'cabezal', Tamaño: 'H1', Rasgos: [ { Nombre: 'Size', etiqueta: 'Tamaño', tipo: 'select', cambioProp: 1, Opciones: [ {valor: 'h1', nombre: 'One'}, {valor...
ClaudeCode
Gracias por informar de esto, @Abhisheknanda1344463. Buena pregunta sobre El valor de los componentes no está cambiando. El enfoque recomendado con ProseMirror es usar la API orientada a eventos. Empieza aquí: Consulta la documentación de...
¿Cómo podría controlar las propiedades para que se muestren en una o dos filas, como en las demos? ! imagen ! imagen Cuando descargo el boletín de proyecto grapesjs-preset-newsletter en local, también muestra el relleno y el margen en dos filas, lo cual es desconcertante. De hecho, me gustaría ponerlos flexibles con f...
artf
Simplemente usa el CSS
ClaudeCode
Gracias por informar de esto, @chenjingling90. Buena pregunta sobre FEAT: cómo hacer 4 propiedades en una fila, como relleno, margen. El enfoque recomendado con GrapesJS es usar la API orientada a eventos. Empieza aquí: Consulta la documen...
Hola @artf Estoy intentando actualizar el estilo usando el rasgo de casilla, pero no llama a la función. Aquí está el código ¡Agradezco mucho cualquier consejo que podáis darme! Gracias
Abhisheknanda1344463
@artf Lo entendí, tonto-Error Mueve la función de init dentro del propio modelo. Cerrando el asunto
ClaudeCode
Gracias por informar de esto, @Abhisheknanda1344463. Buena pregunta sobre ¿Cómo actualizar el estilo a partir de un rasgo de casilla?. El enfoque recomendado con StyleManager es usar la API orientada a eventos. Empieza aquí: Consulta la do...
https://user-images.githubusercontent.com/64096863/104047608-af352b00-51c0-11eb-8261-1d7ae9277d25.mp4 El parámetro "changesCount" no se incrementa cuando haces doble clic en cualquier componente de texto y se escribe o se realiza cambios dentro de cualquier componente de texto. Para los componentes de botones/imágenes...
artf
Gracias @marcepoblet la solución está lista para la próxima versión
marcepoblet
Gracias @marcepoblet la solución está lista para la próxima versión ¡Gracias! @artf, ¿tienes alguna estimación de la fecha de lanzamiento?
ClaudeCode
Gracias por informar de esto, @marcepoblet. El problema con changesCount no se incrementa; cuando se aplican cambios en cualquier componente de texto parece ser una condición de carrera o un problema de sincronización de gestión de estado....
He estado probando GrapesJS e intentando integrarlo en un proyecto de Symfony 5. En particular, quiero poder editar plantillas en el editor basadas en Bootstrap 4 y otros componentes como FontAwesome Pro y bloques personalizados basados en estos. Uso el paquete Webpack-Encore de Symfony para generar los scripts y arch...
ianef
Es una verdadera pena. No dije nada sobre buscar desde otro sitio, lo que quería era mantenerlo coherente con el resto del proyecto. Bueno, seguiré buscando en otros sitios un editor que se integre mejor con la forma en que se construyen a...
artf
Hola Ian, si necesitas cargar contenido HTML desde una URL solo puedo sugerir que lo obtengas en el lado del servidor e iniciales el editor con ese contenido (cargar recursos externos en el navegador resolvería principalmente el problema d...
ClaudeCode
Gracias por informar de esto, @ianef. Gran sugerencia sobre FEAT: ¡Crea el lienzo a partir de una URL! Aunque esta función específica aún no está en la API principal, existen varias formas de lograr un comportamiento similar. Usando el sis...
Añado manualmente un nuevo nodo a un componente renderizado. El resultado visual está bien, pero es imposible de guardar, porque mi estilo no es con el ID GrapesJS generado automáticamente. Para resolver manualmente este poblem, hago doble clic en el componente para entrar y luego hago clic en el exterior en el cuerpo...
i️ No funciona directamente con HTML, solo funciona con JSON. Component = nodo JSON (elemento html + GrapesJS data) '''js addStylesToText (styles, tagName = 'span') { const inlineStyles = styles.map(style => style.join(':')).join(';') + ';...
ClaudeCode
Gracias por informar de esto, @bgrand-ch. Buena pregunta sobre ¿Cómo actualizar/volver a renderizar después de añadir un nuevo nodo?. El enfoque recomendado con ProseMirror es usar la API orientada a eventos. Empieza aquí: Consulta la docu...