Permitir que los clientes de la API de Trait sobrescriban y utilicen el método de initlialize de la clase TraitView
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)
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.
Issue #2836
[BUG]: No se puede añadir clase al añadir el Componente Dom
GrapesJS Versión usada: 0.16.12 (actual) Es un comportamiento extraño, puedo añadir todos los atributos que quiero cuando añado componentes...
Issue #1877
[SOLICITUD DE FUNCIÓN] ¿Estilos personalizados que añaden o eliminan clases personalizadas?
Actualmente, todos los valores del gestor de estilo que cambias para un elemento simplemente actualizan una <style> etiqueta en línea en el...
Issue #1004
[SOLICITUD DE FUNCIÓN] Mejorar el atributo "arrastrable" de los componentes para permitir excluir ciertos componentes cuando se configura el comodín "*" para componentes arrastrables
Hola. Quiero mejorar el atributo "arrastrable" de los componentes para permitir excluir ciertos componentes cuando se configura comodín "*"...
Issue #6180
El método 'setValue()' de Trait no se llama cuando cambia el valor
Versión GrapesJS [X] Confirmo que se debe usar la última versión de GrapesJS ¿Qué navegador usas? Última versión de Chrome Enlace de demo r...
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.