Socket
Socket
Sign inDemoInstall

mobile-navigation-controller

Package Overview
Dependencies
Maintainers
1
Versions
42
Alerts
File Explorer

Advanced tools

Socket logo

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
Weekly downloads
5
decreased by-90.38%
Maintainers
1
Weekly downloads
 
Created
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}
              transitionIn={
             animatioPageIn:"fadeInRight"
             ,animatioPageOut:"fadeOutRight"
           }
            transitionOut={{
            animatioPageOut: "fadeOutRight"
          }}
           />


 </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:string // 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
transitionInjsonoptional-
killbooleanoptional-
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

Package last updated on 13 Apr 2020

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc