|
|
|
@ -40,7 +40,10 @@ |
|
|
|
|
<template #loading> |
|
|
|
|
{{ $t("Loading courses. Please wait.") }} |
|
|
|
|
</template> |
|
|
|
|
<Column header="" style="min-width: 5rem"> |
|
|
|
|
<Column |
|
|
|
|
header="" |
|
|
|
|
style="min-width: 5rem" |
|
|
|
|
> |
|
|
|
|
<template #body="{ data }"> |
|
|
|
|
<img |
|
|
|
|
:alt="data.title" |
|
|
|
@ -53,7 +56,7 @@ |
|
|
|
|
:header="$t('Title')" |
|
|
|
|
:sortable="true" |
|
|
|
|
field="title" |
|
|
|
|
style="min-width: 8rem; text-align: center;" |
|
|
|
|
style="min-width: 8rem; text-align: center" |
|
|
|
|
> |
|
|
|
|
<template #body="{ data }"> |
|
|
|
|
{{ data.title }} |
|
|
|
@ -64,7 +67,7 @@ |
|
|
|
|
:header="$t('Course description')" |
|
|
|
|
:sortable="true" |
|
|
|
|
field="description" |
|
|
|
|
style="min-width: 8rem; text-align: center;" |
|
|
|
|
style="min-width: 8rem; text-align: center" |
|
|
|
|
> |
|
|
|
|
<template #body="{ data }"> |
|
|
|
|
{{ data.description }} |
|
|
|
@ -75,10 +78,13 @@ |
|
|
|
|
:header="$t('Duration')" |
|
|
|
|
:sortable="true" |
|
|
|
|
field="duration" |
|
|
|
|
style="min-width: 8rem; text-align: center;" |
|
|
|
|
style="min-width: 8rem; text-align: center" |
|
|
|
|
> |
|
|
|
|
<template #body="{ data }"> |
|
|
|
|
<div v-if="data.duration" class="course-duration"> |
|
|
|
|
<div |
|
|
|
|
v-if="data.duration" |
|
|
|
|
class="course-duration" |
|
|
|
|
> |
|
|
|
|
{{ (data.duration / 60 / 60).toFixed(2) }} hours |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
@ -88,11 +94,11 @@ |
|
|
|
|
:header="$t('Teachers')" |
|
|
|
|
:sortable="true" |
|
|
|
|
field="teachers" |
|
|
|
|
style="min-width: 10rem; text-align: center;" |
|
|
|
|
style="min-width: 10rem; text-align: center" |
|
|
|
|
> |
|
|
|
|
<template #body="{ data }"> |
|
|
|
|
<div v-if="data.teachers && data.teachers.length > 0"> |
|
|
|
|
{{ data.teachers.map(teacher => teacher.user.fullName).join(', ') }} |
|
|
|
|
{{ data.teachers.map((teacher) => teacher.user.fullName).join(", ") }} |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
</Column> |
|
|
|
@ -100,7 +106,7 @@ |
|
|
|
|
:header="$t('Language')" |
|
|
|
|
:sortable="true" |
|
|
|
|
field="courseLanguage" |
|
|
|
|
style="min-width: 5rem; text-align: center;" |
|
|
|
|
style="min-width: 5rem; text-align: center" |
|
|
|
|
> |
|
|
|
|
<template #body="{ data }"> |
|
|
|
|
{{ data.courseLanguage }} |
|
|
|
@ -110,7 +116,7 @@ |
|
|
|
|
:header="$t('Categories')" |
|
|
|
|
:sortable="true" |
|
|
|
|
field="categories" |
|
|
|
|
style="min-width: 8rem; text-align: center;" |
|
|
|
|
style="min-width: 8rem; text-align: center" |
|
|
|
|
> |
|
|
|
|
<template #body="{ data }"> |
|
|
|
|
<span |
|
|
|
@ -127,7 +133,7 @@ |
|
|
|
|
:header="$t('Ranking')" |
|
|
|
|
:sortable="true" |
|
|
|
|
field="trackCourseRanking.realTotalScore" |
|
|
|
|
style="min-width: 10rem; text-align: center;" |
|
|
|
|
style="min-width: 10rem; text-align: center" |
|
|
|
|
> |
|
|
|
|
<template #body="{ data }"> |
|
|
|
|
<Rating |
|
|
|
@ -142,7 +148,7 @@ |
|
|
|
|
<Column |
|
|
|
|
field="link" |
|
|
|
|
header="" |
|
|
|
|
style="min-width: 10rem; text-align: center;" |
|
|
|
|
style="min-width: 10rem; text-align: center" |
|
|
|
|
> |
|
|
|
|
<template #body="{ data }"> |
|
|
|
|
<router-link |
|
|
|
@ -180,8 +186,7 @@ const courses = ref([]) |
|
|
|
|
const filters = ref(null) |
|
|
|
|
|
|
|
|
|
const platformConfigStore = usePlatformConfig() |
|
|
|
|
const showCourseDuration = 'true' === platformConfigStore.getSetting("course.show_course_duration") |
|
|
|
|
|
|
|
|
|
const showCourseDuration = "true" === platformConfigStore.getSetting("course.show_course_duration") |
|
|
|
|
|
|
|
|
|
const load = function () { |
|
|
|
|
status.value = true |
|
|
|
|