PageSourceSearch

https://ubsvillas.com/wp-content/plugins/essential-real-estate/pub…/js/star-rating.min.js?ver=4.1.3

js ubsvillas.com collected 2026-10-06 13:17:04 UTC 17,561 bytes, 1 lines download raw bytes

1(function(factory){"use strict";if(typeof define==="function"&&define.amd){define(["jquery"],factory)}else if(typeof module==="object"&&typeof module.exports==="object"){factory(require("jquery"))}else{factory(window.jQuery)}})(function($){"use strict";$.fn.ratingLocales={};$.fn.ratingThemes={};var $h,Rating;$h={NAMESPACE:".rating",DEFAULT_MIN:0,DEFAULT_MAX:5,DEFAULT_STEP:.5,isEmpty:function(value,trim){return value===null||value===undefined||value.length===0||trim&&$.trim(value)===""},getCss:function(condition,css){return condition?" "+css:""},addCss:function($el,css){$el.removeClass(css).addClass(css)},getDecimalPlaces:function(num){var m=(""+num).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);return!m?0:Math.max(0,(m[1]?m[1].length:0)-(m[2]?+m[2]:0))},applyPrecision:function(val,precision){return parseFloat(val.toFixed(precision))},handler:function($el,event,callback,skipOff,skipNS){var ev=skipNS?event:event.split(" ").join($h.NAMESPACE+" ")+$h.NAMESPACE;if(!skipOff){$el.off(ev)}$el.on(ev,function(e){var cb=$.proxy(callback,self);cb(e)})}};Rating=function(element,options){var self=this;self.$element=$(element);self._init(options)};Rating.prototype={constructor:Rating,_parseAttr:function(vattr,options){var self=this,$el=self.$element,elType=$el.attr("type"),finalVal,val,chk,out;if(elType==="range"||elType==="number"){val=options[vattr]||$el.data(vattr)||$el.attr(vattr);switch(vattr){case"min":chk=$h.DEFAULT_MIN;break;case"max":chk=$h.DEFAULT_MAX;break;default:chk=$h.DEFAULT_STEP}finalVal=$h.isEmpty(val)?chk:val;out=parseFloat(finalVal)}else{out=parseFloat(options[vattr])}return isNaN(out)?chk:out},_parseValue:function(val){var self=this,v=parseFloat(val);if(isNaN(v)){v=self.clearValue}return self.zeroAsNull&&(v===0||v==="0")?null:v},_setDefault:function(key,val){var self=this;if($h.isEmpty(self[key])){self[key]=val}},_initSlider:function(options){var self=this,v=self.$element.val();self.initialValue=$h.isEmpty(v)?0:v;self._setDefault("min",self._parseAttr("min",options));self._setDefault("max",self._parseAttr("max",options));self._setDefault("step",self._parseAttr("step",options));if(isNaN(self.min)||$h.isEmpty(self.min)){self.min=$h.DEFAULT_MIN}if(isNaN(self.max)||$h.isEmpty(self.max)){self.max=$h.DEFAULT_MAX}if(isNaN(self.step)||$h.isEmpty(self.step)||self.step===0){self.step=$h.DEFAULT_STEP}self.diff=self.max-self.min;self._setDefault("minThreshold",self.min);if(self.minThreshold<self.min){self.minThreshold=self.min}if(self.minThreshold>self.max){self.minThreshold=self.max}},_initHighlight:function(v){var self=this,w,cap=self._getCaption();if(!v){v=self.$element.val()}w=self.getWidthFromValue(v)+"%";self.$filledStars.width(w);self.cache={caption:cap,width:w,val:v}},_getContainerCss:function(){var self=this;return"rating-container"+$h.getCss(self.theme,"theme-"+self.theme)+$h.getCss(self.rtl,"rating-rtl")+$h.getCss(self.size,"rating-"+self.size)+$h.getCss(self.animate,"rating-animate")+$h.getCss(self.disabled||self.readonly,"rating-disabled")+$h.getCss(self.containerClass,self.containerClass)+(self.displayOnly?" is-display-only":"")},_checkDisabled:function(){var self=this,$el=self.$element,opts=self.options;self.disabled=opts.disabled===undefined?$el.attr("disabled")||false:opts.disabled;self.readonly=opts.readonly===undefined?$el.attr("readonly")||false:opts.readonly;self.inactive=self.disabled||self.readonly;$el.attr({disabled:self.disabled,readonly:self.readonly})},_addContent:function(type,content){var self=this,$container=self.$container,isClear=type==="clear";if(self.rtl){return isClear?$container.append(content):$container.prepend(content)}else{return isClear?$container.prepend(content):$container.append(content)}},_generateRating:function(){var self=this,$el=self.$element,$rating,$container,w;$container=self.$container=$(document.createElement("div")).insertBefore($el);$h.addCss($container,self._getContainerCss());self.$rating=$rating=$(document.createElement("div")).attr("class","rating-stars").appendTo($container).append(self._getStars("empty")).append(self._getStars("filled"));if(self.keyboardEnabled){self.$rating.attr("tabindex",self.tabindex)}self.$emptyStars=$rating.find(".empty-stars");self.$filledStars=$rating.find(".filled-stars");self._renderCaption();self._renderClear();self._initHighlight();self._initStarTitles();var i=1;if(self.rtl){w=Math.max(self.$emptyStars.outerWidth(),self.$filledStars.outerWidth());self.$emptyStars.width(w)}$container.insertBefore($el)},_getCaption:function(){var self=this;return self.$caption&&self.$caption.length?self.$caption.html():self.defaultCaption},_setCaption:function(content){var self=this;if(self.$caption&&self.$caption.length){self.$caption.html(content)}},_renderCaption:function(){var self=this,val=self.$element.val(),html,$cap=self.captionElement?$(self.captionElement):"";if(!self.showCaption){return}html=self.fetchCaption(val);if($cap&&$cap.length){$h.addCss($cap,"caption");$cap.html(html);self.$caption=$cap;return}self._addContent("caption",'<div class="caption">'+html+"</div>");self.$caption=self.$container.find(".caption")},_renderClear:function(){var self=this,css,$clr=self.clearElement?$(self.clearElement):"";if(!self.showClear){return}css=self._getClearClass();if($clr.length){$h.addCss($clr,css);$clr.attr({title:self.clearButtonTitle}).html(self.clearButton);self.$clear=$clr;return}self._addContent("clear",'<div class="'+css+'" title="'+self.clearButtonTitle+'">'+self.clearButton+"</div>");self.$clear=self.$container.find("."+self.clearButtonBaseClass)},_getClearClass:function(){var self=this;return self.clearButtonBaseClass+" "+(self.inactive?"":self.clearButtonActiveClass)},_toggleHover:function(out){var self=this,w,width,caption;if(!out){return}if(self.hoverChangeStars){w=self.getWidthFromValue(self.clearValue);
1width=out.val<=self.clearValue?w+"%":out.width;self.$filledStars.css("width",width)}if(self.hoverChangeCaption){caption=out.val<=self.clearValue?self.fetchCaption(self.clearValue):out.caption;if(caption){self._setCaption(caption+"")}}},_init:function(options){var self=this,$el=self.$element.attr("tabindex",-1).addClass("rating-input"),v,m=self.minThreshold;self.options=options;$.each(options,function(key,value){self[key]=value});if(self.rtl||$el.attr("dir")==="rtl"){self.rtl=true;$el.attr("dir","rtl")}self.starClicked=false;self.clearClicked=false;self._initSlider(options);self._checkDisabled();if(self.displayOnly){self.inactive=true;self.showClear=false;self.hoverEnabled=false;self.hoverChangeCaption=false;self.hoverChangeStars=false}self._generateRating();self._initEvents();self._listen();if(!$h.isEmpty(m)&&($h.isEmpty($el.val())||$el.val()<m)){$el.val(m)}v=self._parseValue($el.val());$el.val(v);return $el.removeClass("rating-loading")},_initCaptionTitle:function(){var self=this,caption;caption=self.fetchCaption(self.$element.val());self.$rating.attr("title",$(caption).text())},_trigChange:function(params){var self=this;self._initStarTitles();self.$element.trigger("change").trigger("rating:change",params)},_initEvents:function(){var self=this;self.events={_getTouchPosition:function(e){var pageX=$h.isEmpty(e.pageX)?e.originalEvent.touches[0].pageX:e.pageX;return pageX-self.$rating.offset().left},_listenClick:function(e,callback){e.stopPropagation();e.preventDefault();if(e.handled!==true){callback(e);e.handled=true}else{return false}},_noMouseAction:function(e){return!self.mouseEnabled||!self.hoverEnabled||self.inactive||e&&e.isDefaultPrevented()},initTouch:function(e){var ev,touches,pos,out,caption,w,width,params,clrVal=self.clearValue||0,isTouchCapable="ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch;if(!isTouchCapable||self.inactive){return}ev=e.originalEvent;touches=!$h.isEmpty(ev.touches)?ev.touches:ev.changedTouches;pos=self.events._getTouchPosition(touches[0]);if(e.type==="touchend"){self._setStars(pos);params=[self.$element.val(),self._getCaption()];self._trigChange(params);self.starClicked=true}else{out=self.calculate(pos);caption=out.val<=clrVal?self.fetchCaption(clrVal):out.caption;w=self.getWidthFromValue(clrVal);width=out.val<=clrVal?w+"%":out.width;self._setCaption(caption);self.$filledStars.css("width",width)}},starClick:function(e){var pos,params;self.events._listenClick(e,function(ev){if(self.inactive){return false}pos=self.events._getTouchPosition(ev);self._setStars(pos);params=[self.$element.val(),self._getCaption()];self._trigChange(params);self.starClicked=true})},clearClick:function(e){self.events._listenClick(e,function(){if(!self.inactive){self.clear();self.clearClicked=true}})},starMouseMove:function(e){var pos,out;if(self.events._noMouseAction(e)){return}self.starClicked=false;pos=self.events._getTouchPosition(e);out=self.calculate(pos);self._toggleHover(out);self.$element.trigger("rating:hover",[out.val,out.caption,"stars"])},starMouseLeave:function(e){var out;if(self.events._noMouseAction(e)||self.starClicked){return}out=self.cache;self._toggleHover(out);self.$element.trigger("rating:hoverleave",["stars"])},clearMouseMove:function(e){var caption,val,width,out;if(self.events._noMouseAction(e)||!self.hoverOnClear){return}self.clearClicked=false;caption='<span class="'+self.clearCaptionClass+'">'+self.clearCaption+"</span>";val=self.clearValue;width=self.getWidthFromValue(val)||0;out={caption:caption,width:width,val:val};self._toggleHover(out);self.$element.trigger("rating:hover",[val,caption,"clear"])},clearMouseLeave:function(e){var out;if(self.events._noMouseAction(e)||self.clearClicked||!self.hoverOnClear){return}out=self.cache;self._toggleHover(out);self.$element.trigger("rating:hoverleave",["clear"])},resetForm:function(e){if(e&&e.isDefaultPrevented()){return}if(!self.inactive){self.reset()}},focus:function(e){self.$rating.focus();self.$element.trigger("rating:focus")},blur:function(e){self.$element.trigger("rating:blur")},keydown:function(e){if(self.inactive||!self.keyboardEnabled){return}var $el=self.$element,v=$el.val(),isUpdated=false,step=parseFloat(self.step),precision=$h.getDecimalPlaces(step),upKey=self.rtl?37:39,dnKey=self.rtl?39:37,val=v?parseFloat(v):0,key=parseInt(e.which||e.keyCode||0,10);if(key===upKey&&val<self.max){val+=step;isUpdated=true}if(key===dnKey&&val>self.minThreshold){val-=step;isUpdated=true}if(isUpdated){val=$h.applyPrecision(val,precision);$el.val(val);self._trigChange([val,self._getCaption()]);self.showStars($el.val());self.$rating.focus()}if(key===37||key===39){$el.trigger("rating:keydown",[val,self._getCaption()])}}}},_listen:function(){var self=this,$el=self.$element,$form=$el.closest("form"),$rating=self.$rating,$clear=self.$clear,events=self.events,ns=$h.NAMESPACE,mouseEvents="mouseenter"+ns+" mouseleave"+ns,$stars=self.$rating.find(".star");$h.handler($rating,"touchstart touchmove touchend",events.initTouch);$h.handler($rating,"click touchstart",events.starClick);$h.handler($rating,"mousemove",events.starMouseMove);$h.handler($rating,"mouseleave",events.starMouseLeave);$h.handler($rating,"keydown",events.keydown);$h.handler($rating,"blur",events.blur);if(self.showClear&&$clear.length){$h.handler($clear,"click touchstart",events.clearClick);$h.handler($clear,"mousemove",events.clearMouseMove);$h.handler($clear,"mouseleave",events.clearMouseLeave)}if($form.length){$h.handler($form,"reset",events.resetForm,true)}$stars.off(mouseEvents).on(mouseEvents,function(e){var $star=$(this),index=$star.index(),status=$star.parent().attr("class").slice(0,-1);self.$element.trigger("rating:"+e.type,[index+1,status,$star])});$h.handler(self.$container,"click",events.focus);return $el},_getStars:function(type){var self=this,stars='<span class="'+type+'-stars">',i;for(i=1;i<=self.stars;i++){stars+='<span class="star">'+self[type+"Star"]+"</span>"}return stars+"</span>"},_initStarTitles:function(val){var self=this;if(self.showCaptionAsTitle){self._initCaptionTitle();return}var starTitles=self.starTitles,setTitles;setTitles=function($stars){var i=1,title;$stars.each(function(){var $star=$(this),j,title;if(typeof starTitles==="function"){j=i===Math.floor(val)?val:i;title=starTitles(j)}else{title=starTitles[i]}if(title){$star.attr({title:title})}i++})};setTitles(self.$emptyStars.find(".star"));setTitles(self.$filledStars.find(".star"))},_setStars:function(pos){var self=this,out=arguments.length?self.calculate(pos):self.calculate(),$el=self.$element,v=self._parseValue(out.val);$el.val(v);self.$filledStars.css("width",out.width);self._setCaption(out.caption);self.cache=out;self._initStarTitles(v);return $el},showStars:function(val){var self=this,v=self._parseValue(val);self.$element.val(v);return self._setStars()},calculate:function(pos){var self=this,defaultVal=$h.isEmpty(self.$element.val())?0:self.$element.val(),val=arguments.length?self.getValueFromPosition(pos):defaultVal,caption=self.fetchCaption(val),width=self.getWidthFromValue(val);width+="%";return{caption:caption,width:width,val:val}},getValueFromPosition:function(pos){var self=this,precision=$h.getDecimalPlaces(self.step),val,factor,maxWidth=self.$rating.width();factor=self.diff*pos/(maxWidth*self.step);factor=self.rtl?Math.floor(factor):Math.ceil(factor);val=$h.applyPrecision(parseFloat(self.min+factor*self.step),precision);val=Math.max(Math.min(val,self.max),self.minThreshold);return self.rtl?self.max-val:val},getWidthFromValue:function(val){var self=this,min=self.min,max=self.max,factor,$r=self.$emptyStars,w;if(!val||val<=self.min||min===max){return 0}
1val=Math.max(val,self.minThreshold);w=$r.outerWidth();factor=w?$r.width()/w:1;if(val>=max){return 100}return(val-min)*factor*100/(max-min)},fetchCaption:function(rating){var self=this,val=parseFloat(rating)||self.clearValue,css,cap,capVal,cssVal,caption,vCap=self.starCaptions,vCss=self.starCaptionClasses,width=self.getWidthFromValue(val);if(val&&val!==self.clearValue){val=$h.applyPrecision(val,$h.getDecimalPlaces(self.step))}cssVal=typeof vCss==="function"?vCss(val,width):vCss[val];capVal=typeof vCap==="function"?vCap(val,width):vCap[val];cap=$h.isEmpty(capVal)?self.defaultCaption.replace(/\{rating}/g,val):capVal;css=$h.isEmpty(cssVal)?self.clearCaptionClass:cssVal;caption=val===self.clearValue?self.clearCaption:cap;return'<span class="'+css+'">'+caption+"</span>"},destroy:function(){var self=this,$el=self.$element;if(!$h.isEmpty(self.$container)){self.$container.before($el).remove()}$.removeData($el.get(0));return $el.off("rating").removeClass("rating rating-input")},create:function(options){var self=this,opts=options||self.options||{};return self.destroy().rating(opts)},clear:function(){var self=this,title='<span class="'+self.clearCaptionClass+'">'+self.clearCaption+"</span>";if(!self.inactive){self._setCaption(title)}return self.showStars(self.clearValue).trigger("change").trigger("rating:clear")},reset:function(){var self=this;return self.showStars(self.initialValue).trigger("rating:reset")},update:function(val){var self=this;return arguments.length?self.showStars(val):self.$element},refresh:function(options){var self=this,$el=self.$element;if(!options){return $el}return self.destroy().rating($.extend(true,self.options,options)).trigger("rating:refresh")}};$.fn.rating=function(option){var args=Array.apply(null,arguments),retvals=[];args.shift();this.each(function(){var self=$(this),data=self.data("rating"),options=typeof option==="object"&&option,theme=options.theme||self.data("theme"),lang=options.language||self.data("language")||"en",thm={},loc={},opts;if(!data){if(theme){thm=$.fn.ratingThemes[theme]||{}}if(lang!=="en"&&!$h.isEmpty($.fn.ratingLocales[lang])){loc=$.fn.ratingLocales[lang]}opts=$.extend(true,{},$.fn.rating.defaults,thm,$.fn.ratingLocales.en,loc,options,self.data());data=new Rating(this,opts);self.data("rating",data)}if(typeof option==="string"){retvals.push(data[option].apply(data,args))}});switch(retvals.length){case 0:return this;case 1:return retvals[0]===undefined?this:retvals[0];default:return retvals}};$.fn.rating.defaults={theme:"",language:"en",stars:5,tabindex:0,keyboardEnabled:true,mouseEnabled:true,filledStar:'<i class="glyphicon glyphicon-star"></i>',emptyStar:'<i class="glyphicon glyphicon-star-empty"></i>',containerClass:"",size:"md",animate:true,displayOnly:false,rtl:false,showClear:true,showCaption:true,starCaptionClasses:{.5:"label label-danger badge-danger",1:"label label-danger badge-danger",1.5:"label label-warning badge-warning",2:"label label-warning badge-warning",2.5:"label label-info badge-info",3:"label label-info badge-info",3.5:"label label-primary badge-primary",4:"label label-primary badge-primary",4.5:"label label-success badge-success",5:"label label-success badge-success"},clearButton:'<i class="glyphicon glyphicon-minus-sign"></i>',clearButtonBaseClass:"clear-rating",clearButtonActiveClass:"clear-rating-active",clearCaptionClass:"label label-default badge-secondary",clearValue:null,captionElement:null,clearElement:null,showCaptionAsTitle:false,hoverEnabled:true,hoverChangeCaption:true,hoverChangeStars:true,hoverOnClear:true,zeroAsNull:true};$.fn.ratingLocales.en={defaultCaption:"{rating} Stars",starCaptions:{.5:"Half Star",1:"One Star",1.5:"One & Half Star",2:"Two Stars",2.5:"Two & Half Stars",3:"Three Stars",3.5:"Three & Half Stars",4:"Four Stars",4.5:"Four & Half Stars",5:"Five Stars"},starTitles:{1:"One Star",2:"Two Stars",3:"Three Stars",4:"Four Stars",5:"Five Stars"},clearButtonTitle:"Clear",clearCaption:"Not Rated"};$.fn.rating.Constructor=Rating;$(document).ready(function(){var $input=$("input.rating");if($input.length){$input.removeClass("rating-loading").addClass("rating-loading").rating()}})});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.