Управление сущностями
@switch (activeTabIndex()) {
@case (0) {
@if (worksState$ | async; as state) {
@switch (state.status) {
@case ('loading') {
}
@case ('error') {
}
@case ('ok') {
@if (state.items.length === 0) {
Работ пока нет.
} @else {
@for (work of state.items; track work.id) {
-
Работа {{ work.id }}
{{ work.archive_object_key ? 'Архив есть' : 'Без архива' }}
student={{ work.student_id }}, event={{ work.event_id }}
}
}
}
}
}
}
@case (1) {
@defer {
@if (eventsState$ | async; as state) {
@switch (state.status) {
@case ('loading') {
}
@case ('error') { }
@case ('ok') {
@for (event of state.items; track event.id) {
-
{{ event.name }}
#{{ event.id }}
group={{ event.group_id }}, date={{ formatDate(event.date) }}
}
}
}
}
} @placeholder {
}
}
@case (2) {
@defer {
@if (studentsState$ | async; as state) {
@switch (state.status) {
@case ('loading') {
}
@case ('error') { Ошибка загрузки студентов.
}
@case ('ok') {
@for (student of state.items; track student.id) {
-
{{ student.name }}
#{{ student.id }}
{{ student.email }}
}
}
}
}
} @placeholder {
}
}
@case (3) {
@defer {
@if (groupsState$ | async; as state) {
@switch (state.status) {
@case ('loading') {
}
@case ('error') { }
@case ('ok') {
@for (group of state.items; track group.id) {
-
{{ group.name }}
#{{ group.id }}
students={{ group.students?.length ?? 0 }}, users={{ group.users?.length ?? 0 }}
}
}
}
}
} @placeholder {
}
}
@case (4) {
@defer {
@if (refsState$ | async; as state) {
@switch (state.status) {
@case ('loading') {
}
@case ('error') { Ошибка загрузки reference sets.
}
@case ('ok') {
@for (ref of state.items; track ref.id) {
-
{{ ref.name }}
{{ ref.kind }}
{{ ref.description ?? '—' }}
}
}
}
}
} @placeholder {
}
}
}