Socket
Socket
Sign inDemoInstall

mobile-navigation-controller

Package Overview
Dependencies
58
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.



I dedicate a considerable amount of my free time to developing and maintaining this plugin, along with my other Open Source software. To help ensure this Cli is kept updated, new features are added and bugfixes are implemented quickly, please donate a couple of dollars (or a little more if you can stretch) as this will help me to afford to dedicate time to its maintenance. Please consider donating if you're using this plugin in an app that makes you money, if you're being paid to make the app, if you're asking for new features or priority bug fixes.


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="fadeInRight"
            transitionOut= "fadeOutLeft"
           />


 </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 = {  animatioPageIn:"fadeInRight" // have defult
            , animationPageOut:"fadeOutLeft" // 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) => { ... }
beforBackfunctionoptional-For android backbutton only. beforBack={() =>{ ( do something and return false to stop back page process or retun true. )}}
beforChangePagefunctionoptional-(goToPageKey,levelAction) => { ... }
changeRoutebooleanoptionaltrue (on cordova native platforms => false)Determines whether to change the URL to the component key
homePageKeystringoptionalThe key of the first child
*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"
transitionInstringoptional-
transitionOutstringoptional-
animationTimeInMSintegeroptional-
killbooleanoptional-
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 02 Aug 2020

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