@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 11.1 kB
JavaScript
module.exports=function(e){function t(a){if(n[a])return n[a].exports;var l=n[a]={exports:{},id:a,loaded:!1};return e[a].call(l.exports,l,l.exports,t),l.loaded=!0,l.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}({0:function(e,t,n){e.exports=n(1317)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1015:function(e,t){e.exports=require("./kendo.dom")},1018:function(e,t){e.exports=require("./kendo.core")},1317:function(e,t,n){var a,l,i;!function(o,define){l=[n(1018),n(1015)],a=o,i="function"==typeof a?a.apply(t,l):a,!(void 0!==i&&(e.exports=i))}(function(){return function(e,t){var n=window.kendo,a=n.ui,l=".kendoRating",i=a.Widget,o=e.extend,r=e.proxy,s=n.keys,p=n.parseFloat,d="change",u="select",c="selected",m="hovered",v="disabled",h="readonly",f="keydown"+l,_="click"+l,g="mouseenter"+l,b="mouseleave"+l,w="mousemove"+l,y="mousedown"+l,x="focus"+l,k="blur"+l,T="aria-label",C="aria-labelledby",M="aria-valuemin",V="aria-valuemax",E="aria-valuenow",I="aria-disabled",P="aria-readonly",F="k-rating-precision-part",R="k-rating-precision-complement",S=.5,A="_label",N="k-rating-item",D="k-state-focused",L="tabindex",q=".",O="role",U="min",H="max",W={single:"single",continuous:"continuous"},G={item:"item",half:"half"},j={item:"itemTemplate",hovered:"hoveredTemplate",selected:"selectedTemplate"},B={selected:"k-state-selected",hovered:"k-state-hover",hoveredPrecise:"k-state-hover-precise"},Q={partValue:"part-value",dataValue:"data-value",value:"value",title:"title"},X={widget:"k-rating k-widget",container:"k-rating-container",item:"k-rating-item",icon:"k-icon k-i-star-outline",iconSelected:"k-icon k-i-star",label:"k-rating-label",disabled:"k-state-disabled",readonly:"k-state-readonly",active:"k-state-active",hidden:"k-hidden"},z=n.template('<span class="#=styles.widget#"></span>'),J=n.template('<span class="#=styles.container#"></span>'),K=n.template('<span class="#=styles.label#"></span>'),Y=n.template("<span>#=value# / #=maxValue#</span>"),Z=n.template('<span class="#=styles.item#" data-value="#=value#"></span>'),$=n.template('<span class="#=icon#"></span>'),ee=i.extend({init:function(e,t){var a=this;i.fn.init.call(a,e,t),a.options=o({},a.options,t),a._element(),a._wrapper(),a._aria(),a._initSettings(),a._renderItems(),a._renderTooltip(),a._renderLabel(),a._selectInitial(),a._attachEvents(),n.notify(this)},events:[u,d],options:{name:"Rating",messages:{},min:1,max:5,selection:W.continuous,precision:G.item,tooltip:!0,label:!0,readonly:!1,enabled:!0,selectValueOnFocus:null,itemTemplate:null,selectedTemplate:null,hoveredTemplate:null},_element:function(){var e=this;e.element.attr("type","number"),e.element.addClass(X.hidden)},_wrapper:function(){var t=this;t.wrapper=e(z({styles:X})),t.wrapper=t.element.wrap(t.wrapper).parent(),t.wrapper.addClass(t.element[0].className.replace(X.hidden,"")).append(e(J({styles:X}))),t.wrapper[0].style.cssText=t.element[0].style.cssText,t.container=t.wrapper.find(q+X.container)},_aria:function(){var t,a=this,l=a.wrapper,i=a.element,o=i.attr("id"),r=e('label[for="'+o+'"]'),s=i.attr(T),d=i.attr(C);a.wrapper.attr(L,0).attr(O,"slider").attr(M,p(a.element.attr(U))||a.options.min).attr(V,p(a.element.attr(H))||a.options.max).attr(E,a.options.value),s?l.attr(T,s):d?l.attr(C,d):r.length&&(t=r.attr("id"),t||(t=(o||n.guid())+A,r.attr("id",t)),l.attr(C,t))},_initSettings:function(){var e=this,t=e.options.precision!=G.item,n=e.options;n.value=p(n.value),null===n.value&&(n.value=p(e.element.val())),n.min=p(e.element.attr(U))||e.options.min,n.max=p(e.element.attr(H))||e.options.max,e._valueMin=t?e.options.min-S:e.options.min,n.enabled=n.enabled&&!e.element.attr(v),n.readonly=n.readonly||!!e.element.attr(h),e._setState()},_renderItems:function(){var t,a,l=this,i=l.container,o=l.options.min,r=l.options.max,s=l.options.itemTemplate?n.template(l.options.itemTemplate):$;for(t=o;t<=r;t+=1)a=e(Z({styles:X,value:t})),a.append(s({icon:X.icon,index:t})),i.append(a)},_renderTooltip:function(){var n,a=this,l=a.container.find(q+N),i=a.options.tooltip===!0;if(!i)return l.removeAttr(Q.title),t;for(n=0;n<l.length;n+=1)e(l[n]).attr(Q.title,e(l[n]).data(Q.value))},_renderLabel:function(){var a=this,l=a.wrapper.find(q+X.label),i=a.options.label===!0||a.options.label.template!==t,o=a.options.label&&a.options.label.template?n.template(a.options.label.template):Y;return i&&null!==a.value()?(l.length||(a.label=l=e(K({styles:X})),a.wrapper.append(l)),l.html(o({styles:X,value:a.value(),maxValue:a.options.max})),t):(l.remove(),a.label=null,t)},_selectInitial:function(){var e=this;isNaN(e.options.value)||e.value(e.options.value)},_attachEvents:function(){var e=this,t=e.options.precision==G.half;e.wrapper.on(x,r(e._focus,e)).on(k,r(e._blur,e)).on(f,r(e._keydown,e)),e.container.on(_,q+N,r(e._click,e)).on(g,q+N,r(e._mouseenter,e)).on(b,q+N,r(e._mouseleave,e)).on(y,r(e._mousedown,e)),t&&e.container.on(w,q+N,r(e._mousemove,e))},_focus:function(){var e,n,a,l=this,i=l.container,o=l.wrapper,r=l.container.find(q+D),s=l.options.selectValueOnFocus,p=i.children().first();return!l.options.enabled||l.options.readonly||l.preventFocus?(l.options.readonly&&l.wrapper.addClass(D),t):(o.addClass(D),r.removeClass(D),null===l.value()&&null!==s&&l.value(s),e=i.find(q+B.selected).last(),n=i.find(q+B.hovered).last(),a=e.length?e:n,a=a.length?a:p,a.addClass(D),t)},_blur:function(){var e=this;e.preventFocus=!1,e.wrapper.removeClass(D),e.container.find(q+D).removeClass(D),e.element.blur()},_mousedown:function(){var e=this;e.preventFocus=!0},_keydown:function(t){var a,l,i,o,r=this,p=r.container,d=r.parsedValue,u=r.options.precision!=G.item,c=u?S:1,m=p.find(q+N),v=p.find(q+D),h=m.index(v),f=n.support.isRtl(r.wrapper),_=isNaN(d),g=t.keyCode;r.options.enabled&&!r.options.readonly&&(a=g===s.RIGHT&&f||g===s.LEFT&&!f,l=g===s.LEFT&&f||g===s.RIGHT&&!f,a||g===s.DOWN?(i=_?m.eq(0):e(m[h-1]),o=_?r._valueMin:d-c,r._select(i,o),t.preventDefault()):l||g===s.UP?(i=_?m.eq(0):e(m[h+1]),o=_?r._valueMin:d+c,r._select(i,o),t.preventDefault()):g===s.HOME?(i=m.eq(0),r._select(i,r._valueMin),t.preventDefault()):g===s.END&&(i=m.eq(m.length-1),r._select(i),t.preventDefault()))},_getTemplateType:function(e){var t,a=this;return t=a.options[e]?n.template(a.options[e]):$},_renderTemplate:function(t,n){var a,l=this,i=l._getTemplateType(n),o=X.icon;for(n!=j.selected&&n!=j.hovered||(o=X.iconSelected),a=0;a<t.length;a+=1)e(t[a]).html(i({icon:o,index:e(t[a]).index()}))},_updateItemTemplates:function(e,t){var n=this,a=W.single==n.options.selection,l=n.options.precision==G.half,i=n.container.find(q+B.selected),o=a?t:t.prevAll().addBack(),r=a?i:t.nextAll(),s=j[e],p=B[e];r.removeClass(p),o.addClass(p),n._renderTemplate(o,s),(!a||a&&e==c&&o.get(0)!=i.get(0))&&n._renderTemplate(r,j.item),l&&n._renderTemplate(t,j.item)},_change:function(e,t){var n=this,a=n.value();n.value(t),n.trigger(d,{target:e,oldValue:a,newValue:n.value()})},_click:function(t){var n=this,a=e(t.target).closest(q+N),l=a.attr(Q.dataValue);n.options.enabled&&!n.options.readonly&&(a.data(Q.partValue)&&(l=a.data(Q.partValue)),n._select(a,l))},_select:function(e,t){var n=this,a=isNaN(t)?e.attr(Q.dataValue):t;a==n.value()||a<n._valueMin||a>n.options.max||(n.trigger(u,{target:e}),n._change(e,a),n._focus())},_mouseenter:function(t){var n=this,a=e(t.target),l=a.closest(q+N);n.options.enabled&&!n.options.readonly&&(n.enableMove=!0,a.is(q+N)&&n._updateItemTemplates(m,l))},_mouseleave:function(t){var n,a,l,i,o,r=this,s=r.options.selection,p=r.options.precision==G.half,d=s==W.single,u=e(t.target).closest(q+N),m=r.container.find(q+N);if(r.enableMove=!1,l=function(e){n=r.parsedValue%1!==0&&e.is(r.container.find("[data-value="+Math.ceil(r.value())+"]")),a=!e.hasClass(B.selected)&&!e.hasClass(B.hovered)||n?j.item:j.selected,r._renderTemplate(e,a),p&&n&&e.hasClass(B.selected)&&r._togglePrecisionElements(e,c)},m.removeClass(B.hovered),d)l(u);else for(i=0;i<m.length;i+=1)o=e(m[i]),l(o)},_mousemove:function(t){var n,a,l,i=this,o=e(t.target).closest(q+N);i.enableMove&&(o.length&&(n=t.clientX,a=o.offset().left,l=Math.abs(n-a),i._togglePrecisionElements(o,m),i._updatePrecisionElements(o,l)),t.preventDefault())},_togglePrecisionElements:function(t,n){var a,l=this,i=t.find(q+F),o=l._getTemplateType(j[n]);i.length?i.html(o({icon:X.iconSelected})):(a=l.parsedValue%1!==0,i=e("<span></span>").addClass(F),i.append(o({icon:X.iconSelected})),i.width(a?t.width()/2:t.width()),t.append(i),t.append(e("<span></span>").css({width:t.width(),height:t.height(),display:"block"})),l._createUpdatePrecisionComplement(t,a))},_createUpdatePrecisionComplement:function(t,a){var l=this,i=t.find(q+R),o=t.children().first(),r=n.support.isRtl(l.wrapper),s=r?"right":"left";i.length||(i=o.wrap(e("<span></span>").addClass(R)).parent()),i.width(a?t.width()/2:0),i.css(s,a||r?"50%":0)},_updatePrecisionElements:function(e,t){var a=this,l=e.find(q+F),i=n.parseFloat(e.data(Q.value)),o=n.support.isRtl(this.wrapper),r=e.width(),s=r/2,d=p(e.outerWidth()/2),u=o?t>d:t<d;e.length&&l.length&&(l.width(u?s:r),this.options.tooltip&&e.attr(Q.title,u?i-S:i),e.data(Q.partValue,u?i-S:i),a._createUpdatePrecisionComplement(e,u))},_updateElement:function(e){var t=this,n=null===e?"":e;t.element.val(n),null===t.value?t.wrapper.removeAttr(E):t.wrapper.attr(E,e)},_updateItemsRendering:function(e){var t=this,n=t.options.precision==G.half,a=null===e?"item":c,l=null===e?t.container.find(q+B.selected).last():t.container.find(q+N+"[data-value='"+Math.ceil(e)+"']");null===e&&t.container.find(q+N).removeClass(B.selected),t._updateItemTemplates(a,l),n&&null!==e&&t._togglePrecisionElements(l,c),t._renderLabel()},_setState:function(){var e=this,t=e.element,n=e.wrapper,a=e.options.readonly,l=e.options.enabled;a&&l?(t.attr(h,h),n.attr(P,!0)):(t.removeAttr(h),n.removeAttr(P)),l?(t.removeAttr(v),n.removeAttr(I),n.attr(L,0)):(t.attr(v,v),n.attr(I,!0),n.removeAttr(L)),n.toggleClass(X.disabled,!l),n.toggleClass(X.readonly,a&&l)},value:function(e){var n=this,a=n.options.precision==G.half;return null===e?(n._updateElement(e),n._updateItemsRendering(e),t):(e=p(e),null===e?e=p(n.element.val()):(e=Math.max(n._valueMin,Math.min(e,n.options.max)),n.parsedValue=a?p((Math.ceil(2*e)/2).toFixed(1)):Math.round(e),n._updateElement(e),n._updateItemsRendering(e),t))},reset:function(){var e=this;e.value(null)},enable:function(e){var n=this;t===e&&(e=!0),n.options.enabled=e,n.options.readonly=!1,n._setState()},readonly:function(e){var n=this;t===e&&(e=!0),n.options.readonly=e,n.options.enabled=!0,n._setState()},setOptions:function(n){var a=this;a.options=e.extend(a.options,n),n.enabled!==t&&a.enable(n.enabled),n.readonly!==t&&a.readonly(n.readonly),n.label!==t&&a._renderLabel(),n.tooltip!==t&&a._renderTooltip(),n.value!==t&&a.value(n.value),(n.min||n.max!==t||n.itemTemplate!==t||n.selectedTemplate!==t||n.hoveredTemplate!==t)&&(a.container.empty(),a._renderItems(),a._renderLabel(),a._renderTooltip(),a._selectInitial())},destroy:function(){var e=this;e.wrapper.off(l),e.container.off(l),i.fn.destroy.call(e)}});a.plugin(ee)}(window.kendo.jQuery),window.kendo},n(3))}});