Sha256: 482b3de6edd745bdba2738f15330cb8a807a18463a13c7ebbf38e74f75d54dc5

Contents?: true

Size: 1.34 KB

Versions: 176

Compression:

Stored size: 1.34 KB

Contents

window.Alchemy = {} if typeof(window.Alchemy) is 'undefined'

# Handles Alchemy hotkeys
#
Alchemy.bindedHotkeys = []

Alchemy.Hotkeys = (scope) ->

  # Unbind all previously registered hotkeys.
  unless scope
    $(document).off('keypress')
    for hotkey in Alchemy.bindedHotkeys
      key.unbind(hotkey)

  # Binds keyboard shortcuts to search fields.
  $search_fields = $('.search_input_field', scope)
  $search_fields_clear = $('.search_field_clear, .js_filter_field_clear', scope)

  key 'alt+f', ->
    key.setScope('search')
    $search_fields.focus()
    false
  Alchemy.bindedHotkeys.push('alt+f')

  key 'esc', 'search', ->
    $search_fields_clear.click()
    $search_fields.blur()
  Alchemy.bindedHotkeys.push('esc')

  unless scope
    $(document).on 'keypress', (e) ->
      if !$(e.target).is('input, textarea') && String.fromCharCode(e.which) == '?'
        Alchemy.openDialog '/admin/help',
          title: Alchemy.t('help')
          size: '400x492'
        false
      else
        true

  # Binds click events to hotkeys.
  #
  # Simply add a data-alchemy-hotkey attribute to your link.
  # If a hotkey is triggered by user, the click event of the element gets triggerd.
  #
  $('[data-alchemy-hotkey]', scope).each ->
    $this = $(this)
    hotkey = $this.data('alchemy-hotkey')
    key hotkey, -> $this.click()
    Alchemy.bindedHotkeys.push(hotkey)

Version data entries

176 entries across 176 versions & 1 rubygems

Version Path
alchemy_cms-7.1.13 app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee
alchemy_cms-7.0.16 app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee
alchemy_cms-7.1.12 app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee
alchemy_cms-7.0.15 app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee
alchemy_cms-6.1.10 app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee
alchemy_cms-7.1.11 app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee
alchemy_cms-7.1.10 app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee
alchemy_cms-7.1.9 app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee
alchemy_cms-7.0.14 app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee
alchemy_cms-7.0.13 app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee
alchemy_cms-7.1.8 app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee
alchemy_cms-7.1.7 app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee
alchemy_cms-7.0.12 app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee
alchemy_cms-7.0.11 app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee
alchemy_cms-7.1.6 app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee
alchemy_cms-7.1.5 app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee
alchemy_cms-7.0.10 app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee
alchemy_cms-7.1.4 app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee
alchemy_cms-7.0.9 app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee
alchemy_cms-7.1.3 app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee