@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 11 kB
JavaScript
module.exports=function(i){var r={};function a(e){if(r[e])return r[e].exports;var t=r[e]={exports:{},id:e,loaded:!1};return i[e].call(t.exports,t,t.exports,a),t.loaded=!0,t.exports}return a.m=i,a.c=r,a.p="",a(0)}({0:function(e,t,i){e.exports=i(1281)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1281:function(e,t,i){var r;i(3),i=[i(1282)],void 0===(t="function"==typeof(r=function(){var e={id:"form",name:"Form",category:"web",description:"The Form widget.",depends:["editable"],features:[{id:"form-dropdowns",name:"DropDowns",description:"Support for DropDown editors",depends:["autocomplete","combobox","multiselect","dropdowntree","multicolumncombobox"]},{id:"form-datepickers",name:"DatePickers",description:"Support for DatePicker editors",depends:["dateinput","datepicker","datetimepicker","timepicker"]},{id:"form-inputs",name:"Inputs",description:"Support for Input editors",depends:["numerictextbox","maskedtextbox","switch","rating","slider","colorpicker","radiogroup","checkboxgroup","textbox","textarea","checkbox"]},{id:"form-editor",name:"Editor",description:"Support for Editor editor",depends:["editor"]}]},d=window.kendo.jQuery,n=void 0,f=window.kendo,s=f.ui,i=".kendoForm",r=s.Widget,c=d.extend,a="validate",l="validateField",b="validateInput",o="change",v="click"+i,g="submit",_="clear",h="max-width",y="set",k="equalSet",w="group",x="aria-describedby",F="data-stop",t="data-role",C="editable",T="form",p=".",E="[data-role='radiogroup']",S="[data-role='checkboxgroup']",u={form:"k-widget k-form",horizontal:"k-form-horizontal",vertical:"",field:"k-form-field",fieldsContainer:"k-form-fields-container",fieldWrap:"k-form-field-wrap",fieldError:"k-form-field-error",fieldHint:"k-form-hint",fieldset:"k-form-fieldset",layout:"k-form-layout",legend:"k-form-legend",label:"k-label k-form-label",optional:"k-label-optional",buttonsContainer:"k-form-buttons",buttonsEnd:"k-buttons-end",submit:"k-form-submit",clear:"k-form-clear",invalid:"k-invalid",hidden:"k-hidden"},D={horizontal:"horizontal",vertical:"vertical"},m=r.extend({init:function(e,t){var i=this;r.fn.init.call(i,e,t);i.options=f.deepExtend({},i.options,t);if(t&&t.formData)i.options.formData=t.formData;i._wrapper();i._setFields();i._setModel();i._renderContainers();i._renderButtons();i._editable();i._renderFieldsHints();i._setEvents()},events:[l,a,o,g,_],options:{name:"Form",orientation:D.vertical,validatable:{validateOnBlur:true,validationSummary:false,errorTemplate:null},buttonsTemplate:null,messages:{submit:"Submit",clear:"Clear",optional:"(Optional)"},layout:"",grid:{},formData:{},items:[],formatLabel:null,focusFirst:false},_fieldTemplate:"<div class='#:styles.field# #if (colSpan) { # k-colspan-#:colSpan# # } # #if (hidden) { ##:styles.hidden## } #'>"+"# if (label && !hidden) { # "+"<label class='#:styles.label#' for='#:id#' id='#:id#-form-label'>"+"# if (typeof label.encoded != 'undefined' && label.encoded === false) {#"+"#= label.text || label #"+"# } else { #"+"#: label.text || label #"+"# } #"+"# if (label.optional) { # <span class='#:styles.optional#'>#:optional#</span> #}#"+"</label>"+"# } #"+"<div class='k-form-field-wrap' data-container-for='#:field#'></div>"+"</div>",_groupTemplate:"<fieldset class='#:styles.fieldset# #if (colSpan) { # k-colspan-#:colSpan# # }#'>"+"<legend class='#:styles.legend#'>#:label.text || label #</legend>"+"</fieldset>",_buttonsTemplate:"<button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary #:styles.submit#' type='submit'><span class='k-button-text'>#:messages.submit#</span></button>"+"<button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base #:styles.clear#'><span class='k-button-text'>#:messages.clear#</span></button>",_errorTemplate:"<span class='k-form-error' id='#=field#-form-error'><div>#=message#</div></span>",_hintTemplate:"<div class='k-form-hint' id='#=id#-form-hint'><span>#=message#</span></div>",_wrapper:function(){var e=this,t=e.options,i=m.styles,r=t.width,a=t.height;e.wrapper=e.element.addClass(i.form).addClass(i[t.orientation]);if(a)e.wrapper.height(a);if(r)e.wrapper.css(h,r);e.layoutWrapper=e._setupLayoutContainer(e.wrapper,{grid:t.grid,layout:t.layout})},_flattenFields:function(e){var t=[].concat(e),i=t.shift(),r=[],a=[].push;while(i){if(i.items)a.apply(t,i.items);else a.call(r,i);i=t.shift()}return r},_defaultLabel:function(e){var t=this,i=t.options.formatLabel;if(!e.length)return;if(f.isFunction(i))return i(e);return e.split(/(.*[a-z])(?=[A-Z])/).join(" ").trim()+":"},_formatLabel:function(e,t){var i=this,r=d.isPlainObject(t)?t.text:t;if(r!==n)return t;return i._defaultLabel(e)},_defaultFields:function(){var e=this,t=e.options,i=Object.keys(t.formData||{}),r=t.items||{},a=[],o;if(r.length)return r;for(var n=0;n<i.length;n+=1){o=i[n];a.push({field:o,id:o})}return a},_setFields:function(){var e=this,t=e._flattenFields(e._defaultFields()),i=e.options.formData||{},r,a,o,n,l;e._fields=[];for(var d in t){r=t[d];a=i[r.field];o=typeof r.editor==="string"?r.editor:f.type(a?f.parseDate(a.toString())||a:a);n=f.isFunction(r.editor)?r.editor:s.Editable.fn.options.editors[o]?"":r.editor;if(!e._isHidden(r.editor))if(r.label)l={"aria-labelledby":r.id||r.field+"-form-label"};else if(!r.attributes||!r.attributes["aria-label"])l={"aria-label":r.name||r.field};r=c(true,{},r,{id:r.id||r.field,name:r.name||r.field,type:o,editor:n,attributes:l,isHidden:e._isHidden(r.editor)||e._isAntiForgeryToken(r.name||r.field)});e._fields[d]=r}},_setModel:function(){var e=this,t=e.options,i=t.formData||{};if(t.formData instanceof f.data.ObservableObject){e._model=i;return}var r=f.data.Model.define({fields:e._fields});e._model=new r(i)},_editable:function(){var e=this,t=e.options,i=e.options.validatable;e._addEditableMvvmAttributes();e.editable=e.wrapper.kendoEditable({model:e._model,fields:e._fields||[],validateOnBlur:i.validateOnBlur,validationSummary:i.validationSummary,errorTemplate:i.errorTemplate||e._errorTemplate,clearContainer:false,skipFocus:!t.focusFirst,target:e}).getKendoEditable();e.validator=e.editable.validatable;e._removeEditableMvvmAttributes()},_addEditableMvvmAttributes:function(){this.wrapper.attr(t,C)},_removeEditableMvvmAttributes:function(){this.wrapper.attr(F,true).attr(t,T)},_getItemTemplate:function(e){var t=this,i;if(e===w)i=t._groupTemplate;else i=t._fieldTemplate;return i},_isHidden:function(e){return typeof e==="string"&&e==="hidden"},_isAntiForgeryToken:function(e){return e===s.Editable.antiForgeryTokenName},_renderField:function(e){var t=this,i=m.styles,r;r=f.template(t._fieldTemplate)({styles:i,id:e.id||e.field||"",field:e.field||"",label:t._formatLabel(e.field,e.label),colSpan:e.colSpan||"",optional:t.options.messages.optional,hidden:t._isHidden(e.editor)||t._isAntiForgeryToken(e.field)});return r},_toggleFieldErrorState:function(e,t){var i=e.closest(p+u.field);if(i.length)i.toggleClass(u.fieldError,t)},_renderFieldsHints:function(){var e=this,t=e._fields,i,r,a,o;for(var n=0;n<t.length;n+=1){i=t[n];a=e.wrapper.find("[name='"+i.name+"']");if(!a||!i.hint||i.isHidden)continue;o=d(f.template(e._hintTemplate)({message:i.hint||"",id:i.id}));e._associateHintContainer(a,o.attr("id"));r=f.widgetInstance(a);if(r)a=r.wrapper;if(e.validator._errorsByName(i.name).length){o.toggleClass(u.hidden);f.removeAttribute(a,x,o.attr("id"))}o.insertAfter(a)}},_associateHintContainer:function(e,t){var i=f.getWidgetFocusableElement(e);if(!i||!t)return;f.toggleAttribute(i,x,t)},_toggleHint:function(e,t){var i=this,r=e.closest(p+u.field),a;if(r.length){a=r.find(p+u.fieldHint);if(a.length){a.toggleClass(u.hidden,t);i._associateHintContainer(e,a.attr("id"))}}},_renderGroup:function(e){var t=this,i=e.type,r,a,o;o=a=d(f.template(t._getItemTemplate(i))({styles:u,label:e.label||"",colSpan:e.colSpan}));o=t._setupLayoutContainer(a,{grid:e.grid,layout:e.layout})||a;for(var n=0;n<e.items.length;n+=1){r=e.items[n];o.append(t._renderField(r))}return a},_renderContainers:function(){var e=this,t=e._defaultFields(),i=e.options.layout==="grid",r=i?e.layoutWrapper:e.wrapper,a,o,n;for(var l=0;l<t.length;l+=1){a=t[l];o=a.type;if(o===w)n=e._renderGroup(a);else n=e._renderField(a);r.append(n)}},_renderButtons:function(){var e=this,t=e.wrapper,i=e.options,r=i.messages,a=m.styles,o=i.orientation===D.horizontal,n=t.find(p+a.buttonsContainer),l;if(!n.length)n=d("<div />").addClass(a.buttonsContainer).addClass(o?a.buttonsEnd:"");l=i.buttonsTemplate!==null?i.buttonsTemplate:e._buttonsTemplate;n.append(f.template(l)({styles:a,messages:r}));e.element.append(n)},_setupLayoutContainer:function(e,t){var i=t.layout,r=t.grid,a=[],o;if(typeof i==="string"&&i!==""){o=d("<div></div>").appendTo(e).addClass(u.layout);a.push("k-d-"+i)}if(i==="grid"&&typeof r==="object"){if(typeof r.cols==="number")a.push("k-grid-cols-"+r.cols);else if(typeof r.cols==="string")o.css("grid-template-columns",r.cols);if(typeof r.gutter==="number"||typeof r.gutter==="string")o.css("grid-gap",r.gutter)}if(o)o.addClass(a.join(" "));return o},_setEvents:function(){var e=this,t=e.validator;t.bind(b,e._validateField.bind(e)).bind(a,e._validate.bind(e));e.wrapper.on(g+i,e._submit.bind(e)).on(_+i,e._clear.bind(e)).on(v+i,p+u.clear,e._clear.bind(e));e._model.bind(o,e._change.bind(e))},_validateField:function(e){var t=this,i={model:t._model.toJSON(),valid:e.valid,field:e.field,error:e.error,input:e.input};t._toggleFieldErrorState(i.input,!i.valid);t._toggleHint(i.input,!i.valid);if(t.trigger(l,i))e.preventDefault()},_validate:function(e){var t=this,i={model:t._model.toJSON(),valid:e.valid,errors:e.errors};t.trigger(a,i)},_change:function(e){var t=this,i=e.field,r={field:i,value:t._model[i]};t.trigger(o,r)},_submit:function(e){var t=this,i=t._model.toJSON();if(t.trigger(g,{model:i}))e.preventDefault()},_clear:function(e){var t=this;e.preventDefault();t.clear();t.trigger(_)},validate:function(){var e=this,t=e.validator;if(!t)return;return t.validate()},clear:function(){var e=this,t=e._fields,i=e._model,r=e.editable,a=e.validator.options.validateOnBlur;e.validator.reset();if(a)i.unbind(y).unbind(k);for(var o=0;o<t.length;o+=1){var n=t[o].field;var l=e.wrapper.find("[name='"+n+"']");var d=f.widgetInstance(l);var s=l.is("input[type=hidden]");if(!l.is(S)&&!l.is(E)&&!s)l.val("");if(d)if(d instanceof f.ui.Upload)d.clearAllFiles();else d.value(null);e._toggleHint(l,false);if(typeof i[n]==="boolean"){l.val("false");i.set(n,false)}else if(!s)i.set(n,null)}e.wrapper.find(p+u.fieldError).removeClass(u.fieldError);if(a)i.bind(y,r._validateProxy).bind(k,r._validateProxy)},setOptions:function(e){var t=this;t.destroy();t.wrapper.removeClass(u.horizontal).removeAttr(F).empty();t.init(t.element,e)},destroy:function(){var e=this;e.wrapper.off(i);r.fn.destroy.call(e.editable);r.fn.destroy.call(e);if(e.editable){e.editable.destroy();e.editable=null}}});return s.plugin(m),c(true,m,{styles:u}),window.kendo})?r.apply(t,i):r)||(e.exports=t)},1282:function(e,t){e.exports=require("./kendo.editable")}});