Sha256: 82629913ffc445180309596fd20975169b4b42537ff9287ae89cb6e3976014a3

Contents?: true

Size: 1.61 KB

Versions: 5

Compression:

Stored size: 1.61 KB

Contents

export class Autocomplete {
  constructor() {
  }

  // This is the initial setup for the form.
  setup() {
      $('[data-autocomplete]').each((index, value) => {
          let selector = $(value)
          switch (selector.data('autocomplete')) {
            case "subject":
              this.autocompleteSubject(selector);
              break;
            case "language":
              this.autocompleteLanguage(selector);
              break;
            case "based_near":
              this.autocompleteLocation(selector);
              break;
          }
      });
  }

  // attach an auto complete based on the field
  fieldAdded(cloneElem) {
    var $cloneElem = $(cloneElem);
    // FIXME this code (comparing the id) depends on a bug. Each input has an id and
    // the id is duplicated when you press the plus button. This is not valid html.
    if (/_based_near$/.test($cloneElem.attr("id"))) {
        this.autocompleteLocation($cloneElem);
    } else if (/_language$/.test($cloneElem.attr("id"))) {
        this.autocompleteLanguage($cloneElem);
    } else if (/_subject$/.test($cloneElem.attr("id"))) {
        this.autocompleteSubject($cloneElem);
    }
  }

  autocompleteLocation(field) {
      var loc = require('sufia/autocomplete/location');
      new loc.Location(field, field.data('autocomplete-url'))
  }

  autocompleteSubject(field) {
      var subj = require('sufia/autocomplete/subject');
      new subj.Subject(field, field.data('autocomplete-url'))
  }

  autocompleteLanguage(field) {
      var lang = require('sufia/autocomplete/language');
      new lang.Language(field, field.data('autocomplete-url'))
  }
}

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
sufia-7.2.0 app/assets/javascripts/sufia/autocomplete.es6
sufia-7.1.0 app/assets/javascripts/sufia/autocomplete.es6
sufia-7.0.0 app/assets/javascripts/sufia/autocomplete.es6
sufia-7.0.0.rc2 app/assets/javascripts/sufia/autocomplete.es6
sufia-7.0.0.rc1 app/assets/javascripts/sufia/autocomplete.es6