No puedo reiniciar el lienzo después de moverlo/escalarlo
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 estuviera en una página de DPI muy alto, para poder hacer mejores ediciones. ¿O debe...
Lee la respuesta completa abajo ↓Pregunta
ADVERTENCIA
LEE y SIGUE los siguientes 3 pasos, luego ELIMÍNALOS antes de publicar el número
- Seguir las Directrices de CONTRIBUCIÓN https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.md
- Haz una BÚSQUEDA rápida primero, para ver si alguien más no abrió el mismo problema
- Todas las afirmaciones/preguntas relativas deben ser rellenadas/respondidas, de lo contrario, el asunto podría quedar CERRADO
- Plantilla de inicio de JSFiddle https://jsfiddle.net/szLp8h4n
- Plantilla de inicio de CodeSandbox https://codesandbox.io/s/1r0w2pk1vl
¿Qué intentas añadir a GrapesJS? una forma de reiniciar el lienzo a su posición predeterminada después de haberlo escalado y movido. Describe tu solicitud de función detallado Después de escalar y luego mover el lienzo, puedes crear una función que redimensione y mueva el lienzo de nuevo a su posición, pero cuando lo escalas o mueves de nuevo, vuelve a la posición antigua que tenías antes de centrarlo. Así que si lo tienes muy fuera de pantalla, el lienzo salta de nuevo a la zona en vez de moverlo según su ubicación actual. Si hay alguna forma de reiniciar el lienzo, por favor, dímelo de otra cosa. Esto me está molestando mucho y no consigo entenderlo. ¿Hay alguna alternativa en la última versión?
- Sí (describe la alternativa)
- No
¿Está relacionado con algún problema?
- Sí (Da un enlace al número)
- No
Esto no está relacionado, pero ¿existe alguna función que se pueda llamar para ampliar el contenido y no el lienzo? Así que si quiero escalarlo, como si estuviera en una página de DPI muy alto, para poder hacer mejores ediciones. ¿O debería hacerse escalando manualmente el zoom del iframe? Porque el zoom en iframe por supuesto ampliaría las herramientas y el esquema de selección
Respuestas (4)
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 estuviera en una página de DPI muy alto, para poder hacer mejores ediciones. ¿O debería hacerse escalando manualmente el zoom del iframe? Porque el zoom en iframe por supuesto ampliaría las herramientas y el esquema de selección
'editor. ¿Canvas.setZoom' no funciona en tu caso?
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 embargo, este cambio no es permanente y en cuanto se mueve ligeramente vuelve a la posición original, así que si estaba a 26x, 18 y (o 26 arriba, 18 a la izquierda), por ejemplo, moverse ligeramente hará que salte hacia atrás a esas coordenadas en lugar de basar su movimiento desde 0,0 si estaba ceneterado. ¿Existe alguna función que restablezca la posición del lienzo al centro de la vista y la reescale al 100%?
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.attributes; Valores de actualización canvasModel.set({ x: x + 50, y: y + 50 })
Gracias por informar de esto, @anatoli-dp.
¡Gran sugerencia sobre No se puede reiniciar el lienzo después de moverlo/escalarlo! 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: '''javascript editor.on('component:update', (component) => { Tu lógica aquí });
**Enfoques alternativos:**
- Escuchar 'selector:add' para cambios en el selector CSS
- Usar 'selector:custom' para reglas personalizadas
- Aprovechar los eventos 'change:*' para un seguimiento detallado
- Crear un plugin que extienda el editor con esta capacidad
**Lo hace oficial:**
Si esta función beneficiaría a muchos usuarios, considera abrir una Solicitud formal de Funcionalidad en el repositorio GrapesJS con:
- Un caso de uso detallado
- Ejemplo de código que muestra el comportamiento deseado
- Por qué esto es importante para tu flujo de trabajo
El equipo central es receptivo a solicitudes de funcionalidades bien motivadas respaldadas por casos de uso reales.
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #3405
HAZAÑA: Un evento al que engancharse antes de que un bloque cayera al suelo
ADVERTENCIA LEE y SIGUE los siguientes 3 pasos, luego ELIMÍNALOS antes de publicar el númeroSeguir las Directrices de CONTRIBUCIÓN https://...
Issue #3458
HAZAÑA: AÑADIR BLOQUES PERSONALIZADOS (es decir, iframe) y personalizarlo como imagen, es decir, al hacer doble clic abre las opciones de assets para enlace de vídeo en un bloque iframe personalizado
ADVERTENCIA LEE y SIGUE los siguientes 3 pasos, luego ELIMÍNALOS antes de publicar el númeroSeguir las Directrices de CONTRIBUCIÓN https://...
Issue #3313
Se requieren muchos clics para que el texto sea editable, ¿podemos hacer que el campo de texto sea editable con un solo clic?
ADVERTENCIA LEE y SIGUE los siguientes 3 pasos, luego ELIMÍNALOS antes de publicar el númeroSeguir las Directrices de CONTRIBUCIÓN https://...
Issue #3364
HAZAÑA: @How fijar el tamaño del contenedor cuando estamos arrastrando el elemento dentro del contenedor, el contenedor se gastará según el elemento arrastrado hijo. Cómo podemos dimensionar automáticamente el elemento hijo según el contenedor padre. El contenedor no debe gastarse según el elemento hijo. Debería ser de mostrar scroll.
ADVERTENCIA LEE y SIGUE los siguientes 3 pasos, luego ELIMÍNALOS antes de publicar el númeroSeguir las Directrices de CONTRIBUCIÓN https://...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.
Explora plugins gratuitos →Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.
Explora plugins premium →Tutoriales relacionados
Guías detalladas sobre el mismo tema.
Tutorial
Ship to Production Faster: What’s New in GrapesJS Shadcn
Supercharge your page builder! GrapesJS Shadcn adds live drag previews, rich text / commands, dynamic data, and canvas presets to ship to prod faster.
Tutorial
How to Build a Production GrapesJS Editor: The Complete Walkthrough of Brief, Preset, Plugins, and Services
A complete walkthrough of building a production GrapesJS editor: how to choose a preset, pick plugins, and scope setup services without burning a sprint.
Tutorial
GrapesJS Inline RTE Plugins Update: CKEditor 5 v0.1.4 and Froala Inline Text Editor
CKEditor 5 Inline for GrapesJS v0.1.4 fixes Studio SDK toolbar clipping, iframe injection and link balloon bugs. Compare with Froala Inline — both $69.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.