Sha256: f0afa2a0127cc2297d748a7ac25e70f049c1b462291a1b38bc6e79a23f5ccb89

Contents?: true

Size: 1.38 KB

Versions: 6

Compression:

Stored size: 1.38 KB

Contents

$ ->
  # Hotkey binding to links with 'data-keybinding' attribute
  # Navigate link when hotkey pressed
  $('a[data-keybinding]').each (i, el) ->
    Mousetrap.bind $(el).data('keybinding'), (e) -> el.click()

  # Hotkey binding to inputs with 'data-keybinding' attribute
  # Focus input when hotkey pressed
  $('input[data-keybinding]').each (i, el) ->
    Mousetrap.bind $(el).data('keybinding'), (e) ->
      el.focus()
      if e.preventDefault
        e.preventDefault()
      else
        e.returnValue = false

  # Toggle show/hide hotkey hints
  window.mouseTrapRails =
    showOnLoad: false           # Show/hide hotkey hints by default (on page load). Mostly for debugging purposes.
    toggleKeys: 'alt+shift+h'   # Key sequence to toggle hints visibility.
    keysShown: false
    toggleHints:  ->
      $('a[data-keybinding]').each (i, el) ->
        $el = $(el)
        if mouseTrapRails.keysShown
          $el.removeClass('mt-hotkey-el').find('.mt-hotkey-hint').remove()
        else
          mtKey = $el.data('keybinding')
          $hint = "<i class='mt-hotkey-hint' title='Press \<#{mtKey}\> to open link'>#{mtKey}</i>"
          $el.addClass('mt-hotkey-el') unless $el.css('position') is 'absolute'
          $el.append $hint
      @keysShown ^= true

  Mousetrap.bind mouseTrapRails.toggleKeys, -> mouseTrapRails.toggleHints()

  mouseTrapRails.toggleHints() if mouseTrapRails.showOnLoad

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
mousetrap-rails-0.0.9 lib/generators/mousetrap/install/templates/keybindings.js.coffee
mousetrap-rails-0.0.8 lib/generators/mousetrap/install/templates/keybindings.js.coffee
mousetrap-rails-0.0.7 lib/generators/mousetrap/install/templates/keybindings.js.coffee
mousetrap-rails-0.0.6 lib/generators/mousetrap/install/templates/keybindings.js.coffee
mousetrap-rails-0.0.5 lib/generators/mousetrap/install/templates/keybindings.js.coffee
mousetrap-rails-0.0.4 lib/generators/mousetrap/install/templates/keybindings.js.coffee