Skip to content

Commit d7157d5

Browse files
author
Reinhard Hafenscher
authored
Merge pull request #227 from PSPDFKit/reinhard/add-page-mode-config
Add configuration for page mode and displaying the first page as a single page
2 parents d541e08 + 5fb4c17 commit d7157d5

File tree

4 files changed

+34
-6
lines changed

4 files changed

+34
-6
lines changed

android/src/main/java/com/pspdfkit/react/ConfigurationAdapter.java

+31-3
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,17 @@
1313

1414
package com.pspdfkit.react;
1515

16-
import android.app.Activity;
1716
import android.content.Context;
1817
import android.support.annotation.NonNull;
18+
import android.support.annotation.Nullable;
1919

2020
import com.facebook.react.bridge.ReadableMap;
2121
import com.facebook.react.bridge.ReadableMapKeySetIterator;
22-
import com.pspdfkit.configuration.activity.UserInterfaceViewMode;
2322
import com.pspdfkit.configuration.activity.PdfActivityConfiguration;
2423
import com.pspdfkit.configuration.activity.ThumbnailBarMode;
24+
import com.pspdfkit.configuration.activity.UserInterfaceViewMode;
2525
import com.pspdfkit.configuration.page.PageFitMode;
26+
import com.pspdfkit.configuration.page.PageLayoutMode;
2627
import com.pspdfkit.configuration.page.PageScrollDirection;
2728
import com.pspdfkit.configuration.page.PageScrollMode;
2829

@@ -58,7 +59,11 @@ public class ConfigurationAdapter {
5859
private static final String SHOW_PRINT_ACTION = "showPrintAction";
5960
private static final String SHOW_DOCUMENT_INFO_VIEW = "showDocumentInfoView";
6061
private static final String SHOW_DOCUMENT_TITLE_OVERLAY = "documentLabelEnabled";
61-
62+
private static final String PAGE_MODE = "pageMode";
63+
private static final String PAGE_MODE_SINGLE = "single";
64+
private static final String PAGE_MODE_DOUBLE = "double";
65+
private static final String PAGE_MODE_AUTO = "automatic";
66+
private static final String FIRST_PAGE_ALWAYS_SINGLE = "firstPageAlwaysSingle";
6267

6368
private final PdfActivityConfiguration.Builder configuration;
6469

@@ -134,6 +139,12 @@ public ConfigurationAdapter(@NonNull Context context, ReadableMap configuration)
134139
if (configuration.hasKey(SHOW_DOCUMENT_TITLE_OVERLAY)) {
135140
configureShowDocumentTitleOverlay(configuration.getBoolean(SHOW_DOCUMENT_TITLE_OVERLAY));
136141
}
142+
if (configuration.hasKey(PAGE_MODE)) {
143+
configurePageMode(configuration.getString(PAGE_MODE));
144+
}
145+
if (configuration.hasKey(FIRST_PAGE_ALWAYS_SINGLE)) {
146+
configureFirstPageAlwaysSingle(configuration.getBoolean(FIRST_PAGE_ALWAYS_SINGLE));
147+
}
137148
}
138149
}
139150

@@ -294,6 +305,23 @@ private void configureShowDocumentTitleOverlay(boolean showDocumentTitleOverlay)
294305
}
295306
}
296307

308+
private void configurePageMode(@Nullable final String pageMode) {
309+
PageLayoutMode pageLayoutMode = PageLayoutMode.AUTO;
310+
if (pageMode == null ||
311+
pageMode.equalsIgnoreCase(PAGE_MODE_AUTO)) {
312+
pageLayoutMode = PageLayoutMode.AUTO;
313+
} else if (pageMode.equalsIgnoreCase(PAGE_MODE_SINGLE)) {
314+
pageLayoutMode = PageLayoutMode.SINGLE;
315+
} else if (pageMode.equalsIgnoreCase(PAGE_MODE_DOUBLE)) {
316+
pageLayoutMode = PageLayoutMode.DOUBLE;
317+
}
318+
configuration.layoutMode(pageLayoutMode);
319+
}
320+
321+
private void configureFirstPageAlwaysSingle(final boolean firstPageAlwaysSingle) {
322+
configuration.firstPageAlwaysSingle(firstPageAlwaysSingle);
323+
}
324+
297325
public PdfActivityConfiguration build() {
298326
return configuration.build();
299327
}

package-lock.json

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-native-pspdfkit",
3-
"version": "1.23.14",
3+
"version": "1.23.15",
44
"description": "A React Native module for the PSPDFKit library.",
55
"keywords": [
66
"react native",

samples/Catalog/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "Catalog",
3-
"version": "1.23.14",
3+
"version": "1.23.15",
44
"private": true,
55
"scripts": {
66
"start": "node node_modules/react-native/local-cli/cli.js start"

0 commit comments

Comments
 (0)