Socket
Socket
Sign inDemoInstall

mobile-navigation-controller

Package Overview
Dependencies
0
Maintainers
1
Versions
42
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    mobile-navigation-controller

Navigator for JavaScript mobile app, This will help you to manage your pages history in the app and change pages with animation.


Version published
Maintainers
1
Created

Readme

Source

mobile-navigation-controller

It's manager for your pages like mobile app.

import Navigator from './mobile-navigation-controller';

For example: In the render function return
<Navigator onRef={ref => (this.navigatorRef = ref)} >
        
        
         <MyHomePage key="home" levelPage={0} />   
          
          <AboutPage key="about" 
           levelPage={1}   
           />
      
      
 </Navigator>

Note: prop levelPage important to manage the returs (from back button) in the structure of a tree

To change page you get the ref and do:

this.navigatorRef.changePage("about");

the option to changePage it's:

this.navigatorRef.changePage(
                goToPage //Required
              ,{options}// Not requred
              );

options => { animationIn:integer // have defult , animationOut:string // have defult , timeAnimationInMS:integer // defult=250(ms) , callbackFun:function , props:{...} }

*animationIn and animationOut need name animate from here
*the animate.css includ in this package

Options:

Navigator props

proptyperequireddefultnode
onRefrequired- onRef={ref => (this.navigatorRef = ref)}
keystringrequired-
heightstring or integeroptional"100%"
onChangePagefunctionoptional-(nowPageKey,levelAction) => { ... }
beforChangePagefunctionoptional-(goToPageKey,levelAction) => { ... }
homePageKeystringoptionalThe key of the first child(nowPageKey,levelAction) => { ... }
changeRoutebooleanoptionaltrue (on cordova native platforms => false)Determines whether to change the URL to the component key
*levelAction return "Out" or "In" or "SameLevel"

Child props

proptyperequireddefultnode
levelPageintegerrequired-important!
backgroundColorstringoptional#fff
heightstring or integeroptional"100%"
backOnSwipeRightbooleanoptionalfalseMay be problematic with css "padding-left"
alwaysLivebooleanoptionalfalseDon't kill the child. Life is always in the background
Check what is page now
const nowPage= this.navigatorRef.nowPage;
Get the historyPages list
const historyPages= this.navigatorRef.historyPages();
Get the listLevelPages list
const listLevelPages= this.navigatorRef.listLevelPages();
Back 1 page history
this.navigatorRef.back();

or

this.navigatorRef.back({options...});

options => { animationIn:integer // have defult , animationOut:string // have defult , timeAnimationInMS:integer // defult=250(ms) , callbackFun:function , props:{...} }

Check if the mangerPages is busy
const navigator_busy= this.navigatorRef.busy;

*busy return boolean



If you have any problem, please let us know here, and we will make an effort to resolve it soon

Feel free to editing the code yourself: go to src/index.js

Credit: Arik Wald

Credit animated: animate.css -https://daneden.github.io/animate.css/

Keywords

FAQs

Last updated on 20 Nov 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc