/**
|
* angular-strap
|
* @version v2.0.3 - 2014-05-30
|
* @link http://mgcrea.github.io/angular-strap
|
* @author Olivier Louvignes (olivier@mg-crea.com)
|
* @license MIT License, http://www.opensource.org/licenses/MIT
|
*/
|
'use strict';
|
angular.version.minor < 3 && angular.version.dot < 14 && angular.module('ng').factory('$$rAF', [
|
'$window',
|
'$timeout',
|
function ($window, $timeout) {
|
var requestAnimationFrame = $window.requestAnimationFrame || $window.webkitRequestAnimationFrame || $window.mozRequestAnimationFrame;
|
var cancelAnimationFrame = $window.cancelAnimationFrame || $window.webkitCancelAnimationFrame || $window.mozCancelAnimationFrame || $window.webkitCancelRequestAnimationFrame;
|
var rafSupported = !!requestAnimationFrame;
|
var raf = rafSupported ? function (fn) {
|
var id = requestAnimationFrame(fn);
|
return function () {
|
cancelAnimationFrame(id);
|
};
|
} : function (fn) {
|
var timer = $timeout(fn, 16.66, false);
|
// 1000 / 60 = 16.666
|
return function () {
|
$timeout.cancel(timer);
|
};
|
};
|
raf.supported = rafSupported;
|
return raf;
|
}
|
]); // .factory('$$animateReflow', function($$rAF, $document) {
|
// var bodyEl = $document[0].body;
|
// return function(fn) {
|
// //the returned function acts as the cancellation function
|
// return $$rAF(function() {
|
// //the line below will force the browser to perform a repaint
|
// //so that all the animated elements within the animation frame
|
// //will be properly updated and drawn on screen. This is
|
// //required to perform multi-class CSS based animations with
|
// //Firefox. DO NOT REMOVE THIS LINE.
|
// var a = bodyEl.offsetWidth + 1;
|
// fn();
|
// });
|
// };
|
// });
|