in src/assets/js/breakpoints.js [23:67]
$.fn.breakpoints = function (options) {
var settings = $.extend(
{
matchMedia: Array(
{ label: 'small', match: '(max-width: 639px)' },
{
label: 'medium',
match: '(min-width: 640px) and (max-width: 959px)',
},
{ label: 'atleast_medium', match: '(min-width: 640px)' },
{
label: 'large',
match: '(min-width: 960px) and (max-width: 1319px)',
},
{ label: 'atleast_large', match: '(min-width: 960px)' }
),
},
options
);
var matches = new Array();
if (window.matchMedia) {
for (var i = 0; i < settings.matchMedia.length; i++) {
var match = window.matchMedia(settings.matchMedia[i].match);
match.addListener(breakpoint);
matches.push({ match: match, label: settings.matchMedia[i].label });
}
breakpoint({ matches: true });
} else {
$.publish('breakpoints', [{ fallback: true }]);
}
// media query change
// ------------------
function breakpoint(mq) {
if (typeof mq.matches !== 'undefined') {
var media = {};
for (var i = 0; i < matches.length; i++) {
media[matches[i].label] = matches[i].match.matches;
}
$.publish('breakpoints', [media]);
}
}
};