diff options
Diffstat (limited to 'apps/system/js/value_selector/input_parser.js')
-rw-r--r-- | apps/system/js/value_selector/input_parser.js | 160 |
1 files changed, 0 insertions, 160 deletions
diff --git a/apps/system/js/value_selector/input_parser.js b/apps/system/js/value_selector/input_parser.js deleted file mode 100644 index 5eef320..0000000 --- a/apps/system/js/value_selector/input_parser.js +++ /dev/null @@ -1,160 +0,0 @@ -/** - * Stateless object for input parser functions.. - * The intent is the methods here will only relate to the parsing - * of input[type="date|time"] - */ - -ValueSelector.InputParser = (function() { - - var InputParser = { - _dateParts: ['year', 'month', 'date'], - _timeParts: ['hours', 'minutes', 'seconds'], - - /** - * Import HTML5 input[type="time"] string value - * - * @param {String} value 23:20:50.52, 17:39:57. - * @return {Object} { hours: 23, minutes: 20, seconds: 50 }. - */ - importTime: function(value) { - var result = { - hours: 0, - minutes: 0, - seconds: 0 - }; - - var parts = value.split(':'); - var part; - var partName; - - var i = 0; - var len = InputParser._timeParts.length; - - for (; i < len; i++) { - partName = InputParser._timeParts[i]; - part = parts[i]; - if (part) { - result[partName] = parseInt(part.slice(0, 2), 10) || 0; - } - } - - return result; - }, - - /** - * Export date to HTML5 input[type="time"] - * - * @param {Date} value export value. - * @return {String} 17:39:57. - */ - exportTime: function(value) { - var hour = value.getHours(); - var minute = value.getMinutes(); - var second = value.getSeconds(); - - var result = ''; - - result += InputParser.padNumber(hour) + ':'; - result += InputParser.padNumber(minute) + ':'; - result += InputParser.padNumber(second); - - return result; - }, - - /** - * Import HTML5 input[type="time"] to object. - * - * @param {String} value 1997-12-19. - * @return {Object} { year: 1997, month: 12, date: 19 }. - */ - importDate: function(value) { - var result = { - year: 0, - month: 0, - date: 0 - }; - - var parts = value.split('-'); - var part; - var partName; - - var i = 0; - var len = InputParser._dateParts.length; - - for (; i < len; i++) { - partName = InputParser._dateParts[i]; - part = parts[i]; - if (part) { - result[partName] = parseInt(part, 10); - } - } - - if (result.month > 0) { - result.month = result.month - 1; - } - - result.date = result.date || 1; - - return result; - }, - - /** - * Export js date to HTML5 input[type="date"] - * - * @param {Date} value export value. - * @return {String} date string (1997-12-19). - */ - exportDate: function(value) { - var year = value.getFullYear(); - var month = value.getMonth() + 1; - var date = value.getDate(); - - var result = ''; - - result += InputParser.padNumber(year) + '-'; - result += InputParser.padNumber(month) + '-'; - result += InputParser.padNumber(date); - - return result; - }, - - /** - * Designed to take a date & time value from - * html5 input types and returns a JS Date. - * - * @param {String} date input date. - * @param {String} time input time. - * - * @return {Date} full date object from date/time. - */ - formatInputDate: function(date, time) { - time = InputParser.importTime(time); - date = InputParser.importDate(date); - - return new Date( - date.year, - date.month, - date.date, - time.hours, - time.minutes, - time.seconds - ); - }, - - /** - * @param {Numeric} numeric value. - * @return {String} Pad the numeric with a leading zero if < 10. - */ - padNumber: function(numeric) { - var value = String(numeric); - if (numeric < 10) { - return '0' + value; - } - - return value; - } - }; - - return InputParser; - -}()); |