From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue, 4 Feb 2025 05:54:18 +0000 (-0800) Subject: Enhancement: allow setting default pdf zoom (#9017) X-Git-Tag: v2.15.0-beta.rc1~128 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2103a499eba83addeb0a53d0ea4f6ce774ed7e35;p=thirdparty%2Fpaperless-ngx.git Enhancement: allow setting default pdf zoom (#9017) --- diff --git a/src-ui/messages.xlf b/src-ui/messages.xlf index d3c93684b..65e25d8ba 100644 --- a/src-ui/messages.xlf +++ b/src-ui/messages.xlf @@ -545,7 +545,7 @@ src/app/components/admin/settings/settings.component.html - 349 + 364 src/app/components/common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component.html @@ -944,110 +944,190 @@ 152 + + Update checking + + src/app/components/admin/settings/settings.component.html + 157 + + + + Enable update checking + + src/app/components/admin/settings/settings.component.html + 160 + + + + What's this? + + src/app/components/admin/settings/settings.component.html + 161 + + + src/app/components/common/page-header/page-header.component.html + 9 + + + src/app/components/common/permissions-select/permissions-select.component.html + 4 + + + + Update checking works by pinging the public GitHub API for the latest release to determine whether a new version is available. Actual updating of the app must still be performed manually. + + src/app/components/admin/settings/settings.component.html + 165,167 + + + + No tracking data is collected by the app in any way. + + src/app/components/admin/settings/settings.component.html + 169 + + + + Saved Views + + src/app/components/admin/settings/settings.component.html + 175 + + + src/app/components/app-frame/app-frame.component.html + 204 + + + src/app/components/app-frame/app-frame.component.html + 206 + + + src/app/components/manage/saved-views/saved-views.component.html + 2 + + + + Show warning when closing saved views with unsaved changes + + src/app/components/admin/settings/settings.component.html + 178 + + Document editing src/app/components/admin/settings/settings.component.html - 157 + 184 Use PDF viewer provided by the browser src/app/components/admin/settings/settings.component.html - 161 + 188 This is usually faster for displaying large PDF documents, but it might not work on some browsers. src/app/components/admin/settings/settings.component.html - 161 + 188 - - Automatically remove inbox tag(s) on save + + Default zoom: src/app/components/admin/settings/settings.component.html - 167 + 194 - - Show document thumbnail during loading + + Fit width src/app/components/admin/settings/settings.component.html - 173 + 198 - - Update checking + + Fit page src/app/components/admin/settings/settings.component.html - 178 + 199 - - Enable update checking + + Only applies to the Paperless-ngx PDF viewer. src/app/components/admin/settings/settings.component.html - 181 + 201 - - What's this? + + Automatically remove inbox tag(s) on save src/app/components/admin/settings/settings.component.html - 182 - - - src/app/components/common/page-header/page-header.component.html - 9 + 207 + + + Show document thumbnail during loading - src/app/components/common/permissions-select/permissions-select.component.html - 4 + src/app/components/admin/settings/settings.component.html + 213 - - Update checking works by pinging the public GitHub API for the latest release to determine whether a new version is available. Actual updating of the app must still be performed manually. + + Notes src/app/components/admin/settings/settings.component.html - 186,188 + 217 + + + src/app/components/document-list/document-list.component.html + 217 + + + src/app/data/document.ts + 58 + + + src/app/data/document.ts + 95 - - No tracking data is collected by the app in any way. + + Enable notes src/app/components/admin/settings/settings.component.html - 190 + 220 Bulk editing src/app/components/admin/settings/settings.component.html - 196 + 224 Show confirmation dialogs src/app/components/admin/settings/settings.component.html - 199 + 227 Apply on close src/app/components/admin/settings/settings.component.html - 200 + 228 Global search src/app/components/admin/settings/settings.component.html - 204 + 232 src/app/components/app-frame/global-search/global-search.component.ts @@ -1058,28 +1138,28 @@ Do not include advanced search results src/app/components/admin/settings/settings.component.html - 207 + 235 Full search links to src/app/components/admin/settings/settings.component.html - 215 + 243 Title and content search src/app/components/admin/settings/settings.component.html - 219 + 247 Advanced search src/app/components/admin/settings/settings.component.html - 220 + 248 src/app/components/app-frame/global-search/global-search.component.html @@ -1090,63 +1170,11 @@ 166 - - Saved Views - - src/app/components/admin/settings/settings.component.html - 227 - - - src/app/components/app-frame/app-frame.component.html - 204 - - - src/app/components/app-frame/app-frame.component.html - 206 - - - src/app/components/manage/saved-views/saved-views.component.html - 2 - - - - Show warning when closing saved views with unsaved changes - - src/app/components/admin/settings/settings.component.html - 230 - - - - Notes - - src/app/components/admin/settings/settings.component.html - 234 - - - src/app/components/document-list/document-list.component.html - 217 - - - src/app/data/document.ts - 58 - - - src/app/data/document.ts - 95 - - - - Enable notes - - src/app/components/admin/settings/settings.component.html - 237 - - Permissions src/app/components/admin/settings/settings.component.html - 247 + 262 src/app/components/common/edit-dialog/group-edit-dialog/group-edit-dialog.component.html @@ -1209,28 +1237,28 @@ Default Permissions src/app/components/admin/settings/settings.component.html - 250 + 265 Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI src/app/components/admin/settings/settings.component.html - 254,256 + 269,271 Default Owner src/app/components/admin/settings/settings.component.html - 261 + 276 Objects without an owner can be viewed and edited by all users src/app/components/admin/settings/settings.component.html - 265 + 280 src/app/components/common/input/permissions/permissions-form/permissions-form.component.html @@ -1241,18 +1269,18 @@ Default View Permissions src/app/components/admin/settings/settings.component.html - 270 + 285 Users: src/app/components/admin/settings/settings.component.html - 275 + 290 src/app/components/admin/settings/settings.component.html - 302 + 317 src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html @@ -1283,11 +1311,11 @@ Groups: src/app/components/admin/settings/settings.component.html - 285 + 300 src/app/components/admin/settings/settings.component.html - 312 + 327 src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html @@ -1318,14 +1346,14 @@ Default Edit Permissions src/app/components/admin/settings/settings.component.html - 297 + 312 Edit permissions also grant viewing permissions src/app/components/admin/settings/settings.component.html - 321 + 336 src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html @@ -1344,56 +1372,56 @@ Notifications src/app/components/admin/settings/settings.component.html - 329 + 344 Document processing src/app/components/admin/settings/settings.component.html - 332 + 347 Show notifications when new documents are detected src/app/components/admin/settings/settings.component.html - 336 + 351 Show notifications when document processing completes successfully src/app/components/admin/settings/settings.component.html - 337 + 352 Show notifications when document processing fails src/app/components/admin/settings/settings.component.html - 338 + 353 Suppress notifications on dashboard src/app/components/admin/settings/settings.component.html - 339 + 354 This will suppress all messages about document processing status on the dashboard. src/app/components/admin/settings/settings.component.html - 339 + 354 Cancel src/app/components/admin/settings/settings.component.html - 350 + 365 src/app/components/common/confirm-dialog/confirm-dialog.component.ts @@ -1468,21 +1496,21 @@ Use system language src/app/components/admin/settings/settings.component.ts - 75 + 76 Use date format of display language src/app/components/admin/settings/settings.component.ts - 78 + 79 Error retrieving users src/app/components/admin/settings/settings.component.ts - 213 + 217 src/app/components/admin/users-groups/users-groups.component.ts @@ -1493,7 +1521,7 @@ Error retrieving groups src/app/components/admin/settings/settings.component.ts - 232 + 236 src/app/components/admin/users-groups/users-groups.component.ts @@ -1504,28 +1532,28 @@ Settings were saved successfully. src/app/components/admin/settings/settings.component.ts - 521 + 532 Settings were saved successfully. Reload is required to apply some changes. src/app/components/admin/settings/settings.component.ts - 525 + 536 Reload now src/app/components/admin/settings/settings.component.ts - 526 + 537 An error occurred while saving settings. src/app/components/admin/settings/settings.component.ts - 536 + 547 src/app/components/app-frame/app-frame.component.ts @@ -2505,19 +2533,19 @@ src/app/components/document-detail/document-detail.component.ts - 957 + 958 src/app/components/document-detail/document-detail.component.ts - 1310 + 1318 src/app/components/document-detail/document-detail.component.ts - 1349 + 1357 src/app/components/document-detail/document-detail.component.ts - 1390 + 1398 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -3111,7 +3139,7 @@ src/app/components/document-detail/document-detail.component.ts - 910 + 911 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -6237,7 +6265,7 @@ src/app/components/document-detail/document-detail.component.ts - 1367 + 1375 src/app/guards/dirty-saved-view.guard.ts @@ -6524,56 +6552,56 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 411,413 + 412,414 Document changes detected src/app/components/document-detail/document-detail.component.ts - 434 + 435 The version of this document in your browser session appears older than the existing version. src/app/components/document-detail/document-detail.component.ts - 435 + 436 Saving the document here may overwrite other changes that were made. To restore the existing version, discard your changes or close the document. src/app/components/document-detail/document-detail.component.ts - 436 + 437 Ok src/app/components/document-detail/document-detail.component.ts - 438 + 439 Next document src/app/components/document-detail/document-detail.component.ts - 545 + 546 Previous document src/app/components/document-detail/document-detail.component.ts - 555 + 556 Close document src/app/components/document-detail/document-detail.component.ts - 563 + 564 src/app/services/open-documents.service.ts @@ -6584,67 +6612,67 @@ Save document src/app/components/document-detail/document-detail.component.ts - 570 + 571 Save and close / next src/app/components/document-detail/document-detail.component.ts - 579 + 580 Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 631 + 632 Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 660 + 661 Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 812 + 813 src/app/components/document-detail/document-detail.component.ts - 828 + 829 Error saving document "" src/app/components/document-detail/document-detail.component.ts - 834 + 835 Error saving document src/app/components/document-detail/document-detail.component.ts - 879 + 880 Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 911 + 912 Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 912 + 913 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -6655,7 +6683,7 @@ Move to trash src/app/components/document-detail/document-detail.component.ts - 914 + 915 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -6666,14 +6694,14 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 933 + 934 Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 953 + 954 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -6684,77 +6712,77 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 954 + 955 The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 955 + 956 Reprocess operation for "" will begin in the background. Close and re-open or reload this document after the operation has completed to see new content. src/app/components/document-detail/document-detail.component.ts - 965 + 966 Error executing operation src/app/components/document-detail/document-detail.component.ts - 976 + 977 Error downloading document src/app/components/document-detail/document-detail.component.ts - 1023 + 1024 Page Fit src/app/components/document-detail/document-detail.component.ts - 1095 + 1103 Split confirm src/app/components/document-detail/document-detail.component.ts - 1308 + 1316 This operation will split the selected document(s) into new documents. src/app/components/document-detail/document-detail.component.ts - 1309 + 1317 Split operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1325 + 1333 Error executing split operation src/app/components/document-detail/document-detail.component.ts - 1334 + 1342 Rotate confirm src/app/components/document-detail/document-detail.component.ts - 1347 + 1355 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -6765,60 +6793,60 @@ This operation will permanently rotate the original version of the current document. src/app/components/document-detail/document-detail.component.ts - 1348 + 1356 Rotation of "" will begin in the background. Close and re-open the document after the operation has completed to see the changes. src/app/components/document-detail/document-detail.component.ts - 1364 + 1372 Error executing rotate operation src/app/components/document-detail/document-detail.component.ts - 1376 + 1384 Delete pages confirm src/app/components/document-detail/document-detail.component.ts - 1388 + 1396 This operation will permanently delete the selected pages from the original document. src/app/components/document-detail/document-detail.component.ts - 1389 + 1397 Delete pages operation for "" will begin in the background. Close and re-open or reload this document after the operation has completed to see the changes. src/app/components/document-detail/document-detail.component.ts - 1404 + 1412 Error executing delete pages operation src/app/components/document-detail/document-detail.component.ts - 1413 + 1421 An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 1453 + 1461 src/app/components/document-detail/document-detail.component.ts - 1457 + 1465 diff --git a/src-ui/src/app/components/admin/settings/settings.component.html b/src-ui/src/app/components/admin/settings/settings.component.html index 097015973..b8a46e57e 100644 --- a/src-ui/src/app/components/admin/settings/settings.component.html +++ b/src-ui/src/app/components/admin/settings/settings.component.html @@ -41,7 +41,7 @@
-

Appearance

+
Appearance
Display language @@ -154,7 +154,34 @@
-

Document editing

+
Update checking
+
+
+ + + +

+ Update checking works by pinging the public GitHub API for the latest release to determine whether a new version is available. Actual updating of the app must still be performed manually. +

+

+ No tracking data is collected by the app in any way. +

+
+
+
+ +
Saved Views
+
+
+ +
+
+ +
+
+
Document editing
@@ -162,6 +189,19 @@
+
+
+ Default zoom: +
+
+ +

Only applies to the Paperless-ngx PDF viewer.

+
+
+
@@ -173,27 +213,15 @@
-
-
-

Update checking

+ +
Notes
-
- - - -

- Update checking works by pinging the public GitHub API for the latest release to determine whether a new version is available. Actual updating of the app must still be performed manually. -

-

- No tracking data is collected by the app in any way. -

-
+
+
-

Bulk editing

+
Bulk editing
@@ -201,7 +229,7 @@
-

Global search

+
Global search
@@ -224,19 +252,6 @@
-

Saved Views

-
-
- -
-
- -

Notes

-
-
- -
-
@@ -247,7 +262,7 @@ Permissions -

Default Permissions

+
Default Permissions
@@ -329,7 +344,7 @@ Notifications -

Document processing

+
Document processing
diff --git a/src-ui/src/app/components/admin/settings/settings.component.spec.ts b/src-ui/src/app/components/admin/settings/settings.component.spec.ts index 5f587cf9e..4f50e7453 100644 --- a/src-ui/src/app/components/admin/settings/settings.component.spec.ts +++ b/src-ui/src/app/components/admin/settings/settings.component.spec.ts @@ -212,7 +212,7 @@ describe('SettingsComponent', () => { expect(toastErrorSpy).toHaveBeenCalled() expect(storeSpy).toHaveBeenCalled() expect(appearanceSettingsSpy).not.toHaveBeenCalled() - expect(setSpy).toHaveBeenCalledTimes(28) + expect(setSpy).toHaveBeenCalledTimes(29) // succeed storeSpy.mockReturnValueOnce(of(true)) diff --git a/src-ui/src/app/components/admin/settings/settings.component.ts b/src-ui/src/app/components/admin/settings/settings.component.ts index 9bd044f78..68f702cfa 100644 --- a/src-ui/src/app/components/admin/settings/settings.component.ts +++ b/src-ui/src/app/components/admin/settings/settings.component.ts @@ -63,6 +63,7 @@ import { PermissionsUserComponent } from '../../common/input/permissions/permiss import { SelectComponent } from '../../common/input/select/select.component' import { PageHeaderComponent } from '../../common/page-header/page-header.component' import { SystemStatusDialogComponent } from '../../common/system-status-dialog/system-status-dialog.component' +import { ZoomSetting } from '../../document-detail/document-detail.component' import { ComponentWithPermissions } from '../../with-permissions/with-permissions.component' enum SettingsNavIDs { @@ -125,6 +126,7 @@ export class SettingsComponent defaultPermsEditUsers: new FormControl(null), defaultPermsEditGroups: new FormControl(null), useNativePdfViewer: new FormControl(null), + pdfViewerDefaultZoom: new FormControl(null), documentEditingRemoveInboxTags: new FormControl(null), documentEditingOverlayThumbnail: new FormControl(null), searchDbOnly: new FormControl(null), @@ -154,6 +156,8 @@ export class SettingsComponent public readonly GlobalSearchType = GlobalSearchType + public readonly ZoomSetting = ZoomSetting + get systemStatusHasErrors(): boolean { return ( this.systemStatus.database.status === SystemStatusItemStatus.ERROR || @@ -276,6 +280,9 @@ export class SettingsComponent useNativePdfViewer: this.settings.get( SETTINGS_KEYS.USE_NATIVE_PDF_VIEWER ), + pdfViewerDefaultZoom: this.settings.get( + SETTINGS_KEYS.PDF_VIEWER_ZOOM_SETTING + ), displayLanguage: this.settings.getLanguage(), dateLocale: this.settings.get(SETTINGS_KEYS.DATE_LOCALE), dateFormat: this.settings.get(SETTINGS_KEYS.DATE_FORMAT), @@ -435,6 +442,10 @@ export class SettingsComponent SETTINGS_KEYS.USE_NATIVE_PDF_VIEWER, this.settingsForm.value.useNativePdfViewer ) + this.settings.set( + SETTINGS_KEYS.PDF_VIEWER_ZOOM_SETTING, + this.settingsForm.value.pdfViewerDefaultZoom + ) this.settings.set( SETTINGS_KEYS.DATE_LOCALE, this.settingsForm.value.dateLocale diff --git a/src-ui/src/app/components/document-detail/document-detail.component.html b/src-ui/src/app/components/document-detail/document-detail.component.html index 02fec3cf7..a8e14c51d 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.html +++ b/src-ui/src/app/components/document-detail/document-detail.component.html @@ -9,9 +9,9 @@ }
- @for (setting of zoomSettings; track setting) { - } @@ -356,9 +356,9 @@ -
+
@if (showThumbnailOverlay) { - Document loading... + Document loading... }
diff --git a/src-ui/src/app/components/document-detail/document-detail.component.scss b/src-ui/src/app/components/document-detail/document-detail.component.scss index c00f7655e..3fc009020 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.scss +++ b/src-ui/src/app/components/document-detail/document-detail.component.scss @@ -85,5 +85,8 @@ textarea.rtl { > img { filter: blur(1px); + max-width: 100%; + object-fit: contain; + object-position: top; } } diff --git a/src-ui/src/app/components/document-detail/document-detail.component.spec.ts b/src-ui/src/app/components/document-detail/document-detail.component.spec.ts index 229c4fd12..349e213aa 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.spec.ts +++ b/src-ui/src/app/components/document-detail/document-detail.component.spec.ts @@ -62,7 +62,10 @@ import { ToastService } from 'src/app/services/toast.service' import { environment } from 'src/environments/environment' import { ConfirmDialogComponent } from '../common/confirm-dialog/confirm-dialog.component' import { CustomFieldsDropdownComponent } from '../common/custom-fields-dropdown/custom-fields-dropdown.component' -import { DocumentDetailComponent } from './document-detail.component' +import { + DocumentDetailComponent, + ZoomSetting, +} from './document-detail.component' const doc: Document = { id: 3, @@ -753,7 +756,7 @@ describe('DocumentDetailComponent', () => { it('should support zoom controls', () => { initNormally() - component.onZoomSelect({ target: { value: '1' } } as any) // from select + component.setZoom(ZoomSetting.One) // from select expect(component.previewZoomSetting).toEqual('1') component.increaseZoom() expect(component.previewZoomSetting).toEqual('1.5') @@ -761,18 +764,18 @@ describe('DocumentDetailComponent', () => { expect(component.previewZoomSetting).toEqual('2') component.decreaseZoom() expect(component.previewZoomSetting).toEqual('1.5') - component.onZoomSelect({ target: { value: '1' } } as any) // from select + component.setZoom(ZoomSetting.One) // from select component.decreaseZoom() expect(component.previewZoomSetting).toEqual('.75') - component.onZoomSelect({ target: { value: 'page-fit' } } as any) // from select + component.setZoom(ZoomSetting.PageFit) // from select expect(component.previewZoomScale).toEqual('page-fit') expect(component.previewZoomSetting).toEqual('1') component.increaseZoom() expect(component.previewZoomSetting).toEqual('1.5') expect(component.previewZoomScale).toEqual('page-width') - component.onZoomSelect({ target: { value: 'page-fit' } } as any) // from select + component.setZoom(ZoomSetting.PageFit) // from select expect(component.previewZoomScale).toEqual('page-fit') expect(component.previewZoomSetting).toEqual('1') component.decreaseZoom() @@ -780,6 +783,19 @@ describe('DocumentDetailComponent', () => { expect(component.previewZoomScale).toEqual('page-width') }) + 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() + component.setZoom(ZoomSetting.Quarter) + expect(component.isZoomSelected(ZoomSetting.Quarter)).toBeTruthy() + expect(component.isZoomSelected(ZoomSetting.PageFit)).toBeFalsy() + }) + it('should support updating notes dynamically', () => { const notes = [ { diff --git a/src-ui/src/app/components/document-detail/document-detail.component.ts b/src-ui/src/app/components/document-detail/document-detail.component.ts index c1a96c168..30e34d9cf 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.ts +++ b/src-ui/src/app/components/document-detail/document-detail.component.ts @@ -124,7 +124,7 @@ enum ContentRenderType { TIFF = 'tiff', } -enum ZoomSetting { +export enum ZoomSetting { PageFit = 'page-fit', PageWidth = 'page-width', Quarter = '.25', @@ -328,6 +328,7 @@ export class DocumentDetailComponent } ngOnInit(): void { + this.setZoom(this.settings.get(SETTINGS_KEYS.PDF_VIEWER_ZOOM_SETTING)) this.documentForm.valueChanges .pipe(takeUntil(this.unsubscribeNotifier)) .subscribe(() => { @@ -1072,14 +1073,13 @@ export class DocumentDetailComponent } } - onZoomSelect(event: Event) { - const setting = (event.target as HTMLSelectElement)?.value as ZoomSetting - if (ZoomSetting.PageFit === setting) { - this.previewZoomSetting = ZoomSetting.One + setZoom(setting: ZoomSetting) { + if (ZoomSetting.PageFit === setting || ZoomSetting.PageWidth === setting) { this.previewZoomScale = setting + this.previewZoomSetting = ZoomSetting.One } else { - this.previewZoomScale = ZoomSetting.PageWidth this.previewZoomSetting = setting + this.previewZoomScale = ZoomSetting.PageWidth } } @@ -1089,6 +1089,14 @@ export class DocumentDetailComponent ) } + isZoomSelected(setting: ZoomSetting): boolean { + if (this.previewZoomScale === ZoomSetting.PageFit) { + return setting === ZoomSetting.PageFit + } + + return this.previewZoomSetting === setting + } + getZoomSettingTitle(setting: ZoomSetting): string { switch (setting) { case ZoomSetting.PageFit: diff --git a/src-ui/src/app/data/ui-settings.ts b/src-ui/src/app/data/ui-settings.ts index b8a319d9b..c5164d6e1 100644 --- a/src-ui/src/app/data/ui-settings.ts +++ b/src-ui/src/app/data/ui-settings.ts @@ -33,6 +33,8 @@ export const SETTINGS_KEYS = { DARK_MODE_THUMB_INVERTED: 'general-settings:dark-mode:thumb-inverted', THEME_COLOR: 'general-settings:theme:color', USE_NATIVE_PDF_VIEWER: 'general-settings:document-details:native-pdf-viewer', + PDF_VIEWER_ZOOM_SETTING: + 'general-settings:document-details:pdf-viewer-zoom-setting', DATE_LOCALE: 'general-settings:date-display:date-locale', DATE_FORMAT: 'general-settings:date-display:date-format', NOTIFICATIONS_CONSUMER_NEW_DOCUMENT: @@ -269,4 +271,9 @@ export const SETTINGS: UiSetting[] = [ type: 'boolean', default: false, }, + { + key: SETTINGS_KEYS.PDF_VIEWER_ZOOM_SETTING, + type: 'string', + default: 'page-width', // ZoomSetting from 'document-detail.component' + }, ]