From 8e2675029f5ca404a7c649cc161df3ea642d941f Mon Sep 17 00:00:00 2001
From: Misko Hevery
Date: Sat, 28 Apr 2012 22:45:28 -0700
Subject: chore(docs): re-skin main documentation
---
src/ng/cacheFactory.js | 10 +++
src/ng/directive/ngClass.js | 76 ++++++++++++-------
src/ng/directive/ngController.js | 2 +-
src/ng/directive/ngInclude.js | 76 ++++++++++---------
src/ng/directive/ngStyle.js | 17 +++--
src/ng/directive/ngView.js | 99 ++++++++++++-------------
src/ng/directive/select.js | 2 +-
src/ng/http.js | 135 +++++++++++++++++-----------------
src/ng/route.js | 153 ++++++++++++++++++++-------------------
9 files changed, 311 insertions(+), 259 deletions(-)
(limited to 'src/ng')
diff --git a/src/ng/cacheFactory.js b/src/ng/cacheFactory.js
index 82c939cc..c91ffce7 100644
--- a/src/ng/cacheFactory.js
+++ b/src/ng/cacheFactory.js
@@ -151,6 +151,16 @@ function $CacheFactoryProvider() {
};
}
+/**
+ * @ngdoc object
+ * @name angular.module.ng.$templateCache
+ *
+ * @description
+ * Cache used for storing html templates.
+ *
+ * See {@link angular.module.ng.$cacheFactory $cacheFactory}.
+ *
+ */
function $TemplateCacheProvider() {
this.$get = ['$cacheFactory', function($cacheFactory) {
return $cacheFactory('templates');
diff --git a/src/ng/directive/ngClass.js b/src/ng/directive/ngClass.js
index 1e9a260b..7e0d5dba 100644
--- a/src/ng/directive/ngClass.js
+++ b/src/ng/directive/ngClass.js
@@ -36,30 +36,35 @@ function classDirective(name, selector) {
* names, an array, or a map of class names to boolean values.
*
* @example
-
-
-
+
+
+
- Sample Text
-
-
+ Sample Text
+
+
+ .my-class {
+ color: red;
+ }
+
+
it('should check ng-class', function() {
expect(element('.doc-example-live span').prop('className')).not().
- toMatch(/ng-invalid/);
+ toMatch(/my-class/);
using('.doc-example-live').element(':button:first').click();
expect(element('.doc-example-live span').prop('className')).
- toMatch(/ng-invalid/);
+ toMatch(/my-class/);
using('.doc-example-live').element(':button:last').click();
expect(element('.doc-example-live span').prop('className')).not().
- toMatch(/ng-invalid/);
+ toMatch(/my-class/);
});
-
-
+
+
*/
var ngClassDirective = classDirective('', true);
@@ -80,26 +85,33 @@ var ngClassDirective = classDirective('', true);
* of the evaluation can be a string representing space delimited class names or an array.
*
* @example
-
-
+
+
-
-
- {{name}}
+
+ {{name}}
-
-
+
+
+ .odd {
+ color: red;
+ }
+ .even {
+ color: blue;
+ }
+
+
it('should check ng-class-odd and ng-class-even', function() {
expect(element('.doc-example-live li:first span').prop('className')).
- toMatch(/ng-format-negative/);
+ toMatch(/odd/);
expect(element('.doc-example-live li:last span').prop('className')).
- toMatch(/ng-invalid/);
+ toMatch(/even/);
});
-
-
+
+
*/
var ngClassOddDirective = classDirective('Odd', 0);
@@ -120,8 +132,8 @@ var ngClassOddDirective = classDirective('Odd', 0);
* result of the evaluation can be a string representing space delimited class names or an array.
*
* @example
-
-
+
+
-
@@ -129,15 +141,23 @@ var ngClassOddDirective = classDirective('Odd', 0);
-
-
+
+
+ .odd {
+ color: red;
+ }
+ .even {
+ color: blue;
+ }
+
+
it('should check ng-class-odd and ng-class-even', function() {
expect(element('.doc-example-live li:first span').prop('className')).
toMatch(/odd/);
expect(element('.doc-example-live li:last span').prop('className')).
toMatch(/even/);
});
-
-
+
+
*/
var ngClassEvenDirective = classDirective('Even', 1);
diff --git a/src/ng/directive/ngController.js b/src/ng/directive/ngController.js
index 55da78cd..72bd3c00 100644
--- a/src/ng/directive/ngController.js
+++ b/src/ng/directive/ngController.js
@@ -33,7 +33,7 @@
* for a manual update.
-
-
-
-
- it('should load template1.html', function() {
- expect(element('.doc-example-live [ng-include]').text()).
- toBe('Content of template1.html\n');
- });
- it('should load template2.html', function() {
- select('template').option('1');
- expect(element('.doc-example-live [ng-include]').text()).
- toBe('Content of template2.html\n');
- });
- it('should change to blank', function() {
- select('template').option('');
- expect(element('.doc-example-live [ng-include]').text()).toEqual('');
- });
-
-
+
+
+
+
+ url of the template:
{{template.url}}
+
+
+
+
+
+ function Ctrl($scope) {
+ $scope.templates =
+ [ { name: 'template1.html', url: 'template1.html'}
+ , { name: 'template2.html', url: 'template2.html'} ];
+ $scope.template = $scope.templates[0];
+ }
+
+
+ Content of template1.html
+
+
+ Content of template2.html
+
+
+ it('should load template1.html', function() {
+ expect(element('.doc-example-live [ng-include]').text()).
+ toMatch(/Content of template1.html/);
+ });
+ it('should load template2.html', function() {
+ select('template').option('1');
+ expect(element('.doc-example-live [ng-include]').text()).
+ toMatch(/Content of template2.html/);
+ });
+ it('should change to blank', function() {
+ select('template').option('');
+ expect(element('.doc-example-live [ng-include]').text()).toEqual('');
+ });
+
+
*/
diff --git a/src/ng/directive/ngStyle.js b/src/ng/directive/ngStyle.js
index c24c1b6d..30a266cd 100644
--- a/src/ng/directive/ngStyle.js
+++ b/src/ng/directive/ngStyle.js
@@ -13,15 +13,20 @@
* keys.
*
* @example
-
-
+
+
Sample Text
myStyle={{myStyle}}
-
-
+
+
+ span {
+ color: black;
+ }
+
+
it('should check ng-style', function() {
expect(element('.doc-example-live span').css('color')).toBe('rgb(0, 0, 0)');
element('.doc-example-live :button[value=set]').click();
@@ -29,8 +34,8 @@
element('.doc-example-live :button[value=clear]').click();
expect(element('.doc-example-live span').css('color')).toBe('rgb(0, 0, 0)');
});
-
-
+
+
*/
var ngStyleDirective = ngDirective(function(scope, element, attr) {
scope.$watch(attr.ngStyle, function(newStyles, oldStyles) {
diff --git a/src/ng/directive/ngView.js b/src/ng/directive/ngView.js
index 16ae792e..7c737765 100644
--- a/src/ng/directive/ngView.js
+++ b/src/ng/directive/ngView.js
@@ -14,51 +14,8 @@
*
* @scope
* @example
-
-
-
-
-
-
-
-
+
+
Choose:
Moby |
@@ -76,8 +33,52 @@
$route.current.scope.name = {{$route.current.scope.name}}
$routeParams = {{$routeParams}}
-
-
+
+
+
+ controller: {{name}}
+ Book Id: {{params.bookId}}
+
+
+
+ controller: {{name}}
+ Book Id: {{params.bookId}}
+ Chapter Id: {{params.chapterId}}
+
+
+
+ angular.module('ngView', [], function($routeProvider, $locationProvider) {
+ $routeProvider.when('/Book/:bookId', {
+ template: 'book.html',
+ controller: BookCntl
+ });
+ $routeProvider.when('/Book/:bookId/ch/:chapterId', {
+ template: 'chapter.html',
+ controller: ChapterCntl
+ });
+
+ // configure html5 to get links working on jsfiddle
+ $locationProvider.html5Mode(true);
+ });
+
+ function MainCntl($scope, $route, $routeParams, $location) {
+ $scope.$route = $route;
+ $scope.$location = $location;
+ $scope.$routeParams = $routeParams;
+ }
+
+ function BookCntl($scope, $routeParams) {
+ $scope.name = "BookCntl";
+ $scope.params = $routeParams;
+ }
+
+ function ChapterCntl($scope, $routeParams) {
+ $scope.name = "ChapterCntl";
+ $scope.params = $routeParams;
+ }
+
+
+
it('should load and compile correct template', function() {
element('a:contains("Moby: Ch1")').click();
var content = element('.doc-example-live [ng-view]').text();
@@ -90,8 +91,8 @@
expect(content).toMatch(/controller\: BookCntl/);
expect(content).toMatch(/Book Id\: Scarlet/);
});
-
-
+
+
*/
diff --git a/src/ng/directive/select.js b/src/ng/directive/select.js
index dda59375..b269973f 100644
--- a/src/ng/directive/select.js
+++ b/src/ng/directive/select.js
@@ -75,7 +75,7 @@
-
Name:
- [X]
+ [X]
-
[add]
diff --git a/src/ng/http.js b/src/ng/http.js
index 157c5d98..19b7d246 100644
--- a/src/ng/http.js
+++ b/src/ng/http.js
@@ -400,72 +400,75 @@ function $HttpProvider() {
*
*
* @example
-
-
-
-
-
-
-
-
-
-
-
http status code: {{status}}
-
http response data: {{data}}
-
-
-
- it('should make an xhr GET request', function() {
- element(':button:contains("Sample GET")').click();
- element(':button:contains("fetch")').click();
- expect(binding('status')).toBe('200');
- expect(binding('data')).toBe('Hello, $http!\n');
- });
-
- it('should make a JSONP request to angularjs.org', function() {
- element(':button:contains("Sample JSONP")').click();
- element(':button:contains("fetch")').click();
- expect(binding('status')).toBe('200');
- expect(binding('data')).toMatch(/Super Hero!/);
- });
-
- it('should make JSONP request to invalid URL and invoke the error handler',
- function() {
- element(':button:contains("Invalid JSONP")').click();
- element(':button:contains("fetch")').click();
- expect(binding('status')).toBe('0');
- expect(binding('data')).toBe('Request failed');
- });
-
-
+
+
+
+
+
+
+
+
+
+
http status code: {{status}}
+
http response data: {{data}}
+
+
+
+ function FetchCtrl($scope, $http, $templateCache) {
+ $scope.method = 'GET';
+ $scope.url = 'http-hello.html';
+
+ $scope.fetch = function() {
+ $scope.code = null;
+ $scope.response = null;
+
+ $http({method: $scope.method, url: $scope.url, cache: $templateCache}).
+ success(function(data, status) {
+ $scope.status = status;
+ $scope.data = data;
+ }).
+ error(function(data, status) {
+ $scope.data = data || "Request failed";
+ $scope.status = status;
+ });
+ };
+
+ $scope.updateModel = function(method, url) {
+ $scope.method = method;
+ $scope.url = url;
+ };
+ }
+
+
+ Hello, $http!
+
+
+ it('should make an xhr GET request', function() {
+ element(':button:contains("Sample GET")').click();
+ element(':button:contains("fetch")').click();
+ expect(binding('status')).toBe('200');
+ expect(binding('data')).toMatch(/Hello, \$http!/);
+ });
+
+ it('should make a JSONP request to angularjs.org', function() {
+ element(':button:contains("Sample JSONP")').click();
+ element(':button:contains("fetch")').click();
+ expect(binding('status')).toBe('200');
+ expect(binding('data')).toMatch(/Super Hero!/);
+ });
+
+ it('should make JSONP request to invalid URL and invoke the error handler',
+ function() {
+ element(':button:contains("Invalid JSONP")').click();
+ element(':button:contains("fetch")').click();
+ expect(binding('status')).toBe('0');
+ expect(binding('data')).toBe('Request failed');
+ });
+
+
*/
function $http(config) {
config.method = uppercase(config.method);
diff --git a/src/ng/route.js b/src/ng/route.js
index 895749fe..fd54b1c5 100644
--- a/src/ng/route.js
+++ b/src/ng/route.js
@@ -117,78 +117,85 @@ function $RouteProvider(){
Note that this example is using {@link angular.module.ng.$compileProvider.directive.script inlined templates}
to get it working on jsfiddle as well.
-
-
-
-
-
-
-
-
-
- Choose:
-
Moby |
-
Moby: Ch1 |
-
Gatsby |
-
Gatsby: Ch4 |
-
Scarlet Letter
-
-
-
-
-
$location.path() = {{$location.path()}}
-
$route.current.template = {{$route.current.template}}
-
$route.current.params = {{$route.current.params}}
-
$route.current.scope.name = {{$route.current.scope.name}}
-
$routeParams = {{$routeParams}}
-
-
-
- it('should load and compile correct template', function() {
- element('a:contains("Moby: Ch1")').click();
- var content = element('.doc-example-live [ng-view]').text();
- expect(content).toMatch(/controller\: ChapterCntl/);
- expect(content).toMatch(/Book Id\: Moby/);
- expect(content).toMatch(/Chapter Id\: 1/);
-
- element('a:contains("Scarlet")').click();
- content = element('.doc-example-live [ng-view]').text();
- expect(content).toMatch(/controller\: BookCntl/);
- expect(content).toMatch(/Book Id\: Scarlet/);
- });
-
-
+
+
+
+ Choose:
+
Moby |
+
Moby: Ch1 |
+
Gatsby |
+
Gatsby: Ch4 |
+
Scarlet Letter
+
+
+
+
+
$location.path() = {{$location.path()}}
+
$route.current.template = {{$route.current.template}}
+
$route.current.params = {{$route.current.params}}
+
$route.current.scope.name = {{$route.current.scope.name}}
+
$routeParams = {{$routeParams}}
+
+
+
+
+ controller: {{name}}
+ Book Id: {{params.bookId}}
+
+
+
+ controller: {{name}}
+ Book Id: {{params.bookId}}
+ Chapter Id: {{params.chapterId}}
+
+
+
+ angular.module('ngView', [], function($routeProvider, $locationProvider) {
+ $routeProvider.when('/Book/:bookId', {
+ template: 'book.html',
+ controller: BookCntl
+ });
+ $routeProvider.when('/Book/:bookId/ch/:chapterId', {
+ template: 'chapter.html',
+ controller: ChapterCntl
+ });
+
+ // configure html5 to get links working on jsfiddle
+ $locationProvider.html5Mode(true);
+ });
+
+ function MainCntl($scope, $route, $routeParams, $location) {
+ $scope.$route = $route;
+ $scope.$location = $location;
+ $scope.$routeParams = $routeParams;
+ }
+
+ function BookCntl($scope, $routeParams) {
+ $scope.name = "BookCntl";
+ $scope.params = $routeParams;
+ }
+
+ function ChapterCntl($scope, $routeParams) {
+ $scope.name = "ChapterCntl";
+ $scope.params = $routeParams;
+ }
+
+
+
+ it('should load and compile correct template', function() {
+ element('a:contains("Moby: Ch1")').click();
+ var content = element('.doc-example-live [ng-view]').text();
+ expect(content).toMatch(/controller\: ChapterCntl/);
+ expect(content).toMatch(/Book Id\: Moby/);
+ expect(content).toMatch(/Chapter Id\: 1/);
+
+ element('a:contains("Scarlet")').click();
+ content = element('.doc-example-live [ng-view]').text();
+ expect(content).toMatch(/controller\: BookCntl/);
+ expect(content).toMatch(/Book Id\: Scarlet/);
+ });
+
+
*/
/**
@@ -238,7 +245,7 @@ function $RouteProvider(){
* @methodOf angular.module.ng.$route
*
* @description
- * Causes `$route` service to reload the current route even if
+ * Causes `$route` service to reload theR current route even if
* {@link angular.module.ng.$location $location} hasn't changed.
*
* As a result of that, {@link angular.module.ng.$compileProvider.directive.ngView ngView}
--
cgit v1.2.3