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
-
+
-
-
-