From e475eb4014d165887bf1efa98efa602612cffdc0 Mon Sep 17 00:00:00 2001 From: Dominic Go <18517029+dominicstop@users.noreply.github.com> Date: Fri, 17 Jun 2022 02:37:51 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=9B=A0=20Refactor:=20Rename=20`RNIContext?= =?UTF-8?q?MenuView`=20Property?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Summary: Rename `RNIContextMenuView.previewAuxiliaryViewPlacement` to `morphingPlatterViewPlacement` --- .../src/examples/ContextMenuViewExample19.tsx | 8 ++++---- .../RNIContextMenuView.swift | 10 +++++----- src/types/MenuEvents.ts | 19 +++++++++++++++---- 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/example/src/examples/ContextMenuViewExample19.tsx b/example/src/examples/ContextMenuViewExample19.tsx index 6d7bdbd..01f158b 100644 --- a/example/src/examples/ContextMenuViewExample19.tsx +++ b/example/src/examples/ContextMenuViewExample19.tsx @@ -17,11 +17,11 @@ export function ContextMenuViewExample19(props: ContextMenuExampleProps) { auxiliaryPreviewConfig={{ transitionEntranceDelay: 'RECOMMENDED', }} - onMenuAuxiliaryPreviewWillShow={() => { - alert('onMenuAuxiliaryPreviewWillShow'); + onMenuAuxiliaryPreviewWillShow={(event) => { + console.log('onMenuAuxiliaryPreviewWillShow', event.nativeEvent); }} - onMenuAuxiliaryPreviewDidShow={() => { - alert('onMenuAuxiliaryPreviewDidShow'); + onMenuAuxiliaryPreviewDidShow={(event) => { + console.log('onMenuAuxiliaryPreviewDidShow', event.nativeEvent); }} menuConfig={{ menuTitle: 'ContextMenuViewExample19', diff --git a/ios/src/ReactNative/RNIContextMenuView/RNIContextMenuView.swift b/ios/src/ReactNative/RNIContextMenuView/RNIContextMenuView.swift index fd07cba..c439fb8 100644 --- a/ios/src/ReactNative/RNIContextMenuView/RNIContextMenuView.swift +++ b/ios/src/ReactNative/RNIContextMenuView/RNIContextMenuView.swift @@ -46,7 +46,7 @@ class RNIContextMenuView: UIView { weak var previewAuxiliaryViewWrapper: RNIWrapperView?; // MARK: Experimental - "Auxiliary Context Menu Preview"-Related - private var previewAuxiliaryViewPlacement: AnchorPosition?; + private var morphingPlatterViewPlacement: AnchorPosition?; private var didTriggerCleanup = false; @@ -599,7 +599,7 @@ fileprivate extension RNIContextMenuView { }(); // temp. save aux. preview position for later... - self.previewAuxiliaryViewPlacement = morphingPlatterViewPlacement; + self.morphingPlatterViewPlacement = morphingPlatterViewPlacement; // MARK: Prep - Compute Offsets // ---------------------------- @@ -747,7 +747,7 @@ fileprivate extension RNIContextMenuView { }, completion: {_ in // trigger did show event - self.onMenuAuxiliaryPreviewDidShow?([:]); + self.onMenuAuxiliaryPreviewDidShow?(eventObject); }); }; @@ -778,7 +778,7 @@ fileprivate extension RNIContextMenuView { transform = transform.scaledBy(x: 0.7, y: 0.7); // transition - slide out - switch self.previewAuxiliaryViewPlacement { + switch self.morphingPlatterViewPlacement { case .top: transform = transform.translatedBy(x: 0, y: 50); @@ -796,7 +796,7 @@ fileprivate extension RNIContextMenuView { previewAuxiliaryView.removeFromSuperview(); // clear value - self.previewAuxiliaryViewPlacement = nil; + self.morphingPlatterViewPlacement = nil; }; }; }; diff --git a/src/types/MenuEvents.ts b/src/types/MenuEvents.ts index 8476115..bb2a3f4 100644 --- a/src/types/MenuEvents.ts +++ b/src/types/MenuEvents.ts @@ -39,11 +39,22 @@ export type OnPressMenuItemEventObject = NativeSyntheticEvent export type OnPressMenuPreviewEventObject = NativeSyntheticEvent<{ }>; -export type OnMenuAuxiliaryPreviewWillShowEventObject = NativeSyntheticEvent<{ -}>; +export type MenuAuxiliaryPreviewDetailsEventObject = { + size: { + width: number; + height: number; + }; + menuHasItems: boolean; + menuItemsPlacement: 'top' | 'bottom' | 'unknown'; + previewPosition: 'top' | 'bottom'; + isAuxiliaryPreviewAttachedToTop: boolean; +}; + +export type OnMenuAuxiliaryPreviewWillShowEventObject = + NativeSyntheticEvent; -export type OnMenuAuxiliaryPreviewDidShowEventObject = NativeSyntheticEvent<{ -}>; +export type OnMenuAuxiliaryPreviewDidShowEventObject = + NativeSyntheticEvent; // Event Handler Types // -------------------