PHP Classes

File: vendors/parsleyjs/src/parsley/multiple.js

Recommend this page to a friend!
  Classes of Jorge Castro   Gentelella BladeOne   vendors/parsleyjs/src/parsley/multiple.js   Download  
File: vendors/parsleyjs/src/parsley/multiple.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Gentelella BladeOne
Render templates using Bootstrap for presentation
Author: By
Last change:
Date: 3 years ago
Size: 2,217 bytes
 

Contents

Class file image Download
import $ from 'jquery'; var ParsleyMultiple = function () { this.__class__ = 'ParsleyFieldMultiple'; }; ParsleyMultiple.prototype = { // Add new `$element` sibling for multiple field addElement: function ($element) { this.$elements.push($element); return this; }, // See `ParsleyField.refreshConstraints()` refreshConstraints: function () { var fieldConstraints; this.constraints = []; // Select multiple special treatment if (this.$element.is('select')) { this.actualizeOptions()._bindConstraints(); return this; } // Gather all constraints for each input in the multiple group for (var i = 0; i < this.$elements.length; i++) { // Check if element have not been dynamically removed since last binding if (!$('html').has(this.$elements[i]).length) { this.$elements.splice(i, 1); continue; } fieldConstraints = this.$elements[i].data('ParsleyFieldMultiple').refreshConstraints().constraints; for (var j = 0; j < fieldConstraints.length; j++) this.addConstraint(fieldConstraints[j].name, fieldConstraints[j].requirements, fieldConstraints[j].priority, fieldConstraints[j].isDomConstraint); } return this; }, // See `ParsleyField.getValue()` getValue: function () { // Value could be overriden in DOM if ('function' === typeof this.options.value) return this.options.value(this); else if ('undefined' !== typeof this.options.value) return this.options.value; // Radio input case if (this.$element.is('input[type=radio]')) return this._findRelated().filter(':checked').val() || ''; // checkbox input case if (this.$element.is('input[type=checkbox]')) { var values = []; this._findRelated().filter(':checked').each(function () { values.push($(this).val()); }); return values; } // Select multiple case if (this.$element.is('select') && null === this.$element.val()) return []; // Default case that should never happen return this.$element.val(); }, _init: function () { this.$elements = [this.$element]; return this; } }; export default ParsleyMultiple;