Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(nav): swipe back after getRootNav().push #9767

Merged
merged 1 commit into from Jan 13, 2017
Merged

Conversation

jgw96
Copy link
Contributor

@jgw96 jgw96 commented Dec 22, 2016

Short description of what this resolves:

When pushing a page using app.getRootNav().push(CoolPage) you can now swipe this page back. Before this fix when pushing a page from the rootNav you could not swipe this page back.

Changes proposed in this pull request:

  • check that the length of this._children (the array of navs) is <= to 1

Ionic Version: 2.x

Fixes: #9558

@jgw96
Copy link
Contributor Author

jgw96 commented Dec 27, 2016

Update: made this repo https://github.com/jgw96/swipeBackTesting which can be used to test this PR. Through my testing this PR seems to solve the issue. Also tested scenarios with only one page (as my demo app shows), which was a concern with this solution, and i can confirm that with just one page you cannot swipe back. This is because we do not just test for the length of this._children when deciding to go back or not.

@jgw96 jgw96 changed the title fix(nav): fixes #9558 fix(nav): swipe back after getRootNav().push Jan 3, 2017
@brandyscarney brandyscarney merged commit eaa6248 into master Jan 13, 2017
@brandyscarney
Copy link
Member

Looks good 👍

@brandyscarney brandyscarney deleted the swipeFix branch January 13, 2017 19:24
brandyscarney pushed a commit that referenced this pull request Jan 18, 2017
@badpenguin
Copy link

badpenguin commented Jan 19, 2017

is there a nightly i can test via npm ? i've problem with swipe back using a single <nav> element... it works with tabs instead i think i've got the same problem as mentioned here

mhartington pushed a commit that referenced this pull request Jan 20, 2017
* docs(navctrl): move content from api doc to top-level nav doc

* docs(action sheet): edit and clarify docs

* docs(action sheet): expose ActionSheet and edit docs

* docs(action sheet): make link path relative and refine docs

* docs(action sheet): fix typo

* docs(action sheet): clean up table formatting

* docs(alert): refactor, add examples, and edit API doc

* docs(alert): fix typos

* docs(alert, action sheet): move page transition doc under advanced

* docs(avatar): add usage example and edit doc

* docs(button): refactor docs and add content from component doc

* docs(card): refactor and incorporate samples from component doc

* docs(checkbox): minor edit

* docs(chip): Add note about MD

* docs(icon): refactor and integrate examples from component doc

* docs(app): fix typo

* docs(config): refactor and edit

* docs(datetime): edit

* docs(gesture): add gesture docs

* docs(gesture): further edit doc

* docs(button, datetime, icon): standardize use of attribute vs input property

* docs(button): change wording from attribute to directive

* docs(input): edit docs and move label examples to Label api doc

* docs(input): add ion-item to code sample

* docs(input): add inset iunput sample

* docs(label): edit doc

* docs(label): add descrition of attributes

* docs(list): refactor and edit doc

* docs(list): add basic usage example

* docs(toolbar, header, footer): refactor and edit docs

* docs(tabs): edit and incorporate examples from old component doc

* docs(navctrl): migrate majority of content to top-level navigation controller doc

* chore(img): fix typos

* docs(virtual scroll): remove instance members

* docs(virtual scroll): increase header sizes

* docs(menu): add related links to all menu docs

* docs(nav): update related docs for all nav docs

* docs(navbar): edit and hide some private instance members

* docs(content): add no-bounce to doc

* docs(fab): fix fab demo

closes ionic-team/ionic-site#947

* docs(note): edit

* fix(list): add border to last item in MD list (#9679)

* fix(list): fixes #9619

* chore(list): make my sass legit

* chore(list): remove from ios and wp css

* fix(scroll): handle low duration in scrollTo

* fix(input): only add padding right if it has clear input

fixes #9865

* docs(nav-controller): fix escape char in Lifecycle table

the pipe before `Promise` adds a new column to the table which makes it push the description to a narrow column. Tried to fix it with replacing the pipe by the HTML ASCII pipe char.

* docs(menu-toggle): fix broken link

path correction in description 
old -> nav/NavBar
new -> navbar/Navbar

* docs(demos): add demos from old component docs

* refactor(package.json, demo template, gulp): Update demo build for new multi-demo api docs

* refactor(demos): update demos for new multi-demo api docs

* docs(api): update api docs for new demo file structure

* refactor: improve tree shaking abilities

Internal refactor completed in order to improve tree shaking and dead
code removal. The public API, with an exception to ion-slides, has
stayed the same. However, internally many changes were required so
bundlers could better exclude modules which should not be bundled.
Ultimately most changes resorted to removing references to `window` or
`document`, or a module that referenced one of those.

BREAKING CHANGES

ion-slides was refactored to remove the external dependencies, and
rewritten in TypeScript/ES6 modules to again improve tree shaking
abilities.

* chore(build): run a 'clean' before running 'validate'

run a 'clean' before running 'validate'

* docs(menu): fix typos in menu-controller.ts (#9923)

Typo errors.

* docs(slides): fix docs

* fix(clickblock): add NavOptions.minClickBlockDuration

* feat(clickblock): ability to set a minimum duration for click block

* fix(clickblock): add NavOptions.minClickBlockDuration

* chore(clickblock): comment out test css

* test(app): fix failing clickblock tests (#9938)

* doc(navParams): update links to push and nav
Closes ionic-team/ionic-site#957

* test(clickblock): add new tests for minDuration

* docs(slides): deprecation notice typo's (#9932)

* fix(platform): only set isPortrait when the width/height is set

* test(tabs): fix ngc error in advanced test

* docs(input): add example for ion-textarea

* docs(hide-when): add hide-when demo back

* docs(demos): update colors for API demos

* chore(ionic): release rc.5

* docs(menu): update menu docs
Closes ionic-team/ionic-site#951

* docs(changelog): unsmarten quotes on sw-toolbox dep (#9966)

* docs(avatar): fix typo (#9965)

place to placed

* docs(nav): fix typos in comments for NavControllerBase and ViewController (#9953)

* docs(nav): fix typo

* docs(view): fix typo

* docs(slides): update slides docs (#9968)

Change the `pager` description.
Change the `paginationType` input type.

* chore: add void return value for some callback signatures (#9967)

* chore(noImplicitAny): add noImplicitAny to tsconfig

* feat(slides): expose more options (#9992)

* feat(slides): expose more options
Closes #9988
Exposes slidesPerView and spaceBetween. Also documents how to change
unexposed options

* docs(slides): update advanced usage

* chore: fix incorrect execution of node binaries (#9962)

* chore: fix incorrect execution of node binaries

* Currently gulp runs the `ngc` by manually calling the `./node_modules/.bin/ngc` file (by assuming it's a node script)
  This is not always correct, because often package managers like (npm or yarn) create bash files for the package binaries.

* Using `resolve-bin` to properly determine the path to the *real* node script and then we can assume it's a node file.

Fixes #8341

* Remove extra newline

* feat(slides): add swiper controller (#9983)

* chore(slides): fix errors with noImplicitAny

* fix(checkbox): set disabled state from FormControl

* fix(datetime): set disabled state from FormControl

* fix(range): set disabled state from FormControl

* fix(select): set disabled state from FormControl

* fix(toggle): set disabled state from FormControl

* feat(radio): add disabled to radio-group and support disabled formcontrol

fixes #9998

* feat(slides): add option for paginationBulletRender

Closes #10002

* fix(input): pass disabled down to input when it is set from form

- test modified to disable username and comments on `input/form-inputs`
and then toggle them via a button

see: http://g.recordit.co/RkN510TcHk.gif

fixes #9834

* fix(item-sliding): don't error or allow swipes with no options

Added items with the following use cases:

1. Sliding item without options
2. Sliding item with one set of dynamic options that toggle
3. Sliding item with two options, one dynamic

Removing my code will cause errors in all of the above examples.

Fixes #9914

* fix(nav): fixes #9558 (#9767)

* chore(e2e): rename app-module.ts to app.module.ts for consistency

references #10023

* fix(tap): allow document to be tap polyfilled

Closes #9726

* docs(slides): document spaceBetween and slidesPerView

* Update README.md

* Fix url is not correct after selecting tabs

Update deeplinker's updateNav after tabSwitchEnd so deeplinker gets the
right active navchild.

* fix(slides): allow auto to be passed
Closes #10000. Closes #10037

* docs(tabs): fix description of tabsHideOnSubPages
Closes #10061

* docs(popover): add import to example code
Closes #10053

* docs(nav-controller): fix param name and type

* fix(tabs): ionChange event is dispatched after the switch

* docs(popover): expose popover docs and reconcile with PopoverController

* docs(modal): expose modal docs and reconcile with ModalController

* docs(toast): expose toast docs and reconcile with ToastController

* docs(demos): add missing demos - copied from preview app

* docs(demos): include demos in docs that didn't have one

* fix(alert): input missing id attribute from input options

fixes #9457

* fix(modal): overlay-zindex is not changed in back direction

fixes #9409

* fix(content): unsubscribe from viewCtrl observables after content ins… (#10050)

* fix(content): unsubscribe from observables on destroy

* fix(content): scroll is initialized before subscribing

fixes #9593
fixes #10045

* fix(content): unset viewCtrl subscribers on destroy

* test(icon): app module was being ignored by my global gitignore

* chore(scripts): update e2e prod build to work with ionic-app-scripts (#10083)

* chore(e2e): WIP to add files needed for app-scripts

* chore(e2e): WIP one e2e test building but with errors

* chore(e2e): move e2e.prod to working with app-scripts

move shared functions into util, add support for debug flag when
running e2e.prod / demos.prod which gets passed to app-scripts

* chore(build): fix app-scripts build for all e2e and demos

* chore(e2e): update ionic-angular import path

* chore(build): update dev paths to work with prod

* chore(e2e): get watch working with e2e prod

* docs(scripts): update README for running e2e and demos

closes #8411
closes #10023

* docs(config): fix demo for config page not updating. #9413 (#9418)

* docs(config): update demo for config, add more logs for app-scripts

closes #9413

* docs(demos): fix bugs and integrate multiple demos on api docs

* chore(virtual-scroll): set IterableDiffer to any

Adding this to avoid an angular version issue.

* chore(swiper): fix reference for closure advanced

* chore(scripts): update app-scripts to run via node, remove snapshot clean

* refactor(package.json): remove unneeded script
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants