Issue #2626💬 RespondidoAbierto el 6 de marzo de 2020por ikenderhamReacciones 0

Mover el componente hacia arriba o hacia abajo mediante el botón del panel

Respuesta rápidapor artf

Puedes hacer algo así para mover componentes '''js const moveUp = component => { const comp = componente || editor.getSelected(); const parent = comp.parent(); índice const = comp.index(); si (índice > 0) { comp.remove(); parent.append(comp, { at: index - 1 }); } } const moveDown = component => { const comp = componen...

Lee la respuesta completa abajo ↓

Pregunta

Hola, estoy pensando en crear una función que mueva un componente hacia arriba o hacia abajo en el lienzo, cuando se pulsa un botón. ¿Es posible y alguien puede enseñarme cómo hacerlo? ¿Quizá este futuro siempre está ahí?

Respuestas (3)

artf7 de marzo de 2020

Puedes hacer algo así para mover componentes '''js const moveUp = component => { const comp = componente || editor.getSelected(); const parent = comp.parent(); índice const = comp.index();

si (índice > 0) { comp.remove(); parent.append(comp, { at: index - 1 }); } }

const moveDown = component => { const comp = componente || editor.getSelected(); const parent = comp.parent(); índice const = comp.index();

si (index < parent.components().length - 1) { comp.remove(); parent.append(comp, { at: index + 1 }); } }

ikenderham11 de marzo de 2020

Hola

Gracias por la respuesta... Pero, ¿cómo añado el botón a la barra de componentes de la barra? He probado los ejemplos en issues/266 pero aquí no funciona. ¿Puedo anular la barra de herramientas en otro archivo para no tener que cambiar los archivos principales?

ikenderham12 de marzo de 2020

Descubrí cómo hacerlo. El código que me diste no me funciona.

Intenté añadirlo en un comando, pero no mueve el componente ni hacia arriba ni hacia abajo.

Aquí tienes un ejemplo: si tengo una fila con contenido dentro, entonces necesito mover el contenedor hacia arriba sobre otro contenedor. Espero que me entiendas

comandos: {
    Valores por defecto: [
      {
        ID y RUN son obligatorios en este caso
        id: 'mi-mando',
        run() {
          const moveUp = component => {
          const comp = componente || editor.getSelected();
          const parent = comp.parent();
          índice const = comp.index();

si (índice > 0) {
            comp.remove();
            parent.append(comp, { at: index - 1 });
          }
        }
        },
      }, {
        id: '...',
        // ...
      }
    ],
  },

editor. DomComponents.addType('link', {
    isComponent: el => el.tagName == 'A',
    modelo: {
      Predeterminados: {
        barra de herramientas: [{
        Atributos: {Clase: 'FA FA-Link'},
        Orden: 'Mi-Mando',
      },{
        Atributos: {Clase: 'FA Fa-Clon'},
        Orden: 'TLB-clon',
      }

Preguntas y respuestas relacionadas

Continúa investigando con debates sobre temas similares.

Plugins de pago que cumplen con este problema

Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.

Ver todos los plugins

Cargando recomendaciones de plugins de pago...

Opción gratuita

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 →
Opción premium

Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.

Explora plugins premium →

Explorar categorías de plugins

Ve directamente a las páginas de categorías de plugins en el marketplace.