Atributo de clase no eliminado
Intentando encontrar el problema, veo que el canvas tiene la clase eliminada pero no el modelo; estoy intentando encontrar dónde en el código se suponía que debía eliminarse, pero me está costando encontrarlo. ¿Alguien tiene alguna idea?
Lee la respuesta completa abajo ↓Pregunta
¡Hola! He notado un problema con el gestor de estilo cuando añadimos o quitamos clases. Cuando eliminamos todas las clases, no las eliminamos del código fuente generado.
Pasos para reproducirse: 1- Seleccionar un elemento para estilizar (preferiblemente uno sin ninguna clase) 2- Añadir una nueva clase 3- Mira el código fuente generado (Ver código) la clase debe estar ahí como se espera 4- Eliminar la clase en el gestor de estilos (no deberíamos tener ninguna clase aquí ahora) 5- Mira el código fuente generado (Ver código) la clase sigue ahí (no debería estar)
¡Salud!
Respuestas (3)
Intentando encontrar el problema, veo que el canvas tiene la clase eliminada pero no el modelo; estoy intentando encontrar dónde en el código se suponía que debía eliminarse, pero me está costando encontrarlo. ¿Alguien tiene alguna idea?
Tras varios intentos encontré un lugar para eliminar la clase del modelo, pero no estoy seguro de que este sea el mejor lugar o forma para lograrlo. En SectorsView.js:targetUpdated()
...
si (clases.longitud) {
var valid = classes.getStyleable();
var iContainer = cc.get(valid, state, media);
if (!iContainer && valid.length) {
Dejo de deshacer el gestor aquí después de añadir el CSSRule (generalmente después
al seleccionar el componente) y llamar a deshacer() eliminará la regla de
La colección, por lo tanto actualizarla en el Style Manager, no la afectará
// #268
um.stop();
iContainer = cc.add(válido, estado, medio);
iContainer.setStyle(model.getStyle());
model.setStyle({});
um.start();
}
if (!iContainer) {
En este caso es simplemente un Componente sin ningún selector válido
pt.modelo = modelo;
pt.trigger('actualización');
regresar;
}
Si el estado no está vacío, debería haber una regla de ayuda
La regla del ayudante consigue el mismo estilo que el iContainer
state && appendStateRule(iContainer.getStyle());
pt.model = iContainer;
pt.trigger('actualización');
regresar;
}
///////////////////////////
si no, eliminar model.attributes.attributes.class; Si no hay clases, entonces se borra en el modelo ?????
/////////////////////////
...
Hola @mingodad y gracias por este comentario, en realidad el verdadero problema fue actualizar la referencia de 'atributos' aquí https://github.com/artf/grapesjs/blob/dev/src/dom_components/model/Component.js#L285 Publicaré la corrección en la próxima versión
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #1821
[PREGUNTAS] ¿Cómo aplicar los cambios de estilo al ID en lugar de a la clase?
Hola, Tengo dos elementos con las mismas clases. Quiero aplicar cambios de estilo con el gestor de estilos a uno de estos dos elementos. Yo...
Issue #1865
[Bug]: Las uvas cambian la posición de la página
Hola, Encontré el siguiente problema usando uvas dentro de una página html: Cuando haces clic en algunos elementos del editor, como la flec...
Issue #1560
Aplica cambios en el estilo de mager a una clase
Hola @artf, he notado que cuando uso el gestor de estilos aplica el estilo a toda la clase del componente seleccionado Por ejemplo, si teng...
Issue #1978
[Bug]: Los estilos siempre se aplicaban a las clases
Hola, Tengo un problema con el estilizado de los objetos individuales. El siguiente código html: '''html <div class="ddm-flex-cols"> <div c...
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.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.