Estoy tratando de devolver múltiples "roles" a un DataTable. Cada función individual tiene un "título" y una "clase" específicos, que luego se devuelven a la columna de la tabla de datos.
var $role_number = full['roles']; var $roles = { 1: { title: 'WorkShop Leader', class: 'badge-light-primary' }, 2: { title: 'Planner', class: 'badge-light-secondary' }, 3: { title: 'Operator', class: 'badge-light-warning' }, };Estos son los roles disponibles. Y luego devuelvo esto:
return ( '<span class="badge rounded-pill ' + $roles[$role_number].class + '">' + $roles[$role_number].title + '</span>' );Esto funciona si el objeto JSON solo tiene una función (por ejemplo, función 1: líder del taller). Pero quiero que los "roles" sean una matriz, porque un usuario puede tener más de un rol.
Entonces este usuario tiene solo un rol:
{ "id": 1, "first_name": "Albert", "second_name": "Cognoms", "roles": [1], "status": 1 }Pero este usuario tiene dos roles y no muestra ambas insignias:
{ "id": 1, "first_name": "Albert", "second_name": "Cognoms", "roles": [1, 2], "status": 1 }Si alguien conoce una mejor manera de mostrar las insignias de roles usando una matriz, realmente agradecería la ayuda. Sé que la solución debe ser algo fácil, pero no puedo aclararme la mente al respecto.
¡Gracias por adelantado!