|
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.addHours = addHours;
- exports.addMinutes = addMinutes;
- exports.addSeconds = addSeconds;
- exports.formatTime = formatTime;
- exports.rad2deg = rad2deg;
- exports.getTouchEventOffsetValues = getTouchEventOffsetValues;
- exports.isInner = isInner;
- function addHours(d, hours) {
- var newDate = clone(d);
- newDate.setHours(d.getHours() + hours);
- return newDate;
- }
-
- function addMinutes(d, minutes) {
- var newDate = clone(d);
- newDate.setMinutes(d.getMinutes() + minutes);
- return newDate;
- }
-
- function addSeconds(d, seconds) {
- var newDate = clone(d);
- newDate.setSeconds(d.getMinutes() + seconds);
- return newDate;
- }
-
- function clone(d) {
- return new Date(d.getTime());
- }
-
- /**
- * @param date [Date] A Date object.
- * @param format [String] One of 'ampm', '24hr', defaults to 'ampm'.
- * @param pedantic [Boolean] Check time-picker/time-picker.jsx file.
- *
- * @return String A string representing the formatted time.
- */
- function formatTime(date) {
- var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'ampm';
- var pedantic = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-
- if (!date) return '';
- var hours = date.getHours();
- var mins = date.getMinutes().toString();
-
- if (format === 'ampm') {
- var isAM = hours < 12;
- hours = hours % 12;
- var additional = isAM ? ' am' : ' pm';
- hours = (hours || 12).toString();
-
- if (mins.length < 2) mins = '0' + mins;
-
- if (pedantic) {
- // Treat midday/midnight specially http://www.nist.gov/pml/div688/times.cfm
- if (hours === '12' && mins === '00') {
- return additional === ' pm' ? '12 noon' : '12 midnight';
- }
- }
-
- return hours + (mins === '00' ? '' : ':' + mins) + additional;
- }
-
- hours = hours.toString();
-
- if (hours.length < 2) hours = '0' + hours;
- if (mins.length < 2) mins = '0' + mins;
-
- return hours + ':' + mins;
- }
-
- function rad2deg(rad) {
- return rad * 57.29577951308232;
- }
-
- function getTouchEventOffsetValues(event) {
- var el = event.target;
- var boundingRect = el.getBoundingClientRect();
-
- return {
- offsetX: event.clientX - boundingRect.left,
- offsetY: event.clientY - boundingRect.top
- };
- }
-
- function isInner(props) {
- if (props.type !== 'hour') {
- return false;
- }
- return props.value < 1 || props.value > 12;
- }
|