| 1234567891011 |
- /*
- * # Fomantic UI - 2.7.8
- * https://github.com/fomantic/Fomantic-UI
- * http://fomantic-ui.com/
- *
- * Copyright 2014 Contributors
- * Released under the MIT license
- * http://opensource.org/licenses/MIT
- *
- */
- !function(B,t,I,X){"use strict";t=void 0!==t&&t.Math==Math?t:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),B.fn.slider=function(L){var A,e=B(this),C=B(t),F=e.selector||"",S=(new Date).getTime(),D=[],O=L,N="string"==typeof O,j=[].slice.call(arguments,1),z=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],R=0;return e.each(function(){var f,o,s,e,g,r,t,i,v,b,h,u,n,p,l=B.isPlainObject(L)?B.extend(!0,{},B.fn.slider.settings,L):B.extend({},B.fn.slider.settings),a=l.className,c=l.metadata,d=l.namespace,m=l.error,k=l.keys,w=l.interpretLabel,V=!1,T="."+d,y="module-"+d,M=B(this),P=this,x=M.data(y),E=1;p={initialize:function(){p.debug("Initializing slider",l),t=R+=1,n=p.setup.testOutTouch(),p.setup.layout(),p.setup.labels(),p.is.disabled()||p.bind.events(),p.read.metadata(),p.read.settings(),p.instantiate()},instantiate:function(){p.verbose("Storing instance of slider",p),x=p,M.data(y,p)},destroy:function(){p.verbose("Destroying previous slider for",M),clearInterval(x.interval),p.unbind.events(),p.unbind.slidingEvents(),M.removeData(y),x=X},setup:{layout:function(){M.attr("tabindex")===X&&M.attr("tabindex",0),0==M.find(".inner").length&&M.append("<div class='inner'><div class='track'></div><div class='track-fill'></div><div class='thumb'></div></div>"),u=p.get.precision(),o=M.find(".thumb:not(.second)"),f=o,p.is.range()&&(0==M.find(".thumb.second").length&&M.find(".inner").append("<div class='thumb second'></div>"),s=M.find(".thumb.second")),e=M.find(".track"),g=M.find(".track-fill"),h=o.width()/2},labels:function(){p.is.labeled()&&(0!=(r=M.find(".labels:not(.auto)")).length?p.setup.customLabel():p.setup.autoLabel(),l.showLabelTicks&&M.addClass(a.ticked))},testOutTouch:function(){try{return I.createEvent("TouchEvent"),!0}catch(e){return!1}},customLabel:function(){var n,e=r.find(".label"),a=e.length,o=p.get.min(),s=p.get.max();e.each(function(e){var t=B(this).attr("data-value");n=t?((t=s<t?s:t<o?o:t)-o)/(s-o):(e+1)/(a+1),p.update.labelPosition(n,B(this))})},autoLabel:function(){if(0!=p.get.step()){0!=(r=M.find(".labels")).length?r.empty():r=M.append('<ul class="auto labels"></ul>').find(".labels");for(var e=0,t=p.get.numLabels();e<=t;e++){var n=p.get.label(e),a=""!==n?e%p.get.gapRatio()?B('<li class="halftick label"></li>'):B('<li class="label">'+n+"</li>"):null,o=e/t;a&&(p.update.labelPosition(o,a),r.append(a))}}}},bind:{events:function(){p.bind.globalKeyboardEvents(),p.bind.keyboardEvents(),p.bind.mouseEvents(),p.is.touch()&&p.bind.touchEvents(),l.autoAdjustLabels&&p.bind.windowEvents()},keyboardEvents:function(){p.verbose("Binding keyboard events"),M.on("keydown"+T,p.event.keydown)},globalKeyboardEvents:function(){B(I).on("keydown"+T+t,p.event.activateFocus)},mouseEvents:function(){p.verbose("Binding mouse events"),M.find(".track, .thumb, .inner").on("mousedown"+T,function(e){e.stopImmediatePropagation(),e.preventDefault(),p.event.down(e)}),M.on("mousedown"+T,p.event.down),M.on("mouseenter"+T,function(e){V=!0}),M.on("mouseleave"+T,function(e){V=!1})},touchEvents:function(){p.verbose("Binding touch events"),M.find(".track, .thumb, .inner").on("touchstart"+T,function(e){e.stopImmediatePropagation(),e.preventDefault(),p.event.down(e)}),M.on("touchstart"+T,p.event.down)},slidingEvents:function(){p.verbose("Binding page wide events while handle is being draged"),p.is.touch()?(B(I).on("touchmove"+T,p.event.move),B(I).on("touchend"+T,p.event.up)):(B(I).on("mousemove"+T,p.event.move),B(I).on("mouseup"+T,p.event.up))},windowEvents:function(){C.on("resize"+T,p.event.resize)}},unbind:{events:function(){M.find(".track, .thumb, .inner").off("mousedown"+T),M.find(".track, .thumb, .inner").off("touchstart"+T),M.off("mousedown"+T),M.off("mouseenter"+T),M.off("mouseleave"+T),M.off("touchstart"+T),M.off("keydown"+T),M.off("focusout"+T),B(I).off("keydown"+T+t,p.event.activateFocus),C.off("resize"+T)},slidingEvents:function(){p.is.touch()?(B(I).off("touchmove"+T),B(I).off("touchend"+T)):(B(I).off("mousemove"+T),B(I).off("mouseup"+T))}},event:{down:function(e,t){if(e.preventDefault(),p.is.range()){var n=p.determine.eventPos(e,t),a=p.determine.pos(n);f=p.determine.closestThumb(a)}p.is.disabled()||p.bind.slidingEvents()},move:function(e,t){e.preventDefault();var n=p.determine.valueFromEvent(e,t);if(0==p.get.step()||p.is.smooth()){var a=p.thumbVal,o=p.secondThumbVal,s=p.determine.smoothValueFromEvent(e,t);f.hasClass("second")?o=n:a=n,n=Math.abs(a-(o||0)),p.update.position(s),l.onMove.call(P,n,a,o)}else p.update.value(n,function(e,t,n){l.onMove.call(P,e,t,n)})},up:function(e,t){e.preventDefault();var n=p.determine.valueFromEvent(e,t);p.set.value(n),p.unbind.slidingEvents()},keydown:function(e,t){if(p.is.focused()&&B(I).trigger(e),t||p.is.focused()){var n=p.determine.keyMovement(e);if(0!=n)switch(e.preventDefault(),n){case 1:p.takeStep();break;case 2:p.takeStep(p.get.multiplier());break;case-1:p.backStep();break;case-2:p.backStep(p.get.multiplier())}}},activateFocus:function(e){!p.is.focused()&&p.is.hover()&&0!=p.determine.keyMovement(e)&&(e.preventDefault(),p.event.keydown(e,!0),M.focus())},resize:function(e){E!=p.get.gapRatio()&&(p.setup.labels(),E=p.get.gapRatio())}},resync:function(){p.verbose("Resyncing thumb position based on value"),p.is.range()&&p.update.position(p.secondThumbVal,s),p.update.position(p.thumbVal,o),p.setup.labels()},takeStep:function(e){e=e!=X?e:1;var t=p.get.step(),n=p.get.currentThumbValue();if(p.verbose("Taking a step"),0<t)p.set.value(n+t*e);else if(0==t){var a=p.get.precision(),o=n+e/a;p.set.value(Math.round(o*a)/a)}},backStep:function(e){e=e!=X?e:1;var t=p.get.step(),n=p.get.currentThumbValue();if(p.verbose("Going back a step"),0<t)p.set.value(n-t*e);else if(0==t){var a=p.get.precision(),o=n-e/a;p.set.value(Math.round(o*a)/a)}},is:{range:function(){return M.hasClass(l.className.range)},hover:function(){return V},focused:function(){return M.is(":focus")},disabled:function(){return M.hasClass(l.className.disabled)},labeled:function(){return M.hasClass(l.className.labeled)},reversed:function(){return M.hasClass(l.className.reversed)},vertical:function(){return M.hasClass(l.className.vertical)},smooth:function(){return l.smooth||M.hasClass(l.className.smooth)},touch:function(){return n}},get:{trackOffset:function(){return p.is.vertical()?e.offset().top:e.offset().left},trackLength:function(){return p.is.vertical()?e.height():e.width()},trackLeft:function(){return p.is.vertical()?e.position().top:e.position().left},trackStartPos:function(){return p.is.reversed()?p.get.trackLeft()+p.get.trackLength():p.get.trackLeft()},trackEndPos:function(){return p.is.reversed()?p.get.trackLeft():p.get.trackLeft()+p.get.trackLength()},trackStartMargin:function(){return(p.is.vertical()?p.is.reversed()?M.css("padding-bottom"):M.css("padding-top"):p.is.reversed()?M.css("padding-right"):M.css("padding-left"))||"0px"},trackEndMargin:function(){return(p.is.vertical()?p.is.reversed()?M.css("padding-top"):M.css("padding-bottom"):p.is.reversed()?M.css("padding-left"):M.css("padding-right"))||"0px"},precision:function(){var e,t=p.get.step();if(0!=t){var n=String(t).split(".");e=2==n.length?n[1].length:0}else e=l.decimalPlaces;var a=Math.pow(10,e);return p.debug("Precision determined",a),a},min:function(){return l.min},max:function(){var e=p.get.step(),t=p.get.min(),n=0===e?0:Math.floor((l.max-t)/e);return 0==(0===e?0:(l.max-t)%e)?l.max:t+n*e},step:function(){return l.step},numLabels:function(){var e=Math.round((p.get.max()-p.get.min())/p.get.step());return p.debug("Determined that there should be "+e+" labels"),e},labelType:function(){return l.labelType},label:function(e){if(w)return w(e);switch(l.labelType){case l.labelTypes.number:return Math.round((e*p.get.step()+p.get.min())*u)/u;case l.labelTypes.letter:return z[e%26];default:return e}},value:function(){return i},currentThumbValue:function(){return f.hasClass("second")?p.secondThumbVal:p.thumbVal},thumbValue:function(e){switch(e){case"second":if(p.is.range())return p.secondThumbVal;p.error(m.notrange);break;case"first":default:return p.thumbVal}},multiplier:function(){return l.pageMultiplier},thumbPosition:function(e){switch(e){case"second":if(p.is.range())return b;p.error(m.notrange);break;case"first":default:return v}},gapRatio:function(){var e=1;if(l.autoAdjustLabels){for(var t=p.get.numLabels(),n=1;p.get.trackLength()/t*n<l.labelDistance;)t%n||(e=n),n+=1;return e}return 1}},determine:{pos:function(e){return p.is.reversed()?p.get.trackStartPos()-e+p.get.trackOffset():e-p.get.trackOffset()-p.get.trackStartPos()},closestThumb:function(e){var t=parseFloat(p.determine.thumbPos(o)),n=Math.abs(e-t),a=parseFloat(p.determine.thumbPos(s));return n<=Math.abs(e-a)?o:s},closestThumbPos:function(e){var t=parseFloat(p.determine.thumbPos(o)),n=Math.abs(e-t),a=parseFloat(p.determine.thumbPos(s));return n<=Math.abs(e-a)?t:a},thumbPos:function(e){return p.is.vertical()?p.is.reversed()?e.css("bottom"):e.css("top"):p.is.reversed()?e.css("right"):e.css("left")},positionFromValue:function(e){var t=p.get.min(),n=p.get.max(),a=(e=n<e?n:e<t?t:e,p.get.trackLength()),o=(e-t)/(n-t),s=Math.round(o*a);return p.verbose("Determined position: "+s+" from value: "+e),s},positionFromRatio:function(e){var t=p.get.trackLength(),n=p.get.step(),a=Math.round(e*t);return 0==n?a:Math.round(a/n)*n},valueFromEvent:function(e,t){var n=p.determine.eventPos(e,t),a=p.determine.pos(n);return n<p.get.trackOffset()?p.is.reversed()?p.get.max():p.get.min():n>p.get.trackOffset()+p.get.trackLength()?p.is.reversed()?p.get.min():p.get.max():p.determine.value(a)},smoothValueFromEvent:function(e,t){var n,a=p.get.min(),o=p.get.max(),s=p.get.trackLength(),r=p.determine.eventPos(e,t)-p.get.trackOffset();return n=(r=r<0?0:s<r?s:r)/s,p.is.reversed()&&(n=1-n),n*(o-a)+a},eventPos:function(e,t){if(p.is.touch()){var n=e.changedTouches[0].pageY||e.touches[0].pageY,a=e.changedTouches[0].pageX||e.touches[0].pageX;return p.is.vertical()?n:a}var o=e.pageY||t.pageY,s=e.pageX||t.pageX;return p.is.vertical()?o:s},value:function(e){var t=p.is.reversed()?p.get.trackEndPos():p.get.trackStartPos(),n=(e-t)/((p.is.reversed()?p.get.trackStartPos():p.get.trackEndPos())-t),a=p.get.max()-p.get.min(),o=p.get.step(),s=n*a,r=0==o?s:Math.round(s/o)*o;return p.verbose("Determined value based upon position: "+e+" as: "+s),s!=r&&p.verbose("Rounding value to closest step: "+r),r=Math.round(r*u)/u,p.verbose("Cutting off additional decimal places"),r+p.get.min()},keyMovement:function(e){var t=e.which,n=p.is.vertical()?p.is.reversed()?k.downArrow:k.upArrow:k.downArrow,a=p.is.vertical()?p.is.reversed()?k.upArrow:k.downArrow:k.upArrow,o=p.is.vertical()?k.leftArrow:p.is.reversed()?k.rightArrow:k.leftArrow,s=p.is.vertical()?k.rightArrow:p.is.reversed()?k.leftArrow:k.rightArrow;return t==n||t==o?-1:t==a||t==s?1:t==k.pageDown?-2:t==k.pageUp?2:0}},handleNewValuePosition:function(e){var t=p.get.min(),n=p.get.max();return e<=t?e=t:n<=e&&(e=n),p.determine.positionFromValue(e)},set:{value:function(e){p.update.value(e,function(e,t,n){l.onChange.call(P,e,t,n),l.onMove.call(P,e,t,n)})},rangeValue:function(e,t){if(p.is.range()){var n=p.get.min(),a=p.get.max();e<=n?e=n:a<=e&&(e=a),t<=n?t=n:a<=t&&(t=a),p.thumbVal=e,p.secondThumbVal=t,i=Math.abs(p.thumbVal-p.secondThumbVal),p.update.position(p.thumbVal,o),p.update.position(p.secondThumbVal,s),l.onChange.call(P,i,p.thumbVal,p.secondThumbVal),l.onMove.call(P,i,p.thumbVal,p.secondThumbVal)}else p.error(m.notrange)},position:function(e,t){var n=p.determine.value(e);switch(t){case"second":p.secondThumbVal=n,p.update.position(n,s);break;default:p.thumbVal=n,p.update.position(n,o)}i=Math.abs(p.thumbVal-(p.secondThumbVal||0)),p.set.value(i)}},update:{value:function(e,t){var n=p.get.min(),a=p.get.max();e<=n?e=n:a<=e&&(e=a),p.is.range()?(f.hasClass("second")?p.secondThumbVal=e:p.thumbVal=e,i=Math.abs(p.thumbVal-p.secondThumbVal)):(i=e,p.thumbVal=i),p.update.position(e),p.debug("Setting slider value to "+i),"function"==typeof t&&t(i,p.thumbVal,p.secondThumbVal)},position:function(e,t){var n=p.handleNewValuePosition(e),a=t!=X?t:f,o=p.thumbVal||p.get.min(),s=p.secondThumbVal||p.get.min();p.is.range()&&a.hasClass("second")?(b=n,s=e):(v=n,o=e);var r,i,u=p.get.min(),l=p.get.max(),c=100*(e-u)/(l-u),d=100*(Math.min(o,s)-u)/(l-u),m=100*(1-(Math.max(o,s)-u)/(l-u));r=p.is.vertical()?p.is.reversed()?(i={bottom:"calc("+c+"% - "+h+"px)",top:"auto"},{bottom:d+"%",top:m+"%"}):(i={top:"calc("+c+"% - "+h+"px)",bottom:"auto"},{top:d+"%",bottom:m+"%"}):p.is.reversed()?(i={right:"calc("+c+"% - "+h+"px)",left:"auto"},{right:d+"%",left:m+"%"}):(i={left:"calc("+c+"% - "+h+"px)",right:"auto"},{left:d+"%",right:m+"%"}),a.css(i),g.css(r),p.debug("Setting slider position to "+n)},labelPosition:function(e,t){var n=p.get.trackStartMargin(),a=p.get.trackEndMargin(),o=p.is.vertical()?p.is.reversed()?"bottom":"top":p.is.reversed()?"right":"left",s=p.is.reversed()&&!p.is.vertical()?" - ":" + ",r="(100% - "+n+" - "+a+") * "+e;t.css(o,"calc("+r+s+n+")")}},goto:{max:function(){p.set.value(p.get.max())},min:function(){p.set.value(p.get.min())}},read:{metadata:function(){var e={thumbVal:M.data(c.thumbVal),secondThumbVal:M.data(c.secondThumbVal)};e.thumbVal&&(p.is.range()&&e.secondThumbVal?(p.debug("Current value set from metadata",e.thumbVal,e.secondThumbVal),p.set.rangeValue(e.thumbVal,e.secondThumbVal)):(p.debug("Current value set from metadata",e.thumbVal),p.set.value(e.thumbVal)))},settings:function(){!1!==l.start&&(p.is.range()?(p.debug("Start position set from settings",l.start,l.end),p.set.rangeValue(l.start,l.end)):(p.debug("Start position set from settings",l.start),p.set.value(l.start)))}},setting:function(e,t){if(p.debug("Changing setting",e,t),B.isPlainObject(e))B.extend(!0,l,e);else{if(t===X)return l[e];B.isPlainObject(l[e])?B.extend(!0,l[e],t):l[e]=t}},internal:function(e,t){if(B.isPlainObject(e))B.extend(!0,p,e);else{if(t===X)return p[e];p[e]=t}},debug:function(){!l.silent&&l.debug&&(l.performance?p.performance.log(arguments):(p.debug=Function.prototype.bind.call(console.info,console,l.name+":"),p.debug.apply(console,arguments)))},verbose:function(){!l.silent&&l.verbose&&l.debug&&(l.performance?p.performance.log(arguments):(p.verbose=Function.prototype.bind.call(console.info,console,l.name+":"),p.verbose.apply(console,arguments)))},error:function(){l.silent||(p.error=Function.prototype.bind.call(console.error,console,l.name+":"),p.error.apply(console,arguments))},performance:{log:function(e){var t,n;l.performance&&(n=(t=(new Date).getTime())-(S||t),S=t,D.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:P,"Execution Time":n})),clearTimeout(p.performance.timer),p.performance.timer=setTimeout(p.performance.display,500)},display:function(){var e=l.name+":",n=0;S=!1,clearTimeout(p.performance.timer),B.each(D,function(e,t){n+=t["Execution Time"]}),e+=" "+n+"ms",F&&(e+=" '"+F+"'"),(console.group!==X||console.table!==X)&&0<D.length&&(console.groupCollapsed(e),console.table?console.table(D):B.each(D,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),D=[]}},invoke:function(a,e,t){var o,s,n,r=x;return e=e||j,t=P||t,"string"==typeof a&&r!==X&&(a=a.split(/[\. ]/),o=a.length-1,B.each(a,function(e,t){var n=e!=o?t+a[e+1].charAt(0).toUpperCase()+a[e+1].slice(1):a;if(B.isPlainObject(r[n])&&e!=o)r=r[n];else{if(r[n]!==X)return s=r[n],!1;if(!B.isPlainObject(r[t])||e==o)return r[t]!==X?s=r[t]:p.error(m.method,a),!1;r=r[t]}})),B.isFunction(s)?n=s.apply(t,e):s!==X&&(n=s),B.isArray(A)?A.push(n):A!==X?A=[A,n]:n!==X&&(A=n),s}},N?(x===X&&p.initialize(),p.invoke(O)):(x!==X&&x.invoke("destroy"),p.initialize())}),A!==X?A:this},B.fn.slider.settings={silent:!1,debug:!1,verbose:!1,performance:!0,name:"Slider",namespace:"slider",error:{method:"The method you called is not defined.",notrange:"This slider is not a range slider"},metadata:{thumbVal:"thumbVal",secondThumbVal:"secondThumbVal"},min:0,max:20,step:1,start:0,end:20,labelType:"number",showLabelTicks:!1,smooth:!1,autoAdjustLabels:!0,labelDistance:100,decimalPlaces:2,pageMultiplier:2,selector:{},className:{reversed:"reversed",disabled:"disabled",labeled:"labeled",ticked:"ticked",vertical:"vertical",range:"range",smooth:"smooth"},keys:{pageUp:33,pageDown:34,leftArrow:37,upArrow:38,rightArrow:39,downArrow:40},labelTypes:{number:"number",letter:"letter"},onChange:function(e,t,n){},onMove:function(e,t,n){}}}(jQuery,window,document);
|