UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

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