1818 lines
55 KiB
JavaScript
1818 lines
55 KiB
JavaScript
/*!
|
|
* Isotope PACKAGED v3.0.6
|
|
*
|
|
* Licensed GPLv3 for open source use
|
|
* or Isotope Commercial License for commercial use
|
|
*
|
|
* https://isotope.metafizzy.co
|
|
* Copyright 2010-2018 Metafizzy
|
|
*/
|
|
|
|
!(function (t, e) {
|
|
"function" == typeof define && define.amd
|
|
? define("jquery-bridget/jquery-bridget", ["jquery"], function (i) {
|
|
return e(t, i);
|
|
})
|
|
: "object" == typeof module && module.exports
|
|
? (module.exports = e(t, require("jquery")))
|
|
: (t.jQueryBridget = e(t, t.jQuery));
|
|
})(window, function (t, e) {
|
|
"use strict";
|
|
function i(i, s, a) {
|
|
function u(t, e, o) {
|
|
var n,
|
|
s = "$()." + i + '("' + e + '")';
|
|
return (
|
|
t.each(function (t, u) {
|
|
var h = a.data(u, i);
|
|
if (!h)
|
|
return void r(
|
|
i + " not initialized. Cannot call methods, i.e. " + s
|
|
);
|
|
var d = h[e];
|
|
if (!d || "_" == e.charAt(0))
|
|
return void r(s + " is not a valid method");
|
|
var l = d.apply(h, o);
|
|
n = void 0 === n ? l : n;
|
|
}),
|
|
void 0 !== n ? n : t
|
|
);
|
|
}
|
|
function h(t, e) {
|
|
t.each(function (t, o) {
|
|
var n = a.data(o, i);
|
|
n ? (n.option(e), n._init()) : ((n = new s(o, e)), a.data(o, i, n));
|
|
});
|
|
}
|
|
(a = a || e || t.jQuery),
|
|
a &&
|
|
(s.prototype.option ||
|
|
(s.prototype.option = function (t) {
|
|
a.isPlainObject(t) &&
|
|
(this.options = a.extend(!0, this.options, t));
|
|
}),
|
|
(a.fn[i] = function (t) {
|
|
if ("string" == typeof t) {
|
|
var e = n.call(arguments, 1);
|
|
return u(this, t, e);
|
|
}
|
|
return h(this, t), this;
|
|
}),
|
|
o(a));
|
|
}
|
|
function o(t) {
|
|
!t || (t && t.bridget) || (t.bridget = i);
|
|
}
|
|
var n = Array.prototype.slice,
|
|
s = t.console,
|
|
r =
|
|
"undefined" == typeof s
|
|
? function () {}
|
|
: function (t) {
|
|
s.error(t);
|
|
};
|
|
return o(e || t.jQuery), i;
|
|
}),
|
|
(function (t, e) {
|
|
"function" == typeof define && define.amd
|
|
? define("ev-emitter/ev-emitter", e)
|
|
: "object" == typeof module && module.exports
|
|
? (module.exports = e())
|
|
: (t.EvEmitter = e());
|
|
})("undefined" != typeof window ? window : this, function () {
|
|
function t() {}
|
|
var e = t.prototype;
|
|
return (
|
|
(e.on = function (t, e) {
|
|
if (t && e) {
|
|
var i = (this._events = this._events || {}),
|
|
o = (i[t] = i[t] || []);
|
|
return o.indexOf(e) == -1 && o.push(e), this;
|
|
}
|
|
}),
|
|
(e.once = function (t, e) {
|
|
if (t && e) {
|
|
this.on(t, e);
|
|
var i = (this._onceEvents = this._onceEvents || {}),
|
|
o = (i[t] = i[t] || {});
|
|
return (o[e] = !0), this;
|
|
}
|
|
}),
|
|
(e.off = function (t, e) {
|
|
var i = this._events && this._events[t];
|
|
if (i && i.length) {
|
|
var o = i.indexOf(e);
|
|
return o != -1 && i.splice(o, 1), this;
|
|
}
|
|
}),
|
|
(e.emitEvent = function (t, e) {
|
|
var i = this._events && this._events[t];
|
|
if (i && i.length) {
|
|
(i = i.slice(0)), (e = e || []);
|
|
for (
|
|
var o = this._onceEvents && this._onceEvents[t], n = 0;
|
|
n < i.length;
|
|
n++
|
|
) {
|
|
var s = i[n],
|
|
r = o && o[s];
|
|
r && (this.off(t, s), delete o[s]), s.apply(this, e);
|
|
}
|
|
return this;
|
|
}
|
|
}),
|
|
(e.allOff = function () {
|
|
delete this._events, delete this._onceEvents;
|
|
}),
|
|
t
|
|
);
|
|
}),
|
|
(function (t, e) {
|
|
"function" == typeof define && define.amd
|
|
? define("get-size/get-size", e)
|
|
: "object" == typeof module && module.exports
|
|
? (module.exports = e())
|
|
: (t.getSize = e());
|
|
})(window, function () {
|
|
"use strict";
|
|
function t(t) {
|
|
var e = parseFloat(t),
|
|
i = t.indexOf("%") == -1 && !isNaN(e);
|
|
return i && e;
|
|
}
|
|
function e() {}
|
|
function i() {
|
|
for (
|
|
var t = {
|
|
width: 0,
|
|
height: 0,
|
|
innerWidth: 0,
|
|
innerHeight: 0,
|
|
outerWidth: 0,
|
|
outerHeight: 0,
|
|
},
|
|
e = 0;
|
|
e < h;
|
|
e++
|
|
) {
|
|
var i = u[e];
|
|
t[i] = 0;
|
|
}
|
|
return t;
|
|
}
|
|
function o(t) {
|
|
var e = getComputedStyle(t);
|
|
return (
|
|
e ||
|
|
a(
|
|
"Style returned " +
|
|
e +
|
|
". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"
|
|
),
|
|
e
|
|
);
|
|
}
|
|
function n() {
|
|
if (!d) {
|
|
d = !0;
|
|
var e = document.createElement("div");
|
|
(e.style.width = "200px"),
|
|
(e.style.padding = "1px 2px 3px 4px"),
|
|
(e.style.borderStyle = "solid"),
|
|
(e.style.borderWidth = "1px 2px 3px 4px"),
|
|
(e.style.boxSizing = "border-box");
|
|
var i = document.body || document.documentElement;
|
|
i.appendChild(e);
|
|
var n = o(e);
|
|
(r = 200 == Math.round(t(n.width))),
|
|
(s.isBoxSizeOuter = r),
|
|
i.removeChild(e);
|
|
}
|
|
}
|
|
function s(e) {
|
|
if (
|
|
(n(),
|
|
"string" == typeof e && (e = document.querySelector(e)),
|
|
e && "object" == typeof e && e.nodeType)
|
|
) {
|
|
var s = o(e);
|
|
if ("none" == s.display) return i();
|
|
var a = {};
|
|
(a.width = e.offsetWidth), (a.height = e.offsetHeight);
|
|
for (
|
|
var d = (a.isBorderBox = "border-box" == s.boxSizing), l = 0;
|
|
l < h;
|
|
l++
|
|
) {
|
|
var f = u[l],
|
|
c = s[f],
|
|
m = parseFloat(c);
|
|
a[f] = isNaN(m) ? 0 : m;
|
|
}
|
|
var p = a.paddingLeft + a.paddingRight,
|
|
y = a.paddingTop + a.paddingBottom,
|
|
g = a.marginLeft + a.marginRight,
|
|
v = a.marginTop + a.marginBottom,
|
|
_ = a.borderLeftWidth + a.borderRightWidth,
|
|
z = a.borderTopWidth + a.borderBottomWidth,
|
|
I = d && r,
|
|
x = t(s.width);
|
|
x !== !1 && (a.width = x + (I ? 0 : p + _));
|
|
var S = t(s.height);
|
|
return (
|
|
S !== !1 && (a.height = S + (I ? 0 : y + z)),
|
|
(a.innerWidth = a.width - (p + _)),
|
|
(a.innerHeight = a.height - (y + z)),
|
|
(a.outerWidth = a.width + g),
|
|
(a.outerHeight = a.height + v),
|
|
a
|
|
);
|
|
}
|
|
}
|
|
var r,
|
|
a =
|
|
"undefined" == typeof console
|
|
? e
|
|
: function (t) {
|
|
console.error(t);
|
|
},
|
|
u = [
|
|
"paddingLeft",
|
|
"paddingRight",
|
|
"paddingTop",
|
|
"paddingBottom",
|
|
"marginLeft",
|
|
"marginRight",
|
|
"marginTop",
|
|
"marginBottom",
|
|
"borderLeftWidth",
|
|
"borderRightWidth",
|
|
"borderTopWidth",
|
|
"borderBottomWidth",
|
|
],
|
|
h = u.length,
|
|
d = !1;
|
|
return s;
|
|
}),
|
|
(function (t, e) {
|
|
"use strict";
|
|
"function" == typeof define && define.amd
|
|
? define("desandro-matches-selector/matches-selector", e)
|
|
: "object" == typeof module && module.exports
|
|
? (module.exports = e())
|
|
: (t.matchesSelector = e());
|
|
})(window, function () {
|
|
"use strict";
|
|
var t = (function () {
|
|
var t = window.Element.prototype;
|
|
if (t.matches) return "matches";
|
|
if (t.matchesSelector) return "matchesSelector";
|
|
for (var e = ["webkit", "moz", "ms", "o"], i = 0; i < e.length; i++) {
|
|
var o = e[i],
|
|
n = o + "MatchesSelector";
|
|
if (t[n]) return n;
|
|
}
|
|
})();
|
|
return function (e, i) {
|
|
return e[t](i);
|
|
};
|
|
}),
|
|
(function (t, e) {
|
|
"function" == typeof define && define.amd
|
|
? define(
|
|
"fizzy-ui-utils/utils",
|
|
["desandro-matches-selector/matches-selector"],
|
|
function (i) {
|
|
return e(t, i);
|
|
}
|
|
)
|
|
: "object" == typeof module && module.exports
|
|
? (module.exports = e(t, require("desandro-matches-selector")))
|
|
: (t.fizzyUIUtils = e(t, t.matchesSelector));
|
|
})(window, function (t, e) {
|
|
var i = {};
|
|
(i.extend = function (t, e) {
|
|
for (var i in e) t[i] = e[i];
|
|
return t;
|
|
}),
|
|
(i.modulo = function (t, e) {
|
|
return ((t % e) + e) % e;
|
|
});
|
|
var o = Array.prototype.slice;
|
|
(i.makeArray = function (t) {
|
|
if (Array.isArray(t)) return t;
|
|
if (null === t || void 0 === t) return [];
|
|
var e = "object" == typeof t && "number" == typeof t.length;
|
|
return e ? o.call(t) : [t];
|
|
}),
|
|
(i.removeFrom = function (t, e) {
|
|
var i = t.indexOf(e);
|
|
i != -1 && t.splice(i, 1);
|
|
}),
|
|
(i.getParent = function (t, i) {
|
|
for (; t.parentNode && t != document.body; )
|
|
if (((t = t.parentNode), e(t, i))) return t;
|
|
}),
|
|
(i.getQueryElement = function (t) {
|
|
return "string" == typeof t ? document.querySelector(t) : t;
|
|
}),
|
|
(i.handleEvent = function (t) {
|
|
var e = "on" + t.type;
|
|
this[e] && this[e](t);
|
|
}),
|
|
(i.filterFindElements = function (t, o) {
|
|
t = i.makeArray(t);
|
|
var n = [];
|
|
return (
|
|
t.forEach(function (t) {
|
|
if (t instanceof HTMLElement) {
|
|
if (!o) return void n.push(t);
|
|
e(t, o) && n.push(t);
|
|
for (var i = t.querySelectorAll(o), s = 0; s < i.length; s++)
|
|
n.push(i[s]);
|
|
}
|
|
}),
|
|
n
|
|
);
|
|
}),
|
|
(i.debounceMethod = function (t, e, i) {
|
|
i = i || 100;
|
|
var o = t.prototype[e],
|
|
n = e + "Timeout";
|
|
t.prototype[e] = function () {
|
|
var t = this[n];
|
|
clearTimeout(t);
|
|
var e = arguments,
|
|
s = this;
|
|
this[n] = setTimeout(function () {
|
|
o.apply(s, e), delete s[n];
|
|
}, i);
|
|
};
|
|
}),
|
|
(i.docReady = function (t) {
|
|
var e = document.readyState;
|
|
"complete" == e || "interactive" == e
|
|
? setTimeout(t)
|
|
: document.addEventListener("DOMContentLoaded", t);
|
|
}),
|
|
(i.toDashed = function (t) {
|
|
return t
|
|
.replace(/(.)([A-Z])/g, function (t, e, i) {
|
|
return e + "-" + i;
|
|
})
|
|
.toLowerCase();
|
|
});
|
|
var n = t.console;
|
|
return (
|
|
(i.htmlInit = function (e, o) {
|
|
i.docReady(function () {
|
|
var s = i.toDashed(o),
|
|
r = "data-" + s,
|
|
a = document.querySelectorAll("[" + r + "]"),
|
|
u = document.querySelectorAll(".js-" + s),
|
|
h = i.makeArray(a).concat(i.makeArray(u)),
|
|
d = r + "-options",
|
|
l = t.jQuery;
|
|
h.forEach(function (t) {
|
|
var i,
|
|
s = t.getAttribute(r) || t.getAttribute(d);
|
|
try {
|
|
i = s && JSON.parse(s);
|
|
} catch (a) {
|
|
return void (
|
|
n &&
|
|
n.error("Error parsing " + r + " on " + t.className + ": " + a)
|
|
);
|
|
}
|
|
var u = new e(t, i);
|
|
l && l.data(t, o, u);
|
|
});
|
|
});
|
|
}),
|
|
i
|
|
);
|
|
}),
|
|
(function (t, e) {
|
|
"function" == typeof define && define.amd
|
|
? define(
|
|
"outlayer/item",
|
|
["ev-emitter/ev-emitter", "get-size/get-size"],
|
|
e
|
|
)
|
|
: "object" == typeof module && module.exports
|
|
? (module.exports = e(require("ev-emitter"), require("get-size")))
|
|
: ((t.Outlayer = {}), (t.Outlayer.Item = e(t.EvEmitter, t.getSize)));
|
|
})(window, function (t, e) {
|
|
"use strict";
|
|
function i(t) {
|
|
for (var e in t) return !1;
|
|
return (e = null), !0;
|
|
}
|
|
function o(t, e) {
|
|
t &&
|
|
((this.element = t),
|
|
(this.layout = e),
|
|
(this.position = { x: 0, y: 0 }),
|
|
this._create());
|
|
}
|
|
function n(t) {
|
|
return t.replace(/([A-Z])/g, function (t) {
|
|
return "-" + t.toLowerCase();
|
|
});
|
|
}
|
|
var s = document.documentElement.style,
|
|
r = "string" == typeof s.transition ? "transition" : "WebkitTransition",
|
|
a = "string" == typeof s.transform ? "transform" : "WebkitTransform",
|
|
u = {
|
|
WebkitTransition: "webkitTransitionEnd",
|
|
transition: "transitionend",
|
|
}[r],
|
|
h = {
|
|
transform: a,
|
|
transition: r,
|
|
transitionDuration: r + "Duration",
|
|
transitionProperty: r + "Property",
|
|
transitionDelay: r + "Delay",
|
|
},
|
|
d = (o.prototype = Object.create(t.prototype));
|
|
(d.constructor = o),
|
|
(d._create = function () {
|
|
(this._transn = { ingProperties: {}, clean: {}, onEnd: {} }),
|
|
this.css({ position: "absolute" });
|
|
}),
|
|
(d.handleEvent = function (t) {
|
|
var e = "on" + t.type;
|
|
this[e] && this[e](t);
|
|
}),
|
|
(d.getSize = function () {
|
|
this.size = e(this.element);
|
|
}),
|
|
(d.css = function (t) {
|
|
var e = this.element.style;
|
|
for (var i in t) {
|
|
var o = h[i] || i;
|
|
e[o] = t[i];
|
|
}
|
|
}),
|
|
(d.getPosition = function () {
|
|
var t = getComputedStyle(this.element),
|
|
e = this.layout._getOption("originLeft"),
|
|
i = this.layout._getOption("originTop"),
|
|
o = t[e ? "left" : "right"],
|
|
n = t[i ? "top" : "bottom"],
|
|
s = parseFloat(o),
|
|
r = parseFloat(n),
|
|
a = this.layout.size;
|
|
o.indexOf("%") != -1 && (s = (s / 100) * a.width),
|
|
n.indexOf("%") != -1 && (r = (r / 100) * a.height),
|
|
(s = isNaN(s) ? 0 : s),
|
|
(r = isNaN(r) ? 0 : r),
|
|
(s -= e ? a.paddingLeft : a.paddingRight),
|
|
(r -= i ? a.paddingTop : a.paddingBottom),
|
|
(this.position.x = s),
|
|
(this.position.y = r);
|
|
}),
|
|
(d.layoutPosition = function () {
|
|
var t = this.layout.size,
|
|
e = {},
|
|
i = this.layout._getOption("originLeft"),
|
|
o = this.layout._getOption("originTop"),
|
|
n = i ? "paddingLeft" : "paddingRight",
|
|
s = i ? "left" : "right",
|
|
r = i ? "right" : "left",
|
|
a = this.position.x + t[n];
|
|
(e[s] = this.getXValue(a)), (e[r] = "");
|
|
var u = o ? "paddingTop" : "paddingBottom",
|
|
h = o ? "top" : "bottom",
|
|
d = o ? "bottom" : "top",
|
|
l = this.position.y + t[u];
|
|
(e[h] = this.getYValue(l)),
|
|
(e[d] = ""),
|
|
this.css(e),
|
|
this.emitEvent("layout", [this]);
|
|
}),
|
|
(d.getXValue = function (t) {
|
|
var e = this.layout._getOption("horizontal");
|
|
return this.layout.options.percentPosition && !e
|
|
? (t / this.layout.size.width) * 100 + "%"
|
|
: t + "px";
|
|
}),
|
|
(d.getYValue = function (t) {
|
|
var e = this.layout._getOption("horizontal");
|
|
return this.layout.options.percentPosition && e
|
|
? (t / this.layout.size.height) * 100 + "%"
|
|
: t + "px";
|
|
}),
|
|
(d._transitionTo = function (t, e) {
|
|
this.getPosition();
|
|
var i = this.position.x,
|
|
o = this.position.y,
|
|
n = t == this.position.x && e == this.position.y;
|
|
if ((this.setPosition(t, e), n && !this.isTransitioning))
|
|
return void this.layoutPosition();
|
|
var s = t - i,
|
|
r = e - o,
|
|
a = {};
|
|
(a.transform = this.getTranslate(s, r)),
|
|
this.transition({
|
|
to: a,
|
|
onTransitionEnd: { transform: this.layoutPosition },
|
|
isCleaning: !0,
|
|
});
|
|
}),
|
|
(d.getTranslate = function (t, e) {
|
|
var i = this.layout._getOption("originLeft"),
|
|
o = this.layout._getOption("originTop");
|
|
return (
|
|
(t = i ? t : -t),
|
|
(e = o ? e : -e),
|
|
"translate3d(" + t + "px, " + e + "px, 0)"
|
|
);
|
|
}),
|
|
(d.goTo = function (t, e) {
|
|
this.setPosition(t, e), this.layoutPosition();
|
|
}),
|
|
(d.moveTo = d._transitionTo),
|
|
(d.setPosition = function (t, e) {
|
|
(this.position.x = parseFloat(t)), (this.position.y = parseFloat(e));
|
|
}),
|
|
(d._nonTransition = function (t) {
|
|
this.css(t.to), t.isCleaning && this._removeStyles(t.to);
|
|
for (var e in t.onTransitionEnd) t.onTransitionEnd[e].call(this);
|
|
}),
|
|
(d.transition = function (t) {
|
|
if (!parseFloat(this.layout.options.transitionDuration))
|
|
return void this._nonTransition(t);
|
|
var e = this._transn;
|
|
for (var i in t.onTransitionEnd) e.onEnd[i] = t.onTransitionEnd[i];
|
|
for (i in t.to)
|
|
(e.ingProperties[i] = !0), t.isCleaning && (e.clean[i] = !0);
|
|
if (t.from) {
|
|
this.css(t.from);
|
|
var o = this.element.offsetHeight;
|
|
o = null;
|
|
}
|
|
this.enableTransition(t.to),
|
|
this.css(t.to),
|
|
(this.isTransitioning = !0);
|
|
});
|
|
var l = "opacity," + n(a);
|
|
(d.enableTransition = function () {
|
|
if (!this.isTransitioning) {
|
|
var t = this.layout.options.transitionDuration;
|
|
(t = "number" == typeof t ? t + "ms" : t),
|
|
this.css({
|
|
transitionProperty: l,
|
|
transitionDuration: t,
|
|
transitionDelay: this.staggerDelay || 0,
|
|
}),
|
|
this.element.addEventListener(u, this, !1);
|
|
}
|
|
}),
|
|
(d.onwebkitTransitionEnd = function (t) {
|
|
this.ontransitionend(t);
|
|
}),
|
|
(d.onotransitionend = function (t) {
|
|
this.ontransitionend(t);
|
|
});
|
|
var f = { "-webkit-transform": "transform" };
|
|
(d.ontransitionend = function (t) {
|
|
if (t.target === this.element) {
|
|
var e = this._transn,
|
|
o = f[t.propertyName] || t.propertyName;
|
|
if (
|
|
(delete e.ingProperties[o],
|
|
i(e.ingProperties) && this.disableTransition(),
|
|
o in e.clean &&
|
|
((this.element.style[t.propertyName] = ""), delete e.clean[o]),
|
|
o in e.onEnd)
|
|
) {
|
|
var n = e.onEnd[o];
|
|
n.call(this), delete e.onEnd[o];
|
|
}
|
|
this.emitEvent("transitionEnd", [this]);
|
|
}
|
|
}),
|
|
(d.disableTransition = function () {
|
|
this.removeTransitionStyles(),
|
|
this.element.removeEventListener(u, this, !1),
|
|
(this.isTransitioning = !1);
|
|
}),
|
|
(d._removeStyles = function (t) {
|
|
var e = {};
|
|
for (var i in t) e[i] = "";
|
|
this.css(e);
|
|
});
|
|
var c = {
|
|
transitionProperty: "",
|
|
transitionDuration: "",
|
|
transitionDelay: "",
|
|
};
|
|
return (
|
|
(d.removeTransitionStyles = function () {
|
|
this.css(c);
|
|
}),
|
|
(d.stagger = function (t) {
|
|
(t = isNaN(t) ? 0 : t), (this.staggerDelay = t + "ms");
|
|
}),
|
|
(d.removeElem = function () {
|
|
this.element.parentNode.removeChild(this.element),
|
|
this.css({ display: "" }),
|
|
this.emitEvent("remove", [this]);
|
|
}),
|
|
(d.remove = function () {
|
|
return r && parseFloat(this.layout.options.transitionDuration)
|
|
? (this.once("transitionEnd", function () {
|
|
this.removeElem();
|
|
}),
|
|
void this.hide())
|
|
: void this.removeElem();
|
|
}),
|
|
(d.reveal = function () {
|
|
delete this.isHidden, this.css({ display: "" });
|
|
var t = this.layout.options,
|
|
e = {},
|
|
i = this.getHideRevealTransitionEndProperty("visibleStyle");
|
|
(e[i] = this.onRevealTransitionEnd),
|
|
this.transition({
|
|
from: t.hiddenStyle,
|
|
to: t.visibleStyle,
|
|
isCleaning: !0,
|
|
onTransitionEnd: e,
|
|
});
|
|
}),
|
|
(d.onRevealTransitionEnd = function () {
|
|
this.isHidden || this.emitEvent("reveal");
|
|
}),
|
|
(d.getHideRevealTransitionEndProperty = function (t) {
|
|
var e = this.layout.options[t];
|
|
if (e.opacity) return "opacity";
|
|
for (var i in e) return i;
|
|
}),
|
|
(d.hide = function () {
|
|
(this.isHidden = !0), this.css({ display: "" });
|
|
var t = this.layout.options,
|
|
e = {},
|
|
i = this.getHideRevealTransitionEndProperty("hiddenStyle");
|
|
(e[i] = this.onHideTransitionEnd),
|
|
this.transition({
|
|
from: t.visibleStyle,
|
|
to: t.hiddenStyle,
|
|
isCleaning: !0,
|
|
onTransitionEnd: e,
|
|
});
|
|
}),
|
|
(d.onHideTransitionEnd = function () {
|
|
this.isHidden &&
|
|
(this.css({ display: "none" }), this.emitEvent("hide"));
|
|
}),
|
|
(d.destroy = function () {
|
|
this.css({
|
|
position: "",
|
|
left: "",
|
|
right: "",
|
|
top: "",
|
|
bottom: "",
|
|
transition: "",
|
|
transform: "",
|
|
});
|
|
}),
|
|
o
|
|
);
|
|
}),
|
|
(function (t, e) {
|
|
"use strict";
|
|
"function" == typeof define && define.amd
|
|
? define(
|
|
"outlayer/outlayer",
|
|
[
|
|
"ev-emitter/ev-emitter",
|
|
"get-size/get-size",
|
|
"fizzy-ui-utils/utils",
|
|
"./item",
|
|
],
|
|
function (i, o, n, s) {
|
|
return e(t, i, o, n, s);
|
|
}
|
|
)
|
|
: "object" == typeof module && module.exports
|
|
? (module.exports = e(
|
|
t,
|
|
require("ev-emitter"),
|
|
require("get-size"),
|
|
require("fizzy-ui-utils"),
|
|
require("./item")
|
|
))
|
|
: (t.Outlayer = e(
|
|
t,
|
|
t.EvEmitter,
|
|
t.getSize,
|
|
t.fizzyUIUtils,
|
|
t.Outlayer.Item
|
|
));
|
|
})(window, function (t, e, i, o, n) {
|
|
"use strict";
|
|
function s(t, e) {
|
|
var i = o.getQueryElement(t);
|
|
if (!i)
|
|
return void (
|
|
u &&
|
|
u.error(
|
|
"Bad element for " + this.constructor.namespace + ": " + (i || t)
|
|
)
|
|
);
|
|
(this.element = i),
|
|
h && (this.$element = h(this.element)),
|
|
(this.options = o.extend({}, this.constructor.defaults)),
|
|
this.option(e);
|
|
var n = ++l;
|
|
(this.element.outlayerGUID = n), (f[n] = this), this._create();
|
|
var s = this._getOption("initLayout");
|
|
s && this.layout();
|
|
}
|
|
function r(t) {
|
|
function e() {
|
|
t.apply(this, arguments);
|
|
}
|
|
return (
|
|
(e.prototype = Object.create(t.prototype)),
|
|
(e.prototype.constructor = e),
|
|
e
|
|
);
|
|
}
|
|
function a(t) {
|
|
if ("number" == typeof t) return t;
|
|
var e = t.match(/(^\d*\.?\d*)(\w*)/),
|
|
i = e && e[1],
|
|
o = e && e[2];
|
|
if (!i.length) return 0;
|
|
i = parseFloat(i);
|
|
var n = m[o] || 1;
|
|
return i * n;
|
|
}
|
|
var u = t.console,
|
|
h = t.jQuery,
|
|
d = function () {},
|
|
l = 0,
|
|
f = {};
|
|
(s.namespace = "outlayer"),
|
|
(s.Item = n),
|
|
(s.defaults = {
|
|
containerStyle: { position: "relative" },
|
|
initLayout: !0,
|
|
originLeft: !0,
|
|
originTop: !0,
|
|
resize: !0,
|
|
resizeContainer: !0,
|
|
transitionDuration: "0.4s",
|
|
hiddenStyle: { opacity: 0, transform: "scale(0.001)" },
|
|
visibleStyle: { opacity: 1, transform: "scale(1)" },
|
|
});
|
|
var c = s.prototype;
|
|
o.extend(c, e.prototype),
|
|
(c.option = function (t) {
|
|
o.extend(this.options, t);
|
|
}),
|
|
(c._getOption = function (t) {
|
|
var e = this.constructor.compatOptions[t];
|
|
return e && void 0 !== this.options[e]
|
|
? this.options[e]
|
|
: this.options[t];
|
|
}),
|
|
(s.compatOptions = {
|
|
initLayout: "isInitLayout",
|
|
horizontal: "isHorizontal",
|
|
layoutInstant: "isLayoutInstant",
|
|
originLeft: "isOriginLeft",
|
|
originTop: "isOriginTop",
|
|
resize: "isResizeBound",
|
|
resizeContainer: "isResizingContainer",
|
|
}),
|
|
(c._create = function () {
|
|
this.reloadItems(),
|
|
(this.stamps = []),
|
|
this.stamp(this.options.stamp),
|
|
o.extend(this.element.style, this.options.containerStyle);
|
|
var t = this._getOption("resize");
|
|
t && this.bindResize();
|
|
}),
|
|
(c.reloadItems = function () {
|
|
this.items = this._itemize(this.element.children);
|
|
}),
|
|
(c._itemize = function (t) {
|
|
for (
|
|
var e = this._filterFindItemElements(t),
|
|
i = this.constructor.Item,
|
|
o = [],
|
|
n = 0;
|
|
n < e.length;
|
|
n++
|
|
) {
|
|
var s = e[n],
|
|
r = new i(s, this);
|
|
o.push(r);
|
|
}
|
|
return o;
|
|
}),
|
|
(c._filterFindItemElements = function (t) {
|
|
return o.filterFindElements(t, this.options.itemSelector);
|
|
}),
|
|
(c.getItemElements = function () {
|
|
return this.items.map(function (t) {
|
|
return t.element;
|
|
});
|
|
}),
|
|
(c.layout = function () {
|
|
this._resetLayout(), this._manageStamps();
|
|
var t = this._getOption("layoutInstant"),
|
|
e = void 0 !== t ? t : !this._isLayoutInited;
|
|
this.layoutItems(this.items, e), (this._isLayoutInited = !0);
|
|
}),
|
|
(c._init = c.layout),
|
|
(c._resetLayout = function () {
|
|
this.getSize();
|
|
}),
|
|
(c.getSize = function () {
|
|
this.size = i(this.element);
|
|
}),
|
|
(c._getMeasurement = function (t, e) {
|
|
var o,
|
|
n = this.options[t];
|
|
n
|
|
? ("string" == typeof n
|
|
? (o = this.element.querySelector(n))
|
|
: n instanceof HTMLElement && (o = n),
|
|
(this[t] = o ? i(o)[e] : n))
|
|
: (this[t] = 0);
|
|
}),
|
|
(c.layoutItems = function (t, e) {
|
|
(t = this._getItemsForLayout(t)),
|
|
this._layoutItems(t, e),
|
|
this._postLayout();
|
|
}),
|
|
(c._getItemsForLayout = function (t) {
|
|
return t.filter(function (t) {
|
|
return !t.isIgnored;
|
|
});
|
|
}),
|
|
(c._layoutItems = function (t, e) {
|
|
if ((this._emitCompleteOnItems("layout", t), t && t.length)) {
|
|
var i = [];
|
|
t.forEach(function (t) {
|
|
var o = this._getItemLayoutPosition(t);
|
|
(o.item = t), (o.isInstant = e || t.isLayoutInstant), i.push(o);
|
|
}, this),
|
|
this._processLayoutQueue(i);
|
|
}
|
|
}),
|
|
(c._getItemLayoutPosition = function () {
|
|
return { x: 0, y: 0 };
|
|
}),
|
|
(c._processLayoutQueue = function (t) {
|
|
this.updateStagger(),
|
|
t.forEach(function (t, e) {
|
|
this._positionItem(t.item, t.x, t.y, t.isInstant, e);
|
|
}, this);
|
|
}),
|
|
(c.updateStagger = function () {
|
|
var t = this.options.stagger;
|
|
return null === t || void 0 === t
|
|
? void (this.stagger = 0)
|
|
: ((this.stagger = a(t)), this.stagger);
|
|
}),
|
|
(c._positionItem = function (t, e, i, o, n) {
|
|
o ? t.goTo(e, i) : (t.stagger(n * this.stagger), t.moveTo(e, i));
|
|
}),
|
|
(c._postLayout = function () {
|
|
this.resizeContainer();
|
|
}),
|
|
(c.resizeContainer = function () {
|
|
var t = this._getOption("resizeContainer");
|
|
if (t) {
|
|
var e = this._getContainerSize();
|
|
e &&
|
|
(this._setContainerMeasure(e.width, !0),
|
|
this._setContainerMeasure(e.height, !1));
|
|
}
|
|
}),
|
|
(c._getContainerSize = d),
|
|
(c._setContainerMeasure = function (t, e) {
|
|
if (void 0 !== t) {
|
|
var i = this.size;
|
|
i.isBorderBox &&
|
|
(t += e
|
|
? i.paddingLeft +
|
|
i.paddingRight +
|
|
i.borderLeftWidth +
|
|
i.borderRightWidth
|
|
: i.paddingBottom +
|
|
i.paddingTop +
|
|
i.borderTopWidth +
|
|
i.borderBottomWidth),
|
|
(t = Math.max(t, 0)),
|
|
(this.element.style[e ? "width" : "height"] = t + "px");
|
|
}
|
|
}),
|
|
(c._emitCompleteOnItems = function (t, e) {
|
|
function i() {
|
|
n.dispatchEvent(t + "Complete", null, [e]);
|
|
}
|
|
function o() {
|
|
r++, r == s && i();
|
|
}
|
|
var n = this,
|
|
s = e.length;
|
|
if (!e || !s) return void i();
|
|
var r = 0;
|
|
e.forEach(function (e) {
|
|
e.once(t, o);
|
|
});
|
|
}),
|
|
(c.dispatchEvent = function (t, e, i) {
|
|
var o = e ? [e].concat(i) : i;
|
|
if ((this.emitEvent(t, o), h))
|
|
if (((this.$element = this.$element || h(this.element)), e)) {
|
|
var n = h.Event(e);
|
|
(n.type = t), this.$element.trigger(n, i);
|
|
} else this.$element.trigger(t, i);
|
|
}),
|
|
(c.ignore = function (t) {
|
|
var e = this.getItem(t);
|
|
e && (e.isIgnored = !0);
|
|
}),
|
|
(c.unignore = function (t) {
|
|
var e = this.getItem(t);
|
|
e && delete e.isIgnored;
|
|
}),
|
|
(c.stamp = function (t) {
|
|
(t = this._find(t)),
|
|
t &&
|
|
((this.stamps = this.stamps.concat(t)),
|
|
t.forEach(this.ignore, this));
|
|
}),
|
|
(c.unstamp = function (t) {
|
|
(t = this._find(t)),
|
|
t &&
|
|
t.forEach(function (t) {
|
|
o.removeFrom(this.stamps, t), this.unignore(t);
|
|
}, this);
|
|
}),
|
|
(c._find = function (t) {
|
|
if (t)
|
|
return (
|
|
"string" == typeof t && (t = this.element.querySelectorAll(t)),
|
|
(t = o.makeArray(t))
|
|
);
|
|
}),
|
|
(c._manageStamps = function () {
|
|
this.stamps &&
|
|
this.stamps.length &&
|
|
(this._getBoundingRect(),
|
|
this.stamps.forEach(this._manageStamp, this));
|
|
}),
|
|
(c._getBoundingRect = function () {
|
|
var t = this.element.getBoundingClientRect(),
|
|
e = this.size;
|
|
this._boundingRect = {
|
|
left: t.left + e.paddingLeft + e.borderLeftWidth,
|
|
top: t.top + e.paddingTop + e.borderTopWidth,
|
|
right: t.right - (e.paddingRight + e.borderRightWidth),
|
|
bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth),
|
|
};
|
|
}),
|
|
(c._manageStamp = d),
|
|
(c._getElementOffset = function (t) {
|
|
var e = t.getBoundingClientRect(),
|
|
o = this._boundingRect,
|
|
n = i(t),
|
|
s = {
|
|
left: e.left - o.left - n.marginLeft,
|
|
top: e.top - o.top - n.marginTop,
|
|
right: o.right - e.right - n.marginRight,
|
|
bottom: o.bottom - e.bottom - n.marginBottom,
|
|
};
|
|
return s;
|
|
}),
|
|
(c.handleEvent = o.handleEvent),
|
|
(c.bindResize = function () {
|
|
t.addEventListener("resize", this), (this.isResizeBound = !0);
|
|
}),
|
|
(c.unbindResize = function () {
|
|
t.removeEventListener("resize", this), (this.isResizeBound = !1);
|
|
}),
|
|
(c.onresize = function () {
|
|
this.resize();
|
|
}),
|
|
o.debounceMethod(s, "onresize", 100),
|
|
(c.resize = function () {
|
|
this.isResizeBound && this.needsResizeLayout() && this.layout();
|
|
}),
|
|
(c.needsResizeLayout = function () {
|
|
var t = i(this.element),
|
|
e = this.size && t;
|
|
return e && t.innerWidth !== this.size.innerWidth;
|
|
}),
|
|
(c.addItems = function (t) {
|
|
var e = this._itemize(t);
|
|
return e.length && (this.items = this.items.concat(e)), e;
|
|
}),
|
|
(c.appended = function (t) {
|
|
var e = this.addItems(t);
|
|
e.length && (this.layoutItems(e, !0), this.reveal(e));
|
|
}),
|
|
(c.prepended = function (t) {
|
|
var e = this._itemize(t);
|
|
if (e.length) {
|
|
var i = this.items.slice(0);
|
|
(this.items = e.concat(i)),
|
|
this._resetLayout(),
|
|
this._manageStamps(),
|
|
this.layoutItems(e, !0),
|
|
this.reveal(e),
|
|
this.layoutItems(i);
|
|
}
|
|
}),
|
|
(c.reveal = function (t) {
|
|
if ((this._emitCompleteOnItems("reveal", t), t && t.length)) {
|
|
var e = this.updateStagger();
|
|
t.forEach(function (t, i) {
|
|
t.stagger(i * e), t.reveal();
|
|
});
|
|
}
|
|
}),
|
|
(c.hide = function (t) {
|
|
if ((this._emitCompleteOnItems("hide", t), t && t.length)) {
|
|
var e = this.updateStagger();
|
|
t.forEach(function (t, i) {
|
|
t.stagger(i * e), t.hide();
|
|
});
|
|
}
|
|
}),
|
|
(c.revealItemElements = function (t) {
|
|
var e = this.getItems(t);
|
|
this.reveal(e);
|
|
}),
|
|
(c.hideItemElements = function (t) {
|
|
var e = this.getItems(t);
|
|
this.hide(e);
|
|
}),
|
|
(c.getItem = function (t) {
|
|
for (var e = 0; e < this.items.length; e++) {
|
|
var i = this.items[e];
|
|
if (i.element == t) return i;
|
|
}
|
|
}),
|
|
(c.getItems = function (t) {
|
|
t = o.makeArray(t);
|
|
var e = [];
|
|
return (
|
|
t.forEach(function (t) {
|
|
var i = this.getItem(t);
|
|
i && e.push(i);
|
|
}, this),
|
|
e
|
|
);
|
|
}),
|
|
(c.remove = function (t) {
|
|
var e = this.getItems(t);
|
|
this._emitCompleteOnItems("remove", e),
|
|
e &&
|
|
e.length &&
|
|
e.forEach(function (t) {
|
|
t.remove(), o.removeFrom(this.items, t);
|
|
}, this);
|
|
}),
|
|
(c.destroy = function () {
|
|
var t = this.element.style;
|
|
(t.height = ""),
|
|
(t.position = ""),
|
|
(t.width = ""),
|
|
this.items.forEach(function (t) {
|
|
t.destroy();
|
|
}),
|
|
this.unbindResize();
|
|
var e = this.element.outlayerGUID;
|
|
delete f[e],
|
|
delete this.element.outlayerGUID,
|
|
h && h.removeData(this.element, this.constructor.namespace);
|
|
}),
|
|
(s.data = function (t) {
|
|
t = o.getQueryElement(t);
|
|
var e = t && t.outlayerGUID;
|
|
return e && f[e];
|
|
}),
|
|
(s.create = function (t, e) {
|
|
var i = r(s);
|
|
return (
|
|
(i.defaults = o.extend({}, s.defaults)),
|
|
o.extend(i.defaults, e),
|
|
(i.compatOptions = o.extend({}, s.compatOptions)),
|
|
(i.namespace = t),
|
|
(i.data = s.data),
|
|
(i.Item = r(n)),
|
|
o.htmlInit(i, t),
|
|
h && h.bridget && h.bridget(t, i),
|
|
i
|
|
);
|
|
});
|
|
var m = { ms: 1, s: 1e3 };
|
|
return (s.Item = n), s;
|
|
}),
|
|
(function (t, e) {
|
|
"function" == typeof define && define.amd
|
|
? define("isotope-layout/js/item", ["outlayer/outlayer"], e)
|
|
: "object" == typeof module && module.exports
|
|
? (module.exports = e(require("outlayer")))
|
|
: ((t.Isotope = t.Isotope || {}), (t.Isotope.Item = e(t.Outlayer)));
|
|
})(window, function (t) {
|
|
"use strict";
|
|
function e() {
|
|
t.Item.apply(this, arguments);
|
|
}
|
|
var i = (e.prototype = Object.create(t.Item.prototype)),
|
|
o = i._create;
|
|
(i._create = function () {
|
|
(this.id = this.layout.itemGUID++), o.call(this), (this.sortData = {});
|
|
}),
|
|
(i.updateSortData = function () {
|
|
if (!this.isIgnored) {
|
|
(this.sortData.id = this.id),
|
|
(this.sortData["original-order"] = this.id),
|
|
(this.sortData.random = Math.random());
|
|
var t = this.layout.options.getSortData,
|
|
e = this.layout._sorters;
|
|
for (var i in t) {
|
|
var o = e[i];
|
|
this.sortData[i] = o(this.element, this);
|
|
}
|
|
}
|
|
});
|
|
var n = i.destroy;
|
|
return (
|
|
(i.destroy = function () {
|
|
n.apply(this, arguments), this.css({ display: "" });
|
|
}),
|
|
e
|
|
);
|
|
}),
|
|
(function (t, e) {
|
|
"function" == typeof define && define.amd
|
|
? define(
|
|
"isotope-layout/js/layout-mode",
|
|
["get-size/get-size", "outlayer/outlayer"],
|
|
e
|
|
)
|
|
: "object" == typeof module && module.exports
|
|
? (module.exports = e(require("get-size"), require("outlayer")))
|
|
: ((t.Isotope = t.Isotope || {}),
|
|
(t.Isotope.LayoutMode = e(t.getSize, t.Outlayer)));
|
|
})(window, function (t, e) {
|
|
"use strict";
|
|
function i(t) {
|
|
(this.isotope = t),
|
|
t &&
|
|
((this.options = t.options[this.namespace]),
|
|
(this.element = t.element),
|
|
(this.items = t.filteredItems),
|
|
(this.size = t.size));
|
|
}
|
|
var o = i.prototype,
|
|
n = [
|
|
"_resetLayout",
|
|
"_getItemLayoutPosition",
|
|
"_manageStamp",
|
|
"_getContainerSize",
|
|
"_getElementOffset",
|
|
"needsResizeLayout",
|
|
"_getOption",
|
|
];
|
|
return (
|
|
n.forEach(function (t) {
|
|
o[t] = function () {
|
|
return e.prototype[t].apply(this.isotope, arguments);
|
|
};
|
|
}),
|
|
(o.needsVerticalResizeLayout = function () {
|
|
var e = t(this.isotope.element),
|
|
i = this.isotope.size && e;
|
|
return i && e.innerHeight != this.isotope.size.innerHeight;
|
|
}),
|
|
(o._getMeasurement = function () {
|
|
this.isotope._getMeasurement.apply(this, arguments);
|
|
}),
|
|
(o.getColumnWidth = function () {
|
|
this.getSegmentSize("column", "Width");
|
|
}),
|
|
(o.getRowHeight = function () {
|
|
this.getSegmentSize("row", "Height");
|
|
}),
|
|
(o.getSegmentSize = function (t, e) {
|
|
var i = t + e,
|
|
o = "outer" + e;
|
|
if ((this._getMeasurement(i, o), !this[i])) {
|
|
var n = this.getFirstItemSize();
|
|
this[i] = (n && n[o]) || this.isotope.size["inner" + e];
|
|
}
|
|
}),
|
|
(o.getFirstItemSize = function () {
|
|
var e = this.isotope.filteredItems[0];
|
|
return e && e.element && t(e.element);
|
|
}),
|
|
(o.layout = function () {
|
|
this.isotope.layout.apply(this.isotope, arguments);
|
|
}),
|
|
(o.getSize = function () {
|
|
this.isotope.getSize(), (this.size = this.isotope.size);
|
|
}),
|
|
(i.modes = {}),
|
|
(i.create = function (t, e) {
|
|
function n() {
|
|
i.apply(this, arguments);
|
|
}
|
|
return (
|
|
(n.prototype = Object.create(o)),
|
|
(n.prototype.constructor = n),
|
|
e && (n.options = e),
|
|
(n.prototype.namespace = t),
|
|
(i.modes[t] = n),
|
|
n
|
|
);
|
|
}),
|
|
i
|
|
);
|
|
}),
|
|
(function (t, e) {
|
|
"function" == typeof define && define.amd
|
|
? define(
|
|
"masonry-layout/masonry",
|
|
["outlayer/outlayer", "get-size/get-size"],
|
|
e
|
|
)
|
|
: "object" == typeof module && module.exports
|
|
? (module.exports = e(require("outlayer"), require("get-size")))
|
|
: (t.Masonry = e(t.Outlayer, t.getSize));
|
|
})(window, function (t, e) {
|
|
var i = t.create("masonry");
|
|
i.compatOptions.fitWidth = "isFitWidth";
|
|
var o = i.prototype;
|
|
return (
|
|
(o._resetLayout = function () {
|
|
this.getSize(),
|
|
this._getMeasurement("columnWidth", "outerWidth"),
|
|
this._getMeasurement("gutter", "outerWidth"),
|
|
this.measureColumns(),
|
|
(this.colYs = []);
|
|
for (var t = 0; t < this.cols; t++) this.colYs.push(0);
|
|
(this.maxY = 0), (this.horizontalColIndex = 0);
|
|
}),
|
|
(o.measureColumns = function () {
|
|
if ((this.getContainerWidth(), !this.columnWidth)) {
|
|
var t = this.items[0],
|
|
i = t && t.element;
|
|
this.columnWidth = (i && e(i).outerWidth) || this.containerWidth;
|
|
}
|
|
var o = (this.columnWidth += this.gutter),
|
|
n = this.containerWidth + this.gutter,
|
|
s = n / o,
|
|
r = o - (n % o),
|
|
a = r && r < 1 ? "round" : "floor";
|
|
(s = Math[a](s)), (this.cols = Math.max(s, 1));
|
|
}),
|
|
(o.getContainerWidth = function () {
|
|
var t = this._getOption("fitWidth"),
|
|
i = t ? this.element.parentNode : this.element,
|
|
o = e(i);
|
|
this.containerWidth = o && o.innerWidth;
|
|
}),
|
|
(o._getItemLayoutPosition = function (t) {
|
|
t.getSize();
|
|
var e = t.size.outerWidth % this.columnWidth,
|
|
i = e && e < 1 ? "round" : "ceil",
|
|
o = Math[i](t.size.outerWidth / this.columnWidth);
|
|
o = Math.min(o, this.cols);
|
|
for (
|
|
var n = this.options.horizontalOrder
|
|
? "_getHorizontalColPosition"
|
|
: "_getTopColPosition",
|
|
s = this[n](o, t),
|
|
r = { x: this.columnWidth * s.col, y: s.y },
|
|
a = s.y + t.size.outerHeight,
|
|
u = o + s.col,
|
|
h = s.col;
|
|
h < u;
|
|
h++
|
|
)
|
|
this.colYs[h] = a;
|
|
return r;
|
|
}),
|
|
(o._getTopColPosition = function (t) {
|
|
var e = this._getTopColGroup(t),
|
|
i = Math.min.apply(Math, e);
|
|
return { col: e.indexOf(i), y: i };
|
|
}),
|
|
(o._getTopColGroup = function (t) {
|
|
if (t < 2) return this.colYs;
|
|
for (var e = [], i = this.cols + 1 - t, o = 0; o < i; o++)
|
|
e[o] = this._getColGroupY(o, t);
|
|
return e;
|
|
}),
|
|
(o._getColGroupY = function (t, e) {
|
|
if (e < 2) return this.colYs[t];
|
|
var i = this.colYs.slice(t, t + e);
|
|
return Math.max.apply(Math, i);
|
|
}),
|
|
(o._getHorizontalColPosition = function (t, e) {
|
|
var i = this.horizontalColIndex % this.cols,
|
|
o = t > 1 && i + t > this.cols;
|
|
i = o ? 0 : i;
|
|
var n = e.size.outerWidth && e.size.outerHeight;
|
|
return (
|
|
(this.horizontalColIndex = n ? i + t : this.horizontalColIndex),
|
|
{ col: i, y: this._getColGroupY(i, t) }
|
|
);
|
|
}),
|
|
(o._manageStamp = function (t) {
|
|
var i = e(t),
|
|
o = this._getElementOffset(t),
|
|
n = this._getOption("originLeft"),
|
|
s = n ? o.left : o.right,
|
|
r = s + i.outerWidth,
|
|
a = Math.floor(s / this.columnWidth);
|
|
a = Math.max(0, a);
|
|
var u = Math.floor(r / this.columnWidth);
|
|
(u -= r % this.columnWidth ? 0 : 1), (u = Math.min(this.cols - 1, u));
|
|
for (
|
|
var h = this._getOption("originTop"),
|
|
d = (h ? o.top : o.bottom) + i.outerHeight,
|
|
l = a;
|
|
l <= u;
|
|
l++
|
|
)
|
|
this.colYs[l] = Math.max(d, this.colYs[l]);
|
|
}),
|
|
(o._getContainerSize = function () {
|
|
this.maxY = Math.max.apply(Math, this.colYs);
|
|
var t = { height: this.maxY };
|
|
return (
|
|
this._getOption("fitWidth") &&
|
|
(t.width = this._getContainerFitWidth()),
|
|
t
|
|
);
|
|
}),
|
|
(o._getContainerFitWidth = function () {
|
|
for (var t = 0, e = this.cols; --e && 0 === this.colYs[e]; ) t++;
|
|
return (this.cols - t) * this.columnWidth - this.gutter;
|
|
}),
|
|
(o.needsResizeLayout = function () {
|
|
var t = this.containerWidth;
|
|
return this.getContainerWidth(), t != this.containerWidth;
|
|
}),
|
|
i
|
|
);
|
|
}),
|
|
(function (t, e) {
|
|
"function" == typeof define && define.amd
|
|
? define(
|
|
"isotope-layout/js/layout-modes/masonry",
|
|
["../layout-mode", "masonry-layout/masonry"],
|
|
e
|
|
)
|
|
: "object" == typeof module && module.exports
|
|
? (module.exports = e(
|
|
require("../layout-mode"),
|
|
require("masonry-layout")
|
|
))
|
|
: e(t.Isotope.LayoutMode, t.Masonry);
|
|
})(window, function (t, e) {
|
|
"use strict";
|
|
var i = t.create("masonry"),
|
|
o = i.prototype,
|
|
n = { _getElementOffset: !0, layout: !0, _getMeasurement: !0 };
|
|
for (var s in e.prototype) n[s] || (o[s] = e.prototype[s]);
|
|
var r = o.measureColumns;
|
|
o.measureColumns = function () {
|
|
(this.items = this.isotope.filteredItems), r.call(this);
|
|
};
|
|
var a = o._getOption;
|
|
return (
|
|
(o._getOption = function (t) {
|
|
return "fitWidth" == t
|
|
? void 0 !== this.options.isFitWidth
|
|
? this.options.isFitWidth
|
|
: this.options.fitWidth
|
|
: a.apply(this.isotope, arguments);
|
|
}),
|
|
i
|
|
);
|
|
}),
|
|
(function (t, e) {
|
|
"function" == typeof define && define.amd
|
|
? define("isotope-layout/js/layout-modes/fit-rows", ["../layout-mode"], e)
|
|
: "object" == typeof exports
|
|
? (module.exports = e(require("../layout-mode")))
|
|
: e(t.Isotope.LayoutMode);
|
|
})(window, function (t) {
|
|
"use strict";
|
|
var e = t.create("fitRows"),
|
|
i = e.prototype;
|
|
return (
|
|
(i._resetLayout = function () {
|
|
(this.x = 0),
|
|
(this.y = 0),
|
|
(this.maxY = 0),
|
|
this._getMeasurement("gutter", "outerWidth");
|
|
}),
|
|
(i._getItemLayoutPosition = function (t) {
|
|
t.getSize();
|
|
var e = t.size.outerWidth + this.gutter,
|
|
i = this.isotope.size.innerWidth + this.gutter;
|
|
0 !== this.x && e + this.x > i && ((this.x = 0), (this.y = this.maxY));
|
|
var o = { x: this.x, y: this.y };
|
|
return (
|
|
(this.maxY = Math.max(this.maxY, this.y + t.size.outerHeight)),
|
|
(this.x += e),
|
|
o
|
|
);
|
|
}),
|
|
(i._getContainerSize = function () {
|
|
return { height: this.maxY };
|
|
}),
|
|
e
|
|
);
|
|
}),
|
|
(function (t, e) {
|
|
"function" == typeof define && define.amd
|
|
? define("isotope-layout/js/layout-modes/vertical", ["../layout-mode"], e)
|
|
: "object" == typeof module && module.exports
|
|
? (module.exports = e(require("../layout-mode")))
|
|
: e(t.Isotope.LayoutMode);
|
|
})(window, function (t) {
|
|
"use strict";
|
|
var e = t.create("vertical", { horizontalAlignment: 0 }),
|
|
i = e.prototype;
|
|
return (
|
|
(i._resetLayout = function () {
|
|
this.y = 0;
|
|
}),
|
|
(i._getItemLayoutPosition = function (t) {
|
|
t.getSize();
|
|
var e =
|
|
(this.isotope.size.innerWidth - t.size.outerWidth) *
|
|
this.options.horizontalAlignment,
|
|
i = this.y;
|
|
return (this.y += t.size.outerHeight), { x: e, y: i };
|
|
}),
|
|
(i._getContainerSize = function () {
|
|
return { height: this.y };
|
|
}),
|
|
e
|
|
);
|
|
}),
|
|
(function (t, e) {
|
|
"function" == typeof define && define.amd
|
|
? define(
|
|
[
|
|
"outlayer/outlayer",
|
|
"get-size/get-size",
|
|
"desandro-matches-selector/matches-selector",
|
|
"fizzy-ui-utils/utils",
|
|
"isotope-layout/js/item",
|
|
"isotope-layout/js/layout-mode",
|
|
"isotope-layout/js/layout-modes/masonry",
|
|
"isotope-layout/js/layout-modes/fit-rows",
|
|
"isotope-layout/js/layout-modes/vertical",
|
|
],
|
|
function (i, o, n, s, r, a) {
|
|
return e(t, i, o, n, s, r, a);
|
|
}
|
|
)
|
|
: "object" == typeof module && module.exports
|
|
? (module.exports = e(
|
|
t,
|
|
require("outlayer"),
|
|
require("get-size"),
|
|
require("desandro-matches-selector"),
|
|
require("fizzy-ui-utils"),
|
|
require("isotope-layout/js/item"),
|
|
require("isotope-layout/js/layout-mode"),
|
|
require("isotope-layout/js/layout-modes/masonry"),
|
|
require("isotope-layout/js/layout-modes/fit-rows"),
|
|
require("isotope-layout/js/layout-modes/vertical")
|
|
))
|
|
: (t.Isotope = e(
|
|
t,
|
|
t.Outlayer,
|
|
t.getSize,
|
|
t.matchesSelector,
|
|
t.fizzyUIUtils,
|
|
t.Isotope.Item,
|
|
t.Isotope.LayoutMode
|
|
));
|
|
})(window, function (t, e, i, o, n, s, r) {
|
|
function a(t, e) {
|
|
return function (i, o) {
|
|
for (var n = 0; n < t.length; n++) {
|
|
var s = t[n],
|
|
r = i.sortData[s],
|
|
a = o.sortData[s];
|
|
if (r > a || r < a) {
|
|
var u = void 0 !== e[s] ? e[s] : e,
|
|
h = u ? 1 : -1;
|
|
return (r > a ? 1 : -1) * h;
|
|
}
|
|
}
|
|
return 0;
|
|
};
|
|
}
|
|
var u = t.jQuery,
|
|
h = String.prototype.trim
|
|
? function (t) {
|
|
return t.trim();
|
|
}
|
|
: function (t) {
|
|
return t.replace(/^\s+|\s+$/g, "");
|
|
},
|
|
d = e.create("isotope", {
|
|
layoutMode: "masonry",
|
|
isJQueryFiltering: !0,
|
|
sortAscending: !0,
|
|
});
|
|
(d.Item = s), (d.LayoutMode = r);
|
|
var l = d.prototype;
|
|
(l._create = function () {
|
|
(this.itemGUID = 0),
|
|
(this._sorters = {}),
|
|
this._getSorters(),
|
|
e.prototype._create.call(this),
|
|
(this.modes = {}),
|
|
(this.filteredItems = this.items),
|
|
(this.sortHistory = ["original-order"]);
|
|
for (var t in r.modes) this._initLayoutMode(t);
|
|
}),
|
|
(l.reloadItems = function () {
|
|
(this.itemGUID = 0), e.prototype.reloadItems.call(this);
|
|
}),
|
|
(l._itemize = function () {
|
|
for (
|
|
var t = e.prototype._itemize.apply(this, arguments), i = 0;
|
|
i < t.length;
|
|
i++
|
|
) {
|
|
var o = t[i];
|
|
o.id = this.itemGUID++;
|
|
}
|
|
return this._updateItemsSortData(t), t;
|
|
}),
|
|
(l._initLayoutMode = function (t) {
|
|
var e = r.modes[t],
|
|
i = this.options[t] || {};
|
|
(this.options[t] = e.options ? n.extend(e.options, i) : i),
|
|
(this.modes[t] = new e(this));
|
|
}),
|
|
(l.layout = function () {
|
|
return !this._isLayoutInited && this._getOption("initLayout")
|
|
? void this.arrange()
|
|
: void this._layout();
|
|
}),
|
|
(l._layout = function () {
|
|
var t = this._getIsInstant();
|
|
this._resetLayout(),
|
|
this._manageStamps(),
|
|
this.layoutItems(this.filteredItems, t),
|
|
(this._isLayoutInited = !0);
|
|
}),
|
|
(l.arrange = function (t) {
|
|
this.option(t), this._getIsInstant();
|
|
var e = this._filter(this.items);
|
|
(this.filteredItems = e.matches),
|
|
this._bindArrangeComplete(),
|
|
this._isInstant
|
|
? this._noTransition(this._hideReveal, [e])
|
|
: this._hideReveal(e),
|
|
this._sort(),
|
|
this._layout();
|
|
}),
|
|
(l._init = l.arrange),
|
|
(l._hideReveal = function (t) {
|
|
this.reveal(t.needReveal), this.hide(t.needHide);
|
|
}),
|
|
(l._getIsInstant = function () {
|
|
var t = this._getOption("layoutInstant"),
|
|
e = void 0 !== t ? t : !this._isLayoutInited;
|
|
return (this._isInstant = e), e;
|
|
}),
|
|
(l._bindArrangeComplete = function () {
|
|
function t() {
|
|
e &&
|
|
i &&
|
|
o &&
|
|
n.dispatchEvent("arrangeComplete", null, [n.filteredItems]);
|
|
}
|
|
var e,
|
|
i,
|
|
o,
|
|
n = this;
|
|
this.once("layoutComplete", function () {
|
|
(e = !0), t();
|
|
}),
|
|
this.once("hideComplete", function () {
|
|
(i = !0), t();
|
|
}),
|
|
this.once("revealComplete", function () {
|
|
(o = !0), t();
|
|
});
|
|
}),
|
|
(l._filter = function (t) {
|
|
var e = this.options.filter;
|
|
e = e || "*";
|
|
for (
|
|
var i = [], o = [], n = [], s = this._getFilterTest(e), r = 0;
|
|
r < t.length;
|
|
r++
|
|
) {
|
|
var a = t[r];
|
|
if (!a.isIgnored) {
|
|
var u = s(a);
|
|
u && i.push(a),
|
|
u && a.isHidden ? o.push(a) : u || a.isHidden || n.push(a);
|
|
}
|
|
}
|
|
return { matches: i, needReveal: o, needHide: n };
|
|
}),
|
|
(l._getFilterTest = function (t) {
|
|
return u && this.options.isJQueryFiltering
|
|
? function (e) {
|
|
return u(e.element).is(t);
|
|
}
|
|
: "function" == typeof t
|
|
? function (e) {
|
|
return t(e.element);
|
|
}
|
|
: function (e) {
|
|
return o(e.element, t);
|
|
};
|
|
}),
|
|
(l.updateSortData = function (t) {
|
|
var e;
|
|
t ? ((t = n.makeArray(t)), (e = this.getItems(t))) : (e = this.items),
|
|
this._getSorters(),
|
|
this._updateItemsSortData(e);
|
|
}),
|
|
(l._getSorters = function () {
|
|
var t = this.options.getSortData;
|
|
for (var e in t) {
|
|
var i = t[e];
|
|
this._sorters[e] = f(i);
|
|
}
|
|
}),
|
|
(l._updateItemsSortData = function (t) {
|
|
for (var e = t && t.length, i = 0; e && i < e; i++) {
|
|
var o = t[i];
|
|
o.updateSortData();
|
|
}
|
|
});
|
|
var f = (function () {
|
|
function t(t) {
|
|
if ("string" != typeof t) return t;
|
|
var i = h(t).split(" "),
|
|
o = i[0],
|
|
n = o.match(/^\[(.+)\]$/),
|
|
s = n && n[1],
|
|
r = e(s, o),
|
|
a = d.sortDataParsers[i[1]];
|
|
return (t = a
|
|
? function (t) {
|
|
return t && a(r(t));
|
|
}
|
|
: function (t) {
|
|
return t && r(t);
|
|
});
|
|
}
|
|
function e(t, e) {
|
|
return t
|
|
? function (e) {
|
|
return e.getAttribute(t);
|
|
}
|
|
: function (t) {
|
|
var i = t.querySelector(e);
|
|
return i && i.textContent;
|
|
};
|
|
}
|
|
return t;
|
|
})();
|
|
(d.sortDataParsers = {
|
|
parseInt: function (t) {
|
|
return parseInt(t, 10);
|
|
},
|
|
parseFloat: function (t) {
|
|
return parseFloat(t);
|
|
},
|
|
}),
|
|
(l._sort = function () {
|
|
if (this.options.sortBy) {
|
|
var t = n.makeArray(this.options.sortBy);
|
|
this._getIsSameSortBy(t) ||
|
|
(this.sortHistory = t.concat(this.sortHistory));
|
|
var e = a(this.sortHistory, this.options.sortAscending);
|
|
this.filteredItems.sort(e);
|
|
}
|
|
}),
|
|
(l._getIsSameSortBy = function (t) {
|
|
for (var e = 0; e < t.length; e++)
|
|
if (t[e] != this.sortHistory[e]) return !1;
|
|
return !0;
|
|
}),
|
|
(l._mode = function () {
|
|
var t = this.options.layoutMode,
|
|
e = this.modes[t];
|
|
if (!e) throw new Error("No layout mode: " + t);
|
|
return (e.options = this.options[t]), e;
|
|
}),
|
|
(l._resetLayout = function () {
|
|
e.prototype._resetLayout.call(this), this._mode()._resetLayout();
|
|
}),
|
|
(l._getItemLayoutPosition = function (t) {
|
|
return this._mode()._getItemLayoutPosition(t);
|
|
}),
|
|
(l._manageStamp = function (t) {
|
|
this._mode()._manageStamp(t);
|
|
}),
|
|
(l._getContainerSize = function () {
|
|
return this._mode()._getContainerSize();
|
|
}),
|
|
(l.needsResizeLayout = function () {
|
|
return this._mode().needsResizeLayout();
|
|
}),
|
|
(l.appended = function (t) {
|
|
var e = this.addItems(t);
|
|
if (e.length) {
|
|
var i = this._filterRevealAdded(e);
|
|
this.filteredItems = this.filteredItems.concat(i);
|
|
}
|
|
}),
|
|
(l.prepended = function (t) {
|
|
var e = this._itemize(t);
|
|
if (e.length) {
|
|
this._resetLayout(), this._manageStamps();
|
|
var i = this._filterRevealAdded(e);
|
|
this.layoutItems(this.filteredItems),
|
|
(this.filteredItems = i.concat(this.filteredItems)),
|
|
(this.items = e.concat(this.items));
|
|
}
|
|
}),
|
|
(l._filterRevealAdded = function (t) {
|
|
var e = this._filter(t);
|
|
return (
|
|
this.hide(e.needHide),
|
|
this.reveal(e.matches),
|
|
this.layoutItems(e.matches, !0),
|
|
e.matches
|
|
);
|
|
}),
|
|
(l.insert = function (t) {
|
|
var e = this.addItems(t);
|
|
if (e.length) {
|
|
var i,
|
|
o,
|
|
n = e.length;
|
|
for (i = 0; i < n; i++)
|
|
(o = e[i]), this.element.appendChild(o.element);
|
|
var s = this._filter(e).matches;
|
|
for (i = 0; i < n; i++) e[i].isLayoutInstant = !0;
|
|
for (this.arrange(), i = 0; i < n; i++) delete e[i].isLayoutInstant;
|
|
this.reveal(s);
|
|
}
|
|
});
|
|
var c = l.remove;
|
|
return (
|
|
(l.remove = function (t) {
|
|
t = n.makeArray(t);
|
|
var e = this.getItems(t);
|
|
c.call(this, t);
|
|
for (var i = e && e.length, o = 0; i && o < i; o++) {
|
|
var s = e[o];
|
|
n.removeFrom(this.filteredItems, s);
|
|
}
|
|
}),
|
|
(l.shuffle = function () {
|
|
for (var t = 0; t < this.items.length; t++) {
|
|
var e = this.items[t];
|
|
e.sortData.random = Math.random();
|
|
}
|
|
(this.options.sortBy = "random"), this._sort(), this._layout();
|
|
}),
|
|
(l._noTransition = function (t, e) {
|
|
var i = this.options.transitionDuration;
|
|
this.options.transitionDuration = 0;
|
|
var o = t.apply(this, e);
|
|
return (this.options.transitionDuration = i), o;
|
|
}),
|
|
(l.getFilteredItemElements = function () {
|
|
return this.filteredItems.map(function (t) {
|
|
return t.element;
|
|
});
|
|
}),
|
|
d
|
|
);
|
|
});
|