diff --git a/Gruntfile.js b/Gruntfile.js
index 3883ecf444..7a4371e5cd 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -32,7 +32,8 @@ module.exports = function(grunt) {
},
distAngular: {
src: [
- 'js/ext/angular/src/**/*.js'
+ 'js/ext/angular/src/ionicAngular.js',
+ 'js/ext/angular/src/directive/**/*.js'
],
dest: 'dist/<%= pkg.name %>-angular.js'
},
diff --git a/dist/ionic-angular.js b/dist/ionic-angular.js
index eeb23a5a6b..d2f4aef35e 100644
--- a/dist/ionic-angular.js
+++ b/dist/ionic-angular.js
@@ -1,3 +1,5 @@
+angular.module('ionic.ui', ['ionic.ui.content', 'ionic.ui.tabs', 'ionic.ui.nav', 'ionic.ui.sideMenu']);
+;
angular.module('ionic.ui.content', {})
// The content directive is a core scrollable content area
@@ -6,18 +8,18 @@ angular.module('ionic.ui.content', {})
return {
restrict: 'E',
replace: true,
- transclude: true,
- scope: true,
- template: '
',
- compile: function(element, attr, transclude, navCtrl) {
+ scope: false,
+ compile: function(element, attr, transclude) {
return function($scope, $element, $attr) {
- $scope.hasHeader = attr.hasHeader;
- $scope.hasTabs = attr.hasTabs;
+ $element.addClass('content');
- var newScope = $scope.$parent.$new();
-
- $element.append(transclude(newScope));
- };
+ if(attr.hasHeader) {
+ $element.addClass('has-header');
+ }
+ if(attr.hasTabs) {
+ $element.addClass('has-tabs');
+ }
+ }
}
}
})
@@ -83,7 +85,6 @@ angular.module('ionic.ui.nav', [])
'{{getTopController().title}}
' +
'',
link: function(scope, element, attrs, navCtrl) {
- scope.isHidden = attrs.hidden;
scope.goBack = function() {
navCtrl.pop();
}
@@ -319,5 +320,3 @@ angular.module('ionic.ui.tabs', [])
''
}
});
-;
-angular.module('ionic.ui', ['ionic.ui.content', 'ionic.ui.tabs', 'ionic.ui.nav', 'ionic.ui.sideMenu']);
diff --git a/ionic.conf.js b/ionic.conf.js
index 44ee9c0481..e80b880401 100644
--- a/ionic.conf.js
+++ b/ionic.conf.js
@@ -14,17 +14,20 @@ module.exports = function(config) {
// list of files / patterns to load in the browser
files: [
-
// Include jQuery only for testing convience (lots of DOM checking for unit tests on directives)
'https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js',
- 'vendor/angular/1.2.0rc1/*',
+ 'https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0-rc.2/angular.min.js',
+ 'https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0-rc.2/angular-mocks.js',
+ 'https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0-rc.2/angular-touch.js',
+ 'https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0-rc.2/angular-animate.js',
+
'dist/ionic.js',
+ 'dist/ionic-angular.js',
+
'test/**/*.js',
- //'ext/angular/src/**/*.js',
- //'ext/angular/test/**/*.js',
- //'hacking/**/*.js',
- //'test/**/*.js'
+
+ 'js/ext/angular/test/**/*.js'
],
diff --git a/js/ext/angular/src/directive/ionicContent.js b/js/ext/angular/src/directive/ionicContent.js
index 86969c7d4b..424a988221 100644
--- a/js/ext/angular/src/directive/ionicContent.js
+++ b/js/ext/angular/src/directive/ionicContent.js
@@ -6,18 +6,18 @@ angular.module('ionic.ui.content', {})
return {
restrict: 'E',
replace: true,
- transclude: true,
- scope: true,
- template: '',
- compile: function(element, attr, transclude, navCtrl) {
+ scope: false,
+ compile: function(element, attr, transclude) {
return function($scope, $element, $attr) {
- $scope.hasHeader = attr.hasHeader;
- $scope.hasTabs = attr.hasTabs;
+ $element.addClass('content');
- var newScope = $scope.$parent.$new();
-
- $element.append(transclude(newScope));
- };
+ if(attr.hasHeader) {
+ $element.addClass('has-header');
+ }
+ if(attr.hasTabs) {
+ $element.addClass('has-tabs');
+ }
+ }
}
}
})
diff --git a/js/ext/angular/test/content.html b/js/ext/angular/test/content.html
new file mode 100644
index 0000000000..1b6455fb87
--- /dev/null
+++ b/js/ext/angular/test/content.html
@@ -0,0 +1,57 @@
+
+
+
+ Nav Bars
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/js/ext/angular/test/ionicContent.unit.js b/js/ext/angular/test/ionicContent.unit.js
index 5ae6923660..be6d7eb2f6 100644
--- a/js/ext/angular/test/ionicContent.unit.js
+++ b/js/ext/angular/test/ionicContent.unit.js
@@ -12,4 +12,9 @@ describe('Ionic Content directive', function() {
element = compile('')(scope);
expect(element.hasClass('content')).toBe(true);
});
+
+ it('Has header', function() {
+ element = compile('')(scope);
+ expect(element.hasClass('has-header')).toEqual(true);
+ });
});