¿Es posible añadir columnas adicionales a las listas de usuarios en los grupos? Tengo un plugin al que estoy intentando añadir funcionalidad, que añade una columna a la lista de usuarios en los grupos que muestra si un usuario está Activo, Suspendido, Silenciado o Desactivado. Parece que la plantilla Handlebars y el controlador group-index son lo que necesito para esto, pero no hay un outlet de plugin, así que me pregunto cuál sería la forma correcta de añadir una nueva columna, si es que se puede hacer. Soy nuevo en el desarrollo de Discourse, así que podría estar perdiéndome algo, pero agradecería mucho cualquier consejo. He leído estas guías de desarrollo que son excelentes recursos, pero actualmente estoy atascado.
Hola, bienvenido a meta ![]()
Puedes usar los outlets group-index-table-header-after-username y group-index-table-row-after-username para insertar una cabecera/fila junto a la columna del nombre de usuario.
Por ejemplo:
Para la cabecera, puedes usar el componente TableHeaderToggle.
Para la fila, puedes usar por ejemplo <div class="directory-table__cell directory-table__cell--status">{{this.args.member}}</div> – puedes acceder a los datos con {{this.args.member}}
Necesitarás arreglar el CSS de la cuadrícula para incluir una nueva columna.
.group-members--can-manage {
grid-template-columns: 3fr repeat(5, minmax(min-content, 1fr)) 3em;
^
}
Si quieres mover la columna, la posición es un poco complicada debido a display: contents; sin embargo, usar order puede funcionar.
Por cierto, podrías tener problemas para obtener el estado del usuario. En mis pruebas, los datos no se reflejaron en member con un usuario suspendido o silenciado (silencedTillDate o suspendedTillDate no están definidos). No estoy seguro si hay un error aquí. ¡No investigué más por ahora!
Espero que esto ayude.
¡Genial, gracias! Esto ayuda mucho. Me doy cuenta ahora de que no estaba viendo las salidas group-index-table-header-after-username y group-index-table-row-after-username porque el sitio está utilizando una versión obsoleta de Discourse (2.7).
¡De nada! 2.7. Es bastante antiguo, en efecto. ![]()
Como nota aparte, te animo encarecidamente a que utilices este componente: (deprecated) Plugin outlet locations theme component. ¡Súper útil! ![]()
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
