first commit
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
/* global Chart */
|
||||
|
||||
'use strict';
|
||||
|
||||
window.chartColors = {
|
||||
red: 'rgb(255, 99, 132)',
|
||||
orange: 'rgb(255, 159, 64)',
|
||||
yellow: 'rgb(255, 205, 86)',
|
||||
green: 'rgb(26, 188, 156)',
|
||||
blue: 'rgb(54, 162, 235)',
|
||||
purple: 'rgb(153, 102, 255)',
|
||||
grey: 'rgb(201, 203, 207)'
|
||||
};
|
||||
|
||||
window.randomScalingFactor = function() {
|
||||
return (Math.random() > 0.5 ? 1.0 : -1.0) * Math.round(Math.random() * 100);
|
||||
};
|
||||
|
||||
(function(global) {
|
||||
var Months = [
|
||||
'January',
|
||||
'February',
|
||||
'March',
|
||||
'April',
|
||||
'May',
|
||||
'June',
|
||||
'July',
|
||||
'August',
|
||||
'September',
|
||||
'October',
|
||||
'November',
|
||||
'December'
|
||||
];
|
||||
|
||||
var Samples = global.Samples || (global.Samples = {});
|
||||
Samples.utils = {
|
||||
// Adapted from http://indiegamr.com/generate-repeatable-random-numbers-in-js/
|
||||
srand: function(seed) {
|
||||
this._seed = seed;
|
||||
},
|
||||
|
||||
rand: function(min, max) {
|
||||
var seed = this._seed;
|
||||
min = min === undefined? 0 : min;
|
||||
max = max === undefined? 1 : max;
|
||||
this._seed = (seed * 9301 + 49297) % 233280;
|
||||
return min + (this._seed / 233280) * (max - min);
|
||||
},
|
||||
|
||||
numbers: function(config) {
|
||||
var cfg = config || {};
|
||||
var min = cfg.min || 0;
|
||||
var max = cfg.max || 1;
|
||||
var from = cfg.from || [];
|
||||
var count = cfg.count || 8;
|
||||
var decimals = cfg.decimals || 8;
|
||||
var continuity = cfg.continuity || 1;
|
||||
var dfactor = Math.pow(10, decimals) || 0;
|
||||
var data = [];
|
||||
var i, value;
|
||||
|
||||
for (i=0; i<count; ++i) {
|
||||
value = (from[i] || 0) + this.rand(min, max);
|
||||
if (this.rand() <= continuity) {
|
||||
data.push(Math.round(dfactor * value) / dfactor);
|
||||
} else {
|
||||
data.push(null);
|
||||
}
|
||||
}
|
||||
|
||||
return data;
|
||||
},
|
||||
|
||||
labels: function(config) {
|
||||
var cfg = config || {};
|
||||
var min = cfg.min || 0;
|
||||
var max = cfg.max || 100;
|
||||
var count = cfg.count || 8;
|
||||
var step = (max-min) / count;
|
||||
var decimals = cfg.decimals || 8;
|
||||
var dfactor = Math.pow(10, decimals) || 0;
|
||||
var prefix = cfg.prefix || '';
|
||||
var values = [];
|
||||
var i;
|
||||
|
||||
for (i=min; i<max; i+=step) {
|
||||
values.push(prefix + Math.round(dfactor * i) / dfactor);
|
||||
}
|
||||
|
||||
return values;
|
||||
},
|
||||
|
||||
months: function(config) {
|
||||
var cfg = config || {};
|
||||
var count = cfg.count || 12;
|
||||
var section = cfg.section;
|
||||
var values = [];
|
||||
var i, value;
|
||||
|
||||
for (i=0; i<count; ++i) {
|
||||
value = Months[Math.ceil(i)%12];
|
||||
values.push(value.substring(0, section));
|
||||
}
|
||||
|
||||
return values;
|
||||
},
|
||||
|
||||
transparentize: function(color, opacity) {
|
||||
var alpha = opacity === undefined? 0.5 : 1 - opacity;
|
||||
return Chart.helpers.color(color).alpha(alpha).rgbString();
|
||||
},
|
||||
|
||||
merge: Chart.helpers.configMerge
|
||||
};
|
||||
|
||||
Samples.utils.srand(Date.now());
|
||||
|
||||
}(this));
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+81
@@ -0,0 +1,81 @@
|
||||
// Ion.RangeSlider | version 2.2.0 | https://github.com/IonDen/ion.rangeSlider
|
||||
;(function(f){"function"===typeof define&&define.amd?define(["jquery"],function(n){return f(n,document,window,navigator)}):"object"===typeof exports?f(require("jquery"),document,window,navigator):f(jQuery,document,window,navigator)})(function(f,n,k,r,p){var t=0,m=function(){var a=r.userAgent,b=/msie\s\d+/i;return 0<a.search(b)&&(a=b.exec(a).toString(),a=a.split(" ")[1],9>a)?(f("html").addClass("lt-ie9"),!0):!1}();Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,d=[].slice;if("function"!=
|
||||
typeof b)throw new TypeError;var c=d.call(arguments,1),e=function(){if(this instanceof e){var g=function(){};g.prototype=b.prototype;var g=new g,l=b.apply(g,c.concat(d.call(arguments)));return Object(l)===l?l:g}return b.apply(a,c.concat(d.call(arguments)))};return e});Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){if(null==this)throw new TypeError('"this" is null or not defined');var d=Object(this),c=d.length>>>0;if(0===c)return-1;var e=+b||0;Infinity===Math.abs(e)&&(e=0);if(e>=c)return-1;
|
||||
for(e=Math.max(0<=e?e:c-Math.abs(e),0);e<c;){if(e in d&&d[e]===a)return e;e++}return-1});var q=function(a,b,d){this.VERSION="2.2.0";this.input=a;this.plugin_count=d;this.old_to=this.old_from=this.update_tm=this.calc_count=this.current_plugin=0;this.raf_id=this.old_min_interval=null;this.no_diapason=this.force_redraw=this.dragging=!1;this.has_tab_index=!0;this.is_update=this.is_key=!1;this.is_start=!0;this.is_click=this.is_resize=this.is_active=this.is_finish=!1;b=b||{};this.$cache={win:f(k),body:f(n.body),
|
||||
input:f(a),cont:null,rs:null,min:null,max:null,from:null,to:null,single:null,bar:null,line:null,s_single:null,s_from:null,s_to:null,shad_single:null,shad_from:null,shad_to:null,edge:null,grid:null,grid_labels:[]};this.coords={x_gap:0,x_pointer:0,w_rs:0,w_rs_old:0,w_handle:0,p_gap:0,p_gap_left:0,p_gap_right:0,p_step:0,p_pointer:0,p_handle:0,p_single_fake:0,p_single_real:0,p_from_fake:0,p_from_real:0,p_to_fake:0,p_to_real:0,p_bar_x:0,p_bar_w:0,grid_gap:0,big_num:0,big:[],big_w:[],big_p:[],big_x:[]};
|
||||
this.labels={w_min:0,w_max:0,w_from:0,w_to:0,w_single:0,p_min:0,p_max:0,p_from_fake:0,p_from_left:0,p_to_fake:0,p_to_left:0,p_single_fake:0,p_single_left:0};var c=this.$cache.input;a=c.prop("value");var e;d={type:"single",min:10,max:100,from:null,to:null,step:1,min_interval:0,max_interval:0,drag_interval:!1,values:[],p_values:[],from_fixed:!1,from_min:null,from_max:null,from_shadow:!1,to_fixed:!1,to_min:null,to_max:null,to_shadow:!1,prettify_enabled:!0,prettify_separator:" ",prettify:null,force_edges:!1,
|
||||
keyboard:!0,grid:!1,grid_margin:!0,grid_num:4,grid_snap:!1,hide_min_max:!1,hide_from_to:!1,prefix:"",postfix:"",max_postfix:"",decorate_both:!0,values_separator:" \u2014 ",input_values_separator:";",disable:!1,block:!1,extra_classes:"",scope:null,onStart:null,onChange:null,onFinish:null,onUpdate:null};"INPUT"!==c[0].nodeName&&console&&console.warn&&console.warn("Base element should be <input>!",c[0]);c={type:c.data("type"),min:c.data("min"),max:c.data("max"),from:c.data("from"),to:c.data("to"),step:c.data("step"),
|
||||
min_interval:c.data("minInterval"),max_interval:c.data("maxInterval"),drag_interval:c.data("dragInterval"),values:c.data("values"),from_fixed:c.data("fromFixed"),from_min:c.data("fromMin"),from_max:c.data("fromMax"),from_shadow:c.data("fromShadow"),to_fixed:c.data("toFixed"),to_min:c.data("toMin"),to_max:c.data("toMax"),to_shadow:c.data("toShadow"),prettify_enabled:c.data("prettifyEnabled"),prettify_separator:c.data("prettifySeparator"),force_edges:c.data("forceEdges"),keyboard:c.data("keyboard"),
|
||||
grid:c.data("grid"),grid_margin:c.data("gridMargin"),grid_num:c.data("gridNum"),grid_snap:c.data("gridSnap"),hide_min_max:c.data("hideMinMax"),hide_from_to:c.data("hideFromTo"),prefix:c.data("prefix"),postfix:c.data("postfix"),max_postfix:c.data("maxPostfix"),decorate_both:c.data("decorateBoth"),values_separator:c.data("valuesSeparator"),input_values_separator:c.data("inputValuesSeparator"),disable:c.data("disable"),block:c.data("block"),extra_classes:c.data("extraClasses")};c.values=c.values&&c.values.split(",");
|
||||
for(e in c)c.hasOwnProperty(e)&&(c[e]!==p&&""!==c[e]||delete c[e]);a!==p&&""!==a&&(a=a.split(c.input_values_separator||b.input_values_separator||";"),a[0]&&a[0]==+a[0]&&(a[0]=+a[0]),a[1]&&a[1]==+a[1]&&(a[1]=+a[1]),b&&b.values&&b.values.length?(d.from=a[0]&&b.values.indexOf(a[0]),d.to=a[1]&&b.values.indexOf(a[1])):(d.from=a[0]&&+a[0],d.to=a[1]&&+a[1]));f.extend(d,b);f.extend(d,c);this.options=d;this.update_check={};this.validate();this.result={input:this.$cache.input,slider:null,min:this.options.min,
|
||||
max:this.options.max,from:this.options.from,from_percent:0,from_value:null,to:this.options.to,to_percent:0,to_value:null};this.init()};q.prototype={init:function(a){this.no_diapason=!1;this.coords.p_step=this.convertToPercent(this.options.step,!0);this.target="base";this.toggleInput();this.append();this.setMinMax();a?(this.force_redraw=!0,this.calc(!0),this.callOnUpdate()):(this.force_redraw=!0,this.calc(!0),this.callOnStart());this.updateScene()},append:function(){this.$cache.input.before('<span class="irs js-irs-'+
|
||||
this.plugin_count+" "+this.options.extra_classes+'"></span>');this.$cache.input.prop("readonly",!0);this.$cache.cont=this.$cache.input.prev();this.result.slider=this.$cache.cont;this.$cache.cont.html('<span class="irs"><span class="irs-line" tabindex="0"><span class="irs-line-left"></span><span class="irs-line-mid"></span><span class="irs-line-right"></span></span><span class="irs-min">0</span><span class="irs-max">1</span><span class="irs-from">0</span><span class="irs-to">0</span><span class="irs-single">0</span></span><span class="irs-grid"></span><span class="irs-bar"></span>');
|
||||
this.$cache.rs=this.$cache.cont.find(".irs");this.$cache.min=this.$cache.cont.find(".irs-min");this.$cache.max=this.$cache.cont.find(".irs-max");this.$cache.from=this.$cache.cont.find(".irs-from");this.$cache.to=this.$cache.cont.find(".irs-to");this.$cache.single=this.$cache.cont.find(".irs-single");this.$cache.bar=this.$cache.cont.find(".irs-bar");this.$cache.line=this.$cache.cont.find(".irs-line");this.$cache.grid=this.$cache.cont.find(".irs-grid");"single"===this.options.type?(this.$cache.cont.append('<span class="irs-bar-edge"></span><span class="irs-shadow shadow-single"></span><span class="irs-slider single"></span>'),
|
||||
this.$cache.edge=this.$cache.cont.find(".irs-bar-edge"),this.$cache.s_single=this.$cache.cont.find(".single"),this.$cache.from[0].style.visibility="hidden",this.$cache.to[0].style.visibility="hidden",this.$cache.shad_single=this.$cache.cont.find(".shadow-single")):(this.$cache.cont.append('<span class="irs-shadow shadow-from"></span><span class="irs-shadow shadow-to"></span><span class="irs-slider from"></span><span class="irs-slider to"></span>'),this.$cache.s_from=this.$cache.cont.find(".from"),
|
||||
this.$cache.s_to=this.$cache.cont.find(".to"),this.$cache.shad_from=this.$cache.cont.find(".shadow-from"),this.$cache.shad_to=this.$cache.cont.find(".shadow-to"),this.setTopHandler());this.options.hide_from_to&&(this.$cache.from[0].style.display="none",this.$cache.to[0].style.display="none",this.$cache.single[0].style.display="none");this.appendGrid();this.options.disable?(this.appendDisableMask(),this.$cache.input[0].disabled=!0):(this.$cache.input[0].disabled=!1,this.removeDisableMask(),this.bindEvents());
|
||||
this.options.disable||(this.options.block?this.appendDisableMask():this.removeDisableMask());this.options.drag_interval&&(this.$cache.bar[0].style.cursor="ew-resize")},setTopHandler:function(){var a=this.options.max,b=this.options.to;this.options.from>this.options.min&&b===a?this.$cache.s_from.addClass("type_last"):b<a&&this.$cache.s_to.addClass("type_last")},changeLevel:function(a){switch(a){case "single":this.coords.p_gap=this.toFixed(this.coords.p_pointer-this.coords.p_single_fake);this.$cache.s_single.addClass("state_hover");
|
||||
break;case "from":this.coords.p_gap=this.toFixed(this.coords.p_pointer-this.coords.p_from_fake);this.$cache.s_from.addClass("state_hover");this.$cache.s_from.addClass("type_last");this.$cache.s_to.removeClass("type_last");break;case "to":this.coords.p_gap=this.toFixed(this.coords.p_pointer-this.coords.p_to_fake);this.$cache.s_to.addClass("state_hover");this.$cache.s_to.addClass("type_last");this.$cache.s_from.removeClass("type_last");break;case "both":this.coords.p_gap_left=this.toFixed(this.coords.p_pointer-
|
||||
this.coords.p_from_fake),this.coords.p_gap_right=this.toFixed(this.coords.p_to_fake-this.coords.p_pointer),this.$cache.s_to.removeClass("type_last"),this.$cache.s_from.removeClass("type_last")}},appendDisableMask:function(){this.$cache.cont.append('<span class="irs-disable-mask"></span>');this.$cache.cont.addClass("irs-disabled")},removeDisableMask:function(){this.$cache.cont.remove(".irs-disable-mask");this.$cache.cont.removeClass("irs-disabled")},remove:function(){this.$cache.cont.remove();this.$cache.cont=
|
||||
null;this.$cache.line.off("keydown.irs_"+this.plugin_count);this.$cache.body.off("touchmove.irs_"+this.plugin_count);this.$cache.body.off("mousemove.irs_"+this.plugin_count);this.$cache.win.off("touchend.irs_"+this.plugin_count);this.$cache.win.off("mouseup.irs_"+this.plugin_count);m&&(this.$cache.body.off("mouseup.irs_"+this.plugin_count),this.$cache.body.off("mouseleave.irs_"+this.plugin_count));this.$cache.grid_labels=[];this.coords.big=[];this.coords.big_w=[];this.coords.big_p=[];this.coords.big_x=
|
||||
[];cancelAnimationFrame(this.raf_id)},bindEvents:function(){if(!this.no_diapason){this.$cache.body.on("touchmove.irs_"+this.plugin_count,this.pointerMove.bind(this));this.$cache.body.on("mousemove.irs_"+this.plugin_count,this.pointerMove.bind(this));this.$cache.win.on("touchend.irs_"+this.plugin_count,this.pointerUp.bind(this));this.$cache.win.on("mouseup.irs_"+this.plugin_count,this.pointerUp.bind(this));this.$cache.line.on("touchstart.irs_"+this.plugin_count,this.pointerClick.bind(this,"click"));
|
||||
this.$cache.line.on("mousedown.irs_"+this.plugin_count,this.pointerClick.bind(this,"click"));this.$cache.line.on("focus.irs_"+this.plugin_count,this.pointerFocus.bind(this));this.options.drag_interval&&"double"===this.options.type?(this.$cache.bar.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,"both")),this.$cache.bar.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,"both"))):(this.$cache.bar.on("touchstart.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")),
|
||||
this.$cache.bar.on("mousedown.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")));"single"===this.options.type?(this.$cache.single.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,"single")),this.$cache.s_single.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,"single")),this.$cache.shad_single.on("touchstart.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")),this.$cache.single.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,
|
||||
"single")),this.$cache.s_single.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,"single")),this.$cache.edge.on("mousedown.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")),this.$cache.shad_single.on("mousedown.irs_"+this.plugin_count,this.pointerClick.bind(this,"click"))):(this.$cache.single.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,null)),this.$cache.single.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,null)),this.$cache.from.on("touchstart.irs_"+
|
||||
this.plugin_count,this.pointerDown.bind(this,"from")),this.$cache.s_from.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,"from")),this.$cache.to.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,"to")),this.$cache.s_to.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,"to")),this.$cache.shad_from.on("touchstart.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")),this.$cache.shad_to.on("touchstart.irs_"+this.plugin_count,this.pointerClick.bind(this,
|
||||
"click")),this.$cache.from.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,"from")),this.$cache.s_from.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,"from")),this.$cache.to.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,"to")),this.$cache.s_to.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,"to")),this.$cache.shad_from.on("mousedown.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")),this.$cache.shad_to.on("mousedown.irs_"+
|
||||
this.plugin_count,this.pointerClick.bind(this,"click")));if(this.options.keyboard)this.$cache.line.on("keydown.irs_"+this.plugin_count,this.key.bind(this,"keyboard"));m&&(this.$cache.body.on("mouseup.irs_"+this.plugin_count,this.pointerUp.bind(this)),this.$cache.body.on("mouseleave.irs_"+this.plugin_count,this.pointerUp.bind(this)))}},pointerFocus:function(a){if(!this.target){var b="single"===this.options.type?this.$cache.single:this.$cache.from;a=b.offset().left;a+=b.width()/2-1;this.pointerClick("single",
|
||||
{preventDefault:function(){},pageX:a})}},pointerMove:function(a){this.dragging&&(this.coords.x_pointer=(a.pageX||a.originalEvent.touches&&a.originalEvent.touches[0].pageX)-this.coords.x_gap,this.calc())},pointerUp:function(a){this.current_plugin===this.plugin_count&&this.is_active&&(this.is_active=!1,this.$cache.cont.find(".state_hover").removeClass("state_hover"),this.force_redraw=!0,m&&f("*").prop("unselectable",!1),this.updateScene(),this.restoreOriginalMinInterval(),(f.contains(this.$cache.cont[0],
|
||||
a.target)||this.dragging)&&this.callOnFinish(),this.dragging=!1)},pointerDown:function(a,b){b.preventDefault();var d=b.pageX||b.originalEvent.touches&&b.originalEvent.touches[0].pageX;2!==b.button&&("both"===a&&this.setTempMinInterval(),a||(a=this.target||"from"),this.current_plugin=this.plugin_count,this.target=a,this.dragging=this.is_active=!0,this.coords.x_gap=this.$cache.rs.offset().left,this.coords.x_pointer=d-this.coords.x_gap,this.calcPointerPercent(),this.changeLevel(a),m&&f("*").prop("unselectable",
|
||||
!0),this.$cache.line.trigger("focus"),this.updateScene())},pointerClick:function(a,b){b.preventDefault();var d=b.pageX||b.originalEvent.touches&&b.originalEvent.touches[0].pageX;2!==b.button&&(this.current_plugin=this.plugin_count,this.target=a,this.is_click=!0,this.coords.x_gap=this.$cache.rs.offset().left,this.coords.x_pointer=+(d-this.coords.x_gap).toFixed(),this.force_redraw=!0,this.calc(),this.$cache.line.trigger("focus"))},key:function(a,b){if(!(this.current_plugin!==this.plugin_count||b.altKey||
|
||||
b.ctrlKey||b.shiftKey||b.metaKey)){switch(b.which){case 83:case 65:case 40:case 37:b.preventDefault();this.moveByKey(!1);break;case 87:case 68:case 38:case 39:b.preventDefault(),this.moveByKey(!0)}return!0}},moveByKey:function(a){var b=this.coords.p_pointer,d=(this.options.max-this.options.min)/100,d=this.options.step/d;this.coords.x_pointer=this.toFixed(this.coords.w_rs/100*(a?b+d:b-d));this.is_key=!0;this.calc()},setMinMax:function(){if(this.options)if(this.options.hide_min_max)this.$cache.min[0].style.display=
|
||||
"none",this.$cache.max[0].style.display="none";else{if(this.options.values.length)this.$cache.min.html(this.decorate(this.options.p_values[this.options.min])),this.$cache.max.html(this.decorate(this.options.p_values[this.options.max]));else{var a=this._prettify(this.options.min),b=this._prettify(this.options.max);this.result.min_pretty=a;this.result.max_pretty=b;this.$cache.min.html(this.decorate(a,this.options.min));this.$cache.max.html(this.decorate(b,this.options.max))}this.labels.w_min=this.$cache.min.outerWidth(!1);
|
||||
this.labels.w_max=this.$cache.max.outerWidth(!1)}},setTempMinInterval:function(){var a=this.result.to-this.result.from;null===this.old_min_interval&&(this.old_min_interval=this.options.min_interval);this.options.min_interval=a},restoreOriginalMinInterval:function(){null!==this.old_min_interval&&(this.options.min_interval=this.old_min_interval,this.old_min_interval=null)},calc:function(a){if(this.options){this.calc_count++;if(10===this.calc_count||a)this.calc_count=0,this.coords.w_rs=this.$cache.rs.outerWidth(!1),
|
||||
this.calcHandlePercent();if(this.coords.w_rs){this.calcPointerPercent();a=this.getHandleX();"both"===this.target&&(this.coords.p_gap=0,a=this.getHandleX());"click"===this.target&&(this.coords.p_gap=this.coords.p_handle/2,a=this.getHandleX(),this.target=this.options.drag_interval?"both_one":this.chooseHandle(a));switch(this.target){case "base":var b=(this.options.max-this.options.min)/100;a=(this.result.from-this.options.min)/b;b=(this.result.to-this.options.min)/b;this.coords.p_single_real=this.toFixed(a);
|
||||
this.coords.p_from_real=this.toFixed(a);this.coords.p_to_real=this.toFixed(b);this.coords.p_single_real=this.checkDiapason(this.coords.p_single_real,this.options.from_min,this.options.from_max);this.coords.p_from_real=this.checkDiapason(this.coords.p_from_real,this.options.from_min,this.options.from_max);this.coords.p_to_real=this.checkDiapason(this.coords.p_to_real,this.options.to_min,this.options.to_max);this.coords.p_single_fake=this.convertToFakePercent(this.coords.p_single_real);this.coords.p_from_fake=
|
||||
this.convertToFakePercent(this.coords.p_from_real);this.coords.p_to_fake=this.convertToFakePercent(this.coords.p_to_real);this.target=null;break;case "single":if(this.options.from_fixed)break;this.coords.p_single_real=this.convertToRealPercent(a);this.coords.p_single_real=this.calcWithStep(this.coords.p_single_real);this.coords.p_single_real=this.checkDiapason(this.coords.p_single_real,this.options.from_min,this.options.from_max);this.coords.p_single_fake=this.convertToFakePercent(this.coords.p_single_real);
|
||||
break;case "from":if(this.options.from_fixed)break;this.coords.p_from_real=this.convertToRealPercent(a);this.coords.p_from_real=this.calcWithStep(this.coords.p_from_real);this.coords.p_from_real>this.coords.p_to_real&&(this.coords.p_from_real=this.coords.p_to_real);this.coords.p_from_real=this.checkDiapason(this.coords.p_from_real,this.options.from_min,this.options.from_max);this.coords.p_from_real=this.checkMinInterval(this.coords.p_from_real,this.coords.p_to_real,"from");this.coords.p_from_real=
|
||||
this.checkMaxInterval(this.coords.p_from_real,this.coords.p_to_real,"from");this.coords.p_from_fake=this.convertToFakePercent(this.coords.p_from_real);break;case "to":if(this.options.to_fixed)break;this.coords.p_to_real=this.convertToRealPercent(a);this.coords.p_to_real=this.calcWithStep(this.coords.p_to_real);this.coords.p_to_real<this.coords.p_from_real&&(this.coords.p_to_real=this.coords.p_from_real);this.coords.p_to_real=this.checkDiapason(this.coords.p_to_real,this.options.to_min,this.options.to_max);
|
||||
this.coords.p_to_real=this.checkMinInterval(this.coords.p_to_real,this.coords.p_from_real,"to");this.coords.p_to_real=this.checkMaxInterval(this.coords.p_to_real,this.coords.p_from_real,"to");this.coords.p_to_fake=this.convertToFakePercent(this.coords.p_to_real);break;case "both":if(this.options.from_fixed||this.options.to_fixed)break;a=this.toFixed(a+.001*this.coords.p_handle);this.coords.p_from_real=this.convertToRealPercent(a)-this.coords.p_gap_left;this.coords.p_from_real=this.calcWithStep(this.coords.p_from_real);
|
||||
this.coords.p_from_real=this.checkDiapason(this.coords.p_from_real,this.options.from_min,this.options.from_max);this.coords.p_from_real=this.checkMinInterval(this.coords.p_from_real,this.coords.p_to_real,"from");this.coords.p_from_fake=this.convertToFakePercent(this.coords.p_from_real);this.coords.p_to_real=this.convertToRealPercent(a)+this.coords.p_gap_right;this.coords.p_to_real=this.calcWithStep(this.coords.p_to_real);this.coords.p_to_real=this.checkDiapason(this.coords.p_to_real,this.options.to_min,
|
||||
this.options.to_max);this.coords.p_to_real=this.checkMinInterval(this.coords.p_to_real,this.coords.p_from_real,"to");this.coords.p_to_fake=this.convertToFakePercent(this.coords.p_to_real);break;case "both_one":if(!this.options.from_fixed&&!this.options.to_fixed){var d=this.convertToRealPercent(a);a=this.result.to_percent-this.result.from_percent;var c=a/2,b=d-c,d=d+c;0>b&&(b=0,d=b+a);100<d&&(d=100,b=d-a);this.coords.p_from_real=this.calcWithStep(b);this.coords.p_from_real=this.checkDiapason(this.coords.p_from_real,
|
||||
this.options.from_min,this.options.from_max);this.coords.p_from_fake=this.convertToFakePercent(this.coords.p_from_real);this.coords.p_to_real=this.calcWithStep(d);this.coords.p_to_real=this.checkDiapason(this.coords.p_to_real,this.options.to_min,this.options.to_max);this.coords.p_to_fake=this.convertToFakePercent(this.coords.p_to_real)}}"single"===this.options.type?(this.coords.p_bar_x=this.coords.p_handle/2,this.coords.p_bar_w=this.coords.p_single_fake,this.result.from_percent=this.coords.p_single_real,
|
||||
this.result.from=this.convertToValue(this.coords.p_single_real),this.result.from_pretty=this._prettify(this.result.from),this.options.values.length&&(this.result.from_value=this.options.values[this.result.from])):(this.coords.p_bar_x=this.toFixed(this.coords.p_from_fake+this.coords.p_handle/2),this.coords.p_bar_w=this.toFixed(this.coords.p_to_fake-this.coords.p_from_fake),this.result.from_percent=this.coords.p_from_real,this.result.from=this.convertToValue(this.coords.p_from_real),this.result.from_pretty=
|
||||
this._prettify(this.result.from),this.result.to_percent=this.coords.p_to_real,this.result.to=this.convertToValue(this.coords.p_to_real),this.result.to_pretty=this._prettify(this.result.to),this.options.values.length&&(this.result.from_value=this.options.values[this.result.from],this.result.to_value=this.options.values[this.result.to]));this.calcMinMax();this.calcLabels()}}},calcPointerPercent:function(){this.coords.w_rs?(0>this.coords.x_pointer||isNaN(this.coords.x_pointer)?this.coords.x_pointer=
|
||||
0:this.coords.x_pointer>this.coords.w_rs&&(this.coords.x_pointer=this.coords.w_rs),this.coords.p_pointer=this.toFixed(this.coords.x_pointer/this.coords.w_rs*100)):this.coords.p_pointer=0},convertToRealPercent:function(a){return a/(100-this.coords.p_handle)*100},convertToFakePercent:function(a){return a/100*(100-this.coords.p_handle)},getHandleX:function(){var a=100-this.coords.p_handle,b=this.toFixed(this.coords.p_pointer-this.coords.p_gap);0>b?b=0:b>a&&(b=a);return b},calcHandlePercent:function(){this.coords.w_handle=
|
||||
"single"===this.options.type?this.$cache.s_single.outerWidth(!1):this.$cache.s_from.outerWidth(!1);this.coords.p_handle=this.toFixed(this.coords.w_handle/this.coords.w_rs*100)},chooseHandle:function(a){return"single"===this.options.type?"single":a>=this.coords.p_from_real+(this.coords.p_to_real-this.coords.p_from_real)/2?this.options.to_fixed?"from":"to":this.options.from_fixed?"to":"from"},calcMinMax:function(){this.coords.w_rs&&(this.labels.p_min=this.labels.w_min/this.coords.w_rs*100,this.labels.p_max=
|
||||
this.labels.w_max/this.coords.w_rs*100)},calcLabels:function(){this.coords.w_rs&&!this.options.hide_from_to&&("single"===this.options.type?(this.labels.w_single=this.$cache.single.outerWidth(!1),this.labels.p_single_fake=this.labels.w_single/this.coords.w_rs*100,this.labels.p_single_left=this.coords.p_single_fake+this.coords.p_handle/2-this.labels.p_single_fake/2):(this.labels.w_from=this.$cache.from.outerWidth(!1),this.labels.p_from_fake=this.labels.w_from/this.coords.w_rs*100,this.labels.p_from_left=
|
||||
this.coords.p_from_fake+this.coords.p_handle/2-this.labels.p_from_fake/2,this.labels.p_from_left=this.toFixed(this.labels.p_from_left),this.labels.p_from_left=this.checkEdges(this.labels.p_from_left,this.labels.p_from_fake),this.labels.w_to=this.$cache.to.outerWidth(!1),this.labels.p_to_fake=this.labels.w_to/this.coords.w_rs*100,this.labels.p_to_left=this.coords.p_to_fake+this.coords.p_handle/2-this.labels.p_to_fake/2,this.labels.p_to_left=this.toFixed(this.labels.p_to_left),this.labels.p_to_left=
|
||||
this.checkEdges(this.labels.p_to_left,this.labels.p_to_fake),this.labels.w_single=this.$cache.single.outerWidth(!1),this.labels.p_single_fake=this.labels.w_single/this.coords.w_rs*100,this.labels.p_single_left=(this.labels.p_from_left+this.labels.p_to_left+this.labels.p_to_fake)/2-this.labels.p_single_fake/2,this.labels.p_single_left=this.toFixed(this.labels.p_single_left)),this.labels.p_single_left=this.checkEdges(this.labels.p_single_left,this.labels.p_single_fake))},updateScene:function(){this.raf_id&&
|
||||
(cancelAnimationFrame(this.raf_id),this.raf_id=null);clearTimeout(this.update_tm);this.update_tm=null;this.options&&(this.drawHandles(),this.is_active?this.raf_id=requestAnimationFrame(this.updateScene.bind(this)):this.update_tm=setTimeout(this.updateScene.bind(this),300))},drawHandles:function(){this.coords.w_rs=this.$cache.rs.outerWidth(!1);if(this.coords.w_rs){this.coords.w_rs!==this.coords.w_rs_old&&(this.target="base",this.is_resize=!0);if(this.coords.w_rs!==this.coords.w_rs_old||this.force_redraw)this.setMinMax(),
|
||||
this.calc(!0),this.drawLabels(),this.options.grid&&(this.calcGridMargin(),this.calcGridLabels()),this.force_redraw=!0,this.coords.w_rs_old=this.coords.w_rs,this.drawShadow();if(this.coords.w_rs&&(this.dragging||this.force_redraw||this.is_key)){if(this.old_from!==this.result.from||this.old_to!==this.result.to||this.force_redraw||this.is_key){this.drawLabels();this.$cache.bar[0].style.left=this.coords.p_bar_x+"%";this.$cache.bar[0].style.width=this.coords.p_bar_w+"%";if("single"===this.options.type)this.$cache.s_single[0].style.left=
|
||||
this.coords.p_single_fake+"%";else{this.$cache.s_from[0].style.left=this.coords.p_from_fake+"%";this.$cache.s_to[0].style.left=this.coords.p_to_fake+"%";if(this.old_from!==this.result.from||this.force_redraw)this.$cache.from[0].style.left=this.labels.p_from_left+"%";if(this.old_to!==this.result.to||this.force_redraw)this.$cache.to[0].style.left=this.labels.p_to_left+"%"}this.$cache.single[0].style.left=this.labels.p_single_left+"%";this.writeToInput();this.old_from===this.result.from&&this.old_to===
|
||||
this.result.to||this.is_start||(this.$cache.input.trigger("change"),this.$cache.input.trigger("input"));this.old_from=this.result.from;this.old_to=this.result.to;this.is_resize||this.is_update||this.is_start||this.is_finish||this.callOnChange();if(this.is_key||this.is_click)this.is_click=this.is_key=!1,this.callOnFinish();this.is_finish=this.is_resize=this.is_update=!1}this.force_redraw=this.is_click=this.is_key=this.is_start=!1}}},drawLabels:function(){if(this.options){var a=this.options.values.length,
|
||||
b=this.options.p_values;if(!this.options.hide_from_to)if("single"===this.options.type){if(a)a=this.decorate(b[this.result.from]);else{var d=this._prettify(this.result.from);a=this.decorate(d,this.result.from)}this.$cache.single.html(a);this.calcLabels();this.$cache.min[0].style.visibility=this.labels.p_single_left<this.labels.p_min+1?"hidden":"visible";this.$cache.max[0].style.visibility=this.labels.p_single_left+this.labels.p_single_fake>100-this.labels.p_max-1?"hidden":"visible"}else{a?(this.options.decorate_both?
|
||||
(a=this.decorate(b[this.result.from]),a+=this.options.values_separator,a+=this.decorate(b[this.result.to])):a=this.decorate(b[this.result.from]+this.options.values_separator+b[this.result.to]),d=this.decorate(b[this.result.from]),b=this.decorate(b[this.result.to])):(d=this._prettify(this.result.from),b=this._prettify(this.result.to),this.options.decorate_both?(a=this.decorate(d,this.result.from),a+=this.options.values_separator,a+=this.decorate(b,this.result.to)):a=this.decorate(d+this.options.values_separator+
|
||||
b,this.result.to),d=this.decorate(d,this.result.from),b=this.decorate(b,this.result.to));this.$cache.single.html(a);this.$cache.from.html(d);this.$cache.to.html(b);this.calcLabels();a=Math.min(this.labels.p_single_left,this.labels.p_from_left);d=this.labels.p_single_left+this.labels.p_single_fake;var b=this.labels.p_to_left+this.labels.p_to_fake,c=Math.max(d,b);this.labels.p_from_left+this.labels.p_from_fake>=this.labels.p_to_left?(this.$cache.from[0].style.visibility="hidden",this.$cache.to[0].style.visibility=
|
||||
"hidden",this.$cache.single[0].style.visibility="visible",this.result.from===this.result.to?("from"===this.target?this.$cache.from[0].style.visibility="visible":"to"===this.target?this.$cache.to[0].style.visibility="visible":this.target||(this.$cache.from[0].style.visibility="visible"),this.$cache.single[0].style.visibility="hidden",c=b):(this.$cache.from[0].style.visibility="hidden",this.$cache.to[0].style.visibility="hidden",this.$cache.single[0].style.visibility="visible",c=Math.max(d,b))):(this.$cache.from[0].style.visibility=
|
||||
"visible",this.$cache.to[0].style.visibility="visible",this.$cache.single[0].style.visibility="hidden");this.$cache.min[0].style.visibility=a<this.labels.p_min+1?"hidden":"visible";this.$cache.max[0].style.visibility=c>100-this.labels.p_max-1?"hidden":"visible"}}},drawShadow:function(){var a=this.options,b=this.$cache,d="number"===typeof a.from_min&&!isNaN(a.from_min),c="number"===typeof a.from_max&&!isNaN(a.from_max),e="number"===typeof a.to_min&&!isNaN(a.to_min),g="number"===typeof a.to_max&&!isNaN(a.to_max);
|
||||
"single"===a.type?a.from_shadow&&(d||c)?(d=this.convertToPercent(d?a.from_min:a.min),c=this.convertToPercent(c?a.from_max:a.max)-d,d=this.toFixed(d-this.coords.p_handle/100*d),c=this.toFixed(c-this.coords.p_handle/100*c),d+=this.coords.p_handle/2,b.shad_single[0].style.display="block",b.shad_single[0].style.left=d+"%",b.shad_single[0].style.width=c+"%"):b.shad_single[0].style.display="none":(a.from_shadow&&(d||c)?(d=this.convertToPercent(d?a.from_min:a.min),c=this.convertToPercent(c?a.from_max:a.max)-
|
||||
d,d=this.toFixed(d-this.coords.p_handle/100*d),c=this.toFixed(c-this.coords.p_handle/100*c),d+=this.coords.p_handle/2,b.shad_from[0].style.display="block",b.shad_from[0].style.left=d+"%",b.shad_from[0].style.width=c+"%"):b.shad_from[0].style.display="none",a.to_shadow&&(e||g)?(e=this.convertToPercent(e?a.to_min:a.min),a=this.convertToPercent(g?a.to_max:a.max)-e,e=this.toFixed(e-this.coords.p_handle/100*e),a=this.toFixed(a-this.coords.p_handle/100*a),e+=this.coords.p_handle/2,b.shad_to[0].style.display=
|
||||
"block",b.shad_to[0].style.left=e+"%",b.shad_to[0].style.width=a+"%"):b.shad_to[0].style.display="none")},writeToInput:function(){"single"===this.options.type?(this.options.values.length?this.$cache.input.prop("value",this.result.from_value):this.$cache.input.prop("value",this.result.from),this.$cache.input.data("from",this.result.from)):(this.options.values.length?this.$cache.input.prop("value",this.result.from_value+this.options.input_values_separator+this.result.to_value):this.$cache.input.prop("value",
|
||||
this.result.from+this.options.input_values_separator+this.result.to),this.$cache.input.data("from",this.result.from),this.$cache.input.data("to",this.result.to))},callOnStart:function(){this.writeToInput();if(this.options.onStart&&"function"===typeof this.options.onStart)if(this.options.scope)this.options.onStart.call(this.options.scope,this.result);else this.options.onStart(this.result)},callOnChange:function(){this.writeToInput();if(this.options.onChange&&"function"===typeof this.options.onChange)if(this.options.scope)this.options.onChange.call(this.options.scope,
|
||||
this.result);else this.options.onChange(this.result)},callOnFinish:function(){this.writeToInput();if(this.options.onFinish&&"function"===typeof this.options.onFinish)if(this.options.scope)this.options.onFinish.call(this.options.scope,this.result);else this.options.onFinish(this.result)},callOnUpdate:function(){this.writeToInput();if(this.options.onUpdate&&"function"===typeof this.options.onUpdate)if(this.options.scope)this.options.onUpdate.call(this.options.scope,this.result);else this.options.onUpdate(this.result)},
|
||||
toggleInput:function(){this.$cache.input.toggleClass("irs-hidden-input");this.has_tab_index?this.$cache.input.prop("tabindex",-1):this.$cache.input.removeProp("tabindex");this.has_tab_index=!this.has_tab_index},convertToPercent:function(a,b){var d=this.options.max-this.options.min;return d?this.toFixed((b?a:a-this.options.min)/(d/100)):(this.no_diapason=!0,0)},convertToValue:function(a){var b=this.options.min,d=this.options.max,c=b.toString().split(".")[1],e=d.toString().split(".")[1],g,l,f=0,h=0;
|
||||
if(0===a)return this.options.min;if(100===a)return this.options.max;c&&(f=g=c.length);e&&(f=l=e.length);g&&l&&(f=g>=l?g:l);0>b&&(h=Math.abs(b),b=+(b+h).toFixed(f),d=+(d+h).toFixed(f));a=(d-b)/100*a+b;(b=this.options.step.toString().split(".")[1])?a=+a.toFixed(b.length):(a/=this.options.step,a*=this.options.step,a=+a.toFixed(0));h&&(a-=h);h=b?+a.toFixed(b.length):this.toFixed(a);h<this.options.min?h=this.options.min:h>this.options.max&&(h=this.options.max);return h},calcWithStep:function(a){var b=
|
||||
Math.round(a/this.coords.p_step)*this.coords.p_step;100<b&&(b=100);100===a&&(b=100);return this.toFixed(b)},checkMinInterval:function(a,b,d){var c=this.options;if(!c.min_interval)return a;a=this.convertToValue(a);b=this.convertToValue(b);"from"===d?b-a<c.min_interval&&(a=b-c.min_interval):a-b<c.min_interval&&(a=b+c.min_interval);return this.convertToPercent(a)},checkMaxInterval:function(a,b,d){var c=this.options;if(!c.max_interval)return a;a=this.convertToValue(a);b=this.convertToValue(b);"from"===
|
||||
d?b-a>c.max_interval&&(a=b-c.max_interval):a-b>c.max_interval&&(a=b+c.max_interval);return this.convertToPercent(a)},checkDiapason:function(a,b,d){a=this.convertToValue(a);var c=this.options;"number"!==typeof b&&(b=c.min);"number"!==typeof d&&(d=c.max);a<b&&(a=b);a>d&&(a=d);return this.convertToPercent(a)},toFixed:function(a){a=a.toFixed(20);return+a},_prettify:function(a){return this.options.prettify_enabled?this.options.prettify&&"function"===typeof this.options.prettify?this.options.prettify(a):
|
||||
this.prettify(a):a},prettify:function(a){return a.toString().replace(/(\d{1,3}(?=(?:\d\d\d)+(?!\d)))/g,"$1"+this.options.prettify_separator)},checkEdges:function(a,b){if(!this.options.force_edges)return this.toFixed(a);0>a?a=0:a>100-b&&(a=100-b);return this.toFixed(a)},validate:function(){var a=this.options,b=this.result,d=a.values,c=d.length,e;"string"===typeof a.min&&(a.min=+a.min);"string"===typeof a.max&&(a.max=+a.max);"string"===typeof a.from&&(a.from=+a.from);"string"===typeof a.to&&(a.to=+a.to);
|
||||
"string"===typeof a.step&&(a.step=+a.step);"string"===typeof a.from_min&&(a.from_min=+a.from_min);"string"===typeof a.from_max&&(a.from_max=+a.from_max);"string"===typeof a.to_min&&(a.to_min=+a.to_min);"string"===typeof a.to_max&&(a.to_max=+a.to_max);"string"===typeof a.grid_num&&(a.grid_num=+a.grid_num);a.max<a.min&&(a.max=a.min);if(c)for(a.p_values=[],a.min=0,a.max=c-1,a.step=1,a.grid_num=a.max,a.grid_snap=!0,e=0;e<c;e++){var g=+d[e];isNaN(g)?g=d[e]:(d[e]=g,g=this._prettify(g));a.p_values.push(g)}if("number"!==
|
||||
typeof a.from||isNaN(a.from))a.from=a.min;if("number"!==typeof a.to||isNaN(a.to))a.to=a.max;"single"===a.type?(a.from<a.min&&(a.from=a.min),a.from>a.max&&(a.from=a.max)):(a.from<a.min&&(a.from=a.min),a.from>a.max&&(a.from=a.max),a.to<a.min&&(a.to=a.min),a.to>a.max&&(a.to=a.max),this.update_check.from&&(this.update_check.from!==a.from&&a.from>a.to&&(a.from=a.to),this.update_check.to!==a.to&&a.to<a.from&&(a.to=a.from)),a.from>a.to&&(a.from=a.to),a.to<a.from&&(a.to=a.from));if("number"!==typeof a.step||
|
||||
isNaN(a.step)||!a.step||0>a.step)a.step=1;"number"===typeof a.from_min&&a.from<a.from_min&&(a.from=a.from_min);"number"===typeof a.from_max&&a.from>a.from_max&&(a.from=a.from_max);"number"===typeof a.to_min&&a.to<a.to_min&&(a.to=a.to_min);"number"===typeof a.to_max&&a.from>a.to_max&&(a.to=a.to_max);if(b){b.min!==a.min&&(b.min=a.min);b.max!==a.max&&(b.max=a.max);if(b.from<b.min||b.from>b.max)b.from=a.from;if(b.to<b.min||b.to>b.max)b.to=a.to}if("number"!==typeof a.min_interval||isNaN(a.min_interval)||
|
||||
!a.min_interval||0>a.min_interval)a.min_interval=0;if("number"!==typeof a.max_interval||isNaN(a.max_interval)||!a.max_interval||0>a.max_interval)a.max_interval=0;a.min_interval&&a.min_interval>a.max-a.min&&(a.min_interval=a.max-a.min);a.max_interval&&a.max_interval>a.max-a.min&&(a.max_interval=a.max-a.min)},decorate:function(a,b){var d="",c=this.options;c.prefix&&(d+=c.prefix);d+=a;c.max_postfix&&(c.values.length&&a===c.p_values[c.max]?(d+=c.max_postfix,c.postfix&&(d+=" ")):b===c.max&&(d+=c.max_postfix,
|
||||
c.postfix&&(d+=" ")));c.postfix&&(d+=c.postfix);return d},updateFrom:function(){this.result.from=this.options.from;this.result.from_percent=this.convertToPercent(this.result.from);this.result.from_pretty=this._prettify(this.result.from);this.options.values&&(this.result.from_value=this.options.values[this.result.from])},updateTo:function(){this.result.to=this.options.to;this.result.to_percent=this.convertToPercent(this.result.to);this.result.to_pretty=this._prettify(this.result.to);this.options.values&&
|
||||
(this.result.to_value=this.options.values[this.result.to])},updateResult:function(){this.result.min=this.options.min;this.result.max=this.options.max;this.updateFrom();this.updateTo()},appendGrid:function(){if(this.options.grid){var a=this.options,b;var d=a.max-a.min;var c=a.grid_num,e=4,g="";this.calcGridMargin();if(a.grid_snap)if(50<d){c=50/a.step;var f=this.toFixed(a.step/.5)}else c=d/a.step,f=this.toFixed(a.step/(d/100));else f=this.toFixed(100/c);4<c&&(e=3);7<c&&(e=2);14<c&&(e=1);28<c&&(e=0);
|
||||
for(d=0;d<c+1;d++){var k=e;var h=this.toFixed(f*d);100<h&&(h=100);this.coords.big[d]=h;var m=(h-f*(d-1))/(k+1);for(b=1;b<=k&&0!==h;b++){var n=this.toFixed(h-m*b);g+='<span class="irs-grid-pol small" style="left: '+n+'%"></span>'}g+='<span class="irs-grid-pol" style="left: '+h+'%"></span>';b=this.convertToValue(h);b=a.values.length?a.p_values[b]:this._prettify(b);g+='<span class="irs-grid-text js-grid-text-'+d+'" style="left: '+h+'%">'+b+"</span>"}this.coords.big_num=Math.ceil(c+1);this.$cache.cont.addClass("irs-with-grid");
|
||||
this.$cache.grid.html(g);this.cacheGridLabels()}},cacheGridLabels:function(){var a,b=this.coords.big_num;for(a=0;a<b;a++){var d=this.$cache.grid.find(".js-grid-text-"+a);this.$cache.grid_labels.push(d)}this.calcGridLabels()},calcGridLabels:function(){var a;var b=[];var d=[],c=this.coords.big_num;for(a=0;a<c;a++)this.coords.big_w[a]=this.$cache.grid_labels[a].outerWidth(!1),this.coords.big_p[a]=this.toFixed(this.coords.big_w[a]/this.coords.w_rs*100),this.coords.big_x[a]=this.toFixed(this.coords.big_p[a]/
|
||||
2),b[a]=this.toFixed(this.coords.big[a]-this.coords.big_x[a]),d[a]=this.toFixed(b[a]+this.coords.big_p[a]);this.options.force_edges&&(b[0]<-this.coords.grid_gap&&(b[0]=-this.coords.grid_gap,d[0]=this.toFixed(b[0]+this.coords.big_p[0]),this.coords.big_x[0]=this.coords.grid_gap),d[c-1]>100+this.coords.grid_gap&&(d[c-1]=100+this.coords.grid_gap,b[c-1]=this.toFixed(d[c-1]-this.coords.big_p[c-1]),this.coords.big_x[c-1]=this.toFixed(this.coords.big_p[c-1]-this.coords.grid_gap)));this.calcGridCollision(2,
|
||||
b,d);this.calcGridCollision(4,b,d);for(a=0;a<c;a++)b=this.$cache.grid_labels[a][0],this.coords.big_x[a]!==Number.POSITIVE_INFINITY&&(b.style.marginLeft=-this.coords.big_x[a]+"%")},calcGridCollision:function(a,b,d){var c,e=this.coords.big_num;for(c=0;c<e;c+=a){var g=c+a/2;if(g>=e)break;var f=this.$cache.grid_labels[g][0];f.style.visibility=d[c]<=b[g]?"visible":"hidden"}},calcGridMargin:function(){this.options.grid_margin&&(this.coords.w_rs=this.$cache.rs.outerWidth(!1),this.coords.w_rs&&(this.coords.w_handle=
|
||||
"single"===this.options.type?this.$cache.s_single.outerWidth(!1):this.$cache.s_from.outerWidth(!1),this.coords.p_handle=this.toFixed(this.coords.w_handle/this.coords.w_rs*100),this.coords.grid_gap=this.toFixed(this.coords.p_handle/2-.1),this.$cache.grid[0].style.width=this.toFixed(100-this.coords.p_handle)+"%",this.$cache.grid[0].style.left=this.coords.grid_gap+"%"))},update:function(a){this.input&&(this.is_update=!0,this.options.from=this.result.from,this.options.to=this.result.to,this.update_check.from=
|
||||
this.result.from,this.update_check.to=this.result.to,this.options=f.extend(this.options,a),this.validate(),this.updateResult(a),this.toggleInput(),this.remove(),this.init(!0))},reset:function(){this.input&&(this.updateResult(),this.update())},destroy:function(){this.input&&(this.toggleInput(),this.$cache.input.prop("readonly",!1),f.data(this.input,"ionRangeSlider",null),this.remove(),this.options=this.input=null)}};f.fn.ionRangeSlider=function(a){return this.each(function(){f.data(this,"ionRangeSlider")||
|
||||
f.data(this,"ionRangeSlider",new q(this,a,t++))})};(function(){for(var a=0,b=["ms","moz","webkit","o"],d=0;d<b.length&&!k.requestAnimationFrame;++d)k.requestAnimationFrame=k[b[d]+"RequestAnimationFrame"],k.cancelAnimationFrame=k[b[d]+"CancelAnimationFrame"]||k[b[d]+"CancelRequestAnimationFrame"];k.requestAnimationFrame||(k.requestAnimationFrame=function(b,d){var c=(new Date).getTime(),e=Math.max(0,16-(c-a)),f=k.setTimeout(function(){b(c+e)},e);a=c+e;return f});k.cancelAnimationFrame||(k.cancelAnimationFrame=
|
||||
function(a){clearTimeout(a)})})()});
|
||||
@@ -0,0 +1,663 @@
|
||||
;(function ( $, window, undefined ) {
|
||||
|
||||
/** Default settings */
|
||||
var defaults = {
|
||||
active: null,
|
||||
event: 'click',
|
||||
disabled: [],
|
||||
collapsible: 'accordion',
|
||||
startCollapsed: false,
|
||||
rotate: false,
|
||||
setHash: false,
|
||||
animation: 'default',
|
||||
animationQueue: false,
|
||||
duration: 500,
|
||||
scrollToAccordion: false,
|
||||
scrollToAccordionOffset: 0,
|
||||
accordionTabElement: '<div></div>',
|
||||
activate: function(){},
|
||||
deactivate: function(){},
|
||||
load: function(){},
|
||||
activateState: function(){},
|
||||
classes: {
|
||||
stateDefault: 'responsive-tabs-default',
|
||||
stateActive: 'responsive-tabs-active',
|
||||
stateDisabled: 'responsive-tabs-disabled',
|
||||
stateExcluded: 'responsive-tabs-excluded',
|
||||
container: 'responsive-tabs',
|
||||
ul: 'responsive-tabs-nav',
|
||||
tab: 'responsive-tabs-tab',
|
||||
anchor: 'responsive-tabs-anchor',
|
||||
panel: 'responsive-tabs-panel',
|
||||
accordionTitle: 'responsive-tabs-accordion-title'
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Responsive Tabs
|
||||
* @constructor
|
||||
* @param {object} element - The HTML element the validator should be bound to
|
||||
* @param {object} options - An option map
|
||||
*/
|
||||
function ResponsiveTabs(element, options) {
|
||||
this.element = element; // Selected DOM element
|
||||
this.$element = $(element); // Selected jQuery element
|
||||
|
||||
this.tabs = []; // Create tabs array
|
||||
this.state = ''; // Define the plugin state (tabs/accordion)
|
||||
this.rotateInterval = 0; // Define rotate interval
|
||||
this.$queue = $({});
|
||||
|
||||
// Extend the defaults with the passed options
|
||||
this.options = $.extend( {}, defaults, options);
|
||||
|
||||
this.init();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This function initializes the tab plugin
|
||||
*/
|
||||
ResponsiveTabs.prototype.init = function () {
|
||||
var _this = this;
|
||||
|
||||
// Load all the elements
|
||||
this.tabs = this._loadElements();
|
||||
this._loadClasses();
|
||||
this._loadEvents();
|
||||
|
||||
// Window resize bind to check state
|
||||
$(window).on('resize', function(e) {
|
||||
_this._setState(e);
|
||||
});
|
||||
|
||||
// Hashchange event
|
||||
$(window).on('hashchange', function(e) {
|
||||
var tabRef = _this._getTabRefBySelector(window.location.hash);
|
||||
var oTab = _this._getTab(tabRef);
|
||||
|
||||
// Check if a tab is found that matches the hash
|
||||
if(tabRef >= 0 && !oTab._ignoreHashChange && !oTab.disabled) {
|
||||
// If so, open the tab and auto close the current one
|
||||
_this._openTab(e, _this._getTab(tabRef), true);
|
||||
}
|
||||
});
|
||||
|
||||
// Start rotate event if rotate option is defined
|
||||
if(this.options.rotate !== false) {
|
||||
this.startRotation();
|
||||
}
|
||||
|
||||
// --------------------
|
||||
// Define plugin events
|
||||
//
|
||||
|
||||
// Activate: this event is called when a tab is selected
|
||||
this.$element.bind('tabs-activate', function(e, oTab) {
|
||||
_this.options.activate.call(this, e, oTab);
|
||||
});
|
||||
// Deactivate: this event is called when a tab is closed
|
||||
this.$element.bind('tabs-deactivate', function(e, oTab) {
|
||||
_this.options.deactivate.call(this, e, oTab);
|
||||
});
|
||||
// Activate State: this event is called when the plugin switches states
|
||||
this.$element.bind('tabs-activate-state', function(e, state) {
|
||||
_this.options.activateState.call(this, e, state);
|
||||
});
|
||||
|
||||
// Load: this event is called when the plugin has been loaded
|
||||
this.$element.bind('tabs-load', function(e) {
|
||||
var startTab;
|
||||
|
||||
_this._setState(e); // Set state
|
||||
|
||||
// Check if the panel should be collaped on load
|
||||
if(_this.options.startCollapsed !== true && !(_this.options.startCollapsed === 'accordion' && _this.state === 'accordion')) {
|
||||
|
||||
startTab = _this._getStartTab();
|
||||
|
||||
// Open the initial tab
|
||||
_this._openTab(e, startTab); // Open first tab
|
||||
|
||||
// Call the callback function
|
||||
_this.options.load.call(this, e, startTab); // Call the load callback
|
||||
}
|
||||
});
|
||||
// Trigger loaded event
|
||||
this.$element.trigger('tabs-load');
|
||||
};
|
||||
|
||||
//
|
||||
// PRIVATE FUNCTIONS
|
||||
//
|
||||
|
||||
/**
|
||||
* This function loads the tab elements and stores them in an array
|
||||
* @returns {Array} Array of tab elements
|
||||
*/
|
||||
ResponsiveTabs.prototype._loadElements = function() {
|
||||
var _this = this;
|
||||
var $ul = this.$element.children('ul');
|
||||
var tabs = [];
|
||||
var id = 0;
|
||||
|
||||
// Add the classes to the basic html elements
|
||||
this.$element.addClass(_this.options.classes.container); // Tab container
|
||||
$ul.addClass(_this.options.classes.ul); // List container
|
||||
|
||||
// Get tab buttons and store their data in an array
|
||||
$('li', $ul).each(function() {
|
||||
var $tab = $(this);
|
||||
var isExcluded = $tab.hasClass(_this.options.classes.stateExcluded);
|
||||
var $anchor, $panel, $accordionTab, $accordionAnchor, panelSelector;
|
||||
|
||||
// Check if the tab should be excluded
|
||||
if(!isExcluded) {
|
||||
|
||||
$anchor = $('a', $tab);
|
||||
panelSelector = $anchor.attr('href');
|
||||
$panel = $(panelSelector);
|
||||
$accordionTab = $(_this.options.accordionTabElement).insertBefore($panel);
|
||||
$accordionAnchor = $('<a></a>').attr('href', panelSelector).html($anchor.html()).appendTo($accordionTab);
|
||||
|
||||
var oTab = {
|
||||
_ignoreHashChange: false,
|
||||
id: id,
|
||||
disabled: ($.inArray(id, _this.options.disabled) !== -1),
|
||||
tab: $(this),
|
||||
anchor: $('a', $tab),
|
||||
panel: $panel,
|
||||
selector: panelSelector,
|
||||
accordionTab: $accordionTab,
|
||||
accordionAnchor: $accordionAnchor,
|
||||
active: false
|
||||
};
|
||||
|
||||
// 1up the ID
|
||||
id++;
|
||||
// Add to tab array
|
||||
tabs.push(oTab);
|
||||
}
|
||||
});
|
||||
return tabs;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* This function adds classes to the tab elements based on the options
|
||||
*/
|
||||
ResponsiveTabs.prototype._loadClasses = function() {
|
||||
for (var i=0; i<this.tabs.length; i++) {
|
||||
this.tabs[i].tab.addClass(this.options.classes.stateDefault).addClass(this.options.classes.tab);
|
||||
this.tabs[i].anchor.addClass(this.options.classes.anchor);
|
||||
this.tabs[i].panel.addClass(this.options.classes.stateDefault).addClass(this.options.classes.panel);
|
||||
this.tabs[i].accordionTab.addClass(this.options.classes.accordionTitle);
|
||||
this.tabs[i].accordionAnchor.addClass(this.options.classes.anchor);
|
||||
if(this.tabs[i].disabled) {
|
||||
this.tabs[i].tab.removeClass(this.options.classes.stateDefault).addClass(this.options.classes.stateDisabled);
|
||||
this.tabs[i].accordionTab.removeClass(this.options.classes.stateDefault).addClass(this.options.classes.stateDisabled);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* This function adds events to the tab elements
|
||||
*/
|
||||
ResponsiveTabs.prototype._loadEvents = function() {
|
||||
var _this = this;
|
||||
|
||||
// Define activate event on a tab element
|
||||
var fActivate = function(e) {
|
||||
var current = _this._getCurrentTab(); // Fetch current tab
|
||||
var activatedTab = e.data.tab;
|
||||
|
||||
e.preventDefault();
|
||||
|
||||
// Make sure this tab isn't disabled
|
||||
if(!activatedTab.disabled) {
|
||||
|
||||
// Check if hash has to be set in the URL location
|
||||
if(_this.options.setHash) {
|
||||
// Set the hash using the history api if available to tackle Chromes repaint bug on hash change
|
||||
if(history.pushState) {
|
||||
history.pushState(null, null, activatedTab.selector);
|
||||
} else {
|
||||
// Otherwise fallback to the hash update for sites that don't support the history api
|
||||
window.location.hash = activatedTab.selector;
|
||||
}
|
||||
}
|
||||
|
||||
e.data.tab._ignoreHashChange = true;
|
||||
|
||||
// Check if the activated tab isnt the current one or if its collapsible. If not, do nothing
|
||||
if(current !== activatedTab || _this._isCollapisble()) {
|
||||
// The activated tab is either another tab of the current one. If it's the current tab it is collapsible
|
||||
// Either way, the current tab can be closed
|
||||
_this._closeTab(e, current);
|
||||
|
||||
// Check if the activated tab isnt the current one or if it isnt collapsible
|
||||
if(current !== activatedTab || !_this._isCollapisble()) {
|
||||
_this._openTab(e, activatedTab, false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// Loop tabs
|
||||
for (var i=0; i<this.tabs.length; i++) {
|
||||
// Add activate function to the tab and accordion selection element
|
||||
this.tabs[i].anchor.on(_this.options.event, {tab: _this.tabs[i]}, fActivate);
|
||||
this.tabs[i].accordionAnchor.on(_this.options.event, {tab: _this.tabs[i]}, fActivate);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* This function gets the tab that should be opened at start
|
||||
* @returns {Object} Tab object
|
||||
*/
|
||||
ResponsiveTabs.prototype._getStartTab = function() {
|
||||
var tabRef = this._getTabRefBySelector(window.location.hash);
|
||||
var startTab;
|
||||
|
||||
// Check if the page has a hash set that is linked to a tab
|
||||
if(tabRef >= 0 && !this._getTab(tabRef).disabled) {
|
||||
// If so, set the current tab to the linked tab
|
||||
startTab = this._getTab(tabRef);
|
||||
} else if(this.options.active > 0 && !this._getTab(this.options.active).disabled) {
|
||||
startTab = this._getTab(this.options.active);
|
||||
} else {
|
||||
// If not, just get the first one
|
||||
startTab = this._getTab(0);
|
||||
}
|
||||
|
||||
return startTab;
|
||||
};
|
||||
|
||||
/**
|
||||
* This function sets the current state of the plugin
|
||||
* @param {Event} e - The event that triggers the state change
|
||||
*/
|
||||
ResponsiveTabs.prototype._setState = function(e) {
|
||||
var $ul = $('ul', this.$element);
|
||||
var oldState = this.state;
|
||||
var startCollapsedIsState = (typeof this.options.startCollapsed === 'string');
|
||||
var startTab;
|
||||
|
||||
// The state is based on the visibility of the tabs list
|
||||
if($ul.is(':visible')){
|
||||
// Tab list is visible, so the state is 'tabs'
|
||||
this.state = 'tabs';
|
||||
} else {
|
||||
// Tab list is invisible, so the state is 'accordion'
|
||||
this.state = 'accordion';
|
||||
}
|
||||
|
||||
// If the new state is different from the old state
|
||||
if(this.state !== oldState) {
|
||||
// If so, the state activate trigger must be called
|
||||
this.$element.trigger('tabs-activate-state', {oldState: oldState, newState: this.state});
|
||||
|
||||
// Check if the state switch should open a tab
|
||||
if(oldState && startCollapsedIsState && this.options.startCollapsed !== this.state && this._getCurrentTab() === undefined) {
|
||||
// Get initial tab
|
||||
startTab = this._getStartTab(e);
|
||||
// Open the initial tab
|
||||
this._openTab(e, startTab); // Open first tab
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* This function opens a tab
|
||||
* @param {Event} e - The event that triggers the tab opening
|
||||
* @param {Object} oTab - The tab object that should be opened
|
||||
* @param {Boolean} closeCurrent - Defines if the current tab should be closed
|
||||
* @param {Boolean} stopRotation - Defines if the tab rotation loop should be stopped
|
||||
*/
|
||||
ResponsiveTabs.prototype._openTab = function(e, oTab, closeCurrent, stopRotation) {
|
||||
var _this = this;
|
||||
var scrollOffset;
|
||||
|
||||
// Check if the current tab has to be closed
|
||||
if(closeCurrent) {
|
||||
this._closeTab(e, this._getCurrentTab());
|
||||
}
|
||||
|
||||
// Check if the rotation has to be stopped when activated
|
||||
if(stopRotation && this.rotateInterval > 0) {
|
||||
this.stopRotation();
|
||||
}
|
||||
|
||||
// Set this tab to active
|
||||
oTab.active = true;
|
||||
// Set active classes to the tab button and accordion tab button
|
||||
oTab.tab.removeClass(_this.options.classes.stateDefault).addClass(_this.options.classes.stateActive);
|
||||
oTab.accordionTab.removeClass(_this.options.classes.stateDefault).addClass(_this.options.classes.stateActive);
|
||||
|
||||
// Run panel transiton
|
||||
_this._doTransition(oTab.panel, _this.options.animation, 'open', function() {
|
||||
// When finished, set active class to the panel
|
||||
oTab.panel.removeClass(_this.options.classes.stateDefault).addClass(_this.options.classes.stateActive);
|
||||
|
||||
// And if enabled and state is accordion, scroll to the accordion tab
|
||||
if(_this.getState() === 'accordion' && _this.options.scrollToAccordion && (!_this._isInView(oTab.accordionTab) || _this.options.animation !== 'default')) {
|
||||
|
||||
// Add offset element's height to scroll position
|
||||
scrollOffset = oTab.accordionTab.offset().top - _this.options.scrollToAccordionOffset;
|
||||
|
||||
// Check if the animation option is enabled, and if the duration isn't 0
|
||||
if(_this.options.animation !== 'default' && _this.options.duration > 0) {
|
||||
// If so, set scrollTop with animate and use the 'animation' duration
|
||||
$('html, body').animate({
|
||||
scrollTop: scrollOffset
|
||||
}, _this.options.duration);
|
||||
} else {
|
||||
// If not, just set scrollTop
|
||||
$('html, body').scrollTop(scrollOffset);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
this.$element.trigger('tabs-activate', oTab);
|
||||
};
|
||||
|
||||
/**
|
||||
* This function closes a tab
|
||||
* @param {Event} e - The event that is triggered when a tab is closed
|
||||
* @param {Object} oTab - The tab object that should be closed
|
||||
*/
|
||||
ResponsiveTabs.prototype._closeTab = function(e, oTab) {
|
||||
var _this = this;
|
||||
var doQueueOnState = typeof _this.options.animationQueue === 'string';
|
||||
var doQueue;
|
||||
|
||||
if(oTab !== undefined) {
|
||||
if(doQueueOnState && _this.getState() === _this.options.animationQueue) {
|
||||
doQueue = true;
|
||||
} else if(doQueueOnState) {
|
||||
doQueue = false;
|
||||
} else {
|
||||
doQueue = _this.options.animationQueue;
|
||||
}
|
||||
|
||||
// Deactivate tab
|
||||
oTab.active = false;
|
||||
// Set default class to the tab button
|
||||
oTab.tab.removeClass(_this.options.classes.stateActive).addClass(_this.options.classes.stateDefault);
|
||||
|
||||
// Run panel transition
|
||||
_this._doTransition(oTab.panel, _this.options.animation, 'close', function() {
|
||||
// Set default class to the accordion tab button and tab panel
|
||||
oTab.accordionTab.removeClass(_this.options.classes.stateActive).addClass(_this.options.classes.stateDefault);
|
||||
oTab.panel.removeClass(_this.options.classes.stateActive).addClass(_this.options.classes.stateDefault);
|
||||
}, !doQueue);
|
||||
|
||||
this.$element.trigger('tabs-deactivate', oTab);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* This function runs an effect on a panel
|
||||
* @param {Element} panel - The HTML element of the tab panel
|
||||
* @param {String} method - The transition method reference
|
||||
* @param {String} state - The state (open/closed) that the panel should transition to
|
||||
* @param {Function} callback - The callback function that is called after the transition
|
||||
* @param {Boolean} dequeue - Defines if the event queue should be dequeued after the transition
|
||||
*/
|
||||
ResponsiveTabs.prototype._doTransition = function(panel, method, state, callback, dequeue) {
|
||||
var effect;
|
||||
var _this = this;
|
||||
|
||||
// Get effect based on method
|
||||
switch(method) {
|
||||
case 'slide':
|
||||
effect = (state === 'open') ? 'slideDown' : 'slideUp';
|
||||
break;
|
||||
case 'fade':
|
||||
effect = (state === 'open') ? 'fadeIn' : 'fadeOut';
|
||||
break;
|
||||
default:
|
||||
effect = (state === 'open') ? 'show' : 'hide';
|
||||
// When default is used, set the duration to 0
|
||||
_this.options.duration = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
// Add the transition to a custom queue
|
||||
this.$queue.queue('responsive-tabs',function(next){
|
||||
// Run the transition on the panel
|
||||
panel[effect]({
|
||||
duration: _this.options.duration,
|
||||
complete: function() {
|
||||
// Call the callback function
|
||||
callback.call(panel, method, state);
|
||||
// Run the next function in the queue
|
||||
next();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// When the panel is openend, dequeue everything so the animation starts
|
||||
if(state === 'open' || dequeue) {
|
||||
this.$queue.dequeue('responsive-tabs');
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* This function returns the collapsibility of the tab in this state
|
||||
* @returns {Boolean} The collapsibility of the tab
|
||||
*/
|
||||
ResponsiveTabs.prototype._isCollapisble = function() {
|
||||
return (typeof this.options.collapsible === 'boolean' && this.options.collapsible) || (typeof this.options.collapsible === 'string' && this.options.collapsible === this.getState());
|
||||
};
|
||||
|
||||
/**
|
||||
* This function returns a tab by numeric reference
|
||||
* @param {Integer} numRef - Numeric tab reference
|
||||
* @returns {Object} Tab object
|
||||
*/
|
||||
ResponsiveTabs.prototype._getTab = function(numRef) {
|
||||
return this.tabs[numRef];
|
||||
};
|
||||
|
||||
/**
|
||||
* This function returns the numeric tab reference based on a hash selector
|
||||
* @param {String} selector - Hash selector
|
||||
* @returns {Integer} Numeric tab reference
|
||||
*/
|
||||
ResponsiveTabs.prototype._getTabRefBySelector = function(selector) {
|
||||
// Loop all tabs
|
||||
for (var i=0; i<this.tabs.length; i++) {
|
||||
// Check if the hash selector is equal to the tab selector
|
||||
if(this.tabs[i].selector === selector) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
// If none is found return a negative index
|
||||
return -1;
|
||||
};
|
||||
|
||||
/**
|
||||
* This function returns the current tab element
|
||||
* @returns {Object} Current tab element
|
||||
*/
|
||||
ResponsiveTabs.prototype._getCurrentTab = function() {
|
||||
return this._getTab(this._getCurrentTabRef());
|
||||
};
|
||||
|
||||
/**
|
||||
* This function returns the next tab's numeric reference
|
||||
* @param {Integer} currentTabRef - Current numeric tab reference
|
||||
* @returns {Integer} Numeric tab reference
|
||||
*/
|
||||
ResponsiveTabs.prototype._getNextTabRef = function(currentTabRef) {
|
||||
var tabRef = (currentTabRef || this._getCurrentTabRef());
|
||||
var nextTabRef = (tabRef === this.tabs.length - 1) ? 0 : tabRef + 1;
|
||||
return (this._getTab(nextTabRef).disabled) ? this._getNextTabRef(nextTabRef) : nextTabRef;
|
||||
};
|
||||
|
||||
/**
|
||||
* This function returns the previous tab's numeric reference
|
||||
* @returns {Integer} Numeric tab reference
|
||||
*/
|
||||
ResponsiveTabs.prototype._getPreviousTabRef = function() {
|
||||
return (this._getCurrentTabRef() === 0) ? this.tabs.length - 1 : this._getCurrentTabRef() - 1;
|
||||
};
|
||||
|
||||
/**
|
||||
* This function returns the current tab's numeric reference
|
||||
* @returns {Integer} Numeric tab reference
|
||||
*/
|
||||
ResponsiveTabs.prototype._getCurrentTabRef = function() {
|
||||
// Loop all tabs
|
||||
for (var i=0; i<this.tabs.length; i++) {
|
||||
// If this tab is active, return it
|
||||
if(this.tabs[i].active) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
// No tabs have been found, return negative index
|
||||
return -1;
|
||||
};
|
||||
|
||||
//
|
||||
// HELPER FUNCTIONS
|
||||
//
|
||||
|
||||
ResponsiveTabs.prototype._isInView = function($element) {
|
||||
var docViewTop = $(window).scrollTop(),
|
||||
docViewBottom = docViewTop + $(window).height(),
|
||||
elemTop = $element.offset().top,
|
||||
elemBottom = elemTop + $element.height();
|
||||
return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
|
||||
};
|
||||
|
||||
//
|
||||
// PUBLIC FUNCTIONS
|
||||
//
|
||||
|
||||
/**
|
||||
* This function activates a tab
|
||||
* @param {Integer} tabRef - Numeric tab reference
|
||||
* @param {Boolean} stopRotation - Defines if the tab rotation should stop after activation
|
||||
*/
|
||||
ResponsiveTabs.prototype.activate = function(tabRef, stopRotation) {
|
||||
var e = jQuery.Event('tabs-activate');
|
||||
var oTab = this._getTab(tabRef);
|
||||
if(!oTab.disabled) {
|
||||
this._openTab(e, oTab, true, stopRotation || true);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* This function deactivates a tab
|
||||
* @param {Integer} tabRef - Numeric tab reference
|
||||
*/
|
||||
ResponsiveTabs.prototype.deactivate = function(tabRef) {
|
||||
var e = jQuery.Event('tabs-dectivate');
|
||||
var oTab = this._getTab(tabRef);
|
||||
if(!oTab.disabled) {
|
||||
this._closeTab(e, oTab);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* This function enables a tab
|
||||
* @param {Integer} tabRef - Numeric tab reference
|
||||
*/
|
||||
ResponsiveTabs.prototype.enable = function(tabRef) {
|
||||
var oTab = this._getTab(tabRef);
|
||||
if(oTab){
|
||||
oTab.disabled = false;
|
||||
oTab.tab.addClass(this.options.classes.stateDefault).removeClass(this.options.classes.stateDisabled);
|
||||
oTab.accordionTab.addClass(this.options.classes.stateDefault).removeClass(this.options.classes.stateDisabled);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* This function disable a tab
|
||||
* @param {Integer} tabRef - Numeric tab reference
|
||||
*/
|
||||
ResponsiveTabs.prototype.disable = function(tabRef) {
|
||||
var oTab = this._getTab(tabRef);
|
||||
if(oTab){
|
||||
oTab.disabled = true;
|
||||
oTab.tab.removeClass(this.options.classes.stateDefault).addClass(this.options.classes.stateDisabled);
|
||||
oTab.accordionTab.removeClass(this.options.classes.stateDefault).addClass(this.options.classes.stateDisabled);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* This function gets the current state of the plugin
|
||||
* @returns {String} State of the plugin
|
||||
*/
|
||||
ResponsiveTabs.prototype.getState = function() {
|
||||
return this.state;
|
||||
};
|
||||
|
||||
/**
|
||||
* This function starts the rotation of the tabs
|
||||
* @param {Integer} speed - The speed of the rotation
|
||||
*/
|
||||
ResponsiveTabs.prototype.startRotation = function(speed) {
|
||||
var _this = this;
|
||||
// Make sure not all tabs are disabled
|
||||
if(this.tabs.length > this.options.disabled.length) {
|
||||
this.rotateInterval = setInterval(function(){
|
||||
var e = jQuery.Event('rotate');
|
||||
_this._openTab(e, _this._getTab(_this._getNextTabRef()), true);
|
||||
}, speed || (($.isNumeric(_this.options.rotate)) ? _this.options.rotate : 4000) );
|
||||
} else {
|
||||
throw new Error("Rotation is not possible if all tabs are disabled");
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* This function stops the rotation of the tabs
|
||||
*/
|
||||
ResponsiveTabs.prototype.stopRotation = function() {
|
||||
window.clearInterval(this.rotateInterval);
|
||||
this.rotateInterval = 0;
|
||||
};
|
||||
|
||||
/**
|
||||
* This function can be used to get/set options
|
||||
* @return {any} Option value
|
||||
*/
|
||||
ResponsiveTabs.prototype.option = function(key, value) {
|
||||
if(value) {
|
||||
this.options[key] = value;
|
||||
}
|
||||
return this.options[key];
|
||||
};
|
||||
|
||||
/** jQuery wrapper */
|
||||
$.fn.responsiveTabs = function ( options ) {
|
||||
var args = arguments;
|
||||
var instance;
|
||||
|
||||
if (options === undefined || typeof options === 'object') {
|
||||
return this.each(function () {
|
||||
if (!$.data(this, 'responsivetabs')) {
|
||||
$.data(this, 'responsivetabs', new ResponsiveTabs( this, options ));
|
||||
}
|
||||
});
|
||||
} else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
|
||||
instance = $.data(this[0], 'responsivetabs');
|
||||
|
||||
// Allow instances to be destroyed via the 'destroy' method
|
||||
if (options === 'destroy') {
|
||||
// TODO: destroy instance classes, etc
|
||||
$.data(this, 'responsivetabs', null);
|
||||
}
|
||||
|
||||
if (instance instanceof ResponsiveTabs && typeof instance[options] === 'function') {
|
||||
return instance[options].apply( instance, Array.prototype.slice.call( args, 1 ) );
|
||||
} else {
|
||||
return this;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
}(jQuery, window));
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,5 @@
|
||||
/* -----------------------------------------------------------
|
||||
Select Splitter
|
||||
+ https://github.com/xavierfaucon/bootstrap-selectsplitter
|
||||
----------------------------------------------------------- */
|
||||
+function(e){"use strict";function t(t){return this.each(function(){var l=e(this),s=l.data("selectsplitter"),o="object"==typeof t&&t;(s||"destroy"!=t)&&(s||l.data("selectsplitter",s=new r(this,o)),"string"==typeof t&&s[t]())})}var r=function(e,t){this.init("selectsplitter",e,t)};r.DEFAULTS={template:'<div class="row" data-selectsplitter-wrapper-selector><div class="col-xs-12 col-sm-6"><select class="form-control" data-selectsplitter-firstselect-selector></select></div> <!-- Add the extra clearfix for only the required viewport --><div class="clearfix visible-xs-block"></div><div class="col-xs-12 col-sm-6"><select class="form-control" data-selectsplitter-secondselect-selector></select></div></div>'},r.prototype.init=function(t,l,s){var o=this;o.type=t,o.$element=e(l),o.$element.hide(),o.options=e.extend({},r.DEFAULTS,s),o.fullCategoryList={};var a=0,n=0;o.$element.find("optgroup").each(function(){o.fullCategoryList[e(this).attr("label")]={};var t=e(this),r=0,l={};e(this).find("option").each(function(){var t=e(this).attr("value"),s=e(this).text();l[e(this).index()]={x:t,y:s},r++}),r>n&&(n=r),o.fullCategoryList[t.attr("label")]=l,a++});var i="";for(var c in o.fullCategoryList)o.fullCategoryList.hasOwnProperty(c)&&(i=i+"<option>"+c+"</option>");o.$element.after(o.options.template),o.$wrapper=o.$element.next("div[data-selectsplitter-wrapper-selector]"),o.$firstSelect=e("select[data-selectsplitter-firstselect-selector]",o.$wrapper),o.$secondSelect=e("select[data-selectsplitter-secondselect-selector]",o.$wrapper);var d=Math.max(a,n,2);d=Math.min(d,10),o.$firstSelect.attr("size",d),o.$secondSelect.attr("size",d),o.$firstSelect.append(i),o.$firstSelect.on("change",e.proxy(o.updateParentCategory,o)),o.$secondSelect.on("change",e.proxy(o.updateChildCategory,o)),o.$selectedOption="",o.currentParentCategory="",o.currentChildCategory="",o.$element.find("option[selected=selected]").length&&(o.$selectedOption=o.$element.find("option[selected=selected]"),o.currentParentCategory=o.$selectedOption.closest("optgroup").attr("label"),o.currentChildCategory=o.$selectedOption.attr("value"),o.$firstSelect.find("option:contains("+o.currentParentCategory+")").attr("selected","selected"),o.$firstSelect.trigger("change"))},r.prototype.updateParentCategory=function(){var e=this;e.currentParentCategory=e.$firstSelect.val(),e.$secondSelect.empty();var t="";for(var r in e.fullCategoryList[e.currentParentCategory])e.fullCategoryList[e.currentParentCategory].hasOwnProperty(r)&&(t=t+'<option value="'+e.fullCategoryList[e.currentParentCategory][r].x+'">'+e.fullCategoryList[e.currentParentCategory][r].y+"</option>");e.$secondSelect.append(t),e.$selectedOption&&e.$secondSelect.find('option[value="'+e.$selectedOption.attr("value")+'"]').attr("selected","selected")},r.prototype.updateChildCategory=function(t){var r=this;r.currentChildCategory=e(t.target).val(),r.$element.find("option[selected=selected]").removeAttr("selected"),r.$element.find('option[value="'+r.currentChildCategory+'"]').attr("selected","selected"),r.$element.trigger("change"),r.$selectedOption=r.$element.find("option[selected=selected]")},r.prototype.destroy=function(){var e=this;e.$wrapper.remove(),e.$element.removeData(e.type),e.$element.show()},e.fn.selectsplitter=t,e.fn.selectsplitter.Constructor=r}(jQuery);
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,148 @@
|
||||
var canvasEvents = {
|
||||
'12-14-2018' : '<a href="http://google.com" target=_blank>Amet Temporibus ad quod enim dolor doloribus sequi!</a>',
|
||||
'11-11-2018' : '<a href="http://google.com" target=_blank>Necessitatibus nostrum voluptatibus voluptas in sequi aperiam!</a>',
|
||||
'10-17-2018' : '<a href="http://google.com" target=_blank>Eaque molestiae assumenda necessitatibus alias dignissimos quod facere!</a>',
|
||||
'10-02-2018' : '<a href="http://google.com" target=_blank>Expedita velit sequi harum modi sed autem voluptatibus.</a>',
|
||||
'09-30-2018' : '<a href="http://google.com" target=_blank>Cupiditate blanditiis autem at obcaecati libero laborum.</a>',
|
||||
'09-22-2018' : '<a href="http://google.com" target=_blank>Quo accusamus itaque esse aliquid error reprehenderit!</a>',
|
||||
'09-16-2018' : '<a href="http://google.com" target=_blank>Quia magni aperiam nam asperiores animi enim?</a>',
|
||||
'08-21-2018' : '<a href="http://google.com" target=_blank>Quia quibusdam nemo nobis rerum. Dolorem, ipsa?</a>',
|
||||
'08-09-2018' : '<a href="http://google.com" target=_blank>At minima unde cum alias maiores corrupti quas.</a>',
|
||||
'07-23-2018' : '<a href="http://google.com" target=_blank>Blanditiis maiores odio cumque eligendi facilis iure.</a>',
|
||||
'07-16-2018' : '<a href="http://google.com" target=_blank>Dolorum, iusto quisquam distinctio dolore quo aperiam reiciendis.</a>',
|
||||
'06-28-2018' : '<a href="http://google.com" target=_blank>Aperiam odio voluptatibus quae sunt unde itaque.</a>',
|
||||
'06-15-2018' : '<a href="http://google.com" target=_blank>Tempore asperiores et possimus inventore vero ab.</a>',
|
||||
'06-02-2018' : '<a href="http://google.com" target=_blank>Possimus asperiores perferendis recusandae debitis omnis consectetur aut!</a>',
|
||||
'05-30-2018' : '<a href="http://google.com" target=_blank>Minus aliquid maxime atque praesentium rerum dolores sint?</a>',
|
||||
'05-18-2018' : '<a href="http://google.com" target=_blank>Corporis accusantium assumenda facilis fugiat ut nostrum.</a>',
|
||||
'05-09-2018' : '<a href="http://google.com" target=_blank>Sequi ad sint sunt quasi veniam cum.</a>',
|
||||
'04-28-2018' : '<a href="http://google.com" target=_blank>Voluptates quae delectus laudantium vitae tempore sunt.</a>',
|
||||
'04-21-2018' : '<a href="http://google.com" target=_blank>Saepe possimus architecto necessitatibus quibusdam quam cupiditate!</a>',
|
||||
'04-16-2018' : '<a href="http://google.com" target=_blank>Sed facilis optio laborum doloremque repudiandae a.</a>',
|
||||
'03-23-2018' : '<a href="http://google.com" target=_blank>Quo officia nostrum optio nulla rerum enim.</a>',
|
||||
'03-04-2018' : '<a href="http://google.com" target=_blank>Quod facilis ratione odit facere mollitia fugit.</a>',
|
||||
'02-20-2018' : '<a href="http://google.com" target=_blank>Distinctio maiores explicabo quasi at doloremque aliquam.</a>',
|
||||
'02-13-2018' : '<a href="http://google.com" target=_blank>Doloribus voluptatibus sunt minima itaque eligendi nesciunt?</a>',
|
||||
'01-29-2018' : '<a href="http://google.com" target=_blank>Repudiandae, vero qui dolores at adipisci expedita autem!</a>',
|
||||
'01-17-2018' : '<a href="http://google.com" target=_blank>Commodi qui recusandae nihil repudiandae quam dolorum!</a>',
|
||||
'01-06-2018' : '<a href="http://google.com" target=_blank>Eius eos non error ut officiis expedita.</a>',
|
||||
'12-22-2017' : '<a href="http://google.com" target=_blank>Doloremque pariatur sequi porro repudiandae! Ab, sint.</a>',
|
||||
'12-11-2017' : '<a href="http://google.com" target=_blank>Ad magnam recusandae ratione voluptas quibusdam autem!</a>',
|
||||
'12-02-2017' : '<a href="http://google.com" target=_blank>Voluptas sed laborum aut at ratione nihil.</a>',
|
||||
'11-21-2017' : '<a href="http://google.com" target=_blank>Error illo tempora tenetur maiores nisi reprehenderit.</a>',
|
||||
'11-20-2017' : '<a href="http://google.com" target=_blank>Error consectetur doloribus tempora sequi quia!</a>',
|
||||
'11-19-2017' : '<a href="http://google.com" target=_blank>Facilis illum impedit dignissimos in et.</a>',
|
||||
'11-14-2017' : '<a href="http://google.com" target=_blank>Esse debitis eaque mollitia. Culpa, eaque.</a>',
|
||||
'11-13-2017' : '<a href="http://google.com" target=_blank>Laborum totam hic velit pariatur voluptatem.</a>',
|
||||
'11-12-2017' : '<a href="http://google.com" target=_blank>Quasi minima soluta fugit ex aliquam et!</a>',
|
||||
'11-09-2017' : '<a href="http://google.com" target=_blank>Soluta corporis sapiente temporibus doloremque reiciendis.</a>',
|
||||
'11-06-2017' : '<a href="http://google.com" target=_blank>Illum veniam vero neque doloremque asperiores! Sunt?</a>',
|
||||
'11-02-2017' : '<a href="http://google.com" target=_blank>Possimus eaque aperiam adipisci sequi distinctio eum.</a>',
|
||||
'10-30-2017' : '<a href="http://google.com" target=_blank>Modi voluptas alias earum enim inventore consequatur!</a>',
|
||||
'10-29-2017' : '<a href="http://google.com" target=_blank>Molestias sequi maxime consectetur sapiente? Exercitationem!</a>',
|
||||
'10-25-2017' : '<a href="http://google.com" target=_blank>Odit voluptatem dicta optio aliquid asperiores.</a>',
|
||||
'10-24-2017' : '<a href="http://google.com" target=_blank>Ad iusto velit veniam voluptas sit.</a>',
|
||||
'10-23-2017' : '<a href="http://google.com" target=_blank>Quidem optio odit iure similique est!</a>',
|
||||
'10-22-2017' : '<a href="http://google.com" target=_blank>Pariatur aut eos laborum quis molestias.</a>',
|
||||
'10-28-2017' : '<a href="http://google.com" target=_blank>Inventore at aliquam saepe nostrum nobis!</a>',
|
||||
'10-18-2017' : '<a href="http://google.com" target=_blank>Quidem similique eligendi nihil quis autem.</a>',
|
||||
'10-17-2017' : '<a href="http://google.com" target=_blank>Distinctio impedit hic quam corporis consequuntur.</a>',
|
||||
'10-16-2017' : '<a href="http://google.com" target=_blank>At nihil sunt architecto molestiae placeat quos.</a>',
|
||||
'10-15-2017' : '<a href="http://google.com" target=_blank>Sapiente repellat eum cupiditate quos saepe.</a>',
|
||||
'10-11-2017' : '<a href="http://google.com" target=_blank>Alias deleniti ducimus voluptatum ut distinctio dolorum!</a>',
|
||||
'10-09-2017' : '<a href="http://google.com" target=_blank>Suscipit deserunt modi vel esse ex.</a>',
|
||||
'10-04-2017' : '<a href="http://google.com" target=_blank>Enim iusto at dolor laborum ipsa exercitationem?</a>',
|
||||
'10-02-2017' : '<a href="http://google.com" target=_blank>Facilis est itaque neque doloribus nobis.</a>',
|
||||
'10-01-2017' : '<a href="http://google.com" target=_blank>Inventore quo voluptatum a deleniti officiis.</a>',
|
||||
'09-28-2017' : '<a href="http://google.com" target=_blank>Unde vitae adipisci harum repellat est?</a>',
|
||||
'09-26-2017' : '<a href="http://google.com" target=_blank>Quia velit laborum quasi molestias quae.</a>',
|
||||
'09-25-2017' : '<a href="http://google.com" target=_blank>Inventore dolor quasi asperiores nobis possimus!</a>',
|
||||
'09-20-2017' : '<a href="http://google.com" target=_blank>Quam repellat sequi earum doloremque alias dolorem?</a>',
|
||||
'09-19-2017' : '<a href="http://google.com" target=_blank>Aspernatur omnis natus a ipsa rem!</a>',
|
||||
'09-17-2017' : '<a href="http://google.com" target=_blank>Iure quasi nihil eaque deserunt assumenda pariatur!</a>',
|
||||
'09-13-2017' : '<a href="http://google.com" target=_blank>Minus odio ab harum vitae ex.</a>',
|
||||
'09-12-2017' : '<a href="http://google.com" target=_blank>Impedit iusto eum debitis recusandae ex?</a>',
|
||||
'09-11-2017' : '<a href="http://google.com" target=_blank>Assumenda eaque totam voluptatibus itaque placeat.</a>',
|
||||
'09-06-2017' : '<a href="http://google.com" target=_blank>At animi laborum facere provident obcaecati!</a>',
|
||||
'09-04-2017' : '<a href="http://google.com" target=_blank>Mollitia unde dolore impedit dolor eaque!</a>',
|
||||
'09-03-2017' : '<a href="http://google.com" target=_blank>Minus ea beatae quis libero aliquam!</a>',
|
||||
'08-29-2017' : '<a href="http://google.com" target=_blank>Accusamus soluta eius inventore laborum facilis.</a>',
|
||||
'08-27-2017' : '<a href="http://google.com" target=_blank>Nihil odit illo tempore ea temporibus.</a>',
|
||||
'08-26-2017' : '<a href="http://google.com" target=_blank>Atque at beatae voluptatem voluptate iure.</a>',
|
||||
'08-23-2017' : '<a href="http://google.com" target=_blank>Laborum odio cum optio sit aut?</a>',
|
||||
'08-17-2017' : '<a href="http://google.com" target=_blank>Delectus velit qui repellendus vitae alias ex.</a>',
|
||||
'08-16-2017' : '<a href="http://google.com" target=_blank>Ullam harum ducimus debitis neque! Eligendi?</a>',
|
||||
'08-15-2017' : '<a href="http://google.com" target=_blank>Porro nemo at numquam magnam repellendus illo.</a>',
|
||||
'08-08-2017' : '<a href="http://google.com" target="_blank">Autem reprehenderit esse neque sequi odit.</a>',
|
||||
'08-07-2017' : '<a href="http://google.com" target=_blank>At earum deleniti repudiandae dolorum velit commodi!</a>',
|
||||
'08-04-2017' : '<a href="http://google.com" target=_blank>Similique vel modi obcaecati quis sunt!</a>',
|
||||
'08-02-2017' : '<a href="http://google.com" target=_blank>Aliquid quo aliquam adipisci repellat quam.</a>',
|
||||
'08-01-2017' : '<a href="http://google.com" target=_blank>Porro labore consectetur maiores dicta et laboriosam.</a>',
|
||||
'07-27-2017' : '<a href="http://google.com" target=_blank>Laborum explicabo asperiores dolorum fuga quaerat. Deleniti.</a>',
|
||||
'07-25-2017' : '<a href="http://google.com" target=_blank>Quasi laboriosam necessitatibus veniam consectetur minus.</a>',
|
||||
'07-24-2017' : '<a href="http://google.com" target=_blank>Atque assumenda reprehenderit hic odit commodi.</a>',
|
||||
'07-23-2017' : '<a href="http://google.com" target=_blank>Excepturi voluptates veniam qui quam rem!</a>',
|
||||
'07-20-2017' : '<a href="http://google.com" target=_blank>Excepturi a similique dolore illo modi.</a>',
|
||||
'07-12-2017' : '<a href="http://google.com" target=_blank>Voluptates modi dolorem sunt. Non, iusto.</a>',
|
||||
'07-10-2017' : '<a href="http://google.com" target=_blank>Pariatur quo nihil recusandae vitae voluptas.</a>',
|
||||
'07-09-2017' : '<a href="http://google.com" target=_blank>Soluta sapiente architecto adipisci aut deleniti.</a>',
|
||||
'07-07-2017' : '<a href="http://google.com" target=_blank>Consequuntur explicabo quos adipisci ipsum voluptates!</a>',
|
||||
'07-05-2017' : '<a href="http://google.com" target=_blank>Mollitia expedita dignissimos beatae nobis repellat.</a>',
|
||||
'07-02-2017' : '<a href="http://google.com" target=_blank>Unde similique error veniam dolor modi quae.</a>',
|
||||
'07-27-2017' : '<a href="http://google.com" target=_blank>A perspiciatis tenetur nulla unde sit temporibus.</a>',
|
||||
'06-25-2017' : '<a href="http://google.com" target=_blank>Aliquam. Voluptatibus, voluptatem corrupti similique repellat.</a>',
|
||||
'06-19-2017' : '<a href="http://google.com" target=_blank>Ratione deserunt odio laborum alias quae.</a>',
|
||||
'06-18-2017' : '<a href="http://google.com" target=_blank>At omnis doloremque ipsa blanditiis fugit?</a>',
|
||||
'06-13-2017' : '<a href="http://google.com" target=_blank>Et facilis aspernatur ratione ipsa eum veritatis!</a>',
|
||||
'06-12-2017' : '<a href="http://google.com" target=_blank>Dignissimos consequuntur labore similique alias voluptas!</a>',
|
||||
'06-11-2017' : '<a href="http://google.com" target=_blank>Tempore ipsum repellat perspiciatis maiores voluptatum.</a>',
|
||||
'06-07-2017' : '<a href="http://google.com" target=_blank>Architecto dolores aliquam exercitationem quis aliquid atque.</a>',
|
||||
'06-06-2017' : '<a href="http://google.com" target=_blank>Sequi nobis in porro similique ipsum!</a>',
|
||||
'06-05-2017' : '<a href="http://google.com" target=_blank>Fugit ipsa nihil laboriosam excepturi voluptas aspernatur!</a>',
|
||||
'05-23-2017' : '<a href="http://google.com" target=_blank>Repudiandae dolore doloribus velit saepe dignissimos natus.</a>',
|
||||
'05-22-2017' : '<a href="http://google.com" target=_blank>Quae sequi veritatis architecto ullam fuga ipsum?</a>',
|
||||
'05-21-2017' : '<a href="http://google.com" target=_blank>Illo accusamus quasi fuga illum adipisci optio!</a>',
|
||||
'05-15-2017' : '<a href="http://google.com" target=_blank>Explicabo eos dolores minima illum autem. Voluptatem.</a>',
|
||||
'05-14-2017' : '<a href="http://google.com" target=_blank>Reiciendis assumenda voluptate similique eaque molestiae!</a>',
|
||||
'05-09-2017' : '<a href="http://google.com" target=_blank>Ipsum quam distinctio quia neque dignissimos?</a>',
|
||||
'05-07-2017' : '<a href="http://google.com" target=_blank>Voluptas, dolorem, omnis tempore eaque repellendus mollitia!</a>',
|
||||
'05-03-2017' : '<a href="http://google.com" target=_blank>Placeat cumque reprehenderit consequatur aliquam et?</a>',
|
||||
'05-02-2017' : '<a href="http://google.com" target=_blank>Repudiandae quisquam debitis veritatis harum enim dolorum.</a>',
|
||||
'05-01-2017' : '<a href="http://google.com" target=_blank>Obcaecati error iste corporis voluptatibus consectetur.</a>',
|
||||
'04-25-2017' : '<a href="http://google.com" target=_blank>Unde eius illo obcaecati atque commodi distinctio.</a>',
|
||||
'04-24-2017' : '<a href="http://google.com" target=_blank>Praesentium ipsum odit omnis labore unde.</a>',
|
||||
'04-28-2017' : '<a href="http://google.com" target=_blank>Sint facilis enim aperiam hic saepe.</a>',
|
||||
'04-17-2017' : '<a href="http://google.com" target=_blank>Ipsa culpa praesentium ducimus commodi corporis!</a>',
|
||||
'04-12-2017' : '<a href="http://google.com" target=_blank>Iste at quaerat pariatur distinctio esse!</a>',
|
||||
'04-10-2017' : '<a href="http://google.com" target=_blank>Tempore delectus aliquid eveniet adipisci nam.</a>',
|
||||
'04-09-2017' : '<a href="http://google.com" target=_blank>Similique cumque nesciunt id! Harum, esse, animi.</a>',
|
||||
'04-05-2017' : '<a href="http://google.com" target=_blank>Maiores perspiciatis vel error quasi ex.</a>',
|
||||
'04-03-2017' : '<a href="http://google.com" target=_blank>Cupiditate cumque molestiae nobis ipsam asperiores.</a>',
|
||||
'04-02-2017' : '<a href="http://google.com" target=_blank>Quae aspernatur iusto ratione fuga sit cum.</a>',
|
||||
'03-28-2017' : '<a href="http://google.com" target=_blank>Nostrum provident sint molestias eos consectetur.</a>',
|
||||
'03-27-2017' : '<a href="http://google.com" target=_blank>Iste nesciunt maxime et enim rerum.</a>',
|
||||
'03-24-2017' : '<a href="http://google.com" target=_blank>Eaque provident accusantium minus quibusdam quidem.</a>',
|
||||
'03-23-2017' : '<a href="http://google.com" target=_blank>Nisi dolorem maiores incidunt aliquid quod!</a>',
|
||||
'03-21-2017' : '<a href="http://google.com" target=_blank>Neque et sunt repellat. Ullam, incidunt!</a>',
|
||||
'03-12-2017' : '<a href="http://google.com" target=_blank>Placeat iste unde dolorum doloribus. Aut.</a>',
|
||||
'03-07-2017' : '<a href="http://google.com" target=_blank>Natus soluta sequi a repellat eveniet!</a>',
|
||||
'02-28-2017' : '<a href="http://google.com" target=_blank>Nisi sit aspernatur iste consequatur rerum quidem?</a>',
|
||||
'02-21-2017' : '<a href="http://google.com" target=_blank>Saepe quos nisi labore ad veniam?</a>',
|
||||
'02-19-2017' : '<a href="http://google.com" target=_blank>Tempora aliquid nulla facilis labore harum.</a>',
|
||||
'02-16-2017' : '<a href="http://google.com" target=_blank>Eaque saepe reprehenderit dolorem atque voluptates totam?</a>',
|
||||
'02-09-2017' : '<a href="http://google.com" target=_blank>Deleniti nulla consequatur nam fugit quo enim?</a>',
|
||||
'02-06-2017' : '<a href="http://google.com" target=_blank>Molestiae ratione aliquam voluptates maiores iusto.</a>',
|
||||
'02-04-2017' : '<a href="http://google.com" target=_blank>Laborum commodi tenetur natus quidem velit!</a>',
|
||||
'02-01-2017' : '<a href="http://google.com" target=_blank>Perferendis sint numquam quidem exercitationem nobis!</a>',
|
||||
'01-30-2017' : '<a href="http://google.com" target=_blank>Amet tempora odio eum quos atque.</a>',
|
||||
'01-27-2017' : '<a href="http://google.com" target=_blank>Nesciunt aut sunt quasi ullam autem.</a>',
|
||||
'01-22-2017' : '<a href="http://google.com" target=_blank>Delectus vero nobis harum quam libero.</a>',
|
||||
'01-17-2017' : '<a href="http://google.com" target=_blank>Vitae atque qui possimus explicabo exercitationem.</a>',
|
||||
'01-12-2017' : '<a href="http://google.com" target=_blank>Impedit accusantium excepturi odit minima quo nostrum.</a>',
|
||||
'01-11-2017' : '<a href="http://google.com" target=_blank>Odio consequatur deleniti eius deserunt veritatis.</a>',
|
||||
'01-10-2017' : '<a href="http://google.com" target=_blank>Reprehenderit odit rem explicabo voluptate est.</a>',
|
||||
'01-09-2017' : '<a href="http://google.com" target=_blank>Vel minus vero laborum ea molestiae.</a>',
|
||||
'01-05-2017' : '<a href="http://google.com" target=_blank>Ipsa labore distinctio molestiae fugiat at laudantium.</a>',
|
||||
'01-04-2017' : '<a href="http://google.com" target=_blank>Dolores numquam. Dicta, dolor quaerat in.</a>',
|
||||
'12-23-2016' : '<a href="http://google.com" target=_blank>Adipisci omnis ducimus tempore nostrum itaque.</a>',
|
||||
};
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,388 @@
|
||||
/**
|
||||
* jquery.calendario.js v1.0.0
|
||||
* http://www.codrops.com
|
||||
*
|
||||
* Licensed under the MIT license.
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
*
|
||||
* Copyright 2012, Codrops
|
||||
* http://www.codrops.com
|
||||
*/
|
||||
;( function( $, window, undefined ) {
|
||||
|
||||
'use strict';
|
||||
|
||||
$.Calendario = function( options, element ) {
|
||||
|
||||
this.$el = $( element );
|
||||
this._init( options );
|
||||
|
||||
};
|
||||
|
||||
// the options
|
||||
$.Calendario.defaults = {
|
||||
/*
|
||||
you can also pass:
|
||||
month : initialize calendar with this month (1-12). Default is today.
|
||||
year : initialize calendar with this year. Default is today.
|
||||
caldata : initial data/content for the calendar.
|
||||
caldata format:
|
||||
{
|
||||
'MM-DD-YYYY' : 'HTML Content',
|
||||
'MM-DD-YYYY' : 'HTML Content',
|
||||
'MM-DD-YYYY' : 'HTML Content'
|
||||
...
|
||||
}
|
||||
*/
|
||||
weeks : [ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ],
|
||||
weekabbrs : [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ],
|
||||
months : [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ],
|
||||
monthabbrs : [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ],
|
||||
// choose between values in options.weeks or options.weekabbrs
|
||||
displayWeekAbbr : false,
|
||||
// choose between values in options.months or options.monthabbrs
|
||||
displayMonthAbbr : false,
|
||||
// left most day in the calendar
|
||||
// 0 - Sunday, 1 - Monday, ... , 6 - Saturday
|
||||
startIn : 1,
|
||||
onDayClick : function( $el, $content, dateProperties ) { return false; }
|
||||
};
|
||||
|
||||
$.Calendario.prototype = {
|
||||
|
||||
_init : function( options ) {
|
||||
|
||||
// options
|
||||
this.options = $.extend( true, {}, $.Calendario.defaults, options );
|
||||
|
||||
this.today = new Date();
|
||||
this.month = ( isNaN( this.options.month ) || this.options.month == null) ? this.today.getMonth() : this.options.month - 1;
|
||||
this.year = ( isNaN( this.options.year ) || this.options.year == null) ? this.today.getFullYear() : this.options.year;
|
||||
this.caldata = this.options.caldata || {};
|
||||
this._generateTemplate();
|
||||
this._initEvents();
|
||||
|
||||
},
|
||||
_initEvents : function() {
|
||||
|
||||
var self = this;
|
||||
|
||||
this.$el.on( 'click.calendario', 'div.fc-row > div', function() {
|
||||
|
||||
var $cell = $( this ),
|
||||
idx = $cell.index(),
|
||||
$content = $cell.children( 'div' ),
|
||||
dateProp = {
|
||||
day : $cell.children( 'span.fc-date' ).text(),
|
||||
month : self.month + 1,
|
||||
monthname : self.options.displayMonthAbbr ? self.options.monthabbrs[ self.month ] : self.options.months[ self.month ],
|
||||
year : self.year,
|
||||
weekday : idx + self.options.startIn,
|
||||
weekdayname : self.options.weeks[ idx + self.options.startIn ]
|
||||
};
|
||||
|
||||
if( dateProp.day ) {
|
||||
self.options.onDayClick( $cell, $content, dateProp );
|
||||
}
|
||||
|
||||
} );
|
||||
|
||||
},
|
||||
// Calendar logic based on http://jszen.blogspot.pt/2007/03/how-to-build-simple-calendar-with.html
|
||||
_generateTemplate : function( callback ) {
|
||||
|
||||
var head = this._getHead(),
|
||||
body = this._getBody(),
|
||||
rowClass;
|
||||
|
||||
switch( this.rowTotal ) {
|
||||
case 4 : rowClass = 'fc-four-rows'; break;
|
||||
case 5 : rowClass = 'fc-five-rows'; break;
|
||||
case 6 : rowClass = 'fc-six-rows'; break;
|
||||
}
|
||||
|
||||
this.$cal = $( '<div class="fc-calendar ' + rowClass + '">' ).append( head, body );
|
||||
|
||||
this.$el.find( 'div.fc-calendar' ).remove().end().append( this.$cal );
|
||||
|
||||
if( callback ) { callback.call(); }
|
||||
|
||||
},
|
||||
_getHead : function() {
|
||||
|
||||
var html = '<div class="fc-head">';
|
||||
|
||||
for ( var i = 0; i <= 6; i++ ) {
|
||||
|
||||
var pos = i + this.options.startIn,
|
||||
j = pos > 6 ? pos - 6 - 1 : pos;
|
||||
|
||||
html += '<div>';
|
||||
html += this.options.displayWeekAbbr ? this.options.weekabbrs[ j ] : this.options.weeks[ j ];
|
||||
html += '</div>';
|
||||
|
||||
}
|
||||
|
||||
html += '</div>';
|
||||
|
||||
return html;
|
||||
|
||||
},
|
||||
_getBody : function() {
|
||||
|
||||
var d = new Date( this.year, this.month + 1, 0 ),
|
||||
// number of days in the month
|
||||
monthLength = d.getDate(),
|
||||
firstDay = new Date( this.year, this.month, 1 );
|
||||
|
||||
// day of the week
|
||||
this.startingDay = firstDay.getDay();
|
||||
|
||||
var html = '<div class="fc-body clearfix"><div class="fc-row">',
|
||||
// fill in the days
|
||||
day = 1;
|
||||
|
||||
// this loop is for weeks (rows)
|
||||
for ( var i = 0; i < 7; i++ ) {
|
||||
|
||||
// this loop is for weekdays (cells)
|
||||
for ( var j = 0; j <= 6; j++ ) {
|
||||
|
||||
var pos = this.startingDay - this.options.startIn,
|
||||
p = pos < 0 ? 6 + pos + 1 : pos,
|
||||
inner = '',
|
||||
today = this.month === this.today.getMonth() && this.year === this.today.getFullYear() && day === this.today.getDate(),
|
||||
content = '';
|
||||
|
||||
if ( day <= monthLength && ( i > 0 || j >= p ) ) {
|
||||
|
||||
inner += '<span class="fc-date">' + day + '</span><span class="fc-weekday">' + this.options.weekabbrs[ j + this.options.startIn > 6 ? j + this.options.startIn - 6 - 1 : j + this.options.startIn ] + '</span>';
|
||||
|
||||
// this day is:
|
||||
var strdate = ( this.month + 1 < 10 ? '0' + ( this.month + 1 ) : this.month + 1 ) + '-' + ( day < 10 ? '0' + day : day ) + '-' + this.year,
|
||||
dayData = this.caldata[ strdate ];
|
||||
|
||||
if( dayData ) {
|
||||
content = dayData;
|
||||
}
|
||||
|
||||
if( content !== '' ) {
|
||||
inner += '<div>' + content + '</div>';
|
||||
}
|
||||
|
||||
++day;
|
||||
|
||||
}
|
||||
else {
|
||||
today = false;
|
||||
}
|
||||
|
||||
var cellClasses = today ? 'fc-today ' : '';
|
||||
if( content !== '' ) {
|
||||
cellClasses += 'fc-content';
|
||||
}
|
||||
|
||||
html += cellClasses !== '' ? '<div class="' + cellClasses + '">' : '<div>';
|
||||
html += inner;
|
||||
html += '</div>';
|
||||
|
||||
}
|
||||
|
||||
// stop making rows if we've run out of days
|
||||
if (day > monthLength) {
|
||||
this.rowTotal = i + 1;
|
||||
break;
|
||||
}
|
||||
else {
|
||||
html += '</div><div class="fc-row">';
|
||||
}
|
||||
|
||||
}
|
||||
html += '</div></div>';
|
||||
|
||||
return html;
|
||||
|
||||
},
|
||||
// based on http://stackoverflow.com/a/8390325/989439
|
||||
_isValidDate : function( date ) {
|
||||
|
||||
date = date.replace(/-/gi,'');
|
||||
var month = parseInt( date.substring( 0, 2 ), 10 ),
|
||||
day = parseInt( date.substring( 2, 4 ), 10 ),
|
||||
year = parseInt( date.substring( 4, 8 ), 10 );
|
||||
|
||||
if( ( month < 1 ) || ( month > 12 ) ) {
|
||||
return false;
|
||||
}
|
||||
else if( ( day < 1 ) || ( day > 31 ) ) {
|
||||
return false;
|
||||
}
|
||||
else if( ( ( month == 4 ) || ( month == 6 ) || ( month == 9 ) || ( month == 11 ) ) && ( day > 30 ) ) {
|
||||
return false;
|
||||
}
|
||||
else if( ( month == 2 ) && ( ( ( year % 400 ) == 0) || ( ( year % 4 ) == 0 ) ) && ( ( year % 100 ) != 0 ) && ( day > 29 ) ) {
|
||||
return false;
|
||||
}
|
||||
else if( ( month == 2 ) && ( ( year % 100 ) == 0 ) && ( day > 29 ) ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return {
|
||||
day : day,
|
||||
month : month,
|
||||
year : year
|
||||
};
|
||||
|
||||
},
|
||||
_move : function( period, dir, callback ) {
|
||||
|
||||
if( dir === 'previous' ) {
|
||||
|
||||
if( period === 'month' ) {
|
||||
this.year = this.month > 0 ? this.year : --this.year;
|
||||
this.month = this.month > 0 ? --this.month : 11;
|
||||
}
|
||||
else if( period === 'year' ) {
|
||||
this.year = --this.year;
|
||||
}
|
||||
|
||||
}
|
||||
else if( dir === 'next' ) {
|
||||
|
||||
if( period === 'month' ) {
|
||||
this.year = this.month < 11 ? this.year : ++this.year;
|
||||
this.month = this.month < 11 ? ++this.month : 0;
|
||||
}
|
||||
else if( period === 'year' ) {
|
||||
this.year = ++this.year;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
this._generateTemplate( callback );
|
||||
|
||||
},
|
||||
/*************************
|
||||
******PUBLIC METHODS *****
|
||||
**************************/
|
||||
getYear : function() {
|
||||
return this.year;
|
||||
},
|
||||
getMonth : function() {
|
||||
return this.month + 1;
|
||||
},
|
||||
getMonthName : function() {
|
||||
return this.options.displayMonthAbbr ? this.options.monthabbrs[ this.month ] : this.options.months[ this.month ];
|
||||
},
|
||||
// gets the cell's content div associated to a day of the current displayed month
|
||||
// day : 1 - [28||29||30||31]
|
||||
getCell : function( day ) {
|
||||
|
||||
var row = Math.floor( ( day + this.startingDay - this.options.startIn ) / 7 ),
|
||||
pos = day + this.startingDay - this.options.startIn - ( row * 7 ) - 1;
|
||||
|
||||
return this.$cal.find( 'div.fc-body' ).children( 'div.fc-row' ).eq( row ).children( 'div' ).eq( pos ).children( 'div' );
|
||||
|
||||
},
|
||||
setData : function( caldata ) {
|
||||
|
||||
caldata = caldata || {};
|
||||
$.extend( this.caldata, caldata );
|
||||
this._generateTemplate();
|
||||
|
||||
},
|
||||
// goes to today's month/year
|
||||
gotoNow : function( callback ) {
|
||||
|
||||
this.month = this.today.getMonth();
|
||||
this.year = this.today.getFullYear();
|
||||
this._generateTemplate( callback );
|
||||
|
||||
},
|
||||
// goes to month/year
|
||||
goto : function( month, year, callback ) {
|
||||
|
||||
this.month = month;
|
||||
this.year = year;
|
||||
this._generateTemplate( callback );
|
||||
|
||||
},
|
||||
gotoPreviousMonth : function( callback ) {
|
||||
this._move( 'month', 'previous', callback );
|
||||
},
|
||||
gotoPreviousYear : function( callback ) {
|
||||
this._move( 'year', 'previous', callback );
|
||||
},
|
||||
gotoNextMonth : function( callback ) {
|
||||
this._move( 'month', 'next', callback );
|
||||
},
|
||||
gotoNextYear : function( callback ) {
|
||||
this._move( 'year', 'next', callback );
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
var logError = function( message ) {
|
||||
|
||||
if ( window.console ) {
|
||||
|
||||
window.console.error( message );
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
$.fn.calendario = function( options ) {
|
||||
|
||||
var instance = $.data( this, 'calendario' );
|
||||
|
||||
if ( typeof options === 'string' ) {
|
||||
|
||||
var args = Array.prototype.slice.call( arguments, 1 );
|
||||
|
||||
this.each(function() {
|
||||
|
||||
if ( !instance ) {
|
||||
|
||||
logError( "cannot call methods on calendario prior to initialization; " +
|
||||
"attempted to call method '" + options + "'" );
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
if ( !$.isFunction( instance[options] ) || options.charAt(0) === "_" ) {
|
||||
|
||||
logError( "no such method '" + options + "' for calendario instance" );
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
instance[ options ].apply( instance, args );
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
this.each(function() {
|
||||
|
||||
if ( instance ) {
|
||||
|
||||
instance._init();
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
instance = $.data( this, 'calendario', new $.Calendario( options, this ) );
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
return instance;
|
||||
|
||||
};
|
||||
|
||||
} )( jQuery, window );
|
||||
@@ -0,0 +1,10 @@
|
||||
/**
|
||||
* jQuery gMap - Google Maps API V3
|
||||
*
|
||||
* @license MIT License; https://www.opensource.org/licenses/mit-license.php
|
||||
* @url https://github.com/marioestrada/jQuery-gMap
|
||||
* @author Mario Estrada <me@mario.ec> based on original plugin by Cedric Kastner <cedric@nur-text.de>
|
||||
* @version 2.2
|
||||
*/
|
||||
/* global google */
|
||||
!function(e){e.fn.gMap=function(o,a){switch(o){case"addMarker":return e(this).trigger("gMap.addMarker",[a.latitude,a.longitude,a.content,a.icon,a.popup]);case"centerAt":return e(this).trigger("gMap.centerAt",[a.latitude,a.longitude,a.zoom]);case"clearMarkers":return e(this).trigger("gMap.clearMarkers")}var n=e.extend({},e.fn.gMap.defaults,o);return this.each(function(){var o=new google.maps.Map(this);e(this).data("gMap.reference",o);var a=new google.maps.Geocoder;n.address?a.geocode({address:n.address},function(e){e&&e.length&&o.setCenter(e[0].geometry.location)}):n.latitude&&n.longitude?o.setCenter(new google.maps.LatLng(n.latitude,n.longitude)):e.isArray(n.markers)&&n.markers.length>0?n.markers[0].address?a.geocode({address:n.markers[0].address},function(e){e&&e.length>0&&o.setCenter(e[0].geometry.location)}):o.setCenter(new google.maps.LatLng(n.markers[0].latitude,n.markers[0].longitude)):o.setCenter(new google.maps.LatLng(34.885931,9.84375)),o.setZoom(n.zoom),o.setMapTypeId(google.maps.MapTypeId[n.maptype]);var s={scrollwheel:n.scrollwheel,disableDoubleClickZoom:!n.doubleclickzoom};n.controls===!1?e.extend(s,{disableDefaultUI:!0}):0!==n.controls.length&&e.extend(s,n.controls,{disableDefaultUI:!0}),o.setOptions(s),o.setOptions({styles:n.styles});var t,r,i=new google.maps.Marker;t=new google.maps.MarkerImage(n.icon.image),t.size=new google.maps.Size(n.icon.iconsize[0],n.icon.iconsize[1]),t.anchor=new google.maps.Point(n.icon.iconanchor[0],n.icon.iconanchor[1]),i.setIcon(t),n.icon.shadow&&(r=new google.maps.MarkerImage(n.icon.shadow),r.size=new google.maps.Size(n.icon.shadowsize[0],n.icon.shadowsize[1]),r.anchor=new google.maps.Point(n.icon.shadowanchor[0],n.icon.shadowanchor[1]),i.setShadow(r)),e(this).bind("gMap.centerAt",function(e,a,n,s){s&&o.setZoom(s),o.panTo(new google.maps.LatLng(parseFloat(a),parseFloat(n)))});var g=[];e(this).bind("gMap.clearMarkers",function(){for(;g[0];)g.pop().setMap(null)});var l;e(this).bind("gMap.addMarker",function(e,a,s,t,r,d){var c,p,m=new google.maps.LatLng(parseFloat(a),parseFloat(s)),h=new google.maps.Marker({position:m});if(r?(c=new google.maps.MarkerImage(r.image),c.size=new google.maps.Size(r.iconsize[0],r.iconsize[1]),c.anchor=new google.maps.Point(r.iconanchor[0],r.iconanchor[1]),h.setIcon(c),r.shadow&&(p=new google.maps.MarkerImage(r.shadow),p.size=new google.maps.Size(r.shadowsize[0],r.shadowsize[1]),p.anchor=new google.maps.Point(r.shadowanchor[0],r.shadowanchor[1]),i.setShadow(p))):(h.setIcon(i.getIcon()),h.setShadow(i.getShadow())),t){"_latlng"===t&&(t=a+", "+s);var w=new google.maps.InfoWindow({content:n.html_prepend+t+n.html_append});google.maps.event.addListener(h,"click",function(){l&&l.close(),w.open(o,h),l=w}),d&&google.maps.event.addListenerOnce(o,"tilesloaded",function(){w.open(o,h)})}h.setMap(o),g.push(h)});for(var d,c=this,p=function(o){return function(a){a&&a.length>0&&e(c).trigger("gMap.addMarker",[a[0].geometry.location.lat(),a[0].geometry.location.lng(),o.html,o.icon,o.popup])}},m=0;m<n.markers.length;m++)d=n.markers[m],d.address?("_address"===d.html&&(d.html=d.address),a.geocode({address:d.address},p(d))):e(this).trigger("gMap.addMarker",[d.latitude,d.longitude,d.html,d.icon,d.popup])})},e.fn.gMap.defaults={address:"",latitude:0,longitude:0,zoom:1,markers:[],controls:[],styles:[],scrollwheel:!1,doubleclickzoom:!0,maptype:"ROADMAP",html_prepend:'<div class="gmap_marker">',html_append:"</div>",icon:{image:"https://www.google.com/mapfiles/marker.png",shadow:"https://www.google.com/mapfiles/shadow50.png",iconsize:[20,34],shadowsize:[37,34],iconanchor:[9,34],shadowanchor:[6,34]}}}(jQuery);
|
||||
Vendored
+2
File diff suppressed because one or more lines are too long
Vendored
+8
@@ -0,0 +1,8 @@
|
||||
/*! Copyright (c) 2013 Brandon Aaron (http://brandon.aaron.sh)
|
||||
* Licensed under the MIT License (LICENSE.txt).
|
||||
*
|
||||
* Version: 3.1.12
|
||||
*
|
||||
* Requires: jQuery 1.2.2+
|
||||
*/
|
||||
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQuery)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})});
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,8 @@
|
||||
/*!
|
||||
* jQuery Cookie Plugin v1.4.1
|
||||
* https://github.com/carhartl/jquery-cookie
|
||||
*
|
||||
* Copyright 2006, 2014 Klaus Hartl
|
||||
* Released under the MIT license
|
||||
*/
|
||||
!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e(require("jquery")):e(jQuery)}(function(e){function n(e){return u.raw?e:encodeURIComponent(e)}function o(e){return u.raw?e:decodeURIComponent(e)}function i(e){return n(u.json?JSON.stringify(e):String(e))}function t(e){0===e.indexOf('"')&&(e=e.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return e=decodeURIComponent(e.replace(c," ")),u.json?JSON.parse(e):e}catch(n){}}function r(n,o){var i=u.raw?n:t(n);return e.isFunction(o)?o(i):i}var c=/\+/g,u=e.cookie=function(t,c,s){if(arguments.length>1&&!e.isFunction(c)){if(s=e.extend({},u.defaults,s),"number"==typeof s.expires){var a=s.expires,d=s.expires=new Date;d.setMilliseconds(d.getMilliseconds()+864e5*a)}return document.cookie=[n(t),"=",i(c),s.expires?"; expires="+s.expires.toUTCString():"",s.path?"; path="+s.path:"",s.domain?"; domain="+s.domain:"",s.secure?"; secure":""].join("")}for(var f=t?void 0:{},p=document.cookie?document.cookie.split("; "):[],l=0,m=p.length;m>l;l++){var x=p[l].split("="),g=o(x.shift()),j=x.join("=");if(t===g){f=r(j,c);break}t||void 0===(j=r(j))||(f[g]=j)}return f};u.defaults={},e.removeCookie=function(n,o){return e.cookie(n,"",e.extend({},o,{expires:-1})),!e.cookie(n)}});
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,3 @@
|
||||
/* https://github.com/mhuggins/jquery-countTo
|
||||
CountTo */
|
||||
(function(e){function t(e,t){return e.toFixed(t.decimals)}e.fn.countTo=function(t){t=t||{};return e(this).each(function(){function l(){a+=i;u++;c(a);if(typeof n.onUpdate=="function"){n.onUpdate.call(s,a)}if(u>=r){o.removeData("countTo");clearInterval(f.interval);a=n.to;if(typeof n.onComplete=="function"){n.onComplete.call(s,a)}}}function c(e){var t=n.formatter.call(s,e,n);o.text(t)}var n=e.extend({},e.fn.countTo.defaults,{from:e(this).data("from"),to:e(this).data("to"),speed:e(this).data("speed"),refreshInterval:e(this).data("refresh-interval"),decimals:e(this).data("decimals")},t);var r=Math.ceil(n.speed/n.refreshInterval),i=(n.to-n.from)/r;var s=this,o=e(this),u=0,a=n.from,f=o.data("countTo")||{};o.data("countTo",f);if(f.interval){clearInterval(f.interval)}f.interval=setInterval(l,n.refreshInterval);c(a)})};e.fn.countTo.defaults={from:0,to:0,speed:1e3,refreshInterval:100,decimals:0,formatter:t,onUpdate:null,onComplete:null}})(jQuery);
|
||||
@@ -0,0 +1,7 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Jribbble v2.0.4 | Thu Jun 4 01:49:29 2015 -0400
|
||||
* Copyright (c) 2015, Tyler Gaw me@tylergaw.com
|
||||
* Released under the ISC-LICENSE
|
||||
*/
|
||||
!function(e,t,r,s){"use strict";e.jribbble={};var n=null,o="https://api.dribbble.com/v1",i=["animated","attachments","debuts","playoffs","rebounds","teams"],u={token:"Jribbble: Missing Dribbble access token. Set one with $.jribbble.accessToken = YOUR_ACCESS_TOKEN. If you do not have an access token, you must register a new application at https://dribbble.com/account/applications/new",singular:function(e){return e.substr(0,e.length-1)},idRequired:function(e){return"Jribbble: You have to provide a "+this.singular(e)+' ID. ex: $.jribbble.%@("1234").'.replace(/%@/g,e)},subResource:function(e){return"Jribbble: You have to provide a "+this.singular(e)+' ID to get %@. ex: $.jribbble.%@("1234").%@()'.replace(/%@/g,e)},shotId:function(e){return"Jribbble: You have to provide a shot ID to get %@. ex: "+' $.jribbble.shots("1234").%@()'.replace(/%@/g,e)},commentLikes:'Jribbble: You have to provide a comment ID to get likes. ex: $.jribbble.shots("1234").comments("456").likes()'},c=function(e,t){if(e&&"object"!=typeof e)return e;throw new Error(u.idRequired(t))},l=function(e){var t={};return e.forEach(function(e){t[e]=d.call(this,e)}.bind(this)),t},h=function(t){var r=e.param(t);return r?"?"+r:""},a=function(e){if(0!==e.length){var t=e[0],r=typeof t,s={};if("number"===r||"string"===r){var n=i.indexOf(t);n>-1?s.list=t:s.resource=t}else"object"===r&&(s=t);return s}},b=function(){var t=e.extend({},e.Deferred()),r=function(){return this.methods=[],this.response=null,this.flushed=!1,this.add=function(e){this.flushed?e(this.scope):this.methods.push(e)},this.flush=function(e){if(!this.flushed){for(this.scope=e,this.flushed=!0;this.methods[0];)this.methods.shift()(e);return e}},this};return t.queue=new r,t.url=o,t.get=function(){return n?(e.ajax({type:"GET",url:this.url,beforeSend:function(e){e.setRequestHeader("Authorization","Bearer "+n)},success:function(e){this.resolve(e)}.bind(this),error:function(e){this.reject(e)}.bind(this)}),this):(console.error(u.token),!1)},t},f=function(t){return function(r){return e.extend(this,b()),this.queue.add(function(e){e.url+="/"+t+"/"+r}),setTimeout(function(){this.queue.flush(this).get()}.bind(this)),this}},d=function(e){return function(t){return this.queue.add(function(r){r.url+="/"+e+"/"+h(t||{})}),this}};e.jribbble.shots=function(t,r){var s=a([].slice.call(arguments))||{},n=r||{},o=function(t){return function(r,s){var n=a([].slice.call(arguments))||{},o=s||{};return this.queue.add(function(r){if(!r.shotId)throw new Error(u.shotId(t));r.url+="/"+t+"/",n.resource&&(r.url+=n.resource,delete n.resource),r.url+=h(e.extend(n,o))}),this}},i=function(){return e.extend(this,b()),this.url+="/shots/",this.queue.add(function(t){s.resource&&(t.shotId=s.resource,t.url+=s.resource,delete s.resource),t.url+=h(e.extend(s,n))}),setTimeout(function(){this.queue.flush(this).get()}.bind(this)),this};return i.prototype.attachments=o("attachments"),i.prototype.buckets=o("buckets"),i.prototype.likes=o("likes"),i.prototype.projects=o("projects"),i.prototype.rebounds=o("rebounds"),i.prototype.comments=function(t,r){var s=a([].slice.call(arguments))||{},n=r||{};return this.queue.add(function(t){if(!t.shotId)throw new Error(u.shotId("comments"));t.url+="/comments/",s.resource&&(t.commentId=s.resource,t.url+=s.resource+"/",delete s.resource),t.url+=h(e.extend(s,n))}),this.likes=function(e){var t=e||{};return this.queue.add(function(e){if(!e.commentId)throw new Error(u.commentLikes);e.url+="likes/"+h(t)}),this},this},new i},e.jribbble.teams=function(e){var t="teams",r=c(e,t),s=f.call(this,t);return s.prototype=l.call(this,["members","shots"]),new s(r)},e.jribbble.users=function(e){var t="users",r=c(e,t),s=f.call(this,t);return s.prototype=l.call(this,["buckets","followers","following","likes","projects","shots","teams"]),s.prototype.isFollowing=function(e){return this.queue.add(function(t){t.url+="/following/"+e}),this},new s(r)},e.jribbble.buckets=function(e){var t="buckets",r=c(e,t),s=f.call(this,t);return s.prototype=l.call(this,["shots"]),new s(r)},e.jribbble.projects=function(e){var t="projects",r=c(e,t),s=f.call(this,t);return s.prototype=l.call(this,["shots"]),new s(r)},e.jribbble.setToken=function(e){return n=e,this}}(jQuery,window,document);
|
||||
@@ -0,0 +1,9 @@
|
||||
/*!
|
||||
* FitVids 1.1
|
||||
*
|
||||
* Copyright 2013, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com
|
||||
* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/
|
||||
* Released under the WTFPL license - http://sam.zoy.org/wtfpl/
|
||||
*
|
||||
*/
|
||||
!function(t){"use strict";t.fn.fitVids=function(e){var i={customSelector:null,ignore:null};if(!document.getElementById("fit-vids-style")){var r=document.head||document.getElementsByTagName("head")[0],a=".fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}",d=document.createElement("div");d.innerHTML='<p>x</p><style id="fit-vids-style">'+a+"</style>",r.appendChild(d.childNodes[1])}return e&&t.extend(i,e),this.each(function(){var e=['iframe[src*="player.vimeo.com"]','iframe[src*="youtube.com"]','iframe[src*="youtube-nocookie.com"]','iframe[src*="kickstarter.com"][src*="video.html"]',"object","embed"];i.customSelector&&e.push(i.customSelector);var r=".fitvidsignore";i.ignore&&(r=r+", "+i.ignore);var a=t(this).find(e.join(","));a=a.not("object object"),a=a.not(r),a.each(function(e){var i=t(this);if(!(i.parents(r).length>0||"embed"===this.tagName.toLowerCase()&&i.parent("object").length||i.parent(".fluid-width-video-wrapper").length)){i.css("height")||i.css("width")||!isNaN(i.attr("height"))&&!isNaN(i.attr("width"))||(i.attr("height",9),i.attr("width",16));var a="object"===this.tagName.toLowerCase()||i.attr("height")&&!isNaN(parseInt(i.attr("height"),10))?parseInt(i.attr("height"),10):i.height(),d=isNaN(parseInt(i.attr("width"),10))?i.width():parseInt(i.attr("width"),10),o=a/d;if(!i.attr("id")){var h="fitvid"+e;i.attr("id",h)}i.wrap('<div class="fluid-width-video-wrapper"></div>').parent(".fluid-width-video-wrapper").css("padding-top",100*o+"%"),i.removeAttr("height").removeAttr("width")}})})}}(window.jQuery||window.Zepto);
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
* Copyright (C) 2009 Joel Sutherland
|
||||
* Licenced under the MIT license
|
||||
* http://www.newmediacampaigns.com/page/jquery-flickr-plugin
|
||||
*
|
||||
* Available tags for templates:
|
||||
* title, link, date_taken, description, published, author, author_id, tags, image*
|
||||
*/
|
||||
(function($){$.fn.jflickrfeed=function(settings,callback){settings=$.extend(true,{flickrbase:'http://api.flickr.com/services/feeds/',feedapi:'photos_public.gne',limit:20,qstrings:{lang:'en-us',format:'json',jsoncallback:'?'},cleanDescription:true,useTemplate:true,itemTemplate:'',itemCallback:function(){}},settings);var url=settings.flickrbase+settings.feedapi+'?';var first=true;for(var key in settings.qstrings){if(!first)
|
||||
url+='&';url+=key+'='+settings.qstrings[key];first=false;}
|
||||
return $(this).each(function(){var $container=$(this);var container=this;$.getJSON(url,function(data){$.each(data.items,function(i,item){if(i<settings.limit){if(settings.cleanDescription){var regex=/<p>(.*?)<\/p>/g;var input=item.description;if(regex.test(input)){item.description=input.match(regex)[2]
|
||||
if(item.description!=undefined)
|
||||
item.description=item.description.replace('<p>','').replace('</p>','');}}
|
||||
item['image_s']=item.media.m.replace('_m','_s');item['image_t']=item.media.m.replace('_m','_t');item['image_m']=item.media.m.replace('_m','_m');item['image']=item.media.m.replace('_m','');item['image_b']=item.media.m.replace('_m','_b');delete item.media;if(settings.useTemplate){var template=settings.itemTemplate;for(var key in item){var rgx=new RegExp('{{'+key+'}}','g');template=template.replace(rgx,item[key]);}
|
||||
$container.append(template)}
|
||||
settings.itemCallback.call(container,item);}});if($.isFunction(callback)){callback.call(container,data);}});});}})(jQuery);
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,9 @@
|
||||
/**!
|
||||
* easy-pie-chart
|
||||
* Lightweight plugin to render simple, animated and retina optimized pie charts
|
||||
*
|
||||
* @license
|
||||
* @author Robert Fleischmann <rendro87@gmail.com> (http://robert-fleischmann.de)
|
||||
* @version 2.1.7
|
||||
**/
|
||||
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){var b=function(a,b){var c,d=document.createElement("canvas");a.appendChild(d),"object"==typeof G_vmlCanvasManager&&G_vmlCanvasManager.initElement(d);var e=d.getContext("2d");d.width=d.height=b.size;var f=1;window.devicePixelRatio>1&&(f=window.devicePixelRatio,d.style.width=d.style.height=[b.size,"px"].join(""),d.width=d.height=b.size*f,e.scale(f,f)),e.translate(b.size/2,b.size/2),e.rotate((-0.5+b.rotate/180)*Math.PI);var g=(b.size-b.lineWidth)/2;b.scaleColor&&b.scaleLength&&(g-=b.scaleLength+2),Date.now=Date.now||function(){return+new Date};var h=function(a,b,c){c=Math.min(Math.max(-1,c||0),1);var d=0>=c?!0:!1;e.beginPath(),e.arc(0,0,g,0,2*Math.PI*c,d),e.strokeStyle=a,e.lineWidth=b,e.stroke()},i=function(){var a,c;e.lineWidth=1,e.fillStyle=b.scaleColor,e.save();for(var d=24;d>0;--d)d%6===0?(c=b.scaleLength,a=0):(c=.6*b.scaleLength,a=b.scaleLength-c),e.fillRect(-b.size/2+a,0,c,1),e.rotate(Math.PI/12);e.restore()},j=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(a){window.setTimeout(a,1e3/60)}}(),k=function(){b.scaleColor&&i(),b.trackColor&&h(b.trackColor,b.trackWidth||b.lineWidth,1)};this.getCanvas=function(){return d},this.getCtx=function(){return e},this.clear=function(){e.clearRect(b.size/-2,b.size/-2,b.size,b.size)},this.draw=function(a){b.scaleColor||b.trackColor?e.getImageData&&e.putImageData?c?e.putImageData(c,0,0):(k(),c=e.getImageData(0,0,b.size*f,b.size*f)):(this.clear(),k()):this.clear(),e.lineCap=b.lineCap;var d;d="function"==typeof b.barColor?b.barColor(a):b.barColor,h(d,b.lineWidth,a/100)}.bind(this),this.animate=function(a,c){var d=Date.now();b.onStart(a,c);var e=function(){var f=Math.min(Date.now()-d,b.animate.duration),g=b.easing(this,f,a,c-a,b.animate.duration);this.draw(g),b.onStep(a,c,g),f>=b.animate.duration?b.onStop(a,c):j(e)}.bind(this);j(e)}.bind(this)},c=function(a,c){var d={barColor:"#ef1e25",trackColor:"#f9f9f9",scaleColor:"#dfe0e0",scaleLength:5,lineCap:"round",lineWidth:3,trackWidth:void 0,size:110,rotate:0,animate:{duration:1e3,enabled:!0},easing:function(a,b,c,d,e){return b/=e/2,1>b?d/2*b*b+c:-d/2*(--b*(b-2)-1)+c},onStart:function(a,b){},onStep:function(a,b,c){},onStop:function(a,b){}};if("undefined"!=typeof b)d.renderer=b;else{if("undefined"==typeof SVGRenderer)throw new Error("Please load either the SVG- or the CanvasRenderer");d.renderer=SVGRenderer}var e={},f=0,g=function(){this.el=a,this.options=e;for(var b in d)d.hasOwnProperty(b)&&(e[b]=c&&"undefined"!=typeof c[b]?c[b]:d[b],"function"==typeof e[b]&&(e[b]=e[b].bind(this)));"string"==typeof e.easing&&"undefined"!=typeof jQuery&&jQuery.isFunction(jQuery.easing[e.easing])?e.easing=jQuery.easing[e.easing]:e.easing=d.easing,"number"==typeof e.animate&&(e.animate={duration:e.animate,enabled:!0}),"boolean"!=typeof e.animate||e.animate||(e.animate={duration:1e3,enabled:e.animate}),this.renderer=new e.renderer(a,e),this.renderer.draw(f),a.dataset&&a.dataset.percent?this.update(parseFloat(a.dataset.percent)):a.getAttribute&&a.getAttribute("data-percent")&&this.update(parseFloat(a.getAttribute("data-percent")))}.bind(this);this.update=function(a){return a=parseFloat(a),e.animate.enabled?this.renderer.animate(f,a):this.renderer.draw(a),f=a,this}.bind(this),this.disableAnimation=function(){return e.animate.enabled=!1,this},this.enableAnimation=function(){return e.animate.enabled=!0,this},g()};a.fn.easyPieChart=function(b){return this.each(function(){var d;a.data(this,"easyPieChart")||(d=a.extend({},b,a(this).data()),a.data(this,"easyPieChart",new c(this,d)))})}});
|
||||
@@ -0,0 +1,20 @@
|
||||
/*
|
||||
* jQuery Superfish Menu Plugin - v1.7.9
|
||||
* Copyright (c) 2016 Joel Birch
|
||||
*
|
||||
* Dual licensed under the MIT and GPL licenses:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* http://www.gnu.org/licenses/gpl.html
|
||||
*/
|
||||
|
||||
;!function(a,b){"use strict";var c=function(){var c={bcClass:"sf-breadcrumb",menuClass:"sf-js-enabled",anchorClass:"sf-with-ul",menuArrowClass:"sf-arrows"},d=function(){var b=/^(?![\w\W]*Windows Phone)[\w\W]*(iPhone|iPad|iPod)/i.test(navigator.userAgent);return b&&a("html").css("cursor","pointer").on("click",a.noop),b}(),e=function(){var a=document.documentElement.style;return"behavior"in a&&"fill"in a&&/iemobile/i.test(navigator.userAgent)}(),f=function(){return!!b.PointerEvent}(),g=function(a,b,d){var e,f=c.menuClass;b.cssArrows&&(f+=" "+c.menuArrowClass),e=d?"addClass":"removeClass",a[e](f)},h=function(b,d){return b.find("li."+d.pathClass).slice(0,d.pathLevels).addClass(d.hoverClass+" "+c.bcClass).filter(function(){return a(this).children(d.popUpSelector).hide().show().length}).removeClass(d.pathClass)},i=function(a,b){var d=b?"addClass":"removeClass";a.children("a")[d](c.anchorClass)},j=function(a){var b=a.css("ms-touch-action"),c=a.css("touch-action");c=c||b,c="pan-y"===c?"auto":"pan-y",a.css({"ms-touch-action":c,"touch-action":c})},k=function(a){return a.closest("."+c.menuClass)},l=function(a){return k(a).data("sfOptions")},m=function(){var b=a(this),c=l(b);clearTimeout(c.sfTimer),b.siblings().superfish("hide").end().superfish("show")},n=function(b){b.retainPath=a.inArray(this[0],b.$path)>-1,this.superfish("hide"),this.parents("."+b.hoverClass).length||(b.onIdle.call(k(this)),b.$path.length&&a.proxy(m,b.$path)())},o=function(){var b=a(this),c=l(b);d?a.proxy(n,b,c)():(clearTimeout(c.sfTimer),c.sfTimer=setTimeout(a.proxy(n,b,c),c.delay))},p=function(b){var c=a(this),d=l(c),e=c.siblings(b.data.popUpSelector);return d.onHandleTouch.call(e)===!1?this:void(e.length>0&&e.is(":hidden")&&(c.one("click.superfish",!1),"MSPointerDown"===b.type||"pointerdown"===b.type?c.trigger("focus"):a.proxy(m,c.parent("li"))()))},q=function(b,c){var g="li:has("+c.popUpSelector+")";a.fn.hoverIntent&&!c.disableHI?b.hoverIntent(m,o,g):b.on("mouseenter.superfish",g,m).on("mouseleave.superfish",g,o);var h="MSPointerDown.superfish";f&&(h="pointerdown.superfish"),d||(h+=" touchend.superfish"),e&&(h+=" mousedown.superfish"),b.on("focusin.superfish","li",m).on("focusout.superfish","li",o).on(h,"a",c,p)};return{hide:function(b){if(this.length){var c=this,d=l(c);if(!d)return this;var e=d.retainPath===!0?d.$path:"",f=c.find("li."+d.hoverClass).add(this).not(e).removeClass(d.hoverClass).children(d.popUpSelector),g=d.speedOut;if(b&&(f.show(),g=0),d.retainPath=!1,d.onBeforeHide.call(f)===!1)return this;f.stop(!0,!0).animate(d.animationOut,g,function(){var b=a(this);d.onHide.call(b)})}return this},show:function(){var a=l(this);if(!a)return this;var b=this.addClass(a.hoverClass),c=b.children(a.popUpSelector);return a.onBeforeShow.call(c)===!1?this:(c.stop(!0,!0).animate(a.animation,a.speed,function(){a.onShow.call(c)}),this)},destroy:function(){return this.each(function(){var b,d=a(this),e=d.data("sfOptions");return e?(b=d.find(e.popUpSelector).parent("li"),clearTimeout(e.sfTimer),g(d,e),i(b),j(d),d.off(".superfish").off(".hoverIntent"),b.children(e.popUpSelector).attr("style",function(a,b){return b.replace(/display[^;]+;?/g,"")}),e.$path.removeClass(e.hoverClass+" "+c.bcClass).addClass(e.pathClass),d.find("."+e.hoverClass).removeClass(e.hoverClass),e.onDestroy.call(d),void d.removeData("sfOptions")):!1})},init:function(b){return this.each(function(){var d=a(this);if(d.data("sfOptions"))return!1;var e=a.extend({},a.fn.superfish.defaults,b),f=d.find(e.popUpSelector).parent("li");e.$path=h(d,e),d.data("sfOptions",e),g(d,e,!0),i(f,!0),j(d),q(d,e),f.not("."+c.bcClass).superfish("hide",!0),e.onInit.call(this)})}}}();a.fn.superfish=function(b,d){return c[b]?c[b].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof b&&b?a.error("Method "+b+" does not exist on jQuery.fn.superfish"):c.init.apply(this,arguments)},a.fn.superfish.defaults={popUpSelector:"ul,.sf-mega",hoverClass:"sfHover",pathClass:"overrideThisToUse",pathLevels:1,delay:800,animation:{opacity:"show"},animationOut:{opacity:"hide"},speed:"normal",speedOut:"fast",cssArrows:!0,disableHI:!1,onInit:a.noop,onBeforeShow:a.noop,onShow:a.noop,onBeforeHide:a.noop,onHide:a.noop,onIdle:a.noop,onDestroy:a.noop,onHandleTouch:a.noop}}(jQuery,window);
|
||||
|
||||
/*!
|
||||
* hoverIntent v1.9.0 // 2017.09.01 // jQuery v1.7.0+
|
||||
* http://briancherne.github.io/jquery-hoverIntent/
|
||||
*
|
||||
* You may use hoverIntent under the terms of the MIT license. Basically that
|
||||
* means you are free to use hoverIntent as long as this header is left intact.
|
||||
* Copyright 2007-2017 Brian Cherne
|
||||
*/
|
||||
!function(factory){"use strict";"function"==typeof define&&define.amd?define(["jquery"],factory):jQuery&&!jQuery.fn.hoverIntent&&factory(jQuery)}(function($){"use strict";var cX,cY,_cfg={interval:100,sensitivity:6,timeout:0},INSTANCE_COUNT=0,track=function(ev){cX=ev.pageX,cY=ev.pageY},compare=function(ev,$el,s,cfg){if(Math.sqrt((s.pX-cX)*(s.pX-cX)+(s.pY-cY)*(s.pY-cY))<cfg.sensitivity)return $el.off(s.event,track),delete s.timeoutId,s.isActive=!0,ev.pageX=cX,ev.pageY=cY,delete s.pX,delete s.pY,cfg.over.apply($el[0],[ev]);s.pX=cX,s.pY=cY,s.timeoutId=setTimeout(function(){compare(ev,$el,s,cfg)},cfg.interval)},delay=function(ev,$el,s,out){return delete $el.data("hoverIntent")[s.id],out.apply($el[0],[ev])};$.fn.hoverIntent=function(handlerIn,handlerOut,selector){var instanceId=INSTANCE_COUNT++,cfg=$.extend({},_cfg);$.isPlainObject(handlerIn)?(cfg=$.extend(cfg,handlerIn),$.isFunction(cfg.out)||(cfg.out=cfg.over)):cfg=$.isFunction(handlerOut)?$.extend(cfg,{over:handlerIn,out:handlerOut,selector:selector}):$.extend(cfg,{over:handlerIn,out:handlerIn,selector:handlerOut});var handleHover=function(e){var ev=$.extend({},e),$el=$(this),hoverIntentData=$el.data("hoverIntent");hoverIntentData||$el.data("hoverIntent",hoverIntentData={});var state=hoverIntentData[instanceId];state||(hoverIntentData[instanceId]=state={id:instanceId}),state.timeoutId&&(state.timeoutId=clearTimeout(state.timeoutId));var mousemove=state.event="mousemove.hoverIntent.hoverIntent"+instanceId;if("mouseenter"===e.type){if(state.isActive)return;state.pX=ev.pageX,state.pY=ev.pageY,$el.off(mousemove,track).on(mousemove,track),state.timeoutId=setTimeout(function(){compare(ev,$el,state,cfg)},cfg.interval)}else{if(!state.isActive)return;$el.off(mousemove,track),state.timeoutId=setTimeout(function(){delay(ev,$el,state,cfg.out)},cfg.timeout)}};return this.on({"mouseenter.hoverIntent":handleHover,"mouseleave.hoverIntent":handleHover},cfg.selector)}});
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
/*! Morphext - v2.4.7 - 2016-11-04 */
|
||||
!function(a){"use strict";function b(b,c){this.element=a(b),this.settings=a.extend({},d,c),this._defaults=d,this._init()}var c="Morphext",d={animation:"bounceIn",separator:",",speed:2e3,complete:a.noop};b.prototype={_init:function(){var b=this;this.phrases=[],this.element.addClass("morphext"),a.each(this.element.text().split(this.settings.separator),function(c,d){b.phrases.push(a.trim(d))}),this.index=-1,this.animate(),this.start()},animate:function(){this.index=++this.index%this.phrases.length,this.element[0].innerHTML='<span class="animated '+this.settings.animation+'">'+this.phrases[this.index]+"</span>",a.isFunction(this.settings.complete)&&this.settings.complete.call(this)},start:function(){var a=this;this._interval=setInterval(function(){a.animate()},this.settings.speed)},stop:function(){this._interval=clearInterval(this._interval)}},a.fn[c]=function(d){return this.each(function(){a.data(this,"plugin_"+c)||a.data(this,"plugin_"+c,new b(this,d))})}}(jQuery);
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,75 @@
|
||||
/**
|
||||
*
|
||||
* Twitter Feed Fetcher
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
function sm_format_twitter(twitters) {
|
||||
var statusHTML = [];
|
||||
for (var i=0; i<twitters.length; i++){
|
||||
var username = twitters[i].user.screen_name;
|
||||
var name = twitters[i].user.name;
|
||||
var username_avatar = twitters[i].user.profile_image_url;
|
||||
var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
|
||||
return '<a href="'+url+'" target="_blank">'+url+'</a>';
|
||||
}).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
|
||||
return reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'" target="_blank">'+reply.substring(1)+'</a>';
|
||||
});
|
||||
statusHTML.push('<li><i class="icon-twitter"></i><a href="http://twitter.com/'+username+'" class="twitter-avatar" target="_blank"><img src="'+username_avatar+'" alt="'+name+'" title="'+name+'"></a><span>'+status+'</span><small><a href="http://twitter.com/'+username+'/statuses/'+twitters[i].id_str+'" target="_blank">'+relative_time(twitters[i].created_at)+'</a></small></li>');
|
||||
}
|
||||
return statusHTML.join('');
|
||||
}
|
||||
|
||||
function sm_format_twitter2(twitters) {
|
||||
var statusHTML = [];
|
||||
for (var i=0; i<twitters.length; i++){
|
||||
var username = twitters[i].user.screen_name;
|
||||
var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
|
||||
return '<a href="'+url+'" target="_blank">'+url+'</a>';
|
||||
}).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
|
||||
return reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'" target="_blank">'+reply.substring(1)+'</a>';
|
||||
});
|
||||
statusHTML.push('<div class="slide"><span>'+status+'</span><small><a href="http://twitter.com/'+username+'/statuses/'+twitters[i].id_str+'" target="_blank">'+relative_time(twitters[i].created_at)+'</a></small></div>');
|
||||
}
|
||||
return statusHTML.join('');
|
||||
}
|
||||
|
||||
function sm_format_twitter3(twitters) {
|
||||
var statusHTML = [];
|
||||
for (var i=0; i<twitters.length; i++){
|
||||
var username = twitters[i].user.screen_name;
|
||||
var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
|
||||
return '<a href="'+url+'" target="_blank">'+url+'</a>';
|
||||
}).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
|
||||
return reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'" target="_blank">'+reply.substring(1)+'</a>';
|
||||
});
|
||||
statusHTML.push('<div class="slide"><div class="testi-content"><p>'+status+'</p><div class="testi-meta"><span><a href="http://twitter.com/'+username+'/statuses/'+twitters[i].id_str+'" target="_blank">'+relative_time(twitters[i].created_at)+'</a></span></div></div></div>');
|
||||
}
|
||||
return statusHTML.join('');
|
||||
}
|
||||
|
||||
function relative_time(time_value) {
|
||||
var values = time_value.split(" ");
|
||||
time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
|
||||
var parsed_date = Date.parse(time_value);
|
||||
var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
|
||||
var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
|
||||
delta = delta + (relative_to.getTimezoneOffset() * 60);
|
||||
|
||||
if (delta < 60) {
|
||||
return 'less than a minute ago';
|
||||
} else if(delta < 120) {
|
||||
return 'about a minute ago';
|
||||
} else if(delta < (60*60)) {
|
||||
return (parseInt(delta / 60)).toString() + ' minutes ago';
|
||||
} else if(delta < (120*60)) {
|
||||
return 'about an hour ago';
|
||||
} else if(delta < (24*60*60)) {
|
||||
return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
|
||||
} else if(delta < (48*60*60)) {
|
||||
return '1 day ago';
|
||||
} else {
|
||||
return (parseInt(delta / 86400)).toString() + ' days ago';
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user