Issue #661💬 RespondidoAbierto el 20 de diciembre de 2017por mingodadReacciones 0

Atributo de clase no eliminado

Respuesta rápidapor mingodad

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)

mingodad21 de diciembre de 2017

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?

mingodad21 de diciembre de 2017

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 ?????
/////////////////////////
...

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 →

Tutoriales relacionados

Guías detalladas sobre el mismo tema.

Todos los tutoriales →

Explorar categorías de plugins

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