Issue #972💬 RespondidoAbierto el 21 de marzo de 2018por vrudikovReacciones 0

Permitir que los clientes de la API de Trait sobrescriban y utilicen el método de initlialize de la clase TraitView

Respuesta rápidapor artf

Hola @vrudikov no entendí qué sugieres. ¿Te gustaría tener algún tipo de método 'init()' que actúe como callback tras la inicialización?

Lee la respuesta completa abajo ↓

Pregunta

Comportamiento actual: Cuando los rasgos se añaden con el método 'TraitView.addType', se extienden 'TraitsViewer.itemView' (que es 'TraitView'). Cuando la clase 'TraitSelectView' extiende 'TraitView', sobrescribe el método 'initialize(o)' y llama a 'TraitView.prototype.initialize.apply(this, arguments);' para inicializar la clase padre (según tengo entendido). Esto permite que 'TraitSelectView' anule parte de la lógica inicializadora. Por ejemplo, anular 'this.tmpl' y usar una plantilla personalizada para un rasgo

Para un rasgo personalizado con el método 'inicializar' sobrescrito veremos un error: ! imagen

editor. TraitManager.addType('attrNoVal', {
   inicializar (o) { console.log('TEST') },
})

Pero con el siguiente código todo funciona perfectamente y puedo anular un 'this.tmpl' y hacer otras cosas sucias :) Cosas:

editor. TraitManager.addType('attrNoVal', {
inicializar (o) {
      Un truco sucio :) Pero funciona
      editor. TraitManager.getTraitsViewer().itemView.prototype.initialize.apply(this, arguments)
    },
})

Comportamiento esperado: Permitir que los clientes de la API de Traits sobrescriban y utilicen el método de initlialize de la clase TraitView para que podamos personalizar fácilmente la lógica de inicialización de un rasgo.

Respuestas (1)

artf24 de marzo de 2018

Hola @vrudikov no entendí qué sugieres. ¿Te gustaría tener algún tipo de método 'init()' que actúe como callback tras la inicialización?

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.