Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(PauseScreensMenu): Convert to standalone #2010

Merged
merged 2 commits into from
Nov 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/app/teacher/classroom-monitor.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ import { SelectPeriodComponent } from '../../assets/wise5/classroomMonitor/class
NotebookGradingComponent,
NotebookWorkgroupGradingComponent,
NotificationsMenuComponent,
PauseScreensMenuComponent,
StepItemComponent,
StudentGradingComponent,
StudentGradingToolsComponent,
Expand All @@ -67,6 +66,7 @@ import { SelectPeriodComponent } from '../../assets/wise5/classroomMonitor/class
ManageStudentsModule,
MilestoneModule,
NavItemScoreComponent,
PauseScreensMenuComponent,
PeerGroupGradingModule,
PreviewComponentComponent,
ProjectProgressComponent,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,18 @@
>
All Periods
</mat-slide-toggle>
<mat-divider></mat-divider>
<mat-slide-toggle
*ngFor="let period of periods"
class="mat-primary account-menu__control"
aria-label="Pause student screens (Period: {{ period.periodName }})"
i18n-aria-label
[(ngModel)]="period.paused"
(ngModelChange)="togglePeriod(period)"
i18n
>
Period: {{ period.periodName }}
</mat-slide-toggle>
<mat-divider />
@for (period of periods; track period.periodId) {
<mat-slide-toggle
class="mat-primary account-menu__control"
aria-label="Pause student screens (Period: {{ period.periodName }})"
i18n-aria-label
[(ngModel)]="period.paused"
(ngModelChange)="togglePeriod(period)"
i18n
>
Period: {{ period.periodName }}
</mat-slide-toggle>
}
</div>
</div>
Original file line number Diff line number Diff line change
@@ -1,20 +1,38 @@
import { Component } from '@angular/core';
import { TeacherDataService } from '../../../services/teacherDataService';
import { TeacherPauseScreenService } from '../../../services/teacherPauseScreenService';
import { CommonModule } from '@angular/common';
import { FlexLayoutModule } from '@angular/flex-layout';
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
import { MatIconModule } from '@angular/material/icon';
import { MatToolbarModule } from '@angular/material/toolbar';
import { MatDividerModule } from '@angular/material/divider';
import { FormsModule } from '@angular/forms';

class Period {
paused: boolean;
periodId: number;
periodName: string;
}

@Component({
imports: [
CommonModule,
FlexLayoutModule,
FormsModule,
MatDividerModule,
MatIconModule,
MatSlideToggleModule,
MatToolbarModule
],
selector: 'pause-screens-menu',
styleUrls: ['./pause-screens-menu.component.scss'],
standalone: true,
styleUrl: './pause-screens-menu.component.scss',
templateUrl: './pause-screens-menu.component.html'
})
export class PauseScreensMenuComponent {
allPeriodsPaused: boolean;
periods: Period[];
protected allPeriodsPaused: boolean;
protected periods: Period[];

constructor(
private dataService: TeacherDataService,
Expand All @@ -23,11 +41,11 @@ export class PauseScreensMenuComponent {
this.periods = this.dataService.getPeriods().filter((period) => period.periodId !== -1);
}

togglePeriod(period: Period): void {
protected togglePeriod(period: Period): void {
this.pauseScreenService.pauseScreensChanged(period.periodId, period.paused);
}

toggleAllPeriods(): void {
protected toggleAllPeriods(): void {
this.periods.forEach((period) => {
this.pauseScreenService.pauseScreensChanged(period.periodId, this.allPeriodsPaused);
});
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,14 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { FormsModule } from '@angular/forms';
import { MatDividerModule } from '@angular/material/divider';
import { MatIconModule } from '@angular/material/icon';
import { MatListModule } from '@angular/material/list';
import { MatMenuModule } from '@angular/material/menu';
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
import { MatToolbarModule } from '@angular/material/toolbar';
import { MatTooltipModule } from '@angular/material/tooltip';
import { ConfigService } from '../../../../services/configService';
import { NotificationService } from '../../../../services/notificationService';
import { ClassroomMonitorTestingModule } from '../../../classroom-monitor-testing.module';
import { PauseScreensMenuComponent } from '../../pause-screens-menu/pause-screens-menu.component';
import { NotificationsMenuComponent } from '../notifications-menu/notifications-menu.component';

import { TopBarComponent } from './top-bar.component';

describe('TopBarComponent', () => {
Expand All @@ -21,15 +17,13 @@ describe('TopBarComponent', () => {

beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [NotificationsMenuComponent, PauseScreensMenuComponent, TopBarComponent],
declarations: [NotificationsMenuComponent, TopBarComponent],
imports: [
ClassroomMonitorTestingModule,
FormsModule,
MatDividerModule,
PauseScreensMenuComponent,
MatIconModule,
MatListModule,
MatMenuModule,
MatSlideToggleModule,
MatToolbarModule,
MatTooltipModule
]
Expand Down
2 changes: 1 addition & 1 deletion src/messages.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -14404,7 +14404,7 @@ The branches will be removed but the steps will remain in the unit.</source>
<context context-type="linenumber">28</context>
</context-group>
</trans-unit>
<trans-unit id="17fab40eb78ceec55d9a0884e132fc2dd9f70e51" datatype="html">
<trans-unit id="ae01e13f07e3e6c87e05fdcd39228e846ec19532" datatype="html">
<source> Period: <x id="INTERPOLATION" equiv-text="{{ period.periodName }}"/> </source>
<context-group purpose="location">
<context context-type="sourcefile">src/assets/wise5/classroomMonitor/classroomMonitorComponents/pause-screens-menu/pause-screens-menu.component.html</context>
Expand Down
Loading