Commit Graph

17 Commits

Author SHA1 Message Date
Adam Bradley
acf12cdd15 refactor(menu): inject MenuController to control app menus
Menu has been improved to make it easier to open, close, toggle and
enable menus.
Instead of injecting `IonicApp` to find the menu component, you now
inject
`MenuController`.

Was:

```
constructor(app: IonicApp) {
  this.app = app;
}
openMenu() {
  this.app.getComponent('leftMenu').close();
}
```

Now:

To programmatically interact with any menu, you can inject the
`MenuController`
provider into any component or directive. This makes it easy get ahold
of and
control the correct menu instance. By default Ionic will find the app's
menu
without requiring a menu ID. An id attribute on an `<ion-menu>` is only
required
if there are multiple menus on the same side. If there are multiple
menus, but
on different sides, you can use the name of the side to get the correct
menu

If there's only one menu:

```
constructor(menu: MenuController) {
  this.menu = menu;
}
openMenu() {
  this.menu.close();
}
```

If there is a menu on the left and right side:

```
toggleMenu() {
  this.menu.toggle('left');
}
```

If there are multiple menus on the same side:

```
<ion-menu id="myMenuId" side="left">...</ion-menu>
<ion-menu id="otherMenuId" side="left">...</ion-menu>

closeMenu() {
  this.menu.close('myMenuId');
}
```
2016-02-04 16:47:05 -06:00
Adam Bradley
72699dbbb4 fix(menu): fix scrolling page w/ side menus
Improved which angles should allow the side menu to open, depending if
it’s a left or right menu. Also check if the distance of the drag is
longer than a side menu would get. For example, scrolling vertically
for a long ways would have a long distance, but triggering a side menu
to open would be a short distance.

Also ensure that a side menu can always be closed incase something goes
wrong.

Closes #5272
2016-02-02 16:41:35 -06:00
Adam Bradley
c136d2143a alert wip 2015-12-23 23:11:40 -06:00
Adam Bradley
c118009a7c fix(menu): run gestures outside of zone
Closes #755
2015-12-18 10:58:08 -06:00
Adam Bradley
5d6d9b9610 chore(upgrad): ng alpha52 and case-sensitive templates 2015-12-10 22:52:55 -06:00
Adam Bradley
5349b3e034 feat(menu): opening event EventEmitter
Closes #632
2015-11-23 20:23:52 -06:00
Adam Bradley
a72fce0441 test(menu): menu with popup overlay 2015-11-23 12:38:04 -06:00
Adam Bradley
46b161519a test(): right side only menu icon 2015-11-04 14:45:35 -06:00
Max Lynch
cd4f683ce5 feat(menu): push type. Fixes #380 2015-10-29 13:33:29 -05:00
Adam Bradley
1befe94802 alpha39 updates 2015-10-07 10:51:08 -05:00
Max Lynch
f497608768 chore(item): rename forward-icon to detail-push 2015-10-06 10:53:36 -05:00
Max Lynch
3a0a6b6ee7 Removed right menu in basic test. #226 2015-09-30 18:31:47 -05:00
Adam Bradley
1a60540f2b feat(menu): right side menus 2015-09-22 12:36:42 -05:00
Adam Bradley
3bd0b5c8ac chore(): use class selectors in e2e 2015-09-22 11:25:27 -05:00
Adam Bradley
d63bcf29f4 css updates after snapshot 2015-09-18 23:12:55 -05:00
Adam Bradley
2c0d7005b0 only allow one component key 2015-09-13 14:11:59 -05:00
Adam Bradley
0039647515 rename aside to menu 2015-09-11 21:40:58 -05:00