UNPKG

@nativescript-community/ui-popover

Version:
40 lines 1.67 kB
import { Application } from '@nativescript/core'; import { HorizontalPosition, VerticalPosition, _commonPopoverDismissed, _commonShowNativePopover } from '.'; export * from './index.common'; export function showPopover(view, { anchor, vertPos = VerticalPosition.BELOW, horizPos = HorizontalPosition.CENTER, x = 0, y = 0, fitInScreen = true, onDismiss, outsideTouchable = true, focusable = true }) { const context = anchor._context; _commonShowNativePopover(view); const size = -2; //android.view.ViewGroup.LayoutParams.WRAP_CONTENT view._setupAsRootView(context); view.parent = Application.getRootView(); view._isAddedToNativeVisualTree = true; view.callLoaded(); const window = new com.nativescript.popover.RelativePopupWindow(view.nativeViewProtected, size, size, true); window.setOutsideTouchable(outsideTouchable); window.setFocusable(focusable); window.setBackgroundDrawable(null); let result; window.setOnDismissListener(new android.widget.PopupWindow.OnDismissListener({ onDismiss() { if (onDismiss) { onDismiss(result); } if (view && view.isLoaded) { view.callUnloaded(); } view._isAddedToNativeVisualTree = false; _commonPopoverDismissed(view); view._tearDownUI(); view.parent = null; } })); window.showOnAnchor(anchor.nativeViewProtected, vertPos, horizPos, x, y, fitInScreen); return { android: window, close: async (r) => { result = r; window.dismiss(); } }; } //# sourceMappingURL=index.android.js.map