Issue #2277○ AbiertoAbierto el 18 de septiembre de 2019por zgeistReacciones 0

Problema de addType, los tipos personalizados no funcionan cuando el editor inicia

Pregunta abierta

Aún no hay respuestas de la comunidad. Abre la discusión original en GitHub para compartir tu solución.

Pregunta

Observo algún problema con la funcionalidad 'addType'

Si creo algún tipo personalizado como este:

editor. DomComponents.addType('widget', {
     model: dModel.extend({
                defaults: _.extend({}, dModel.prototype.defaults, {
                    tipo: ComponentId,
                    etiquetaNombre: 'div',
                    Clases: ['Widget'],
                    productId: 1
                }),

inicialize: function(o, opt) {
                    dModel.prototype.initialize.apply(esto, argumentos);

var toolbar = this.get('toolbar');

toolbar.unshift({
                        atributos: {
                            Clase: 'FA FA-Gear'
                        },
                        comando: 'widget-settings'
                    });

this.set ('barra de herramientas', barra de herramientas);
                }
            }, {
                isComponent: function(el) {
                    Resultado var = '';
                    si (el.tagName === 'DIV' && el.className.indexOf('widget') !== -1) {
                        resultado = {
                            tipo: ComponentId
                        };
                    }

resultado de retorno;
                }
            }),
Ver: dView
})

Cuando añadimos un widget de componente en la página, funciona bien Pero después de guardar contenido en el servidor y recargar la página, el tipo personalizado no se aplica como 'analizador' no tiene este tipo^ usa solo tipos por defecto, así que en el tipo de widget no llames al método 'isComponent'

Aquí: https://github.com/artf/grapesjs/blob/dev/src/parser/model/ParserHtml.js#L131

¿Conoces este bicho?

La posible solución es añadir algo de middleware aquí para añadir tipos y componentes personalizados a instancias antes de llamar a 'init'

https://github.com/artf/grapesjs/blob/dev/src/index.js#L52 *

Respuestas (0)

Aún no hay respuestas.

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.