aboutsummaryrefslogtreecommitdiffstats
path: root/src/ng/animate.js
diff options
context:
space:
mode:
authorMatias Niemelä2013-07-31 17:17:27 -0400
committerMisko Hevery2013-08-03 00:46:18 -0700
commit9f3935baffa9faaec0cac9b6b41cd845fa41d6fc (patch)
tree2a560f50c47d44980d356bc9fa468dd7892c8cf9 /src/ng/animate.js
parent2e72239133ae1090ca94c7c5a53e1124a0e49dc4 (diff)
downloadangular.js-9f3935baffa9faaec0cac9b6b41cd845fa41d6fc.tar.bz2
chore(ngdocs): provide docs for the core $animator service
Diffstat (limited to 'src/ng/animate.js')
-rw-r--r--src/ng/animate.js85
1 files changed, 85 insertions, 0 deletions
diff --git a/src/ng/animate.js b/src/ng/animate.js
index 2d9e6191..22675a13 100644
--- a/src/ng/animate.js
+++ b/src/ng/animate.js
@@ -57,7 +57,39 @@ var $AnimateProvider = ['$provide', function($provide) {
};
this.$get = ['$timeout', function($timeout) {
+
+ /**
+ * @ngdoc object
+ * @name ng.$animate
+ *
+ * @description
+ * The $animate service provides rudimentary DOM manipulation functions to insert, remove, move elements within
+ * the DOM as well as adding and removing classes. This service is the core service used by the ngAnimate $animator
+ * service which provides high-level animation hooks for CSS and JavaScript.
+ *
+ * $animate is available in the AngularJS core, however, the ngAnimate module must be included to enable full out
+ * animation support. Otherwise, $animate will only perform simple DOM manipulation operations.
+ *
+ * To learn more about enabling animation support, click here to visit the {@link ngAnimate ngAnimate module page}
+ * as well as the {@link ngAnimate.$animate ngAnimate $animate service page}.
+ */
return {
+
+ /**
+ * @ngdoc function
+ * @name ng.$animate#enter
+ * @methodOf ng.$animate
+ * @function
+ *
+ * @description
+ * Inserts the element into the DOM either after the `after` element or within the `parent` element. Once complete,
+ * the done() callback will be fired (if provided).
+ *
+ * @param {jQuery/jqLite element} element the element which will be inserted into the DOM
+ * @param {jQuery/jqLite element} parent the parent element which will append the element as a child (if the after element is not present)
+ * @param {jQuery/jqLite element} after the sibling element which will append the element after itself
+ * @param {function=} done callback function that will be called after the element has been inserted into the DOM
+ */
enter : function(element, parent, after, done) {
var afterNode = after && after[after.length - 1];
var parentNode = parent && parent[0] || afterNode && afterNode.parentNode;
@@ -69,17 +101,57 @@ var $AnimateProvider = ['$provide', function($provide) {
$timeout(done || noop, 0, false);
},
+ /**
+ * @ngdoc function
+ * @name ng.$animate#leave
+ * @methodOf ng.$animate
+ * @function
+ *
+ * @description
+ * Removes the element from the DOM. Once complete, the done() callback will be fired (if provided).
+ *
+ * @param {jQuery/jqLite element} element the element which will be removed from the DOM
+ * @param {function=} done callback function that will be called after the element has been removed from the DOM
+ */
leave : function(element, done) {
element.remove();
$timeout(done || noop, 0, false);
},
+ /**
+ * @ngdoc function
+ * @name ng.$animate#move
+ * @methodOf ng.$animate
+ * @function
+ *
+ * @description
+ * Moves the position of the provided element within the DOM to be placed either after the `after` element or inside of the `parent` element.
+ * Once complete, the done() callback will be fired (if provided).
+ *
+ * @param {jQuery/jqLite element} element the element which will be moved around within the DOM
+ * @param {jQuery/jqLite element} parent the parent element where the element will be inserted into (if the after element is not present)
+ * @param {jQuery/jqLite element} after the sibling element where the element will be positioned next to
+ * @param {function=} done the callback function (if provided) that will be fired after the element has been moved to it's new position
+ */
move : function(element, parent, after, done) {
// Do not remove element before insert. Removing will cause data associated with the
// element to be dropped. Insert will implicitly do the remove.
this.enter(element, parent, after, done);
},
+ /**
+ * @ngdoc function
+ * @name ng.$animate#addClass
+ * @methodOf ng.$animate
+ * @function
+ *
+ * @description
+ * Adds the provided className CSS class value to the provided element. Once complete, the done() callback will be fired (if provided).
+ *
+ * @param {jQuery/jqLite element} element the element which will have the className value added to it
+ * @param {string} className the CSS class which will be added to the element
+ * @param {function=} done the callback function (if provided) that will be fired after the className value has been added to the element
+ */
addClass : function(element, className, done) {
className = isString(className) ?
className :
@@ -88,6 +160,19 @@ var $AnimateProvider = ['$provide', function($provide) {
$timeout(done || noop, 0, false);
},
+ /**
+ * @ngdoc function
+ * @name ng.$animate#removeClass
+ * @methodOf ng.$animate
+ * @function
+ *
+ * @description
+ * Removes the provided className CSS class value from the provided element. Once complete, the done() callback will be fired (if provided).
+ *
+ * @param {jQuery/jqLite element} element the element which will have the className value removed from it
+ * @param {string} className the CSS class which will be removed from the element
+ * @param {function=} done the callback function (if provided) that will be fired after the className value has been removed from the element
+ */
removeClass : function(element, className, done) {
className = isString(className) ?
className :