1 | /**
|
2 | * A hand for analog clock.
|
3 | * @constructor ApAnalogClockHand
|
4 | */
|
5 |
|
6 | ;
|
7 |
|
8 | const React = require('react'),
|
9 | classnames = require('classnames'),
|
10 | types = React.PropTypes;
|
11 |
|
12 | /** @lends ApAnalogClockHand */
|
13 | let ApAnalogClockHand = React.createClass({
|
14 | displayName: 'ApAnalogClockHand',
|
15 |
|
16 | propTypes: {
|
17 | angle: types.number,
|
18 | width: types.number,
|
19 | heightRate: types.number
|
20 | },
|
21 | getDefaultProps: function () {
|
22 | return {
|
23 | angle: 0,
|
24 | width: 24,
|
25 | heightRate: 1
|
26 | };
|
27 | },
|
28 | render: function () {
|
29 | let s = this,
|
30 | props = s.props;
|
31 |
|
32 | let className = props.className,
|
33 | angle = props.angle,
|
34 | heightRate = props.heightRate,
|
35 | width = props.width;
|
36 |
|
37 | return React.createElement(
|
38 | 'div',
|
39 | { className: classnames("ap-analog-clock-hand", className),
|
40 | style: { transform: `rotate(${ angle }deg)` } },
|
41 | React.createElement(
|
42 | 'div',
|
43 | { className: 'ap-analog-clock-hand-bar-container',
|
44 | style: { top: `${ (1 - heightRate) * 100 }%` } },
|
45 | React.createElement('div', { className: 'ap-analog-clock-hand-bar',
|
46 | style: { width: `${ width }px` } })
|
47 | )
|
48 | );
|
49 | }
|
50 | });
|
51 |
|
52 | module.exports = ApAnalogClockHand;
|
53 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImpzeC9hcF9hbmFsb2dfY2xvY2tfaGFuZC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQSxZQUFZLENBQUM7O0FBRWIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztNQUMxQixVQUFVLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztNQUNsQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFNBQVM7OztBQUFDLEFBRzVCLElBQUksaUJBQWlCLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQzs7O0FBQ3RDLGFBQVMsRUFBRTtBQUNQLGFBQUssRUFBRSxLQUFLLENBQUMsTUFBTTtBQUNuQixhQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU07QUFDbkIsa0JBQVUsRUFBRSxLQUFLLENBQUMsTUFBTTtLQUMzQjtBQUNELG1CQUFlLEVBQUUsWUFBWTtBQUN6QixlQUFPO0FBQ0gsaUJBQUssRUFBRSxDQUFDO0FBQ1IsaUJBQUssRUFBRSxFQUFFO0FBQ1Qsc0JBQVUsRUFBRSxDQUFDO1NBQ2hCLENBQUE7S0FDSjtBQUNELFVBQU0sRUFBRSxZQUFZO0FBQ2hCLFlBQUksQ0FBQyxHQUFHLElBQUk7WUFDUixLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQzs7QUFFcEIsWUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVM7WUFDM0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLO1lBQ25CLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVTtZQUM3QixLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQzs7QUFHeEIsZUFDSTs7Y0FBSyxTQUFTLEVBQUUsVUFBVSxDQUFDLHNCQUFzQixFQUFFLFNBQVMsQ0FBQyxBQUFDO0FBQ3pELHFCQUFLLEVBQUUsRUFBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLEdBQUUsS0FBSyxFQUFDLElBQUksQ0FBQyxFQUFDLEFBQUM7WUFDM0M7O2tCQUFLLFNBQVMsRUFBQyxvQ0FBb0M7QUFDOUMseUJBQUssRUFBRSxFQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUUsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFBLEdBQUksR0FBRyxFQUFDLENBQUMsQ0FBQyxFQUFDLEFBQUM7Z0JBQzVDLDZCQUFLLFNBQVMsRUFBQywwQkFBMEI7QUFDcEMseUJBQUssRUFBRSxFQUFDLEtBQUssRUFBRSxDQUFDLEdBQUUsS0FBSyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEFBQUMsR0FBTzthQUN2QztTQUNKLENBQ1I7S0FDTDtDQUNKLENBQUMsQ0FBQzs7QUFFSCxNQUFNLENBQUMsT0FBTyxHQUFHLGlCQUFpQixDQUFDIiwiZmlsZSI6ImFwX2FuYWxvZ19jbG9ja19oYW5kLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9va3VuaXNoaXRha2EvcHJvamVjdHMvYXBlbWFuLXJlYWN0LWxhYm8vYXBlbWFuLXJlYWN0LWNsb2NrL2xpYi9qc3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEEgaGFuZCBmb3IgYW5hbG9nIGNsb2NrLlxuICogQGNvbnN0cnVjdG9yIEFwQW5hbG9nQ2xvY2tIYW5kXG4gKi9cblxuXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IFJlYWN0ID0gcmVxdWlyZSgncmVhY3QnKSxcbiAgICBjbGFzc25hbWVzID0gcmVxdWlyZSgnY2xhc3NuYW1lcycpLFxuICAgIHR5cGVzID0gUmVhY3QuUHJvcFR5cGVzO1xuXG4vKiogQGxlbmRzIEFwQW5hbG9nQ2xvY2tIYW5kICovXG5sZXQgQXBBbmFsb2dDbG9ja0hhbmQgPSBSZWFjdC5jcmVhdGVDbGFzcyh7XG4gICAgcHJvcFR5cGVzOiB7XG4gICAgICAgIGFuZ2xlOiB0eXBlcy5udW1iZXIsXG4gICAgICAgIHdpZHRoOiB0eXBlcy5udW1iZXIsXG4gICAgICAgIGhlaWdodFJhdGU6IHR5cGVzLm51bWJlclxuICAgIH0sXG4gICAgZ2V0RGVmYXVsdFByb3BzOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBhbmdsZTogMCxcbiAgICAgICAgICAgIHdpZHRoOiAyNCxcbiAgICAgICAgICAgIGhlaWdodFJhdGU6IDFcbiAgICAgICAgfVxuICAgIH0sXG4gICAgcmVuZGVyOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGxldCBzID0gdGhpcyxcbiAgICAgICAgICAgIHByb3BzID0gcy5wcm9wcztcblxuICAgICAgICBsZXQgY2xhc3NOYW1lID0gcHJvcHMuY2xhc3NOYW1lLFxuICAgICAgICAgICAgYW5nbGUgPSBwcm9wcy5hbmdsZSxcbiAgICAgICAgICAgIGhlaWdodFJhdGUgPSBwcm9wcy5oZWlnaHRSYXRlLFxuICAgICAgICAgICAgd2lkdGggPSBwcm9wcy53aWR0aDtcblxuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhcImFwLWFuYWxvZy1jbG9jay1oYW5kXCIsIGNsYXNzTmFtZSl9XG4gICAgICAgICAgICAgICAgIHN0eWxlPXt7dHJhbnNmb3JtOiBgcm90YXRlKCR7YW5nbGV9ZGVnKWB9fT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFwLWFuYWxvZy1jbG9jay1oYW5kLWJhci1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3t0b3A6IGAkeygxIC0gaGVpZ2h0UmF0ZSkgKiAxMDB9JWB9fT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhcC1hbmFsb2ctY2xvY2staGFuZC1iYXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7d2lkdGg6IGAke3dpZHRofXB4YH19PjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICk7XG4gICAgfVxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gQXBBbmFsb2dDbG9ja0hhbmQ7XG4iXX0= |
\ | No newline at end of file |