Sha256: f80ceb6fbbb090e4feca0829d05dd2eab767d6ca4f2d4c584388d711e53cc28a

Contents?: true

Size: 890 Bytes

Versions: 20

Compression:

Stored size: 890 Bytes

Contents

import Combobox from "models/combobox/base"
import { cancel } from "helpers"

Combobox.Navigation = Base => class extends Base {
  navigate(event) {
    if (this._autocompletesList) {
      this._keyHandlers[event.key]?.call(this, event)
    }
  }

  _keyHandlers = {
    ArrowUp: (event) => {
      this._selectIndex(this._selectedOptionIndex - 1)
      cancel(event)
    },
    ArrowDown: (event) => {
      this._selectIndex(this._selectedOptionIndex + 1)
      cancel(event)
    },
    Home: (event) => {
      this._selectIndex(0)
      cancel(event)
    },
    End: (event) => {
      this._selectIndex(this._visibleOptionElements.length - 1)
      cancel(event)
    },
    Enter: (event) => {
      this.close()
      this._actingCombobox.blur()
      cancel(event)
    },
    Escape: (event) => {
      this.close()
      this._actingCombobox.blur()
      cancel(event)
    }
  }
}

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
hotwire_combobox-0.1.32 app/assets/javascripts/models/combobox/navigation.js
hotwire_combobox-0.1.31 app/assets/javascripts/models/combobox/navigation.js
hotwire_combobox-0.1.30 app/assets/javascripts/models/combobox/navigation.js
hotwire_combobox-0.1.29 app/assets/javascripts/models/combobox/navigation.js
hotwire_combobox-0.1.28 app/assets/javascripts/models/combobox/navigation.js
hotwire_combobox-0.1.27 app/assets/javascripts/models/combobox/navigation.js
hotwire_combobox-0.1.25 app/assets/javascripts/models/combobox/navigation.js
hotwire_combobox-0.1.24 app/assets/javascripts/models/combobox/navigation.js
hotwire_combobox-0.1.23 app/assets/javascripts/models/combobox/navigation.js
hotwire_combobox-0.1.22 app/assets/javascripts/models/combobox/navigation.js
hotwire_combobox-0.1.21 app/assets/javascripts/models/combobox/navigation.js
hotwire_combobox-0.1.20 app/assets/javascripts/models/combobox/navigation.js
hotwire_combobox-0.1.19 app/assets/javascripts/models/combobox/navigation.js
hotwire_combobox-0.1.18 app/assets/javascripts/models/combobox/navigation.js
hotwire_combobox-0.1.17 app/assets/javascripts/models/combobox/navigation.js
hotwire_combobox-0.1.16 app/assets/javascripts/models/combobox/navigation.js
hotwire_combobox-0.1.15 app/assets/javascripts/models/combobox/navigation.js
hotwire_combobox-0.1.14 app/assets/javascripts/models/combobox/navigation.js
hotwire_combobox-0.1.13 app/assets/javascripts/models/combobox/navigation.js
hotwire_combobox-0.1.12 app/assets/javascripts/models/combobox/navigation.js