@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 11.4 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(1367)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1046:function(e,t){e.exports=require("./kendo.dom")},1049:function(e,t){e.exports=require("./kendo.core")},1367:function(e,t,n){var a,l,i;!function(o,define){l=[n(1049),n(1046)],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",f="readonly",h="keydown"+l,_="click"+l,g="mouseenter"+l,b="mouseleave"+l,y="mousemove"+l,w="mousedown"+l,k="focus"+l,x="blur"+l,T="aria-label",C="aria-labelledby",I="aria-valuemin",V="aria-valuemax",M="aria-valuenow",E="aria-disabled",S="aria-readonly",F="k-rating-precision-part",P="k-rating-precision-complement",R=.5,A="_label",N="k-rating-item",W="k-state-focused",D="tabindex",L=".",q="role",O="min",U="max",H={single:"single",continuous:"continuous"},G={item:"item",half:"half"},j={item:"itemTemplate",hovered:"hoveredTemplate",selected:"selectedTemplate"},z={selected:"k-state-selected",hovered:"k-state-hover",hoveredPrecise:"k-state-hover-precise"},B={partValue:"part-value",dataValue:"data-value",value:"value",title:"title"},Q={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"},X=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:H.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.addClass(Q.hidden)},_wrapper:function(){var t=this;t.wrapper=e(X({styles:Q})),t.wrapper=t.element.wrap(t.wrapper).parent(),t.wrapper.addClass(t.element[0].className.replace(Q.hidden,"")).append(e(J({styles:Q}))),t.wrapper[0].style.cssText=t.element[0].style.cssText,t.container=t.wrapper.find(L+Q.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(D,0).attr(q,"slider").attr(I,p(a.element.attr(O))||a.options.min).attr(V,p(a.element.attr(U))||a.options.max).attr(M,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(O))||e.options.min,n.max=p(e.element.attr(U))||e.options.max,e._valueMin=t?e.options.min-R:e.options.min,n.enabled=n.enabled&&!e.element.attr(v),n.readonly=n.readonly||!!e.element.attr(f),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:Q,value:t})),a.append(s({icon:Q.icon,index:t})),i.append(a)},_renderTooltip:function(){var n,a=this,l=a.container.find(L+N),i=a.options.tooltip===!0;if(!i)return l.removeAttr(B.title),t;for(n=0;n<l.length;n+=1)e(l[n]).attr(B.title,e(l[n]).data(B.value))},_renderLabel:function(){var a=this,l=a.wrapper.find(L+Q.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:Q})),a.wrapper.append(l)),l.html(o({styles:Q,value:a.value()%1===0?a.value():a._format(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(k,r(e._focus,e)).on(x,r(e._blur,e)).on(h,r(e._keydown,e)),e.container.on(_,L+N,r(e._click,e)).on(g,L+N,r(e._mouseenter,e)).on(b,L+N,r(e._mouseleave,e)).on(w,r(e._mousedown,e)),t&&e.container.on(y,L+N,r(e._mousemove,e))},_focus:function(){var e,n,a,l=this,i=l.container,o=l.wrapper,r=l.container.find(L+W),s=l.options.selectValueOnFocus,p=i.children().first();return!l.options.enabled||l.options.readonly||l.preventFocus?(l.options.readonly&&l.wrapper.addClass(W),t):(o.addClass(W),r.removeClass(W),null===l.value()&&null!==s&&l.value(s),e=i.find(L+z.selected).last(),n=i.find(L+z.hovered).last(),a=e.length?e:n,a=a.length?a:p,a.addClass(W),t)},_blur:function(){var e=this;e.preventFocus=!1,e.wrapper.removeClass(W),e.container.find(L+W).removeClass(W),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?R:1,m=p.find(L+N),v=p.find(L+W),f=m.index(v),h=n.support.isRtl(r.wrapper),_=isNaN(d),g=t.keyCode;r.options.enabled&&!r.options.readonly&&(a=g===s.RIGHT&&h||g===s.LEFT&&!h,l=g===s.LEFT&&h||g===s.RIGHT&&!h,a||g===s.DOWN?(i=_?m.eq(0):e(m[f-1]),o=_?r._valueMin:d-c,r._select(i,o),t.preventDefault()):l||g===s.UP?(i=_?m.eq(0):e(m[f+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=Q.icon;for(n!=j.selected&&n!=j.hovered||(o=Q.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=H.single==n.options.selection,l=n.options.precision==G.half,i=n.container.find(L+z.selected),o=a?t:t.prevAll().addBack(),r=a?i:t.nextAll(),s=j[e],p=z[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(L+N),l=a.attr(B.dataValue);n.options.enabled&&!n.options.readonly&&(a.data(B.partValue)&&(l=a.data(B.partValue)),n._select(a,l))},_select:function(e,t){var n=this,a=isNaN(t)?e.attr(B.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(L+N);n.options.enabled&&!n.options.readonly&&(n.enableMove=!0,a.is(L+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==H.single,u=e(t.target).closest(L+N),m=r.container.find(L+N);if(r.enableMove=!1,l=function(e){n=r.parsedValue%1!==0&&e.is(r.container.find("[data-value="+Math.ceil(r.parsedValue)+"]")),a=!e.hasClass(z.selected)&&!e.hasClass(z.hovered)||n?j.item:j.selected,r._renderTemplate(e,a),p&&n&&e.hasClass(z.selected)&&r._togglePrecisionElements(e,c)},m.removeClass(z.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(L+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,i=this,o=t.find(L+F),r=i._getTemplateType(j[n]);o.length?o.html(r({icon:Q.iconSelected})):(a=i.parsedValue%1!==0,l=i._getItemWidth(t),o=e("<span></span>").addClass(F),o.append(r({icon:Q.iconSelected})),o.width(a?l/2:l),t.append(o),t.append(e("<span></span>").css({width:l,height:l,display:"block"})),i._createUpdatePrecisionComplement(t,a))},_createUpdatePrecisionComplement:function(t,a){var l=this,i=t.find(L+P),o=t.children().first(),r=n.support.isRtl(l.wrapper),s=r?"right":"left";i.length||(i=o.wrap(e("<span></span>").addClass(P)).parent()),i.width(a?l._getItemWidth(t)/2:0),i.css(s,a||r?"50%":0)},_calculateItemWidthFromStyles:function(e){if(e)return p(e.find(".k-icon").css("font-size"))},_getItemWidth:function(e){if(e)return e.width()||this._calculateItemWidthFromStyles(e)||0},_updatePrecisionElements:function(e,t){var a=this,l=e.find(L+F),i=n.parseFloat(e.data(B.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(B.title,u?a._format(i-R):i),e.data(B.partValue,u?i-R:i),a._createUpdatePrecisionComplement(e,u))},_updateElement:function(e){var t=this,n=null===e?"":e;t.element.val(t._format(n)),null===t.value?t.wrapper.removeAttr(M):t.wrapper.attr(M,t._format(e))},_updateItemsRendering:function(e){var t=this,n=t.options.precision==G.half,a=null===e?"item":c,l=null===e?t.container.find(L+z.selected).last():t.container.find(L+N+"[data-value='"+Math.ceil(e)+"']");null===e&&t.container.find(L+N).removeClass(z.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(f,f),n.attr(S,!0)):(t.removeAttr(f),n.removeAttr(S)),l?(t.removeAttr(v),n.removeAttr(E),n.attr(D,0)):(t.attr(v,v),n.attr(E,!0),n.removeAttr(D)),n.toggleClass(Q.disabled,!l),n.toggleClass(Q.readonly,a&&l)},_format:function(e){return n.toString(e,"n1",n.getCulture().name)},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(n._format(Math.ceil(2*e)/2)):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))}});