Fix user session list displaying sessions in categories - refs BT#21745

pull/5551/head
Angel Fernando Quiroz Campos 1 year ago
parent 603ca76966
commit 2f351d192e
  1. 9
      assets/vue/components/session/SessionCategoryListWrapper.vue
  2. 2
      assets/vue/components/session/SessionCategoryView.vue
  3. 24
      assets/vue/views/user/sessions/session.js

@ -1,6 +1,5 @@
<script setup>
import SessionListCategoryWrapper from "../../components/session/SessionListCategoryWrapper"
import { toRefs } from "vue"
import BaseIcon from "../basecomponents/BaseIcon.vue"
const props = defineProps({
@ -9,16 +8,12 @@ const props = defineProps({
required: true,
},
categoryWithSessions: {
type: Array,
type: Map,
required: true,
},
})
const { categoryWithSessions } = toRefs(props)
function getSessionsFromCategory(category) {
return categoryWithSessions.value[category._id]["sessions"]
}
const getSessionsFromCategory = (category) => props.categoryWithSessions.get(category["@id"]).sessions
</script>
<template>

@ -20,7 +20,7 @@ defineProps({
required: true,
},
categoriesWithSessions: {
type: Array,
type: Map,
required: true,
},
})

@ -32,17 +32,27 @@ export function useSession(type) {
return categoryList
}
/**
* @param {Array<object>} sessions
* @returns {Map<string, { sessions }>}
*/
function getCategoriesWithSessions(sessions) {
let categoriesIn = []
let categoriesIn = new Map()
sessions.forEach(function (session) {
if (!isEmpty(session.category)) {
if (categoriesIn[session.category["@id"]] === undefined) {
categoriesIn[session.category["@id"]] = []
categoriesIn[session.category["@id"]]["sessions"] = []
}
categoriesIn[session.category["@id"]]["sessions"].push(session)
if (isEmpty(session.category)) {
return
}
let sessionsInCategory = []
if (categoriesIn.has(session.category["@id"])) {
sessionsInCategory = categoriesIn.get(session.category["@id"]).sessions
}
sessionsInCategory.push(session)
categoriesIn.set(session.category["@id"], { sessions: sessionsInCategory })
})
return categoriesIn

Loading…
Cancel
Save