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

Add native fullscreen image preview #1577

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.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions RELEASE-NOTES.txt
Expand Up @@ -7,6 +7,7 @@
* Add alignment controls for paragraph blocks
* [iOS] Fix issue where the keyboard would not capitalize sentences correctly on some cases.
* [iOS] Support for Pexels image library
* [Android] Added native fullscreen preview when clicking image from Image Block
* [iOS] Add support for Preformatted block.

1.16.1
Expand Down
5 changes: 5 additions & 0 deletions android/app/src/main/java/com/gutenberg/MainApplication.java
Expand Up @@ -87,6 +87,11 @@ public void requestMediaPickFrom(String mediaSource, MediaUploadCallback mediaUp

}

@Override
public void requestImageFullscreenPreview(String mediaUrl) {

}

@Override
public void editorDidEmitLog(String message, LogLevel logLevel) {
switch (logLevel) {
Expand Down
Expand Up @@ -102,4 +102,6 @@ public static MediaType getEnum(String value) {
void getOtherMediaPickerOptions(OtherMediaOptionsReceivedCallback otherMediaOptionsReceivedCallback, MediaType mediaType);

void requestMediaPickFrom(String mediaSource, MediaUploadCallback mediaUploadCallback, Boolean allowMultipleSelection);

void requestImageFullscreenPreview(String mediaUrl);
}
Expand Up @@ -164,6 +164,11 @@ public void requestImageUploadCancel(final int mediaId) {
mGutenbergBridgeJS2Parent.requestImageUploadCancel(mediaId);
}

@ReactMethod
public void requestImageFullscreenPreview(String mediaUrl) {
mGutenbergBridgeJS2Parent.requestImageFullscreenPreview(mediaUrl);
}

@ReactMethod
public void editorDidEmitLog(String message, int logLevel) {
mGutenbergBridgeJS2Parent.editorDidEmitLog(message, GutenbergBridgeJS2Parent.LogLevel.valueOf(logLevel));
Expand Down
Expand Up @@ -65,6 +65,7 @@ public class WPAndroidGlueCode {
private OnReattachQueryListener mOnReattachQueryListener;
private OnEditorMountListener mOnEditorMountListener;
private OnEditorAutosaveListener mOnEditorAutosaveListener;
private OnImageFullscreenPreviewListener mOnImageFullscreenPreviewListener;
private boolean mIsEditorMounted;

private String mContentHtml = "";
Expand Down Expand Up @@ -118,6 +119,10 @@ public interface OnMediaLibraryButtonListener {
void onOtherMediaButtonClicked(String mediaSource, boolean allowMultipleSelection);
}

public interface OnImageFullscreenPreviewListener {
void onImageFullscreenPreviewClicked(String mediaUrl);
}

public interface OnReattachQueryListener {
void onQueryCurrentProgressForUploadingMedia();
}
Expand Down Expand Up @@ -272,6 +277,11 @@ public void requestMediaPickFrom(String mediaSource,
mMediaPickedByUserOnBlock = true;
mOnMediaLibraryButtonListener.onOtherMediaButtonClicked(mediaSource, allowMultipleSelection);
}

@Override
public void requestImageFullscreenPreview(String mediaUrl) {
mOnImageFullscreenPreviewListener.onImageFullscreenPreviewClicked(mediaUrl);
}
});

return Arrays.asList(
Expand Down Expand Up @@ -333,14 +343,16 @@ public void attachToContainer(ViewGroup viewGroup, OnMediaLibraryButtonListener
OnReattachQueryListener onReattachQueryListener,
OnEditorMountListener onEditorMountListener,
OnEditorAutosaveListener onEditorAutosaveListener,
OnAuthHeaderRequestedListener onAuthHeaderRequestedListener) {
OnAuthHeaderRequestedListener onAuthHeaderRequestedListener,
OnImageFullscreenPreviewListener onImageFullscreenPreviewListener) {
MutableContextWrapper contextWrapper = (MutableContextWrapper) mReactRootView.getContext();
contextWrapper.setBaseContext(viewGroup.getContext());

mOnMediaLibraryButtonListener = onMediaLibraryButtonListener;
mOnReattachQueryListener = onReattachQueryListener;
mOnEditorMountListener = onEditorMountListener;
mOnEditorAutosaveListener = onEditorAutosaveListener;
mOnImageFullscreenPreviewListener = onImageFullscreenPreviewListener;

sAddCookiesInterceptor.setOnAuthHeaderRequestedListener(onAuthHeaderRequestedListener);

Expand Down
4 changes: 4 additions & 0 deletions react-native-gutenberg-bridge/index.js
Expand Up @@ -101,4 +101,8 @@ export function getOtherMediaOptions( filter, callback ) {
return RNReactNativeGutenbergBridge.getOtherMediaOptions( filter, callback );
}

export function requestImageFullscreenPreview( mediaUrl ) {
return RNReactNativeGutenbergBridge.requestImageFullscreenPreview( mediaUrl );
}

export default RNReactNativeGutenbergBridge;