kendo-ui-core
Version:
3 lines (2 loc) • 5.49 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("kendo.core.js"),require("kendo.floatinglabel.js")):"function"==typeof define&&define.amd?define(["kendo.core.min","kendo.floatinglabel.min"],t):((e="undefined"!=typeof globalThis?globalThis:e||self).kendotextarea=e.kendotextarea||{},e.kendotextarea.js=t())}(this,(function(){let e=kendo.jQuery;function t({widget:t,wrapper:a,options:l,prefixInsertBefore:n,suffixInsertAfter:o}){var i,s,r=l.prefixOptions,p=l.suffixOptions,d=r.template||r.icon,u=p.template||p.icon,f=(o=o||n,l.layoutFlow),c=f?"vertical"==f?"horizontal":"vertical":"horizontal",b=`<span class="k-input-separator k-input-separator-${"vertical"==f?"horizontal":"vertical"}"></span>`;r&&d&&((i=a.children(".k-input-prefix"))[0]||(i=e(`<span class="k-input-prefix k-input-prefix-${c}" />`),n?i.insertBefore(n):i.prependTo(a)),r.icon&&i.html(kendo.html.renderIcon({icon:r.icon})),r.template&&i.html(kendo.template(r.template)({})),r.separator&&e(b).insertAfter(i)),p&&u&&((s=a.children(".k-input-suffix"))[0]||(s=e(`<span class="k-input-suffix k-input-suffix-${c}" />`).appendTo(a),o?s.insertAfter(o):s.appendTo(a)),p.icon&&s.html(kendo.html.renderIcon({icon:p.icon})),p.template&&s.html(kendo.template(p.template)({})),p.separator&&e(b).insertBefore(s)),t._prefixContainer=i,t._suffixContainer=s}return function(e,a){var l=window.kendo,n=l.ui.Widget,o=l.ui,i=e.isPlainObject,s=".kendoTextArea",r="change",p="disabled",d="readonly",u="k-focus",f="k-disabled",c="k-readonly",b="aria-disabled",m=n.extend({init:function(o,i){var s=this;n.fn.init.call(s,o,i),i=e.extend(!0,{},i),s.options.value=i.value||s.element.val(),s.options.readonly=i.readonly!==a?i.readonly:Boolean(s.element.attr("readonly")),s.options.enable=i.enable!==a?i.enable:!Boolean(s.element.attr("disabled")),s.options.placeholder=i.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").attr("autocomplete","off"),t({widget:s,wrapper:s.wrapper,options:s.options}),s.floatingLabel&&s.floatingLabel.refresh(),l.notify(s)},events:[r],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",layoutFlow:"vertical",prefixOptions:{separator:!0},suffixOptions:{separator:!0}},_applyCssClasses:function(e){var t=this,a=t.options,o=l.cssProperties.getValidClass({widget:a.name,propName:"resize",value:a.resize}),i=l.cssProperties.getValidClass({widget:a.name,propName:"overflow",value:a.overflow}),s=l.cssProperties.getValidClass({widget:a.name,propName:"layoutFlow",value:a.layoutFlow});n.fn._applyCssClasses.call(t),o||"none"!==a.resize||(o="k-resize-none"),i&&(i="!"+i),e=e||"addClass",t.element[e](o),t.element[e](i),t.wrapper[e](s),"vertical"==a.layoutFlow&&t.element[e]("!k-flex-none")},_applyAttributes:function(){var e,t=this,a={};for(e in t.attributes)a[t.attributes[e]]=t.options[t.attributes[e]];t.element.attr(a)},value:function(e){var t=this;if(e===a)return t._value;t._value=e,t.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),n.fn.destroy.call(e)},setOptions:function(e){this._applyCssClasses("removeClass"),n.fn.setOptions.call(this,e)},_editable:function(e){var t=this,a=t.element,l=t.wrapper,n=e.disable,o=e.readonly;a.off(s),o||n?(a.attr(p,n).attr(d,o).attr(b,n),l.toggleClass(f,n).toggleClass(c,o)):(a.prop(p,!1).prop(d,!1).attr(b,!1),l.removeClass(f).removeClass(c),a.on("focusin"+s,t._focusin.bind(t)),a.on("focusout"+s,t._focusout.bind(t)))},_label:function(){var t,a,n=this,o=n.element,s=n.options,r=o.attr("id");null!==s.label&&(t=!!i(s.label)&&s.label.floating,a=i(s.label)?s.label.content:s.label,t&&(n._floatingLabelContainer=n.wrapper.wrap("<span></span>").parent(),n.floatingLabel=new l.ui.FloatingLabel(n._floatingLabelContainer,{widget:n}),n._floatingLabelContainer.addClass("k-textarea-container")),l.isFunction(a)&&(a=a.call(n)),a||(a=""),r||(r=s.name+"_"+l.guid(),o.attr("id",r)),n._inputLabel=e("<label class='"+(t?"k-floating-label":"k-label k-input-label")+"' for='"+r+"'>"+a+"</label>'")[t?"insertAfter":"insertBefore"](n.wrapper))},_focusin:function(){this.wrapper.addClass(u)},_focusout:function(){var e=this,t=e._value,a=e.element.val();e.wrapper.removeClass(u),null===t&&(t=""),t!==a&&(e._value=a,e.trigger(r))},_wrapper:function(){var e,t=this.element,a=t[0];(e=t.wrap("<span class='k-input k-textarea'></span>").parent())[0].style.cssText=a.style.cssText,a.style.width="",this.wrapper=e.addClass(a.className).removeClass("input-validation-error")}});l.cssProperties.registerPrefix("TextArea","k-input-"),l.cssProperties.registerValues("TextArea",[{prop:"rounded",values:l.cssProperties.roundedValues.concat([["full","full"]])}]),o.plugin(m)}(window.kendo.jQuery),kendo}));
//# sourceMappingURL=kendo.textarea.min.js.map