Sha256: ae38b87e27f8fb5e0f9be1b784dd073eca8627e18671144555ff62fbf52d936f

Contents?: true

Size: 609 Bytes

Versions: 4

Compression:

Stored size: 609 Bytes

Contents

export class RequiredFields {
  // Monitors the form and runs the callback if any of the required fields change
  constructor(form, callback) {
    this.form = form
    this.callback = callback
    this.reload()
  }

  get areComplete() {
    return this.requiredFields.filter((n, elem) => { return $(elem).val().length < 1 } ).length == 0
  }

  // Reassign requiredFields because fields may have been added or removed.
  reload() {
    // ":input" matches all input, select or textarea fields.
    this.requiredFields = this.form.find(':input[required]')
    this.requiredFields.change(this.callback)
  }
}

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sufia-7.1.0 app/assets/javascripts/sufia/save_work/required_fields.es6
sufia-7.0.0 app/assets/javascripts/sufia/save_work/required_fields.es6
sufia-7.0.0.rc2 app/assets/javascripts/sufia/save_work/required_fields.es6
sufia-7.0.0.rc1 app/assets/javascripts/sufia/save_work/required_fields.es6