13
13
* <ion-side-menu
14
14
* side="left"
15
15
* width="myWidthValue + 20"
16
- * is-enabled="shouldLeftSideMenuBeEnabled()">
16
+ * is-enabled="shouldLeftSideMenuBeEnabled()"
17
+ * display-type="push">
17
18
* </ion-side-menu>
18
19
* ```
19
20
* For a complete side menu example, see the
22
23
* @param {string } side Which side the side menu is currently on. Allowed values: 'left' or 'right'.
23
24
* @param {boolean= } is-enabled Whether this side menu is enabled.
24
25
* @param {number= } width How many pixels wide the side menu should be. Defaults to 275.
26
+ * @param {string } display-type Which type of display the menu should have. Allowed values: 'push' or 'overlay'. Defaults to 'push'.
25
27
*/
26
28
IonicModule
27
29
. directive ( 'ionSideMenu' , function ( ) {
@@ -32,6 +34,7 @@ IonicModule
32
34
compile : function ( element , attr ) {
33
35
angular . isUndefined ( attr . isEnabled ) && attr . $set ( 'isEnabled' , 'true' ) ;
34
36
angular . isUndefined ( attr . width ) && attr . $set ( 'width' , '275' ) ;
37
+ angular . isUndefined ( attr . displayType ) && attr . $set ( 'displayType' , 'push' ) ;
35
38
36
39
element . addClass ( 'menu menu-' + attr . side ) ;
37
40
@@ -41,7 +44,8 @@ IonicModule
41
44
var sideMenu = sideMenuCtrl [ $scope . side ] = new ionic . views . SideMenu ( {
42
45
width : attr . width ,
43
46
el : $element [ 0 ] ,
44
- isEnabled : true
47
+ isEnabled : true ,
48
+ displayType : attr . displayType
45
49
} ) ;
46
50
47
51
$scope . $watch ( $attr . width , function ( val ) {
@@ -53,8 +57,12 @@ IonicModule
53
57
$scope . $watch ( $attr . isEnabled , function ( val ) {
54
58
sideMenu . setIsEnabled ( ! ! val ) ;
55
59
} ) ;
60
+ $scope . $watch ( $attr . displayType , function ( val ) {
61
+ if ( val == 'push' || val == 'overlay' ) {
62
+ sideMenu . setDisplayType ( val ) ;
63
+ }
64
+ } ) ;
56
65
} ;
57
66
}
58
67
} ;
59
68
} ) ;
60
-
0 commit comments