62 lines
1.9 KiB
JavaScript
62 lines
1.9 KiB
JavaScript
/**
|
|
* angular-strap
|
|
* @version v2.2.1 - 2015-03-10
|
|
* @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();
|
|
// });
|
|
// };
|
|
|
|
// });
|