aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMisko Hevery2012-02-22 12:59:23 -0800
committerMisko Hevery2012-02-22 12:59:23 -0800
commitc27a56f4da9bf89e471ac6597c135e2f19814f17 (patch)
tree195faba53e34785e05d9685765880956ed9464f4
parentfbcb7fdd141c277d326dc3ed34545210c4d5628f (diff)
downloadangular.js-c27a56f4da9bf89e471ac6597c135e2f19814f17.tar.bz2
docs(scope): show which directives create scopes
-rw-r--r--docs/spec/ngdocSpec.js20
-rw-r--r--docs/src/ngdoc.js17
-rw-r--r--src/directives.js1
-rw-r--r--src/widget/form.js3
-rw-r--r--src/widgets.js7
5 files changed, 45 insertions, 3 deletions
diff --git a/docs/spec/ngdocSpec.js b/docs/spec/ngdocSpec.js
index 8082e4b1..4b809479 100644
--- a/docs/spec/ngdocSpec.js
+++ b/docs/spec/ngdocSpec.js
@@ -349,6 +349,26 @@ describe('ngdoc', function() {
});
});
+ describe('@scope', function() {
+ it('should state the new scope will be created', function() {
+ var doc = new Doc('@name a\n@scope');
+ doc.ngdoc = 'directive';
+ doc.parse();
+ expect(doc.scope).toEqual('');
+ expect(doc.html()).toContain('This directive creates new scope.');
+ });
+ });
+
+ describe('@priority', function() {
+ it('should state the priority', function() {
+ var doc = new Doc('@name a\n@priority 123');
+ doc.ngdoc = 'directive';
+ doc.parse();
+ expect(doc.priority).toEqual('123');
+ expect(doc.html()).toContain('This directive executes at priority level 123.');
+ });
+ });
+
describe('@property', function() {
it('should parse @property tags into array', function() {
var doc = new Doc("@name a\n@property {type} name1 desc\n@property {type} name2 desc");
diff --git a/docs/src/ngdoc.js b/docs/src/ngdoc.js
index 87f9ab62..fc606d54 100644
--- a/docs/src/ngdoc.js
+++ b/docs/src/ngdoc.js
@@ -374,6 +374,7 @@ Doc.prototype = {
dom.text('>\n ...\n');
dom.text('</' + self.element + '>');
});
+ self.html_usage_directiveInfo(dom);
self.html_usage_parameters(dom);
});
},
@@ -461,11 +462,25 @@ Doc.prototype = {
});
});
+ self.html_usage_directiveInfo(dom);
self.html_usage_parameters(dom);
- self.html_usage_returns(dom);
});
},
+ html_usage_directiveInfo: function(dom) {
+ var self = this;
+ var list = [];
+
+
+ if (self.scope !== undefined) {
+ list.push('This directive creates new scope.');
+ }
+ if (self.priority !== undefined) {
+ list.push('This directive executes at priority level ' + self.priority + '.');
+ }
+ dom.ul(list);
+ },
+
html_usage_overview: function(dom){
dom.html(this.description);
},
diff --git a/src/directives.js b/src/directives.js
index 1f70d912..67c9f1f6 100644
--- a/src/directives.js
+++ b/src/directives.js
@@ -55,6 +55,7 @@ var ngInitDirective = valueFn({
* service.
*
* @element ANY
+ * @scope
* @param {expression} expression Name of a globally accessible constructor function or an
* {@link guide/dev_guide.expressions expression} that on the current scope evaluates to a
* constructor function.
diff --git a/src/widget/form.js b/src/widget/form.js
index 552cc4e5..deaf38d5 100644
--- a/src/widget/form.js
+++ b/src/widget/form.js
@@ -1,9 +1,10 @@
'use strict';
/**
- * @ngdoc widget
+ * @ngdoc directive
* @name angular.module.ng.$compileProvider.directive.form
*
+ * @scope
* @description
* Angular widget that creates a form scope using the
* {@link angular.module.ng.$formFactory $formFactory} API. The resulting form scope instance is
diff --git a/src/widgets.js b/src/widgets.js
index cd282746..84982dc6 100644
--- a/src/widgets.js
+++ b/src/widgets.js
@@ -10,6 +10,8 @@
* Keep in mind that Same Origin Policy applies to included resources
* (e.g. ng:include won't work for file:// access).
*
+ * @scope
+ *
* @param {string} src angular expression evaluating to URL. If the source is a string constant,
* make sure you wrap it in quotes, e.g. `src="'myPartialTemplate.html'"`.
* @param {Scope=} [scope=new_child_scope] optional expression which evaluates to an
@@ -130,6 +132,7 @@ var ngIncludeDirective = ['$http', '$templateCache', '$anchorScroll', '$compile'
* ...
* <any ng:switch-default>...</any>
*
+ * @scope
* @param {*} on expression to match against <tt>ng:switch-when</tt>.
* @paramDescription
* On child elments add:
@@ -254,7 +257,7 @@ var htmlAnchorDirective = valueFn({
/**
- * @ngdoc widget
+ * @ngdoc directive
* @name angular.module.ng.$compileProvider.directive.ng:repeat
*
* @description
@@ -273,6 +276,8 @@ var htmlAnchorDirective = valueFn({
* Note: Although `ng:repeat` looks like a directive, it is actually an attribute widget.
*
* @element ANY
+ * @scope
+ * @priority 1000
* @param {string} repeat_expression The expression indicating how to enumerate a collection. Two
* formats are currently supported:
*