Управление сущностями
@switch (activeTabIndex()) {
@case (0) {
@defer {
@if (studentsState$ | async; as state) {
@switch (state.status) {
@case ('loading') {
}
@case ('error') {}
@case ('ok') {
@if (state.items.length > 0) {
@for (student of state.items; track student.id) {
-
{{ student.name }}
#{{ student.id }}
{{ student.email }}
}
}
}
}
}
} @placeholder {
}
}
@case (1) {
@defer {
@if (eventsState$ | async; as state) {
@switch (state.status) {
@case ('loading') {
}
@case ('error') {}
@case ('ok') {
@if (state.items.length > 0) {
@for (event of state.items; track event.id) {
-
{{ event.name }}
#{{ event.id }}
{{ groupName(event.group_id) }}, {{ formatDate(event.date) }}
}
}
}
}
}
} @placeholder {
}
}
@case (2) {
@defer {
@if (groupsState$ | async; as state) {
@switch (state.status) {
@case ('loading') {
}
@case ('error') {}
@case ('ok') {
@if (state.items.length > 0) {
@for (group of state.items; track group.id) {
-
{{ group.name }}
#{{ group.id }}
students={{ group.students?.length ?? 0 }}, users={{ group.users?.length ?? 0 }}
}
}
}
}
}
} @placeholder {
}
}
@case (3) {
@defer {
@if (refsState$ | async; as state) {
@switch (state.status) {
@case ('loading') {
}
@case ('error') {}
@case ('ok') {
@if (state.items.length > 0) {
@for (ref of state.items; track ref.id) {
-
{{ ref.name }}
{{ ref.kind }}
{{ ref.description ?? '—' }}
}
}
}
}
}
} @placeholder {
}
}
}