kendo-ui-core
Version:
3 lines (2 loc) • 4.19 kB
JavaScript
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("kendo.core.js"),require("kendo.floatinglabel.js")):"function"==typeof define&&define.amd?define(["kendo.core.min","kendo.floatinglabel.min"],a):((e="undefined"!=typeof globalThis?globalThis:e||self).kendotextarea=e.kendotextarea||{},e.kendotextarea.js=a())}(this,(function(){return function(e,a){var l=window.kendo,t=l.ui.Widget,n=l.ui,o=e.isPlainObject,s=".kendoTextArea",i="change",r="disabled",d="readonly",p="k-focus",u="k-disabled",f="k-readonly",c="aria-disabled",b=t.extend({init:function(n,o){var s=this;t.fn.init.call(s,n,o),o=e.extend(!0,{},o),s.options.value=o.value||s.element.val(),s.options.readonly=o.readonly!==a?o.readonly:Boolean(s.element.attr("readonly")),s.options.enable=o.enable!==a?o.enable:!Boolean(s.element.attr("disabled")),s.options.placeholder=o.placeholder||s.element.attr("placeholder"),s.options.value.replace(/\s/g,"").length||(s.options.value="",s.element.val("")),s.value(s.options.value),s._wrapper(),s._label(),s._editable({readonly:s.options.readonly,disable:!s.options.enable}),s._applyAttributes(),s._applyCssClasses(),s.element.addClass("k-input-inner").css("resize",s.options.resizable).attr("autocomplete","off"),l.notify(s)},events:[i],attributes:["maxLength","rows","placeholder"],options:{name:"TextArea",value:"",readonly:!1,enable:!0,placeholder:"",label:null,resizable:"none",maxLength:null,cols:20,rows:1,rounded:"medium",size:"medium",fillMode:"solid",resize:"none",overflow:"auto"},_applyCssClasses:function(e){var a=this,n=a.options,o=l.cssProperties.getValidClass({widget:n.name,propName:"resize",value:n.resize}),s=l.cssProperties.getValidClass({widget:n.name,propName:"overflow",value:n.overflow});t.fn._applyCssClasses.call(a),o||"none"!==n.resize||(o="k-resize-none"),s&&(s="!"+s),e=e||"addClass",a.wrapper[e](o),a.element[e](s)},_applyAttributes:function(){var e,a=this,l={};for(e in a.attributes)l[a.attributes[e]]=a.options[a.attributes[e]];a.element.attr(l)},value:function(e){var l=this;if(e===a)return l._value;l._value=e,l.element.val(e)},readonly:function(e){this._editable({readonly:e===a||e,disable:!1}),this.floatingLabel&&this.floatingLabel.readonly(e===a||e)},enable:function(e){this._editable({readonly:!1,disable:!(e=e===a||e)}),this.floatingLabel&&this.floatingLabel.enable(e=e===a||e)},focus:function(){this.element[0].focus()},destroy:function(){var e=this;e.floatingLabel&&e.floatingLabel.destroy(),e.element.off(s),t.fn.destroy.call(e)},setOptions:function(e){this._applyCssClasses("removeClass"),t.fn.setOptions.call(this,e)},_editable:function(e){var a=this,l=a.element,t=a.wrapper,n=e.disable,o=e.readonly;l.off(s),o||n?(l.attr(r,n).attr(d,o).attr(c,n),t.toggleClass(u,n).toggleClass(f,o)):(l.prop(r,!1).prop(d,!1).attr(c,!1),t.removeClass(u).removeClass(f),l.on("focusin"+s,a._focusin.bind(a)),l.on("focusout"+s,a._focusout.bind(a)))},_label:function(){var a,t,n=this,s=n.element,i=n.options,r=s.attr("id");null!==i.label&&(a=!!o(i.label)&&i.label.floating,t=o(i.label)?i.label.content:i.label,a&&(n._floatingLabelContainer=n.wrapper.wrap("<span></span>").parent(),n.floatingLabel=new l.ui.FloatingLabel(n._floatingLabelContainer,{widget:n,useReadOnlyClass:!0}),n._floatingLabelContainer.addClass("k-textarea-container")),l.isFunction(t)&&(t=t.call(n)),t||(t=""),r||(r=i.name+"_"+l.guid(),s.attr("id",r)),n._inputLabel=e("<label class='k-label k-input-label' for='"+r+"'>"+t+"</label>'").insertBefore(n.wrapper))},_focusin:function(){this.wrapper.addClass(p)},_focusout:function(){var e=this,a=e._value,l=e.element.val();e.wrapper.removeClass(p),null===a&&(a=""),a!==l&&(e._value=l,e.trigger(i))},_wrapper:function(){var e,a=this.element,l=a[0];(e=a.wrap("<span class='k-input k-textarea'></span>").parent())[0].style.cssText=l.style.cssText,l.style.width="100%",this.wrapper=e.addClass(l.className).removeClass("input-validation-error")}});l.cssProperties.registerPrefix("TextArea","k-input-"),l.cssProperties.registerValues("TextArea",[{prop:"rounded",values:l.cssProperties.roundedValues.concat([["full","full"]])}]),n.plugin(b)}(window.kendo.jQuery),kendo}));
//# sourceMappingURL=kendo.textarea.min.js.map