}
<div class="input-group input-group-sm me-md-5 d-none d-md-flex">
<button class="btn btn-outline-secondary" (click)="decreaseZoom()" i18n>-</button>
- <select class="form-select" (change)="setZoom($event.target.value)">
+ <select class="form-select" (change)="setZoom($event.target.value)" [ngModel]="currentZoom">
@for (setting of zoomSettings; track setting) {
- <option [value]="setting" [attr.selected]="isZoomSelected(setting) ? 'selected' : null">
+ <option [value]="setting">
{{ getZoomSettingTitle(setting) }}
</option>
}
it('should select correct zoom setting in dropdown', () => {
initNormally()
component.setZoom(ZoomSetting.PageFit)
- expect(component.isZoomSelected(ZoomSetting.PageFit)).toBeTruthy()
- expect(component.isZoomSelected(ZoomSetting.One)).toBeFalsy()
- component.setZoom(ZoomSetting.PageWidth)
- expect(component.isZoomSelected(ZoomSetting.One)).toBeTruthy()
- expect(component.isZoomSelected(ZoomSetting.PageFit)).toBeFalsy()
+ expect(component.currentZoom).toEqual(ZoomSetting.PageFit)
component.setZoom(ZoomSetting.Quarter)
- expect(component.isZoomSelected(ZoomSetting.Quarter)).toBeTruthy()
- expect(component.isZoomSelected(ZoomSetting.PageFit)).toBeFalsy()
+ expect(component.currentZoom).toEqual(ZoomSetting.Quarter)
})
it('should support updating notes dynamically', () => {
)
}
- isZoomSelected(setting: ZoomSetting): boolean {
+ get currentZoom() {
if (this.previewZoomScale === ZoomSetting.PageFit) {
- return setting === ZoomSetting.PageFit
- }
-
- return this.previewZoomSetting === setting
+ return ZoomSetting.PageFit
+ } else return this.previewZoomSetting
}
getZoomSettingTitle(setting: ZoomSetting): string {