Source: Element/Textual.js

/**
                * @author Rafael Ostertag <rafael.ostertag@math.uzh.ch>
                */

                /**
                * Qfq Namespace
                *
                * @namespace QfqNS
                */
                var QfqNS = QfqNS || {};
                /**
                * Qfq.Element Namespace
                *
                * @namespace QfqNS.Element
                */
                QfqNS.Element = QfqNS.Element || {};

                (function (n) {
                'use strict';


                /**
                *
                * @param $element
                * @constructor
                * @name QfqNS.Element.Textual
                */
                function Textual($element) {
                n.FormGroup.call(this, $element);

                var textualTypes = [
                'text',
                'datetime',
                'datetime-local',
                'date',
                'month',
                'time',
                'week',
                'number',
                'range',
                'email',
                'url',
                'search',
                'tel',
                'password',
                'hidden'
                ];
                var textualTypesLength = textualTypes.length;
                var isTextual = false;

                for (var i = 0; i < textualTypesLength; i++) {
                if (this.isType(textualTypes[i])) {
                isTextual = true;
                break;
                }
                }

                if (!isTextual) {
                throw new Error("$element is not of type 'text'");
                }
                }

                Textual.prototype = Object.create(n.FormGroup.prototype);
                Textual.prototype.constructor = Textual;

                Textual.prototype.setValue = function (val) {
                this.$element.val(val);
                };

                Textual.prototype.getValue = function () {
                return this.$element.val();
                };

                n.Textual = Textual;

                })(QfqNS.Element);