Sha256: bc61bb9c7f93710fd7093887eb68fef654ecaed2c9324852993e5311fc332e3c
Contents?: true
Size: 713 Bytes
Versions: 15
Compression:
Stored size: 713 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 this.isValuePresent(elem) } ).length === 0 } isValuePresent(elem) { return ($(elem).val() === null) || ($(elem).val().length < 1) } // 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.on('change', this.callback) } }
Version data entries
15 entries across 15 versions & 1 rubygems