Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ <h2>{{ 'dashboard.upcoming.heading' | translate }}</h2>
<div class="block card w-full" style="height: 90vh" *ngIf="recordings else loading">

<p-table [value]="recordings.Programs" scrollHeight="flex" [scrollable]="true" styleClass="p-datatable-striped"
[rowHover]="true">
[rowHover]="true" responsiveLayout="scroll">
<ng-template pTemplate="caption">
</ng-template>
<ng-template pTemplate="header">
Expand All @@ -28,63 +28,57 @@ <h2>{{ 'dashboard.upcoming.heading' | translate }}</h2>
</th>
</tr>
<tr>
<th style="flex-grow: 20; flex-basis: 0;" class="justify-content-end p-1">
<th style="flex-basis: 8%" class="justify-content-end p-1">
{{ 'dashboard.upcoming.date' | translate }} </th>
<th style="flex-grow: 15; flex-basis: 0;" class="justify-content-end p-1">
<th style="flex-basis: 6%" class="justify-content-end p-1">
{{ 'dashboard.upcoming.time' | translate }} </th>
<th style="flex-grow: 15; flex-basis: 0;" class="justify-content-end pl-1 pr-3 pt-1 pb-1"></th>
<th style="flex-grow: 20; flex-basis: 0;" class="p-1">{{ 'dashboard.upcoming.encoder' | translate }}
</th>
<th style="flex-grow: 40; flex-basis: 0;" class="p-1">
<th style="flex-basis: 6%" class="justify-content-end pl-1 pr-3 pt-1 pb-1"></th>
<th style="flex-basis: 8%" class="p-1">{{ 'dashboard.upcoming.encoder' | translate }} </th>
<th style="flex-basis: 12%" class="p-1">
{{ 'dashboard.recordings.title' | translate }}</th>
<th style="flex-grow: 3; flex-basis: 0;" class="p-1"></th>
<th style="flex-grow: 45; flex-basis: 0;" class="p-1">{{ 'dashboard.recordings.subtitle' | translate
<th style="flex-basis: 18%" class="p-1">{{ 'dashboard.recordings.subtitle' | translate
}}</th>
<th style="flex-grow: 10; flex-basis: 0;" class="p-1">{{ 'dashboard.recordings.seas_ep' | translate
<th style="flex-basis: 4%" class="p-1">{{ 'dashboard.recordings.seas_ep' | translate
}}</th>
<th style="flex-grow: 20; flex-basis: 0;" class="justify-content-end p-1">
<th style="flex-basis: 8%" class="justify-content-end p-1">
{{ 'dashboard.recordings.orig_airdate' | translate }}
</th>
<th style="flex-grow: 25; flex-basis: 0;" class="p-1">{{ 'dashboard.recordings.channel' | translate
<th style="flex-basis: 10%" class="p-1">{{ 'dashboard.recordings.channel' | translate
}}</th>
<th style="flex-grow: 15; flex-basis: 0;" class="p-1">
<th style="flex-basis: 8%" class="p-1">
{{ 'dashboard.recordings.recgrp' | translate }} </th>
<th style="flex-grow: 18; flex-basis: 0;" class="p-1">
<th style="flex-basis: 7%" class="p-1">
{{ 'dashboard.upcoming.status' | translate }} </th>
<th style="flex-grow: 3; flex-basis: 0;" class="p-1"> <button pButton pRipple icon="pi pi-pencil"
<th style="flex-basis: 2%" class="p-1"> <button pButton pRipple icon="pi pi-pencil"
[disabled]="true" class="p-button-text p-button-primary"></button>
</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-program>
<tr height="25">
<td style="flex-grow: 20; flex-basis: 0;"
class="justify-content-end p-1 white-space-nowrap overflow-hidden">
<tr>
<td style="flex-basis: 8%"
class="justify-content-end p-1 overflow-hidden">
{{formatDate(program.StartTime)}}</td>
<td style="flex-grow: 15; flex-basis: 0;"
class="justify-content-end p-1 white-space-nowrap overflow-hidden">
<td style="flex-basis: 6%"
class="justify-content-end p-1 overflow-hidden">
{{formatTime(program.StartTime)}}</td>
<td style="flex-grow: 15; flex-basis: 0;"
class="justify-content-end pl-1 pr-3 pt-1 pb-1 white-space-nowrap overflow-hidden">
<td style="flex-basis: 6%"
class="justify-content-end pl-1 pr-3 pt-1 pb-1 overflow-hidden">
{{ getDuration(program) | number:'1.0-0' }} min</td>
<td style="flex-grow: 20; flex-basis: 0;" class="p-1">{{program.Recording.EncoderName}}</td>
<td style="flex-grow: 40; flex-basis: 0;" class="p-1 white-space-nowrap overflow-hidden">
{{program.Title}}</td>
<td style="flex-grow: 3; flex-basis: 0;" class="p-1">
<i class="pi pi-eye" *ngIf="program.ProgramFlagNames.indexOf('WATCHED') > -1"></i>
</td>
<td style="flex-grow: 45; flex-basis: 0;" class="p-1 white-space-nowrap overflow-hidden">
{{program.SubTitle}}</td>
<td style="flex-grow: 10; flex-basis: 0;" class="p-1">{{program.Season}}x{{program.Episode}}</td>
<td style="flex-grow: 20; flex-basis: 0;" class="justify-content-end p-1">
<td style="flex-basis: 8%" class="p-1">{{program.Recording.EncoderName}}</td>
<td style="flex-basis: 12%" class="p-1 overflow-hidden"> {{program.Title}}</td>
<td style="flex-basis: 18%" class="p-1 overflow-hidden">
{{program.SubTitle.slice(0,50)}}</td>
<td style="flex-basis: 4%" class="p-1">{{program.Season}}x{{program.Episode}}</td>
<td style="flex-basis: 8%" class="justify-content-end p-1">
{{formatDate(program.Airdate)}}</td>
<td style="flex-grow: 25; flex-basis: 0;" class="p-1">
{{program.Channel.ChanNum}}/{{program.Channel.CallSign}}</td>
<td style="flex-grow: 15; flex-basis: 0;" class="p-1">{{program.Recording.RecGroup}}</td>
<td style="flex-grow: 18; flex-basis: 0;" class="p-1" [ngStyle]="['WillRecord','Recording'].indexOf(program.Recording.StatusName)>-1?
<td style="flex-basis: 10%" class="p-1">
{{program.Channel.ChanNum}} {{program.Channel.CallSign}}</td>
<td style="flex-basis: 8%" class="p-1">{{program.Recording.RecGroup}}</td>
<td style="flex-basis: 7%" class="p-1" [ngStyle]="['WillRecord','Recording'].indexOf(program.Recording.StatusName)>-1?
{'background-color':'palegreen'}:{'background-color':'pink'}">
{{dataService.recStatusText[program.Recording.StatusName]}}</td>
<td style="flex-grow: 3; flex-basis: 0;" class="p-1">
<td style="flex-basis: 2%" class="p-1">
<button pButton pRipple icon="pi pi-pencil" class="p-button-text p-button-primary"
(click)="updateRecRule(program)"></button>
</td>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { TranslateService } from '@ngx-translate/core';
import { MenuItem, MessageService } from 'primeng/api';
import { Menu } from 'primeng/menu';
import { PartialObserver } from 'rxjs';
import { ScheduleLink } from 'src/app/schedule/schedule.component';
import { ScheduleLink, SchedulerSummary } from 'src/app/schedule/schedule.component';
import { DataService } from 'src/app/services/data.service';
import { DvrService } from 'src/app/services/dvr.service';
import { ProgramList, ScheduleOrProgram } from 'src/app/services/interfaces/program.interface';
Expand All @@ -15,7 +15,7 @@ import { ProgramList, ScheduleOrProgram } from 'src/app/services/interfaces/prog
styleUrls: ['./upcoming.component.css'],
providers: [MessageService]
})
export class UpcomingComponent implements OnInit {
export class UpcomingComponent implements OnInit, SchedulerSummary {

@ViewChild("upcomingform") currentForm!: NgForm;
@ViewChild("menu") menu!: Menu;
Expand Down
1 change: 0 additions & 1 deletion mythtv/html/backend/src/app/schedule/schedule.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import { TranslateService } from '@ngx-translate/core';
import { MythService } from '../services/myth.service';
import { NgForm } from '@angular/forms';
import { RecordScheduleRequest } from '../services/interfaces/dvr.interface';
import { GuideComponent } from '../guide/guide.component';
import { Observable, of } from 'rxjs';

export interface SchedulerSummary {
Expand Down