35 lines
1.3 KiB
JavaScript
35 lines
1.3 KiB
JavaScript
|
"use strict";
|
||
|
var AnimationFrameAction_1 = require('./AnimationFrameAction');
|
||
|
var AnimationFrameScheduler_1 = require('./AnimationFrameScheduler');
|
||
|
/**
|
||
|
*
|
||
|
* Animation Frame Scheduler
|
||
|
*
|
||
|
* <span class="informal">Perform task when `window.requestAnimationFrame` would fire</span>
|
||
|
*
|
||
|
* When `animationFrame` scheduler is used with delay, it will fall back to {@link async} scheduler
|
||
|
* behaviour.
|
||
|
*
|
||
|
* Without delay, `animationFrame` scheduler can be used to create smooth browser animations.
|
||
|
* It makes sure scheduled task will happen just before next browser content repaint,
|
||
|
* thus performing animations as efficiently as possible.
|
||
|
*
|
||
|
* @example <caption>Schedule div height animation</caption>
|
||
|
* const div = document.querySelector('.some-div');
|
||
|
*
|
||
|
* Rx.Scheduler.schedule(function(height) {
|
||
|
* div.style.height = height + "px";
|
||
|
*
|
||
|
* this.schedule(height + 1); // `this` references currently executing Action,
|
||
|
* // which we reschedule with new state
|
||
|
* }, 0, 0);
|
||
|
*
|
||
|
* // You will see .some-div element growing in height
|
||
|
*
|
||
|
*
|
||
|
* @static true
|
||
|
* @name animationFrame
|
||
|
* @owner Scheduler
|
||
|
*/
|
||
|
exports.animationFrame = new AnimationFrameScheduler_1.AnimationFrameScheduler(AnimationFrameAction_1.AnimationFrameAction);
|
||
|
//# sourceMappingURL=animationFrame.js.map
|