diff --git a/dist/css/ionic-ios7.css b/dist/css/ionic-ios7.css index 956ef550c3..656f377618 100644 --- a/dist/css/ionic-ios7.css +++ b/dist/css/ionic-ios7.css @@ -359,8 +359,11 @@ body, .ionic-body { .has-header { margin-top: 44px; } +.has-footer { + margin-bottom: 44px; } + .has-tabs { - bottom: 49px; } + margin-bottom: 84px; } .page, .full-section { position: fixed; diff --git a/dist/css/ionic-scoped.css b/dist/css/ionic-scoped.css index 37f1dd9817..39b6f003fd 100644 --- a/dist/css/ionic-scoped.css +++ b/dist/css/ionic-scoped.css @@ -1095,8 +1095,10 @@ -webkit-overflow-scrolling: touch; } .ionic .has-header { margin-top: 44px; } + .ionic .has-footer { + margin-bottom: 44px; } .ionic .has-tabs { - bottom: 49px; } + margin-bottom: 84px; } .ionic .page, .ionic .full-section { position: fixed; top: 0; diff --git a/dist/css/ionic.css b/dist/css/ionic.css index 87c61864b0..04afcd4b6b 100644 --- a/dist/css/ionic.css +++ b/dist/css/ionic.css @@ -1423,8 +1423,11 @@ body, .ionic-body { .has-header { margin-top: 44px; } +.has-footer { + margin-bottom: 44px; } + .has-tabs { - bottom: 49px; } + margin-bottom: 84px; } .page, .full-section { position: fixed; diff --git a/dist/js/ionic-angular.js b/dist/js/ionic-angular.js index a8786ae15c..5d8f9255fd 100644 --- a/dist/js/ionic-angular.js +++ b/dist/js/ionic-angular.js @@ -214,6 +214,9 @@ angular.module('ionic.ui.content', []) if(attr.hasHeader) { c.addClass('has-header'); } + if(attr.hasFooter) { + c.addClass('has-footer'); + } if(attr.hasTabs) { c.addClass('has-tabs'); } @@ -285,7 +288,6 @@ angular.module('ionic.ui.list', ['ionic.service', 'ngAnimate']) $scope.$watch('isEditing', function(v) { _this.isEditing = true; - console.log('Is Editing Changed', v); }); }, @@ -558,13 +560,21 @@ angular.module('ionic.ui.tabs', []) return { restrict: 'CA', replace: true, - transclude: true, - template: '
', require: '^tabController', scope: true, link: function(scope, element, attrs, tabsCtrl) { + scope.$watch('isVisible', function(value) { + if(!value) { + element[0].style.display = 'none'; + } else { + element[0].style.display = 'block'; + } + }); + scope.title = attrs.title; scope.icon = attrs.icon; + scope.iconOn = attrs.iconOn; + scope.iconOff = attrs.iconOff; tabsCtrl.addController(scope); } } @@ -579,7 +589,7 @@ angular.module('ionic.ui.tabs', []) replace: true, scope: true, template: '
' + - '' + + '' + '
' } }) @@ -591,7 +601,8 @@ angular.module('ionic.ui.tabs', []) require: '^tabController', scope: { title: '@', - icon: '@', + iconOn: '@', + iconOff: '@', active: '=', tabSelected: '@', index: '=' @@ -604,7 +615,9 @@ angular.module('ionic.ui.tabs', []) }, template: '' + - ' {{title}}' + + '' + + '' + + ' {{title}}' + '' } }); diff --git a/dist/js/ionic.js b/dist/js/ionic.js index 1f5bb7afe0..2a9cc4fb43 100644 --- a/dist/js/ionic.js +++ b/dist/js/ionic.js @@ -1920,8 +1920,6 @@ window.ionic = { newX = Math.min(-buttonsWidth, -buttonsWidth + (((e.gesture.deltaX + buttonsWidth) * 0.4))); } - console.log(newX); - _this._currentDrag.content.style.webkitTransform = 'translate3d(' + newX + 'px, 0, 0)'; } }); @@ -2024,7 +2022,6 @@ window.ionic = { if(_this._isDragging) { var newY = _this._currentDrag.startOffsetTop + e.gesture.deltaY; - console.log(newY); _this.el.style.top = newY + 'px'; @@ -2046,25 +2043,12 @@ window.ionic = { var index = siblings.indexOf(this._currentDrag.placeholder); var topSibling = siblings[Math.max(0, index - 1)]; var bottomSibling = siblings[Math.min(siblings.length, index+1)]; - - /* - console.log('Reordering from index', index); - console.dir(this.el); - console.dir(topSibling); - console.dir(bottomSibling); - */ - - var thisOffsetTop = this._currentDrag.currentY;// + this._currentDrag.startOffsetTop; - console.log('Comparing', thisOffsetTop, 'with', (topSibling && topSibling.offsetTop + topSibling.offsetHeight/2), (bottomSibling && bottomSibling.offsetTop + bottomSibling.offsetHeight/2)); - if(topSibling && (thisOffsetTop < topSibling.offsetTop + topSibling.offsetHeight/2)) { - console.log('Swapping up with index', index - 1); ionic.DomUtil.swapNodes(this._currentDrag.placeholder, topSibling); return index - 1; } else if(bottomSibling && thisOffsetTop > (bottomSibling.offsetTop + bottomSibling.offsetHeight/2)) { - console.log('Swapping down with index', index + 1); ionic.DomUtil.swapNodes(bottomSibling, this._currentDrag.placeholder); return index + 1; } diff --git a/example/demo.html b/example/demo.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/js/ext/angular/src/directive/ionicContent.js b/js/ext/angular/src/directive/ionicContent.js index 9fcb1de092..92368e4203 100644 --- a/js/ext/angular/src/directive/ionicContent.js +++ b/js/ext/angular/src/directive/ionicContent.js @@ -17,6 +17,9 @@ angular.module('ionic.ui.content', []) if(attr.hasHeader) { c.addClass('has-header'); } + if(attr.hasFooter) { + c.addClass('has-footer'); + } if(attr.hasTabs) { c.addClass('has-tabs'); } diff --git a/js/ext/angular/src/directive/ionicList.js b/js/ext/angular/src/directive/ionicList.js index 06509dbbe5..e6502deb33 100644 --- a/js/ext/angular/src/directive/ionicList.js +++ b/js/ext/angular/src/directive/ionicList.js @@ -60,7 +60,6 @@ angular.module('ionic.ui.list', ['ionic.service', 'ngAnimate']) $scope.$watch('isEditing', function(v) { _this.isEditing = true; - console.log('Is Editing Changed', v); }); }, diff --git a/js/ext/angular/src/directive/ionicTabBar.js b/js/ext/angular/src/directive/ionicTabBar.js index 70dbfdfcc9..48399ea83b 100644 --- a/js/ext/angular/src/directive/ionicTabBar.js +++ b/js/ext/angular/src/directive/ionicTabBar.js @@ -46,13 +46,21 @@ angular.module('ionic.ui.tabs', []) return { restrict: 'CA', replace: true, - transclude: true, - template: '
', require: '^tabController', scope: true, link: function(scope, element, attrs, tabsCtrl) { + scope.$watch('isVisible', function(value) { + if(!value) { + element[0].style.display = 'none'; + } else { + element[0].style.display = 'block'; + } + }); + scope.title = attrs.title; scope.icon = attrs.icon; + scope.iconOn = attrs.iconOn; + scope.iconOff = attrs.iconOff; tabsCtrl.addController(scope); } } @@ -67,7 +75,7 @@ angular.module('ionic.ui.tabs', []) replace: true, scope: true, template: '
' + - '' + + '' + '
' } }) @@ -79,7 +87,8 @@ angular.module('ionic.ui.tabs', []) require: '^tabController', scope: { title: '@', - icon: '@', + iconOn: '@', + iconOff: '@', active: '=', tabSelected: '@', index: '=' @@ -92,7 +101,9 @@ angular.module('ionic.ui.tabs', []) }, template: '' + - ' {{title}}' + + '' + + '' + + ' {{title}}' + '' } }); diff --git a/js/ext/angular/test/tabs.html b/js/ext/angular/test/tabs.html index 7ba0c301cc..32c301ee77 100644 --- a/js/ext/angular/test/tabs.html +++ b/js/ext/angular/test/tabs.html @@ -4,43 +4,46 @@ Tab Bars - + - -
-
-

Tab Bars

+ +
+
+

Tasks

+
-

Home

- + + +
-
-
-

About

+
+
+

Deadlines

-

About Us

+

Deadlines

-
-
+
+

Settings

@@ -49,17 +52,16 @@
- - - + +