@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
3 lines (2 loc) • 2.39 kB
JavaScript
!function(e){"function"==typeof define&&define.amd?define(["kendo.html.base.min","kendo.icons.min"],e):e()}((function(){var e,n,t,s,i,o;e=window.kendo.jQuery,t=window.kendo,s=t.html.HTMLBase,i="k-button-icon",o=s.extend({init:function(e,n){var t=this;s.fn.init.call(t,e,n),t.wrapper=t.element.addClass("k-button"),t.element.attr("type")||t.element.attr("type",t.options.type),t._addClasses(),t.iconElement(),t._textElement()},options:{name:"HTMLButton",type:"button",icon:"",iconClass:"",spriteCssClass:"",imageUrl:"",size:"medium",rounded:"medium",fillMode:"solid",themeColor:"base",stylingOptions:["size","rounded","fillMode","themeColor"]},iconElement:function(){var n,s,o,a=this,l=a.element,r=a.options,d=r.icon,c=r.iconClass,u=r.spriteCssClass,p=r.imageUrl;(u||p||d||c)&&(o=!0,l.contents().filter((function(){return!(e(this).hasClass("k-sprite")||e(this).hasClass("k-icon")||e(this).hasClass("k-svg-icon")||e(this).hasClass("k-image"))})).each((function(e,n){(1==n.nodeType||3==n.nodeType&&t.trim(n.nodeValue).length>0)&&(o=!1)}))),o&&a.element.addClass("k-icon-button"),p?((s=l.children("img.k-image").first())[0]||(s=e('<img alt="icon" class="k-image" />').prependTo(l)),s.attr("src",p),s.addClass(i)):d||c?((n=l.children("span.k-icon, span.k-svg-icon").first())[0]?t.ui.icon(n,{icon:d,iconClass:c}):n=e(t.ui.icon({icon:d,iconClass:c})).prependTo(l),n.addClass(i)):u&&((n=l.children("span.k-sprite").first())[0]||(n=e('<span class="k-sprite"></span>').prependTo(l)),n.addClass(u+" "+i))},_textElement:function(){this.element.contents().filter((function(){return!(e(this).hasClass(i)||e(this).hasClass("k-sprite")||e(this).hasClass("k-icon")||e(this).hasClass("k-image"))})).each((function(e,n){if(1==n.nodeType||3==n.nodeType&&t.trim(n.nodeValue).length>0){if(3===n.nodeType){var s=document.createElement("span");n.parentNode.insertBefore(s,n),s.appendChild(n),n=s}n.classList.add("k-button-text")}}))}}),e.extend(t.html,{renderButton:function(t,s){return(arguments[0]===n||e.isPlainObject(arguments[0]))&&(s=t,t=e("<button></button>")),new o(t,s).html()},HTMLButton:o}),t.cssProperties.registerPrefix("HTMLButton","k-button-"),t.cssProperties.registerValues("HTMLButton",[{prop:"fillMode",values:t.cssProperties.fillModeValues.concat(["link"])},{prop:"rounded",values:t.cssProperties.roundedValues.concat([["full","full"]])}])}));
//# sourceMappingURL=kendo.html.button.min.js.map