zmp-react
Version:
Build full featured iOS & Android apps using ZMP & React
99 lines (97 loc) • 3.33 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import React, { useRef, useImperativeHandle, forwardRef } from 'react';
import View from '../components/view';
/* dts-imports
import { View, Router } from 'zmp-core/types';
*/
/* dts-props
id?: string | number;
className?: string;
style?: React.CSSProperties;
tab? : boolean
tabActive? : boolean
name? : string
router? : boolean
linksView? : Object | string
url? : string
main? : boolean
stackPages? : boolean
xhrCache? : boolean
xhrCacheIgnore? : Array<any>
xhrCacheIgnoreGetParameters? : boolean
xhrCacheDuration? : number
preloadPreviousPage? : boolean
allowDuplicateUrls? : boolean
reloadPages? : boolean
reloadDetail? : boolean
masterDetailResizable? : boolean
masterDetailBreakpoint? : number
removeElements? : boolean
removeElementsWithTimeout? : boolean
removeElementsTimeout? : number
restoreScrollTopOnBack? : boolean
loadInitialPage? : boolean
iosSwipeBack? : boolean
iosSwipeBackAnimateShadow? : boolean
iosSwipeBackAnimateOpacity? : boolean
iosSwipeBackActiveArea? : number
iosSwipeBackThreshold? : number
mdSwipeBack? : boolean
mdSwipeBackAnimateShadow? : boolean
mdSwipeBackAnimateOpacity? : boolean
mdSwipeBackActiveArea? : number
mdSwipeBackThreshold? : number
auroraSwipeBack? : boolean
auroraSwipeBackAnimateShadow? : boolean
auroraSwipeBackAnimateOpacity? : boolean
auroraSwipeBackActiveArea? : number
auroraSwipeBackThreshold? : number
browserHistory? : boolean
browserHistoryRoot? : string
browserHistoryAnimate? : boolean
browserHistoryAnimateOnLoad? : boolean
browserHistorySeparator? : string
browserHistoryOnLoad? : boolean
browserHistoryInitialMatch?: boolean;
animate? : boolean
transition? : string
iosDynamicNavbar? : boolean
iosAnimateNavbarBackIcon? : boolean
materialPageLoadDelay? : number
passRouteQueryToRequest? : boolean
passRouteParamsToRequest? : boolean
routesBeforeEnter? : Function | Array<any>
routesBeforeLeave? : Function | Array<any>
init? : boolean
initRouterOnTabShow?: boolean
COLOR_PROPS
onViewInit? : (view?: View.View) => void
onViewResize? : (width?: number) => void
onSwipeBackMove? : (swipeBackData?: Router.SwipeBackData) => void
onSwipeBackBeforeChange? : (swipeBackData?: Router.SwipeBackData) => void
onSwipeBackAfterChange? : (swipeBackData?: Router.SwipeBackData) => void
onSwipeBackBeforeReset? : (swipeBackData?: Router.SwipeBackData) => void
onSwipeBackAfterReset? : (swipeBackData?: Router.SwipeBackData) => void
onTabShow? : (el?: HTMLElement) => void
onTabHide? : (el?: HTMLElement) => void
ref?: React.MutableRefObject<{el: HTMLElement | null; zmpView: () => View.View}>;
routesAdd: Router.RouteParameters[]
CHILDREN_PROP
*/
var ZMPView = /*#__PURE__*/forwardRef(function (props, ref) {
var browserHistory = props.browserHistory,
tab = props.tab;
var elRef = useRef(null);
var pushState = browserHistory !== undefined ? browserHistory : !tab;
useImperativeHandle(ref, function () {
return elRef.current;
});
return /*#__PURE__*/React.createElement(View, _extends({
ref: elRef
}, props, {
browserHistory: pushState,
browserHistoryStoreHistory: false
}));
});
ZMPView.displayName = 'zmp-view';
export default ZMPView;