forked from mirrors/gecko-dev
		
	# ignore-this-changeset Differential Revision: https://phabricator.services.mozilla.com/D58243 --HG-- extra : moz-landing-system : lando
		
			
				
	
	
		
			75 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/* This Source Code Form is subject to the terms of the Mozilla Public
 | 
						|
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
						|
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 | 
						|
 | 
						|
"use strict";
 | 
						|
 | 
						|
const {
 | 
						|
  createFactory,
 | 
						|
  PureComponent,
 | 
						|
} = require("devtools/client/shared/vendor/react");
 | 
						|
const dom = require("devtools/client/shared/vendor/react-dom-factories");
 | 
						|
const PropTypes = require("devtools/client/shared/vendor/react-prop-types");
 | 
						|
 | 
						|
const CurrentTimeLabel = createFactory(
 | 
						|
  require("devtools/client/inspector/animation/components/CurrentTimeLabel")
 | 
						|
);
 | 
						|
const PauseResumeButton = createFactory(
 | 
						|
  require("devtools/client/inspector/animation/components/PauseResumeButton")
 | 
						|
);
 | 
						|
const PlaybackRateSelector = createFactory(
 | 
						|
  require("devtools/client/inspector/animation/components/PlaybackRateSelector")
 | 
						|
);
 | 
						|
const RewindButton = createFactory(
 | 
						|
  require("devtools/client/inspector/animation/components/RewindButton")
 | 
						|
);
 | 
						|
 | 
						|
class AnimationToolbar extends PureComponent {
 | 
						|
  static get propTypes() {
 | 
						|
    return {
 | 
						|
      addAnimationsCurrentTimeListener: PropTypes.func.isRequired,
 | 
						|
      animations: PropTypes.arrayOf(PropTypes.object).isRequired,
 | 
						|
      removeAnimationsCurrentTimeListener: PropTypes.func.isRequired,
 | 
						|
      rewindAnimationsCurrentTime: PropTypes.func.isRequired,
 | 
						|
      setAnimationsPlaybackRate: PropTypes.func.isRequired,
 | 
						|
      setAnimationsPlayState: PropTypes.func.isRequired,
 | 
						|
      timeScale: PropTypes.object.isRequired,
 | 
						|
    };
 | 
						|
  }
 | 
						|
 | 
						|
  render() {
 | 
						|
    const {
 | 
						|
      addAnimationsCurrentTimeListener,
 | 
						|
      animations,
 | 
						|
      removeAnimationsCurrentTimeListener,
 | 
						|
      rewindAnimationsCurrentTime,
 | 
						|
      setAnimationsPlaybackRate,
 | 
						|
      setAnimationsPlayState,
 | 
						|
      timeScale,
 | 
						|
    } = this.props;
 | 
						|
 | 
						|
    return dom.div(
 | 
						|
      {
 | 
						|
        className: "animation-toolbar devtools-toolbar",
 | 
						|
      },
 | 
						|
      RewindButton({
 | 
						|
        rewindAnimationsCurrentTime,
 | 
						|
      }),
 | 
						|
      PauseResumeButton({
 | 
						|
        animations,
 | 
						|
        setAnimationsPlayState,
 | 
						|
      }),
 | 
						|
      PlaybackRateSelector({
 | 
						|
        animations,
 | 
						|
        setAnimationsPlaybackRate,
 | 
						|
      }),
 | 
						|
      CurrentTimeLabel({
 | 
						|
        addAnimationsCurrentTimeListener,
 | 
						|
        removeAnimationsCurrentTimeListener,
 | 
						|
        timeScale,
 | 
						|
      })
 | 
						|
    );
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
module.exports = AnimationToolbar;
 |