Sha256: 336a2fd83eaf4a9919ec5df3f9c3071f82ed2961598b37367890a5bdc2ae70e1

Contents?: true

Size: 1.01 KB

Versions: 10

Compression:

Stored size: 1.01 KB

Contents

import Combobox from "hw_combobox/models/combobox/base"
import { dispatch } from "hw_combobox/helpers"

Combobox.Events = Base => class extends Base {
  _dispatchPreselectionEvent({ isNewAndAllowed, previousValue }) {
    if (previousValue === this._incomingFieldValueString) return

    dispatch("hw-combobox:preselection", {
      target: this.element,
      detail: { ...this._eventableDetails, isNewAndAllowed, previousValue }
    })
  }

  _dispatchSelectionEvent() {
    dispatch("hw-combobox:selection", {
      target: this.element,
      detail: this._eventableDetails
    })
  }

  _dispatchRemovalEvent({ removedDisplay, removedValue }) {
    dispatch("hw-combobox:removal", {
      target: this.element,
      detail: { ...this._eventableDetails, removedDisplay, removedValue }
    })
  }

  get _eventableDetails() {
    return {
      value: this._incomingFieldValueString,
      display: this._fullQuery,
      query: this._typedQuery,
      fieldName: this._fieldName,
      isValid: this._valueIsValid
    }
  }
}

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
hotwire_combobox-0.4.0 app/assets/javascripts/hw_combobox/models/combobox/events.js
hotwire_combobox-0.3.2 app/assets/javascripts/hw_combobox/models/combobox/events.js
hotwire_combobox-0.3.1 app/assets/javascripts/hw_combobox/models/combobox/events.js
hotwire_combobox-0.3.0 app/assets/javascripts/hw_combobox/models/combobox/events.js
hotwire_combobox-0.2.5 app/assets/javascripts/hw_combobox/models/combobox/events.js
hotwire_combobox-0.2.4 app/assets/javascripts/hw_combobox/models/combobox/events.js
hotwire_combobox-0.2.3 app/assets/javascripts/hw_combobox/models/combobox/events.js
hotwire_combobox-0.2.2 app/assets/javascripts/hw_combobox/models/combobox/events.js
hotwire_combobox-0.2.1 app/assets/javascripts/hw_combobox/models/combobox/events.js
hotwire_combobox-0.2.0 app/assets/javascripts/hw_combobox/models/combobox/events.js