Mover el componente hacia arriba o hacia abajo mediante el botón del panel
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)
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 }); } }
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?
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.
Issue #2549
[PREGUNTA] Actualizar vista de componentes al cambiar la propiedad
Hola a todos, Estoy intentando crear un componente que actualice su vista en función del valor de una propiedad '''javascript editor. DomCo...
Issue #1895
[PREGUNTA] Arrastra el componente sobre el lienzo con script, script añadido varias veces.
Hola, no estoy seguro de si esto es un error o no. Pero he notado un comportamiento extraño: cuando arrastro un bloque que tiene un compone...
Issue #2400
¿Es posible 'desactivar' un botón añadido dentro del panel desde una función fuera de GJS?
Hola a todos, Primero, un proyecto increíble, me ha gustado mucho extender GJS para que funcione con nuestro caso de uso, y estoy emocionad...
Issue #460
Cuando la vista del componente modifica el HTML, los componentes de texto ya no son editables
Estoy intentando crear un componente personalizado que contenga algo de texto lorem ipsum en el contenido, para editarlo una vez que esté e...
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 →Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.