{"version":3,"file":"kendo.form.min.js","names":["factory","define","amd","$","kendo","ui","NS","Widget","extend","VALIDATE","VALIDATEFIELD","CHANGE","SUBMIT","CLEAR","EQUAL_SET","GROUP","ARIA_DESCRIBEDBY","DATA_STOP","DATA_ROLE","DOT","formStyles","formOrientation","Form","window","jQuery","form","horizontal","vertical","field","fieldsContainer","fieldWrap","fieldError","fieldHint","fieldset","layout","legend","label","emptyLabel","optional","buttonsContainer","buttonsEnd","submit","clear","invalid","hidden","init","element","options","that","this","fn","call","deepExtend","formData","_wrapper","_setFields","_setModel","_renderContainers","_renderButtons","_editable","_renderBoolLabels","_renderFieldsHints","_setEvents","events","name","orientation","validatable","validateOnBlur","validationSummary","errorTemplate","buttonsTemplate","messages","grid","items","formatLabel","focusFirst","_noLabelfieldTemplate","_fieldTemplate","_boolLabelTemplate","_groupTemplate","_buttonsTemplate","_errorTemplate","_hintTemplate","styles","width","height","wrapper","addClass","css","layoutWrapper","_setupLayoutContainer","_flattenFields","fields","concat","item","shift","result","push","apply","_defaultLabel","fieldName","customFormat","length","isFunction","split","join","trim","_formatLabel","isPlainObject","text","_defaultFields","formDataFields","Object","keys","itemFields","defaultFormDataFields","i","id","fieldInfo","fieldValue","type","editor","attributes","defaultFields","_fields","parseDate","toString","Editable","editors","_isHidden","optionalText","isHidden","_isAntiForgeryToken","data","ObservableObject","_model","MyModel","Model","validatorOptions","_addEditableMvvmAttributes","editable","kendoEditable","model","clearContainer","skipFocus","target","getKendoEditable","validator","_removeEditableMvvmAttributes","attr","_getItemTemplate","antiForgeryTokenName","_renderField","fieldTemplate","isHorizontal","fieldType","isBoolField","template","colSpan","_toggleFieldErrorState","state","closest","toggleClass","fieldElement","find","after","fieldWidgetInstance","nextLabelElement","hint","message","_associateHintContainer","widgetInstance","next","_errorsByName","removeAttribute","insertAfter","input","hintId","nextFocusable","getWidgetFocusableElement","toggleAttribute","_toggleHint","_renderGroup","child","renderedGroup","append","container","targetContainer","appendTarget","layoutContainer","layoutClassNames","appendTo","cols","gutter","bind","_validateField","_validate","on","_submit","_clear","_changeHandler","_change","ev","toJSON","valid","error","trigger","preventDefault","errors","value","jsonModel","validate","reset","unbind","isHiddenInput","is","val","hasClass","Upload","clearAllFiles","set","removeClass","_validateProxy","setOptions","newOptions","destroy","removeAttr","empty","off","plugin"],"sources":["kendo.form.js"],"mappings":"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","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.editable'], factory) :\n factory();\n})((function () {\n var __meta__ = {\n id: \"form\",\n name: \"Form\",\n category: \"web\",\n description: \"The Form widget.\",\n depends: [ \"editable\" ],\n features: [{\n id: \"form-dropdowns\",\n name: \"DropDowns\",\n description: \"Support for DropDown editors\",\n depends: [ \"autocomplete\", \"combobox\", \"multiselect\", \"dropdowntree\", \"multicolumncombobox\" ]\n }, {\n id: \"form-datepickers\",\n name: \"DatePickers\",\n description: \"Support for DatePicker editors\",\n depends: [ \"dateinput\", \"datepicker\", \"datetimepicker\", \"timepicker\" ]\n }, {\n id: \"form-inputs\",\n name: \"Inputs\",\n description: \"Support for Input editors\",\n depends: [ \"numerictextbox\", \"maskedtextbox\", \"switch\", \"rating\", \"slider\", \"colorpicker\", \"radiogroup\", \"checkboxgroup\", \"textbox\", \"textarea\", \"checkbox\" ]\n }, {\n id: \"form-editor\",\n name: \"Editor\",\n description: \"Support for Editor editor\",\n depends: [ \"editor\" ]\n }]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n ui = kendo.ui,\n NS = \".kendoForm\",\n Widget = ui.Widget,\n extend = $.extend,\n VALIDATE = \"validate\",\n VALIDATEFIELD = \"validateField\",\n VALIDATEINPUT = \"validateInput\",\n CHANGE = \"change\",\n CLICK = \"click\" + NS,\n SUBMIT = \"submit\",\n CLEAR = \"clear\",\n MAX_WIDTH = \"max-width\",\n SET = \"set\",\n EQUAL_SET = \"equalSet\",\n GROUP = \"group\",\n ARIA_DESCRIBEDBY = \"aria-describedby\",\n DATA_STOP = \"data-stop\",\n DATA_ROLE = \"data-role\",\n EDITABLE = \"editable\",\n FORM = \"form\",\n DOT = \".\",\n DATA_ROLE_RADIO_GROUP = \"[data-role='radiogroup']\",\n DATA_ROLE_CHECKBOX_GROUP = \"[data-role='checkboxgroup']\";\n\n var formStyles = {\n form: \"k-widget k-form\",\n horizontal: \"k-form-horizontal\",\n vertical: \"\",\n field: \"k-form-field\",\n fieldsContainer: \"k-form-fields-container\",\n fieldWrap: \"k-form-field-wrap\",\n fieldError: \"k-form-field-error\",\n fieldHint: \"k-form-hint\",\n fieldset: \"k-form-fieldset\",\n layout: \"k-form-layout\",\n legend: \"k-form-legend\",\n label: \"k-label k-form-label\",\n emptyLabel: \"k-form-label k-label-empty\",\n optional: \"k-label-optional\",\n buttonsContainer: \"k-form-buttons\",\n buttonsEnd: \"k-buttons-end\",\n submit: \"k-form-submit\",\n clear: \"k-form-clear\",\n invalid: \"k-invalid\",\n hidden: \"k-hidden\"\n };\n\n var formOrientation = {\n horizontal: \"horizontal\",\n vertical: \"vertical\"\n };\n\n var Form = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n\n that.options = kendo.deepExtend({}, that.options, options);\n\n if (options && options.formData) {\n that.options.formData = options.formData;\n }\n\n that._wrapper();\n\n that._setFields();\n\n that._setModel();\n\n that._renderContainers();\n\n that._renderButtons();\n\n that._editable();\n\n that._renderBoolLabels();\n\n that._renderFieldsHints();\n\n that._setEvents();\n },\n\n events: [\n VALIDATEFIELD,\n VALIDATE,\n CHANGE,\n SUBMIT,\n CLEAR\n ],\n\n options: {\n name: \"Form\",\n orientation: formOrientation.vertical,\n validatable: {\n validateOnBlur: true,\n validationSummary: false,\n errorTemplate: null\n },\n buttonsTemplate: null,\n messages: {\n submit: \"Submit\",\n clear: \"Clear\",\n optional: \"(Optional)\"\n },\n layout: \"\",\n grid: {},\n formData: {},\n items: [],\n formatLabel: null,\n focusFirst: false\n },\n\n _noLabelfieldTemplate: \"
\" +\n \"\" +\n \"
\" +\n \"
\",\n\n _fieldTemplate: \"
\" +\n \"# if (label && !hidden) { # \" +\n \"\" +\n \"# } #\" +\n \"
\" +\n \"
\",\n\n _boolLabelTemplate: \"\",\n\n _groupTemplate: \"
\" +\n \"#:label.text || label #\" +\n \"
\",\n\n _buttonsTemplate: \"\" +\n \"\",\n\n _errorTemplate: \"
#=message#
\",\n\n _hintTemplate: \"
#=message#
\",\n\n _wrapper: function() {\n var that = this,\n options = that.options,\n formStyles = Form.styles,\n width = options.width,\n height = options.height;\n\n that.wrapper = that.element\n .addClass(formStyles.form)\n .addClass(formStyles[options.orientation]);\n\n if (height) {\n that.wrapper.height(height);\n }\n\n if (width) {\n that.wrapper.css(MAX_WIDTH, width);\n }\n\n that.layoutWrapper = that._setupLayoutContainer(that.wrapper, {\n grid: options.grid,\n layout: options.layout\n });\n },\n\n _flattenFields: function(fields) {\n var items = [].concat(fields),\n item = items.shift(),\n result = [],\n push = [].push;\n\n while (item) {\n if (item.items) {\n push.apply(items, item.items);\n } else {\n push.call(result, item);\n }\n\n item = items.shift();\n }\n\n return result;\n },\n\n _defaultLabel: function(fieldName) {\n var that = this,\n customFormat = that.options.formatLabel;\n\n if (!fieldName.length) {\n return;\n }\n\n if (kendo.isFunction(customFormat)) {\n return customFormat(fieldName);\n }\n\n return fieldName.split(/(.*[a-z])(?=[A-Z])/).join(\" \").trim() + \":\";\n },\n\n _formatLabel: function(field, label) {\n var that = this,\n text = $.isPlainObject(label) ? label.text : label;\n\n if (text !== undefined$1) {\n return label;\n }\n\n return that._defaultLabel(field);\n },\n\n _defaultFields: function() {\n var that = this,\n options = that.options,\n formDataFields = Object.keys(options.formData || {}),\n itemFields = options.items || {},\n defaultFormDataFields = [],\n field;\n\n if (itemFields.length) {\n return itemFields;\n }\n\n for (var i = 0; i < formDataFields.length; i += 1) {\n field = formDataFields[i];\n\n defaultFormDataFields.push({\n field: field,\n id: field\n });\n }\n\n return defaultFormDataFields;\n },\n\n _setFields: function() {\n var that = this,\n defaultFields = that._flattenFields(that._defaultFields()),\n formData = that.options.formData || {},\n fieldInfo, fieldValue, type, editor, attributes;\n\n that._fields = [];\n\n for (var field in defaultFields) {\n fieldInfo = defaultFields[field];\n fieldValue = formData[fieldInfo.field];\n\n type = typeof fieldInfo.editor === \"string\" ? fieldInfo.editor :\n kendo.type(fieldValue ? kendo.parseDate(fieldValue.toString()) || fieldValue : fieldValue);\n\n editor = kendo.isFunction(fieldInfo.editor) ? fieldInfo.editor :\n ui.Editable.fn.options.editors[type] ? \"\" : fieldInfo.editor;\n\n if (!that._isHidden(fieldInfo.editor)) {\n if (fieldInfo.label) {\n attributes = {\n \"aria-labelledby\": fieldInfo.id || fieldInfo.field + \"-form-label\"\n };\n } else if (!fieldInfo.attributes || !fieldInfo.attributes[\"aria-label\"]) {\n attributes = {\n \"aria-label\": fieldInfo.name || fieldInfo.field\n };\n }\n }\n\n fieldInfo = extend(true, {\n label: fieldInfo.label || fieldInfo.name || fieldInfo.field,\n optionalText: that.options.messages.optional\n }, fieldInfo, {\n id: fieldInfo.id || fieldInfo.field,\n name: fieldInfo.name || fieldInfo.field,\n type: type,\n editor: editor,\n attributes: attributes,\n isHidden: that._isHidden(fieldInfo.editor) || that._isAntiForgeryToken(fieldInfo.name || fieldInfo.field)\n });\n\n that._fields[field] = fieldInfo;\n }\n },\n\n _setModel: function() {\n var that = this,\n options = that.options,\n formData = options.formData || {};\n\n if (options.formData instanceof kendo.data.ObservableObject) {\n that._model = formData;\n return;\n }\n\n var MyModel = kendo.data.Model.define({ fields: that._fields });\n\n that._model = new MyModel(formData);\n },\n\n _editable: function() {\n var that = this,\n options = that.options,\n validatorOptions = that.options.validatable;\n\n that._addEditableMvvmAttributes();\n\n that.editable = that.wrapper.kendoEditable({\n model: that._model,\n fields: that._fields || [],\n validateOnBlur: validatorOptions.validateOnBlur,\n validationSummary: validatorOptions.validationSummary,\n errorTemplate: validatorOptions.errorTemplate || that._errorTemplate,\n clearContainer: false,\n skipFocus: !options.focusFirst,\n target: that\n }).getKendoEditable();\n\n that.validator = that.editable.validatable;\n\n that._removeEditableMvvmAttributes();\n },\n\n _addEditableMvvmAttributes: function() {\n // required for two mvvm bindable widgets on one element\n this.wrapper.attr(DATA_ROLE, EDITABLE);\n },\n\n _removeEditableMvvmAttributes: function() {\n // required for two mvvm bindable widgets on one element\n this.wrapper\n .attr(DATA_STOP, true)\n .attr(DATA_ROLE, FORM);\n },\n\n _getItemTemplate: function(type) {\n var that = this,\n template;\n\n if (type === GROUP) {\n template = that._groupTemplate;\n } else {\n template = that._fieldTemplate;\n }\n\n return template;\n },\n\n _isHidden: function(editor) {\n return typeof editor === \"string\" && editor === \"hidden\";\n },\n\n _isAntiForgeryToken: function(field) {\n return field === ui.Editable.antiForgeryTokenName;\n\n },\n\n _renderField: function(item) {\n var that = this,\n formStyles = Form.styles,\n isHorizontal = that.options.orientation === formOrientation.horizontal,\n fieldType = that._model.fields && that._model.fields[item.field] && that._model.fields[item.field].type,\n isBoolField = fieldType && fieldType === \"boolean\",\n fieldTemplate, renderedField;\n\n if (isBoolField && isHorizontal) {\n fieldTemplate = that._noLabelfieldTemplate;\n } else {\n fieldTemplate = that._fieldTemplate;\n }\n\n renderedField = (kendo.template(fieldTemplate)({\n styles: formStyles,\n id: item.id || item.field || \"\",\n field: item.field || \"\",\n label: isBoolField ? null : that._formatLabel(item.field, item.label),\n colSpan: item.colSpan || \"\",\n optional: that.options.messages.optional,\n hidden: that._isHidden(item.editor) || that._isAntiForgeryToken(item.field)\n }));\n\n return renderedField;\n },\n\n _toggleFieldErrorState: function(element, state) {\n var field = element.closest(DOT + formStyles.field);\n\n if (field.length) {\n field.toggleClass(formStyles.fieldError, state);\n }\n },\n\n _renderBoolLabels: function() {\n var that = this,\n formStyles = Form.styles,\n fields = that._fields,\n field, fieldElement;\n\n for (var i = 0; i < fields.length; i += 1) {\n field = fields[i];\n fieldElement = that.wrapper.find(\"[name='\" + field.name + \"']:not([type='hidden'])\");\n\n if (!fieldElement || !field.label || field.isHidden || field.type !== \"boolean\") {\n continue;\n }\n\n fieldElement.after(kendo.template(that._boolLabelTemplate)({\n styles: formStyles,\n id: field.id || field.field || \"\",\n optional: that.options.messages.optional,\n label: that._formatLabel(field.field, field.label)\n }));\n }\n },\n\n _renderFieldsHints: function() {\n var that = this,\n fields = that._fields,\n field, fieldWidgetInstance, fieldElement, nextLabelElement, hint;\n\n for (var i = 0; i < fields.length; i += 1) {\n field = fields[i];\n fieldElement = that.wrapper.find(\"[name='\" + field.name + \"']\");\n\n if (!fieldElement || !field.hint || field.isHidden) {\n continue;\n }\n\n hint = $(kendo.template(that._hintTemplate)({ message: field.hint || \"\", id: field.id }));\n\n that._associateHintContainer(fieldElement, hint.attr(\"id\"));\n\n fieldWidgetInstance = kendo.widgetInstance(fieldElement);\n\n if (fieldWidgetInstance) {\n nextLabelElement = fieldWidgetInstance.element.next(\"label[for='\" + fieldWidgetInstance.element.attr(\"id\") + \"']\");\n fieldElement = nextLabelElement.length ? nextLabelElement : fieldWidgetInstance.wrapper;\n }\n\n if (that.validator._errorsByName(field.name).length) {\n hint.toggleClass(formStyles.hidden);\n kendo.removeAttribute(fieldElement, ARIA_DESCRIBEDBY, hint.attr(\"id\"));\n }\n\n hint.insertAfter(fieldElement);\n }\n },\n\n _associateHintContainer: function(input, hintId) {\n var nextFocusable = kendo.getWidgetFocusableElement(input);\n\n if (!nextFocusable || !hintId) {\n return;\n }\n\n kendo.toggleAttribute(nextFocusable, ARIA_DESCRIBEDBY, hintId);\n },\n\n _toggleHint: function(element, state) {\n var that = this,\n field = element.closest(DOT + formStyles.field),\n hint;\n\n if (field.length) {\n hint = field.find(DOT + formStyles.fieldHint);\n\n if (hint.length) {\n hint.toggleClass(formStyles.hidden, state);\n that._associateHintContainer(element, hint.attr(\"id\"));\n }\n }\n },\n\n _renderGroup: function(item) {\n var that = this,\n type = item.type,\n child, renderedGroup, fieldsContainer;\n\n fieldsContainer = renderedGroup = $(kendo.template(that._getItemTemplate(type))({\n styles: formStyles,\n label: item.label || \"\",\n colSpan: item.colSpan\n }));\n\n fieldsContainer = that._setupLayoutContainer(renderedGroup, {\n grid: item.grid,\n layout: item.layout\n }) || renderedGroup;\n\n for (var i = 0; i < item.items.length; i += 1) {\n child = item.items[i];\n fieldsContainer.append(that._renderField(child));\n }\n\n return renderedGroup;\n },\n\n _renderContainers: function() {\n var that = this,\n defaultFields = that._defaultFields(),\n columnsLayout = that.options.layout === \"grid\",\n targetContainer = columnsLayout ? that.layoutWrapper : that.wrapper,\n item, type, container;\n\n for (var i = 0; i < defaultFields.length; i += 1) {\n item = defaultFields[i];\n type = item.type;\n\n if (type === GROUP) {\n container = that._renderGroup(item);\n } else {\n container = that._renderField(item);\n }\n\n targetContainer.append(container);\n }\n },\n\n _renderButtons: function() {\n var that = this,\n wrapper = that.wrapper,\n options = that.options,\n messages = options.messages,\n formStyles = Form.styles,\n isHorizontal = options.orientation === formOrientation.horizontal,\n buttonsContainer = wrapper.find(DOT + formStyles.buttonsContainer),\n buttonsTemplate;\n\n if (!buttonsContainer.length) {\n buttonsContainer = $(\"
\")\n .addClass(formStyles.buttonsContainer)\n .addClass(isHorizontal ? formStyles.buttonsEnd : \"\");\n }\n\n buttonsTemplate = options.buttonsTemplate !== null ? options.buttonsTemplate : that._buttonsTemplate;\n\n buttonsContainer.append(kendo.template(buttonsTemplate)({\n styles: formStyles,\n messages: messages\n }));\n\n that.element.append(buttonsContainer);\n },\n\n _setupLayoutContainer: function(appendTarget, options) {\n var layout = options.layout,\n grid = options.grid,\n layoutClassNames = [],\n layoutContainer;\n\n if (typeof layout === \"string\" && layout !== \"\") {\n layoutContainer = $(\"
\")\n .appendTo(appendTarget)\n .addClass(formStyles.layout);\n\n layoutClassNames.push(\"k-d-\" + layout);\n }\n\n if (layout === \"grid\" && typeof grid === \"object\") {\n if (typeof grid.cols === \"number\") {\n layoutClassNames.push(\"k-grid-cols-\" + grid.cols);\n } else if (typeof grid.cols === \"string\") {\n layoutContainer.css(\"grid-template-columns\", grid.cols);\n }\n\n if (typeof grid.gutter === \"number\" || typeof grid.gutter === \"string\") {\n layoutContainer.css(\"grid-gap\", grid.gutter);\n }\n }\n\n if (layoutContainer) {\n layoutContainer.addClass(layoutClassNames.join(\" \"));\n }\n\n return layoutContainer;\n },\n\n _setEvents: function() {\n var that = this,\n validator = that.validator;\n\n validator\n .bind(VALIDATEINPUT, that._validateField.bind(that))\n .bind(VALIDATE, that._validate.bind(that));\n\n that.wrapper\n .on(SUBMIT + NS, that._submit.bind(that))\n .on(CLEAR + NS, that._clear.bind(that))\n .on(CLICK + NS, DOT + formStyles.clear, that._clear.bind(that));\n\n if (!that._changeHandler) {\n that._changeHandler = that._change.bind(that);\n }\n\n that._model.bind(CHANGE, that._changeHandler);\n },\n\n _validateField: function(ev) {\n var that = this,\n data = {\n model: that._model.toJSON(),\n valid: ev.valid,\n field: ev.field,\n error: ev.error,\n input: ev.input\n };\n\n that._toggleFieldErrorState(data.input, !data.valid);\n\n that._toggleHint(data.input, !data.valid);\n\n if (that.trigger(VALIDATEFIELD, data)) {\n ev.preventDefault();\n }\n },\n\n _validate: function(ev) {\n var that = this,\n data = {\n model: that._model.toJSON(),\n valid: ev.valid,\n errors: ev.errors\n };\n\n that.trigger(VALIDATE, data);\n },\n\n _change: function(ev) {\n var that = this,\n field = ev.field,\n data = {\n field: field,\n value: that._model[field]\n };\n\n that.trigger(CHANGE, data);\n },\n\n _submit: function(ev) {\n var that = this,\n jsonModel = that._model.toJSON();\n\n if (that.trigger(SUBMIT, { model: jsonModel })) {\n ev.preventDefault();\n }\n },\n\n _clear: function(ev) {\n var that = this;\n\n ev.preventDefault();\n\n that.clear();\n\n that.trigger(CLEAR);\n },\n\n validate: function() {\n var that = this,\n validator = that.validator;\n\n if (!validator) {\n return;\n }\n\n return validator.validate();\n },\n\n clear: function() {\n var that = this,\n fields = that._fields,\n model = that._model,\n editable = that.editable,\n validateOnBlur = that.validator.options.validateOnBlur;\n\n that.validator.reset();\n\n if (validateOnBlur) {\n model\n .unbind(SET)\n .unbind(EQUAL_SET);\n }\n\n for (var i = 0; i < fields.length; i += 1) {\n var field = fields[i].field;\n var element = that.wrapper.find(\"[name='\" + field + \"']\");\n var widgetInstance = kendo.widgetInstance(element);\n var isHiddenInput = element.is(\"input[type=hidden]\");\n\n if (!element.is(DATA_ROLE_CHECKBOX_GROUP) && !element.is(DATA_ROLE_RADIO_GROUP) && !isHiddenInput) {\n element.val(\"\");\n }\n\n if (!widgetInstance && element.hasClass(\"k-hidden\")) {\n widgetInstance = kendo.widgetInstance(element.closest(\".k-signature\"));\n }\n\n if (widgetInstance) {\n if (widgetInstance instanceof kendo.ui.Upload) {\n widgetInstance.clearAllFiles();\n } else {\n widgetInstance.value(null);\n }\n }\n\n that._toggleHint(element, false);\n\n if (typeof model[field] === \"boolean\") {\n element.val(\"false\");\n model.set(field, false);\n } else if (!isHiddenInput) {\n model.set(field, null);\n }\n }\n\n that.wrapper.find(DOT + formStyles.fieldError)\n .removeClass(formStyles.fieldError);\n\n if (validateOnBlur) {\n model\n .bind(SET, editable._validateProxy)\n .bind(EQUAL_SET, editable._validateProxy);\n }\n },\n\n setOptions: function(newOptions) {\n var that = this;\n\n that.destroy();\n\n that.wrapper\n .removeClass(formStyles.horizontal)\n .removeAttr(DATA_STOP)\n .empty();\n\n that.init(that.element, newOptions);\n },\n\n destroy: function() {\n var that = this;\n\n that.wrapper.off(NS);\n\n if (that._model) {\n that._model.unbind(CHANGE, that._changeHandler);\n that._changeHandler = null;\n }\n\n Widget.fn.destroy.call(that.editable);\n\n Widget.fn.destroy.call(that);\n\n if (that.editable) {\n that.editable.destroy();\n that.editable = null;\n }\n }\n });\n\n ui.plugin(Form);\n\n extend(true, Form, { styles: formStyles });\n\n })(window.kendo.jQuery);\n\n}));\n"]}