node package manager

timepoint-selection

timepoint-selection

npm

Enhance input elements with easy key entry and validation for time durations. Library is in pure javascript, no framework is needed. Event handlers are added directly to the input and the package includes a destroy method to remove all added events.

  • Input numbers directly or increment and decrement with up and down arrow keys.
  • Left and right arrow keys navigate through the input selecting the next important character for entry.
  • Rollover is automatically handled.
  • Tabbing into an element automatically selects the first character in the input for easier entry.
  • Non-valid characters are prevented from input.

Screenshot

Screenshot

Installation

npm install timepoint-selection

Basic Usage

var selection = require('timepoint-selection');
 
var timepoint = selection(document.getElementById("input"), {
    'durationFormat': 'hh:mm:ss',
    'max': 3600 * 24,               // point of rollover in seconds. 
    'value': 0,                     // initial value of input in seconds. 
    'useAbbr': true,                // configure the separator to not be ':' 
    'abbr': {                       // pass in custom separator (with trailing space if desired) 
      'dd': 'days ',
      'hh': '',
      'mm': '',
      'ss': 's'
    }
});
 
//returns the current value of the input in seconds. 
timepoint.getValue();
 
//sets the current value of the input in seconds. 
timepoint.setValue(seconds);
 
//remove all the event listeners from the input. 
timepoint.destroy();

Accepted duration formats:

  • 'dd:hh:mm:ss'
  • 'dd:hh:mm'
  • 'hh:mm:ss'
  • 'hh:mm'
  • 'mm:ss'

d = days, h = hours, m = minutes, s = seconds

Examples

Demo site

Development

npm run start runs the webpack dev server.

License

MIT License