|
|
Line 1,046: |
Line 1,046: |
| | | |
| </script> | | </script> |
− | <script>
| |
− | /*!
| |
− | * Isotope PACKAGED v2.0.0
| |
− | * Filter & sort magical layouts
| |
− | * http://isotope.metafizzy.co
| |
− | */
| |
| | | |
− | (function (t) {
| |
− | function e() {}
| |
− |
| |
− | function i(t) {
| |
− | function i(e) {
| |
− | e.prototype.option || (e.prototype.option = function (e) {
| |
− | t.isPlainObject(e) && (this.options = t.extend(!0, this.options, e))
| |
− | })
| |
− | }
| |
− |
| |
− | function n(e, i) {
| |
− | t.fn[e] = function (n) {
| |
− | if ("string" == typeof n) {
| |
− | for (var s = o.call(arguments, 1), a = 0, u = this.length; u > a; a++) {
| |
− | var p = this[a],
| |
− | h = t.data(p, e);
| |
− | if (h)
| |
− | if (t.isFunction(h[n]) && "_" !== n.charAt(0)) {
| |
− | var f = h[n].apply(h, s);
| |
− | if (void 0 !== f) return f
| |
− | } else r("no such method '" + n + "' for " + e + " instance");
| |
− | else r("cannot call methods on " + e + " prior to initialization; " + "attempted to call '" + n + "'")
| |
− | }
| |
− | return this
| |
− | }
| |
− | return this.each(function () {
| |
− | var o = t.data(this, e);
| |
− | o ? (o.option(n), o._init()) : (o = new i(this, n), t.data(this, e, o))
| |
− | })
| |
− | }
| |
− | }
| |
− | if (t) {
| |
− | var r = "undefined" == typeof console ? e : function (t) {
| |
− | console.error(t)
| |
− | };
| |
− | return t.bridget = function (t, e) {
| |
− | i(e), n(t, e)
| |
− | }, t.bridget
| |
− | }
| |
− | }
| |
− | var o = Array.prototype.slice;
| |
− | "function" == typeof define && define.amd ? define("jquery-bridget/jquery.bridget", ["jquery"], i) : i(t.jQuery)
| |
− | })(window),
| |
− | function (t) {
| |
− | function e(e) {
| |
− | var i = t.event;
| |
− | return i.target = i.target || i.srcElement || e, i
| |
− | }
| |
− | var i = document.documentElement,
| |
− | o = function () {};
| |
− | i.addEventListener ? o = function (t, e, i) {
| |
− | t.addEventListener(e, i, !1)
| |
− | } : i.attachEvent && (o = function (t, i, o) {
| |
− | t[i + o] = o.handleEvent ? function () {
| |
− | var i = e(t);
| |
− | o.handleEvent.call(o, i)
| |
− | } : function () {
| |
− | var i = e(t);
| |
− | o.call(t, i)
| |
− | }, t.attachEvent("on" + i, t[i + o])
| |
− | });
| |
− | var n = function () {};
| |
− | i.removeEventListener ? n = function (t, e, i) {
| |
− | t.removeEventListener(e, i, !1)
| |
− | } : i.detachEvent && (n = function (t, e, i) {
| |
− | t.detachEvent("on" + e, t[e + i]);
| |
− | try {
| |
− | delete t[e + i]
| |
− | } catch (o) {
| |
− | t[e + i] = void 0
| |
− | }
| |
− | });
| |
− | var r = {
| |
− | bind: o,
| |
− | unbind: n
| |
− | };
| |
− | "function" == typeof define && define.amd ? define("eventie/eventie", r) : "object" == typeof exports ? module.exports = r : t.eventie = r
| |
− | }(this),
| |
− | function (t) {
| |
− | function e(t) {
| |
− | "function" == typeof t && (e.isReady ? t() : r.push(t))
| |
− | }
| |
− |
| |
− | function i(t) {
| |
− | var i = "readystatechange" === t.type && "complete" !== n.readyState;
| |
− | if (!e.isReady && !i) {
| |
− | e.isReady = !0;
| |
− | for (var o = 0, s = r.length; s > o; o++) {
| |
− | var a = r[o];
| |
− | a()
| |
− | }
| |
− | }
| |
− | }
| |
− |
| |
− | function o(o) {
| |
− | return o.bind(n, "DOMContentLoaded", i), o.bind(n, "readystatechange", i), o.bind(t, "load", i), e
| |
− | }
| |
− | var n = t.document,
| |
− | r = [];
| |
− | e.isReady = !1, "function" == typeof define && define.amd ? (e.isReady = "function" == typeof requirejs, define("doc-ready/doc-ready", ["eventie/eventie"], o)) : t.docReady = o(t.eventie)
| |
− | }(this),
| |
− | function () {
| |
− | function t() {}
| |
− |
| |
− | function e(t, e) {
| |
− | for (var i = t.length; i--;)
| |
− | if (t[i].listener === e) return i;
| |
− | return -1
| |
− | }
| |
− |
| |
− | function i(t) {
| |
− | return function () {
| |
− | return this[t].apply(this, arguments)
| |
− | }
| |
− | }
| |
− | var o = t.prototype,
| |
− | n = this,
| |
− | r = n.EventEmitter;
| |
− | o.getListeners = function (t) {
| |
− | var e, i, o = this._getEvents();
| |
− | if (t instanceof RegExp) {
| |
− | e = {};
| |
− | for (i in o) o.hasOwnProperty(i) && t.test(i) && (e[i] = o[i])
| |
− | } else e = o[t] || (o[t] = []);
| |
− | return e
| |
− | }, o.flattenListeners = function (t) {
| |
− | var e, i = [];
| |
− | for (e = 0; t.length > e; e += 1) i.push(t[e].listener);
| |
− | return i
| |
− | }, o.getListenersAsObject = function (t) {
| |
− | var e, i = this.getListeners(t);
| |
− | return i instanceof Array && (e = {}, e[t] = i), e || i
| |
− | }, o.addListener = function (t, i) {
| |
− | var o, n = this.getListenersAsObject(t),
| |
− | r = "object" == typeof i;
| |
− | for (o in n) n.hasOwnProperty(o) && -1 === e(n[o], i) && n[o].push(r ? i : {
| |
− | listener: i,
| |
− | once: !1
| |
− | });
| |
− | return this
| |
− | }, o.on = i("addListener"), o.addOnceListener = function (t, e) {
| |
− | return this.addListener(t, {
| |
− | listener: e,
| |
− | once: !0
| |
− | })
| |
− | }, o.once = i("addOnceListener"), o.defineEvent = function (t) {
| |
− | return this.getListeners(t), this
| |
− | }, o.defineEvents = function (t) {
| |
− | for (var e = 0; t.length > e; e += 1) this.defineEvent(t[e]);
| |
− | return this
| |
− | }, o.removeListener = function (t, i) {
| |
− | var o, n, r = this.getListenersAsObject(t);
| |
− | for (n in r) r.hasOwnProperty(n) && (o = e(r[n], i), -1 !== o && r[n].splice(o, 1));
| |
− | return this
| |
− | }, o.off = i("removeListener"), o.addListeners = function (t, e) {
| |
− | return this.manipulateListeners(!1, t, e)
| |
− | }, o.removeListeners = function (t, e) {
| |
− | return this.manipulateListeners(!0, t, e)
| |
− | }, o.manipulateListeners = function (t, e, i) {
| |
− | var o, n, r = t ? this.removeListener : this.addListener,
| |
− | s = t ? this.removeListeners : this.addListeners;
| |
− | if ("object" != typeof e || e instanceof RegExp)
| |
− | for (o = i.length; o--;) r.call(this, e, i[o]);
| |
− | else
| |
− | for (o in e) e.hasOwnProperty(o) && (n = e[o]) && ("function" == typeof n ? r.call(this, o, n) : s.call(this, o, n));
| |
− | return this
| |
− | }, o.removeEvent = function (t) {
| |
− | var e, i = typeof t,
| |
− | o = this._getEvents();
| |
− | if ("string" === i) delete o[t];
| |
− | else if (t instanceof RegExp)
| |
− | for (e in o) o.hasOwnProperty(e) && t.test(e) && delete o[e];
| |
− | else delete this._events;
| |
− | return this
| |
− | }, o.removeAllListeners = i("removeEvent"), o.emitEvent = function (t, e) {
| |
− | var i, o, n, r, s = this.getListenersAsObject(t);
| |
− | for (n in s)
| |
− | if (s.hasOwnProperty(n))
| |
− | for (o = s[n].length; o--;) i = s[n][o], i.once === !0 && this.removeListener(t, i.listener), r = i.listener.apply(this, e || []), r === this._getOnceReturnValue() && this.removeListener(t, i.listener);
| |
− | return this
| |
− | }, o.trigger = i("emitEvent"), o.emit = function (t) {
| |
− | var e = Array.prototype.slice.call(arguments, 1);
| |
− | return this.emitEvent(t, e)
| |
− | }, o.setOnceReturnValue = function (t) {
| |
− | return this._onceReturnValue = t, this
| |
− | }, o._getOnceReturnValue = function () {
| |
− | return this.hasOwnProperty("_onceReturnValue") ? this._onceReturnValue : !0
| |
− | }, o._getEvents = function () {
| |
− | return this._events || (this._events = {})
| |
− | }, t.noConflict = function () {
| |
− | return n.EventEmitter = r, t
| |
− | }, "function" == typeof define && define.amd ? define("eventEmitter/EventEmitter", [], function () {
| |
− | return t
| |
− | }) : "object" == typeof module && module.exports ? module.exports = t : this.EventEmitter = t
| |
− | }.call(this),
| |
− | function (t) {
| |
− | function e(t) {
| |
− | if (t) {
| |
− | if ("string" == typeof o[t]) return t;
| |
− | t = t.charAt(0).toUpperCase() + t.slice(1);
| |
− | for (var e, n = 0, r = i.length; r > n; n++)
| |
− | if (e = i[n] + t, "string" == typeof o[e]) return e
| |
− | }
| |
− | }
| |
− | var i = "Webkit Moz ms Ms O".split(" "),
| |
− | o = document.documentElement.style;
| |
− | "function" == typeof define && define.amd ? define("get-style-property/get-style-property", [], function () {
| |
− | return e
| |
− | }) : "object" == typeof exports ? module.exports = e : t.getStyleProperty = e
| |
− | }(window),
| |
− | function (t) {
| |
− | function e(t) {
| |
− | var e = parseFloat(t),
| |
− | i = -1 === t.indexOf("%") && !isNaN(e);
| |
− | return i && e
| |
− | }
| |
− |
| |
− | function i() {
| |
− | for (var t = {
| |
− | width: 0,
| |
− | height: 0,
| |
− | innerWidth: 0,
| |
− | innerHeight: 0,
| |
− | outerWidth: 0,
| |
− | outerHeight: 0
| |
− | }, e = 0, i = s.length; i > e; e++) {
| |
− | var o = s[e];
| |
− | t[o] = 0
| |
− | }
| |
− | return t
| |
− | }
| |
− |
| |
− | function o(t) {
| |
− | function o(t) {
| |
− | if ("string" == typeof t && (t = document.querySelector(t)), t && "object" == typeof t && t.nodeType) {
| |
− | var o = r(t);
| |
− | if ("none" === o.display) return i();
| |
− | var n = {};
| |
− | n.width = t.offsetWidth, n.height = t.offsetHeight;
| |
− | for (var h = n.isBorderBox = !(!p || !o[p] || "border-box" !== o[p]), f = 0, c = s.length; c > f; f++) {
| |
− | var d = s[f],
| |
− | l = o[d];
| |
− | l = a(t, l);
| |
− | var y = parseFloat(l);
| |
− | n[d] = isNaN(y) ? 0 : y
| |
− | }
| |
− | var m = n.paddingLeft + n.paddingRight,
| |
− | g = n.paddingTop + n.paddingBottom,
| |
− | v = n.marginLeft + n.marginRight,
| |
− | _ = n.marginTop + n.marginBottom,
| |
− | I = n.borderLeftWidth + n.borderRightWidth,
| |
− | L = n.borderTopWidth + n.borderBottomWidth,
| |
− | z = h && u,
| |
− | S = e(o.width);
| |
− | S !== !1 && (n.width = S + (z ? 0 : m + I));
| |
− | var b = e(o.height);
| |
− | return b !== !1 && (n.height = b + (z ? 0 : g + L)), n.innerWidth = n.width - (m + I), n.innerHeight = n.height - (g + L), n.outerWidth = n.width + v, n.outerHeight = n.height + _, n
| |
− | }
| |
− | }
| |
− |
| |
− | function a(t, e) {
| |
− | if (n || -1 === e.indexOf("%")) return e;
| |
− | var i = t.style,
| |
− | o = i.left,
| |
− | r = t.runtimeStyle,
| |
− | s = r && r.left;
| |
− | return s && (r.left = t.currentStyle.left), i.left = e, e = i.pixelLeft, i.left = o, s && (r.left = s), e
| |
− | }
| |
− | var u, p = t("boxSizing");
| |
− | return function () {
| |
− | if (p) {
| |
− | var t = document.createElement("div");
| |
− | t.style.width = "200px", t.style.padding = "1px 2px 3px 4px", t.style.borderStyle = "solid", t.style.borderWidth = "1px 2px 3px 4px", t.style[p] = "border-box";
| |
− | var i = document.body || document.documentElement;
| |
− | i.appendChild(t);
| |
− | var o = r(t);
| |
− | u = 200 === e(o.width), i.removeChild(t)
| |
− | }
| |
− | }(), o
| |
− | }
| |
− | var n = t.getComputedStyle,
| |
− | r = n ? function (t) {
| |
− | return n(t, null)
| |
− | } : function (t) {
| |
− | return t.currentStyle
| |
− | },
| |
− | s = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "marginLeft", "marginRight", "marginTop", "marginBottom", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth"];
| |
− | "function" == typeof define && define.amd ? define("get-size/get-size", ["get-style-property/get-style-property"], o) : "object" == typeof exports ? module.exports = o(require("get-style-property")) : t.getSize = o(t.getStyleProperty)
| |
− | }(window),
| |
− | function (t, e) {
| |
− | function i(t, e) {
| |
− | return t[a](e)
| |
− | }
| |
− |
| |
− | function o(t) {
| |
− | if (!t.parentNode) {
| |
− | var e = document.createDocumentFragment();
| |
− | e.appendChild(t)
| |
− | }
| |
− | }
| |
− |
| |
− | function n(t, e) {
| |
− | o(t);
| |
− | for (var i = t.parentNode.querySelectorAll(e), n = 0, r = i.length; r > n; n++)
| |
− | if (i[n] === t) return !0;
| |
− | return !1
| |
− | }
| |
− |
| |
− | function r(t, e) {
| |
− | return o(t), i(t, e)
| |
− | }
| |
− | var s, a = function () {
| |
− | if (e.matchesSelector) return "matchesSelector";
| |
− | for (var t = ["webkit", "moz", "ms", "o"], i = 0, o = t.length; o > i; i++) {
| |
− | var n = t[i],
| |
− | r = n + "MatchesSelector";
| |
− | if (e[r]) return r
| |
− | }
| |
− | }();
| |
− | if (a) {
| |
− | var u = document.createElement("div"),
| |
− | p = i(u, "div");
| |
− | s = p ? i : r
| |
− | } else s = n;
| |
− | "function" == typeof define && define.amd ? define("matches-selector/matches-selector", [], function () {
| |
− | return s
| |
− | }) : window.matchesSelector = s
| |
− | }(this, Element.prototype),
| |
− | function (t) {
| |
− | function e(t, e) {
| |
− | for (var i in e) t[i] = e[i];
| |
− | return t
| |
− | }
| |
− |
| |
− | function i(t) {
| |
− | for (var e in t) return !1;
| |
− | return e = null, !0
| |
− | }
| |
− |
| |
− | function o(t) {
| |
− | return t.replace(/([A-Z])/g, function (t) {
| |
− | return "-" + t.toLowerCase()
| |
− | })
| |
− | }
| |
− |
| |
− | function n(t, n, r) {
| |
− | function a(t, e) {
| |
− | t && (this.element = t, this.layout = e, this.position = {
| |
− | x: 0,
| |
− | y: 0
| |
− | }, this._create())
| |
− | }
| |
− | var u = r("transition"),
| |
− | p = r("transform"),
| |
− | h = u && p,
| |
− | f = !!r("perspective"),
| |
− | c = {
| |
− | WebkitTransition: "webkitTransitionEnd",
| |
− | MozTransition: "transitionend",
| |
− | OTransition: "otransitionend",
| |
− | transition: "transitionend"
| |
− | }[u],
| |
− | d = ["transform", "transition", "transitionDuration", "transitionProperty"],
| |
− | l = function () {
| |
− | for (var t = {}, e = 0, i = d.length; i > e; e++) {
| |
− | var o = d[e],
| |
− | n = r(o);
| |
− | n && n !== o && (t[o] = n)
| |
− | }
| |
− | return t
| |
− | }();
| |
− | e(a.prototype, t.prototype), a.prototype._create = function () {
| |
− | this._transn = {
| |
− | ingProperties: {},
| |
− | clean: {},
| |
− | onEnd: {}
| |
− | }, this.css({
| |
− | position: "absolute"
| |
− | })
| |
− | }, a.prototype.handleEvent = function (t) {
| |
− | var e = "on" + t.type;
| |
− | this[e] && this[e](t)
| |
− | }, a.prototype.getSize = function () {
| |
− | this.size = n(this.element)
| |
− | }, a.prototype.css = function (t) {
| |
− | var e = this.element.style;
| |
− | for (var i in t) {
| |
− | var o = l[i] || i;
| |
− | e[o] = t[i]
| |
− | }
| |
− | }, a.prototype.getPosition = function () {
| |
− | var t = s(this.element),
| |
− | e = this.layout.options,
| |
− | i = e.isOriginLeft,
| |
− | o = e.isOriginTop,
| |
− | n = parseInt(t[i ? "left" : "right"], 10),
| |
− | r = parseInt(t[o ? "top" : "bottom"], 10);
| |
− | n = isNaN(n) ? 0 : n, r = isNaN(r) ? 0 : r;
| |
− | var a = this.layout.size;
| |
− | n -= i ? a.paddingLeft : a.paddingRight, r -= o ? a.paddingTop : a.paddingBottom, this.position.x = n, this.position.y = r
| |
− | }, a.prototype.layoutPosition = function () {
| |
− | var t = this.layout.size,
| |
− | e = this.layout.options,
| |
− | i = {};
| |
− | e.isOriginLeft ? (i.left = this.position.x + t.paddingLeft + "px", i.right = "") : (i.right = this.position.x + t.paddingRight + "px", i.left = ""), e.isOriginTop ? (i.top = this.position.y + t.paddingTop + "px", i.bottom = "") : (i.bottom = this.position.y + t.paddingBottom + "px", i.top = ""), this.css(i), this.emitEvent("layout", [this])
| |
− | };
| |
− | var y = f ? function (t, e) {
| |
− | return "translate3d(" + t + "px, " + e + "px, 0)"
| |
− | } : function (t, e) {
| |
− | return "translate(" + t + "px, " + e + "px)"
| |
− | };
| |
− | a.prototype._transitionTo = function (t, e) {
| |
− | this.getPosition();
| |
− | var i = this.position.x,
| |
− | o = this.position.y,
| |
− | n = parseInt(t, 10),
| |
− | r = parseInt(e, 10),
| |
− | s = n === this.position.x && r === this.position.y;
| |
− | if (this.setPosition(t, e), s && !this.isTransitioning) return this.layoutPosition(), void 0;
| |
− | var a = t - i,
| |
− | u = e - o,
| |
− | p = {},
| |
− | h = this.layout.options;
| |
− | a = h.isOriginLeft ? a : -a, u = h.isOriginTop ? u : -u, p.transform = y(a, u), this.transition({
| |
− | to: p,
| |
− | onTransitionEnd: {
| |
− | transform: this.layoutPosition
| |
− | },
| |
− | isCleaning: !0
| |
− | })
| |
− | }, a.prototype.goTo = function (t, e) {
| |
− | this.setPosition(t, e), this.layoutPosition()
| |
− | }, a.prototype.moveTo = h ? a.prototype._transitionTo : a.prototype.goTo, a.prototype.setPosition = function (t, e) {
| |
− | this.position.x = parseInt(t, 10), this.position.y = parseInt(e, 10)
| |
− | }, a.prototype._nonTransition = function (t) {
| |
− | this.css(t.to), t.isCleaning && this._removeStyles(t.to);
| |
− | for (var e in t.onTransitionEnd) t.onTransitionEnd[e].call(this)
| |
− | }, a.prototype._transition = function (t) {
| |
− | if (!parseFloat(this.layout.options.transitionDuration)) return this._nonTransition(t), void 0;
| |
− | 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 m = p && o(p) + ",opacity";
| |
− | a.prototype.enableTransition = function () {
| |
− | this.isTransitioning || (this.css({
| |
− | transitionProperty: m,
| |
− | transitionDuration: this.layout.options.transitionDuration
| |
− | }), this.element.addEventListener(c, this, !1))
| |
− | }, a.prototype.transition = a.prototype[u ? "_transition" : "_nonTransition"], a.prototype.onwebkitTransitionEnd = function (t) {
| |
− | this.ontransitionend(t)
| |
− | }, a.prototype.onotransitionend = function (t) {
| |
− | this.ontransitionend(t)
| |
− | };
| |
− | var g = {
| |
− | "-webkit-transform": "transform",
| |
− | "-moz-transform": "transform",
| |
− | "-o-transform": "transform"
| |
− | };
| |
− | a.prototype.ontransitionend = function (t) {
| |
− | if (t.target === this.element) {
| |
− | var e = this._transn,
| |
− | o = g[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])
| |
− | }
| |
− | }, a.prototype.disableTransition = function () {
| |
− | this.removeTransitionStyles(), this.element.removeEventListener(c, this, !1), this.isTransitioning = !1
| |
− | }, a.prototype._removeStyles = function (t) {
| |
− | var e = {};
| |
− | for (var i in t) e[i] = "";
| |
− | this.css(e)
| |
− | };
| |
− | var v = {
| |
− | transitionProperty: "",
| |
− | transitionDuration: ""
| |
− | };
| |
− | return a.prototype.removeTransitionStyles = function () {
| |
− | this.css(v)
| |
− | }, a.prototype.removeElem = function () {
| |
− | this.element.parentNode.removeChild(this.element), this.emitEvent("remove", [this])
| |
− | }, a.prototype.remove = function () {
| |
− | if (!u || !parseFloat(this.layout.options.transitionDuration)) return this.removeElem(), void 0;
| |
− | var t = this;
| |
− | this.on("transitionEnd", function () {
| |
− | return t.removeElem(), !0
| |
− | }), this.hide()
| |
− | }, a.prototype.reveal = function () {
| |
− | delete this.isHidden, this.css({
| |
− | display: ""
| |
− | });
| |
− | var t = this.layout.options;
| |
− | this.transition({
| |
− | from: t.hiddenStyle,
| |
− | to: t.visibleStyle,
| |
− | isCleaning: !0
| |
− | })
| |
− | }, a.prototype.hide = function () {
| |
− | this.isHidden = !0, this.css({
| |
− | display: ""
| |
− | });
| |
− | var t = this.layout.options;
| |
− | this.transition({
| |
− | from: t.visibleStyle,
| |
− | to: t.hiddenStyle,
| |
− | isCleaning: !0,
| |
− | onTransitionEnd: {
| |
− | opacity: function () {
| |
− | this.isHidden && this.css({
| |
− | display: "none"
| |
− | })
| |
− | }
| |
− | }
| |
− | })
| |
− | }, a.prototype.destroy = function () {
| |
− | this.css({
| |
− | position: "",
| |
− | left: "",
| |
− | right: "",
| |
− | top: "",
| |
− | bottom: "",
| |
− | transition: "",
| |
− | transform: ""
| |
− | })
| |
− | }, a
| |
− | }
| |
− | var r = t.getComputedStyle,
| |
− | s = r ? function (t) {
| |
− | return r(t, null)
| |
− | } : function (t) {
| |
− | return t.currentStyle
| |
− | };
| |
− | "function" == typeof define && define.amd ? define("outlayer/item", ["eventEmitter/EventEmitter", "get-size/get-size", "get-style-property/get-style-property"], n) : (t.Outlayer = {}, t.Outlayer.Item = n(t.EventEmitter, t.getSize, t.getStyleProperty))
| |
− | }(window),
| |
− | function (t) {
| |
− | function e(t, e) {
| |
− | for (var i in e) t[i] = e[i];
| |
− | return t
| |
− | }
| |
− |
| |
− | function i(t) {
| |
− | return "[object Array]" === f.call(t)
| |
− | }
| |
− |
| |
− | function o(t) {
| |
− | var e = [];
| |
− | if (i(t)) e = t;
| |
− | else if (t && "number" == typeof t.length)
| |
− | for (var o = 0, n = t.length; n > o; o++) e.push(t[o]);
| |
− | else e.push(t);
| |
− | return e
| |
− | }
| |
− |
| |
− | function n(t, e) {
| |
− | var i = d(e, t); - 1 !== i && e.splice(i, 1)
| |
− | }
| |
− |
| |
− | function r(t) {
| |
− | return t.replace(/(.)([A-Z])/g, function (t, e, i) {
| |
− | return e + "-" + i
| |
− | }).toLowerCase()
| |
− | }
| |
− |
| |
− | function s(i, s, f, d, l, y) {
| |
− | function m(t, i) {
| |
− | if ("string" == typeof t && (t = a.querySelector(t)), !t || !c(t)) return u && u.error("Bad " + this.constructor.namespace + " element: " + t), void 0;
| |
− | this.element = t, this.options = e({}, this.constructor.defaults), this.option(i);
| |
− | var o = ++g;
| |
− | this.element.outlayerGUID = o, v[o] = this, this._create(), this.options.isInitLayout && this.layout()
| |
− | }
| |
− | var g = 0,
| |
− | v = {};
| |
− | return m.namespace = "outlayer", m.Item = y, m.defaults = {
| |
− | containerStyle: {
| |
− | position: "relative"
| |
− | },
| |
− | isInitLayout: !0,
| |
− | isOriginLeft: !0,
| |
− | isOriginTop: !0,
| |
− | isResizeBound: !0,
| |
− | isResizingContainer: !0,
| |
− | transitionDuration: "0.4s",
| |
− | hiddenStyle: {
| |
− | opacity: 0,
| |
− | transform: "scale(0.001)"
| |
− | },
| |
− | visibleStyle: {
| |
− | opacity: 1,
| |
− | transform: "scale(1)"
| |
− | }
| |
− | }, e(m.prototype, f.prototype), m.prototype.option = function (t) {
| |
− | e(this.options, t)
| |
− | }, m.prototype._create = function () {
| |
− | this.reloadItems(), this.stamps = [], this.stamp(this.options.stamp), e(this.element.style, this.options.containerStyle), this.options.isResizeBound && this.bindResize()
| |
− | }, m.prototype.reloadItems = function () {
| |
− | this.items = this._itemize(this.element.children)
| |
− | }, m.prototype._itemize = function (t) {
| |
− | for (var e = this._filterFindItemElements(t), i = this.constructor.Item, o = [], n = 0, r = e.length; r > n; n++) {
| |
− | var s = e[n],
| |
− | a = new i(s, this);
| |
− | o.push(a)
| |
− | }
| |
− | return o
| |
− | }, m.prototype._filterFindItemElements = function (t) {
| |
− | t = o(t);
| |
− | for (var e = this.options.itemSelector, i = [], n = 0, r = t.length; r > n; n++) {
| |
− | var s = t[n];
| |
− | if (c(s))
| |
− | if (e) {
| |
− | l(s, e) && i.push(s);
| |
− | for (var a = s.querySelectorAll(e), u = 0, p = a.length; p > u; u++) i.push(a[u])
| |
− | } else i.push(s)
| |
− | }
| |
− | return i
| |
− | }, m.prototype.getItemElements = function () {
| |
− | for (var t = [], e = 0, i = this.items.length; i > e; e++) t.push(this.items[e].element);
| |
− | return t
| |
− | }, m.prototype.layout = function () {
| |
− | this._resetLayout(), this._manageStamps();
| |
− | var t = void 0 !== this.options.isLayoutInstant ? this.options.isLayoutInstant : !this._isLayoutInited;
| |
− | this.layoutItems(this.items, t), this._isLayoutInited = !0
| |
− | }, m.prototype._init = m.prototype.layout, m.prototype._resetLayout = function () {
| |
− | this.getSize()
| |
− | }, m.prototype.getSize = function () {
| |
− | this.size = d(this.element)
| |
− | }, m.prototype._getMeasurement = function (t, e) {
| |
− | var i, o = this.options[t];
| |
− | o ? ("string" == typeof o ? i = this.element.querySelector(o) : c(o) && (i = o), this[t] = i ? d(i)[e] : o) : this[t] = 0
| |
− | }, m.prototype.layoutItems = function (t, e) {
| |
− | t = this._getItemsForLayout(t), this._layoutItems(t, e), this._postLayout()
| |
− | }, m.prototype._getItemsForLayout = function (t) {
| |
− | for (var e = [], i = 0, o = t.length; o > i; i++) {
| |
− | var n = t[i];
| |
− | n.isIgnored || e.push(n)
| |
− | }
| |
− | return e
| |
− | }, m.prototype._layoutItems = function (t, e) {
| |
− | function i() {
| |
− | o.emitEvent("layoutComplete", [o, t])
| |
− | }
| |
− | var o = this;
| |
− | if (!t || !t.length) return i(), void 0;
| |
− | this._itemsOn(t, "layout", i);
| |
− | for (var n = [], r = 0, s = t.length; s > r; r++) {
| |
− | var a = t[r],
| |
− | u = this._getItemLayoutPosition(a);
| |
− | u.item = a, u.isInstant = e || a.isLayoutInstant, n.push(u)
| |
− | }
| |
− | this._processLayoutQueue(n)
| |
− | }, m.prototype._getItemLayoutPosition = function () {
| |
− | return {
| |
− | x: 0,
| |
− | y: 0
| |
− | }
| |
− | }, m.prototype._processLayoutQueue = function (t) {
| |
− | for (var e = 0, i = t.length; i > e; e++) {
| |
− | var o = t[e];
| |
− | this._positionItem(o.item, o.x, o.y, o.isInstant)
| |
− | }
| |
− | }, m.prototype._positionItem = function (t, e, i, o) {
| |
− | o ? t.goTo(e, i) : t.moveTo(e, i)
| |
− | }, m.prototype._postLayout = function () {
| |
− | this.resizeContainer()
| |
− | }, m.prototype.resizeContainer = function () {
| |
− | if (this.options.isResizingContainer) {
| |
− | var t = this._getContainerSize();
| |
− | t && (this._setContainerMeasure(t.width, !0), this._setContainerMeasure(t.height, !1))
| |
− | }
| |
− | }, m.prototype._getContainerSize = h, m.prototype._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"
| |
− | }
| |
− | }, m.prototype._itemsOn = function (t, e, i) {
| |
− | function o() {
| |
− | return n++, n === r && i.call(s), !0
| |
− | }
| |
− | for (var n = 0, r = t.length, s = this, a = 0, u = t.length; u > a; a++) {
| |
− | var p = t[a];
| |
− | p.on(e, o)
| |
− | }
| |
− | }, m.prototype.ignore = function (t) {
| |
− | var e = this.getItem(t);
| |
− | e && (e.isIgnored = !0)
| |
− | }, m.prototype.unignore = function (t) {
| |
− | var e = this.getItem(t);
| |
− | e && delete e.isIgnored
| |
− | }, m.prototype.stamp = function (t) {
| |
− | if (t = this._find(t)) {
| |
− | this.stamps = this.stamps.concat(t);
| |
− | for (var e = 0, i = t.length; i > e; e++) {
| |
− | var o = t[e];
| |
− | this.ignore(o)
| |
− | }
| |
− | }
| |
− | }, m.prototype.unstamp = function (t) {
| |
− | if (t = this._find(t))
| |
− | for (var e = 0, i = t.length; i > e; e++) {
| |
− | var o = t[e];
| |
− | n(o, this.stamps), this.unignore(o)
| |
− | }
| |
− | }, m.prototype._find = function (t) {
| |
− | return t ? ("string" == typeof t && (t = this.element.querySelectorAll(t)), t = o(t)) : void 0
| |
− | }, m.prototype._manageStamps = function () {
| |
− | if (this.stamps && this.stamps.length) {
| |
− | this._getBoundingRect();
| |
− | for (var t = 0, e = this.stamps.length; e > t; t++) {
| |
− | var i = this.stamps[t];
| |
− | this._manageStamp(i)
| |
− | }
| |
− | }
| |
− | }, m.prototype._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)
| |
− | }
| |
− | }, m.prototype._manageStamp = h, m.prototype._getElementOffset = function (t) {
| |
− | var e = t.getBoundingClientRect(),
| |
− | i = this._boundingRect,
| |
− | o = d(t),
| |
− | n = {
| |
− | left: e.left - i.left - o.marginLeft,
| |
− | top: e.top - i.top - o.marginTop,
| |
− | right: i.right - e.right - o.marginRight,
| |
− | bottom: i.bottom - e.bottom - o.marginBottom
| |
− | };
| |
− | return n
| |
− | }, m.prototype.handleEvent = function (t) {
| |
− | var e = "on" + t.type;
| |
− | this[e] && this[e](t)
| |
− | }, m.prototype.bindResize = function () {
| |
− | this.isResizeBound || (i.bind(t, "resize", this), this.isResizeBound = !0)
| |
− | }, m.prototype.unbindResize = function () {
| |
− | this.isResizeBound && i.unbind(t, "resize", this), this.isResizeBound = !1
| |
− | }, m.prototype.onresize = function () {
| |
− | function t() {
| |
− | e.resize(), delete e.resizeTimeout
| |
− | }
| |
− | this.resizeTimeout && clearTimeout(this.resizeTimeout);
| |
− | var e = this;
| |
− | this.resizeTimeout = setTimeout(t, 100)
| |
− | }, m.prototype.resize = function () {
| |
− | this.isResizeBound && this.needsResizeLayout() && this.layout()
| |
− | }, m.prototype.needsResizeLayout = function () {
| |
− | var t = d(this.element),
| |
− | e = this.size && t;
| |
− | return e && t.innerWidth !== this.size.innerWidth
| |
− | }, m.prototype.addItems = function (t) {
| |
− | var e = this._itemize(t);
| |
− | return e.length && (this.items = this.items.concat(e)), e
| |
− | }, m.prototype.appended = function (t) {
| |
− | var e = this.addItems(t);
| |
− | e.length && (this.layoutItems(e, !0), this.reveal(e))
| |
− | }, m.prototype.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)
| |
− | }
| |
− | }, m.prototype.reveal = function (t) {
| |
− | var e = t && t.length;
| |
− | if (e)
| |
− | for (var i = 0; e > i; i++) {
| |
− | var o = t[i];
| |
− | o.reveal()
| |
− | }
| |
− | }, m.prototype.hide = function (t) {
| |
− | var e = t && t.length;
| |
− | if (e)
| |
− | for (var i = 0; e > i; i++) {
| |
− | var o = t[i];
| |
− | o.hide()
| |
− | }
| |
− | }, m.prototype.getItem = function (t) {
| |
− | for (var e = 0, i = this.items.length; i > e; e++) {
| |
− | var o = this.items[e];
| |
− | if (o.element === t) return o
| |
− | }
| |
− | }, m.prototype.getItems = function (t) {
| |
− | if (t && t.length) {
| |
− | for (var e = [], i = 0, o = t.length; o > i; i++) {
| |
− | var n = t[i],
| |
− | r = this.getItem(n);
| |
− | r && e.push(r)
| |
− | }
| |
− | return e
| |
− | }
| |
− | }, m.prototype.remove = function (t) {
| |
− | t = o(t);
| |
− | var e = this.getItems(t);
| |
− | if (e && e.length) {
| |
− | this._itemsOn(e, "remove", function () {
| |
− | this.emitEvent("removeComplete", [this, e])
| |
− | });
| |
− | for (var i = 0, r = e.length; r > i; i++) {
| |
− | var s = e[i];
| |
− | s.remove(), n(s, this.items)
| |
− | }
| |
− | }
| |
− | }, m.prototype.destroy = function () {
| |
− | var t = this.element.style;
| |
− | t.height = "", t.position = "", t.width = "";
| |
− | for (var e = 0, i = this.items.length; i > e; e++) {
| |
− | var o = this.items[e];
| |
− | o.destroy()
| |
− | }
| |
− | this.unbindResize(), delete this.element.outlayerGUID, p && p.removeData(this.element, this.constructor.namespace)
| |
− | }, m.data = function (t) {
| |
− | var e = t && t.outlayerGUID;
| |
− | return e && v[e]
| |
− | }, m.create = function (t, i) {
| |
− | function o() {
| |
− | m.apply(this, arguments)
| |
− | }
| |
− | return Object.create ? o.prototype = Object.create(m.prototype) : e(o.prototype, m.prototype), o.prototype.constructor = o, o.defaults = e({}, m.defaults), e(o.defaults, i), o.prototype.settings = {}, o.namespace = t, o.data = m.data, o.Item = function () {
| |
− | y.apply(this, arguments)
| |
− | }, o.Item.prototype = new y, s(function () {
| |
− | for (var e = r(t), i = a.querySelectorAll(".js-" + e), n = "data-" + e + "-options", s = 0, h = i.length; h > s; s++) {
| |
− | var f, c = i[s],
| |
− | d = c.getAttribute(n);
| |
− | try {
| |
− | f = d && JSON.parse(d)
| |
− | } catch (l) {
| |
− | u && u.error("Error parsing " + n + " on " + c.nodeName.toLowerCase() + (c.id ? "#" + c.id : "") + ": " + l);
| |
− | continue
| |
− | }
| |
− | var y = new o(c, f);
| |
− | p && p.data(c, t, y)
| |
− | }
| |
− | }), p && p.bridget && p.bridget(t, o), o
| |
− | }, m.Item = y, m
| |
− | }
| |
− | var a = t.document,
| |
− | u = t.console,
| |
− | p = t.jQuery,
| |
− | h = function () {},
| |
− | f = Object.prototype.toString,
| |
− | c = "object" == typeof HTMLElement ? function (t) {
| |
− | return t instanceof HTMLElement
| |
− | } : function (t) {
| |
− | return t && "object" == typeof t && 1 === t.nodeType && "string" == typeof t.nodeName
| |
− | },
| |
− | d = Array.prototype.indexOf ? function (t, e) {
| |
− | return t.indexOf(e)
| |
− | } : function (t, e) {
| |
− | for (var i = 0, o = t.length; o > i; i++)
| |
− | if (t[i] === e) return i;
| |
− | return -1
| |
− | };
| |
− | "function" == typeof define && define.amd ? define("outlayer/outlayer", ["eventie/eventie", "doc-ready/doc-ready", "eventEmitter/EventEmitter", "get-size/get-size", "matches-selector/matches-selector", "./item"], s) : t.Outlayer = s(t.eventie, t.docReady, t.EventEmitter, t.getSize, t.matchesSelector, t.Outlayer.Item)
| |
− | }(window),
| |
− | function (t) {
| |
− | function e(t) {
| |
− | function e() {
| |
− | t.Item.apply(this, arguments)
| |
− | }
| |
− | return e.prototype = new t.Item, e.prototype._create = function () {
| |
− | this.id = this.layout.itemGUID++, t.Item.prototype._create.call(this), this.sortData = {}
| |
− | }, e.prototype.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)
| |
− | }
| |
− | }
| |
− | }, e
| |
− | }
| |
− | "function" == typeof define && define.amd ? define("isotope/js/item", ["outlayer/outlayer"], e) : (t.Isotope = t.Isotope || {}, t.Isotope.Item = e(t.Outlayer))
| |
− | }(window),
| |
− | function (t) {
| |
− | function e(t, e) {
| |
− | 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)
| |
− | }
| |
− | return function () {
| |
− | function t(t) {
| |
− | return function () {
| |
− | return e.prototype[t].apply(this.isotope, arguments)
| |
− | }
| |
− | }
| |
− | for (var o = ["_resetLayout", "_getItemLayoutPosition", "_manageStamp", "_getContainerSize", "_getElementOffset", "needsResizeLayout"], n = 0, r = o.length; r > n; n++) {
| |
− | var s = o[n];
| |
− | i.prototype[s] = t(s)
| |
− | }
| |
− | }(), i.prototype.needsVerticalResizeLayout = function () {
| |
− | var e = t(this.isotope.element),
| |
− | i = this.isotope.size && e;
| |
− | return i && e.innerHeight !== this.isotope.size.innerHeight
| |
− | }, i.prototype._getMeasurement = function () {
| |
− | this.isotope._getMeasurement.apply(this, arguments)
| |
− | }, i.prototype.getColumnWidth = function () {
| |
− | this.getSegmentSize("column", "Width")
| |
− | }, i.prototype.getRowHeight = function () {
| |
− | this.getSegmentSize("row", "Height")
| |
− | }, i.prototype.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]
| |
− | }
| |
− | }, i.prototype.getFirstItemSize = function () {
| |
− | var e = this.isotope.filteredItems[0];
| |
− | return e && e.element && t(e.element)
| |
− | }, i.prototype.layout = function () {
| |
− | this.isotope.layout.apply(this.isotope, arguments)
| |
− | }, i.prototype.getSize = function () {
| |
− | this.isotope.getSize(), this.size = this.isotope.size
| |
− | }, i.modes = {}, i.create = function (t, e) {
| |
− | function o() {
| |
− | i.apply(this, arguments)
| |
− | }
| |
− | return o.prototype = new i, e && (o.options = e), o.prototype.namespace = t, i.modes[t] = o, o
| |
− | }, i
| |
− | }
| |
− | "function" == typeof define && define.amd ? define("isotope/js/layout-mode", ["get-size/get-size", "outlayer/outlayer"], e) : (t.Isotope = t.Isotope || {}, t.Isotope.LayoutMode = e(t.getSize, t.Outlayer))
| |
− | }(window),
| |
− | function (t) {
| |
− | function e(t, e) {
| |
− | var o = t.create("masonry");
| |
− | return o.prototype._resetLayout = function () {
| |
− | this.getSize(), this._getMeasurement("columnWidth", "outerWidth"), this._getMeasurement("gutter", "outerWidth"), this.measureColumns();
| |
− | var t = this.cols;
| |
− | for (this.colYs = []; t--;) this.colYs.push(0);
| |
− | this.maxY = 0
| |
− | }, o.prototype.measureColumns = function () {
| |
− | if (this.getContainerWidth(), !this.columnWidth) {
| |
− | var t = this.items[0],
| |
− | i = t && t.element;
| |
− | this.columnWidth = i && e(i).outerWidth || this.containerWidth
| |
− | }
| |
− | this.columnWidth += this.gutter, this.cols = Math.floor((this.containerWidth + this.gutter) / this.columnWidth), this.cols = Math.max(this.cols, 1)
| |
− | }, o.prototype.getContainerWidth = function () {
| |
− | var t = this.options.isFitWidth ? this.element.parentNode : this.element,
| |
− | i = e(t);
| |
− | this.containerWidth = i && i.innerWidth
| |
− | }, o.prototype._getItemLayoutPosition = function (t) {
| |
− | t.getSize();
| |
− | var e = t.size.outerWidth % this.columnWidth,
| |
− | o = e && 1 > e ? "round" : "ceil",
| |
− | n = Math[o](t.size.outerWidth / this.columnWidth);
| |
− | n = Math.min(n, this.cols);
| |
− | for (var r = this._getColGroup(n), s = Math.min.apply(Math, r), a = i(r, s), u = {
| |
− | x: this.columnWidth * a,
| |
− | y: s
| |
− | }, p = s + t.size.outerHeight, h = this.cols + 1 - r.length, f = 0; h > f; f++) this.colYs[a + f] = p;
| |
− | return u
| |
− | }, o.prototype._getColGroup = function (t) {
| |
− | if (2 > t) return this.colYs;
| |
− | for (var e = [], i = this.cols + 1 - t, o = 0; i > o; o++) {
| |
− | var n = this.colYs.slice(o, o + t);
| |
− | e[o] = Math.max.apply(Math, n)
| |
− | }
| |
− | return e
| |
− | }, o.prototype._manageStamp = function (t) {
| |
− | var i = e(t),
| |
− | o = this._getElementOffset(t),
| |
− | n = this.options.isOriginLeft ? o.left : o.right,
| |
− | r = n + i.outerWidth,
| |
− | s = Math.floor(n / this.columnWidth);
| |
− | s = Math.max(0, s);
| |
− | var a = Math.floor(r / this.columnWidth);
| |
− | a -= r % this.columnWidth ? 0 : 1, a = Math.min(this.cols - 1, a);
| |
− | for (var u = (this.options.isOriginTop ? o.top : o.bottom) + i.outerHeight, p = s; a >= p; p++) this.colYs[p] = Math.max(u, this.colYs[p])
| |
− | }, o.prototype._getContainerSize = function () {
| |
− | this.maxY = Math.max.apply(Math, this.colYs);
| |
− | var t = {
| |
− | height: this.maxY
| |
− | };
| |
− | return this.options.isFitWidth && (t.width = this._getContainerFitWidth()), t
| |
− | }, o.prototype._getContainerFitWidth = function () {
| |
− | for (var t = 0, e = this.cols; --e && 0 === this.colYs[e];) t++;
| |
− | return (this.cols - t) * this.columnWidth - this.gutter
| |
− | }, o.prototype.needsResizeLayout = function () {
| |
− | var t = this.containerWidth;
| |
− | return this.getContainerWidth(), t !== this.containerWidth
| |
− | }, o
| |
− | }
| |
− | var i = Array.prototype.indexOf ? function (t, e) {
| |
− | return t.indexOf(e)
| |
− | } : function (t, e) {
| |
− | for (var i = 0, o = t.length; o > i; i++) {
| |
− | var n = t[i];
| |
− | if (n === e) return i
| |
− | }
| |
− | return -1
| |
− | };
| |
− | "function" == typeof define && define.amd ? define("masonry/masonry", ["outlayer/outlayer", "get-size/get-size"], e) : t.Masonry = e(t.Outlayer, t.getSize)
| |
− | }(window),
| |
− | function (t) {
| |
− | function e(t, e) {
| |
− | for (var i in e) t[i] = e[i];
| |
− | return t
| |
− | }
| |
− |
| |
− | function i(t, i) {
| |
− | var o = t.create("masonry"),
| |
− | n = o.prototype._getElementOffset,
| |
− | r = o.prototype.layout,
| |
− | s = o.prototype._getMeasurement;
| |
− | e(o.prototype, i.prototype), o.prototype._getElementOffset = n, o.prototype.layout = r, o.prototype._getMeasurement = s;
| |
− | var a = o.prototype.measureColumns;
| |
− | o.prototype.measureColumns = function () {
| |
− | this.items = this.isotope.filteredItems, a.call(this)
| |
− | };
| |
− | var u = o.prototype._manageStamp;
| |
− | return o.prototype._manageStamp = function () {
| |
− | this.options.isOriginLeft = this.isotope.options.isOriginLeft, this.options.isOriginTop = this.isotope.options.isOriginTop, u.apply(this, arguments)
| |
− | }, o
| |
− | }
| |
− | "function" == typeof define && define.amd ? define("isotope/js/layout-modes/masonry", ["../layout-mode", "masonry/masonry"], i) : i(t.Isotope.LayoutMode, t.Masonry)
| |
− | }(window),
| |
− | function (t) {
| |
− | function e(t) {
| |
− | var e = t.create("fitRows");
| |
− | return e.prototype._resetLayout = function () {
| |
− | this.x = 0, this.y = 0, this.maxY = 0
| |
− | }, e.prototype._getItemLayoutPosition = function (t) {
| |
− | t.getSize(), 0 !== this.x && t.size.outerWidth + this.x > this.isotope.size.innerWidth && (this.x = 0, this.y = this.maxY);
| |
− | var e = {
| |
− | x: this.x,
| |
− | y: this.y
| |
− | };
| |
− | return this.maxY = Math.max(this.maxY, this.y + t.size.outerHeight), this.x += t.size.outerWidth, e
| |
− | }, e.prototype._getContainerSize = function () {
| |
− | return {
| |
− | height: this.maxY
| |
− | }
| |
− | }, e
| |
− | }
| |
− | "function" == typeof define && define.amd ? define("isotope/js/layout-modes/fit-rows", ["../layout-mode"], e) : e(t.Isotope.LayoutMode)
| |
− | }(window),
| |
− | function (t) {
| |
− | function e(t) {
| |
− | var e = t.create("vertical", {
| |
− | horizontalAlignment: 0
| |
− | });
| |
− | return e.prototype._resetLayout = function () {
| |
− | this.y = 0
| |
− | }, e.prototype._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
| |
− | }
| |
− | }, e.prototype._getContainerSize = function () {
| |
− | return {
| |
− | height: this.y
| |
− | }
| |
− | }, e
| |
− | }
| |
− | "function" == typeof define && define.amd ? define("isotope/js/layout-modes/vertical", ["../layout-mode"], e) : e(t.Isotope.LayoutMode)
| |
− | }(window),
| |
− | function (t) {
| |
− | function e(t, e) {
| |
− | for (var i in e) t[i] = e[i];
| |
− | return t
| |
− | }
| |
− |
| |
− | function i(t) {
| |
− | return "[object Array]" === h.call(t)
| |
− | }
| |
− |
| |
− | function o(t) {
| |
− | var e = [];
| |
− | if (i(t)) e = t;
| |
− | else if (t && "number" == typeof t.length)
| |
− | for (var o = 0, n = t.length; n > o; o++) e.push(t[o]);
| |
− | else e.push(t);
| |
− | return e
| |
− | }
| |
− |
| |
− | function n(t, e) {
| |
− | var i = f(e, t); - 1 !== i && e.splice(i, 1)
| |
− | }
| |
− |
| |
− | function r(t, i, r, u, h) {
| |
− | function f(t, e) {
| |
− | return function (i, o) {
| |
− | for (var n = 0, r = t.length; r > n; n++) {
| |
− | var s = t[n],
| |
− | a = i.sortData[s],
| |
− | u = o.sortData[s];
| |
− | if (a > u || u > a) {
| |
− | var p = void 0 !== e[s] ? e[s] : e,
| |
− | h = p ? 1 : -1;
| |
− | return (a > u ? 1 : -1) * h
| |
− | }
| |
− | }
| |
− | return 0
| |
− | }
| |
− | }
| |
− | var c = t.create("isotope", {
| |
− | layoutMode: "masonry",
| |
− | isJQueryFiltering: !0,
| |
− | sortAscending: !0
| |
− | });
| |
− | c.Item = u, c.LayoutMode = h, c.prototype._create = function () {
| |
− | this.itemGUID = 0, this._sorters = {}, this._getSorters(), t.prototype._create.call(this), this.modes = {}, this.filteredItems = this.items, this.sortHistory = ["original-order"];
| |
− | for (var e in h.modes) this._initLayoutMode(e)
| |
− | }, c.prototype.reloadItems = function () {
| |
− | this.itemGUID = 0, t.prototype.reloadItems.call(this)
| |
− | }, c.prototype._itemize = function () {
| |
− | for (var e = t.prototype._itemize.apply(this, arguments), i = 0, o = e.length; o > i; i++) {
| |
− | var n = e[i];
| |
− | n.id = this.itemGUID++
| |
− | }
| |
− | return this._updateItemsSortData(e), e
| |
− | }, c.prototype._initLayoutMode = function (t) {
| |
− | var i = h.modes[t],
| |
− | o = this.options[t] || {};
| |
− | this.options[t] = i.options ? e(i.options, o) : o, this.modes[t] = new i(this)
| |
− | }, c.prototype.layout = function () {
| |
− | return !this._isLayoutInited && this.options.isInitLayout ? (this.arrange(), void 0) : (this._layout(), void 0)
| |
− | }, c.prototype._layout = function () {
| |
− | var t = this._getIsInstant();
| |
− | this._resetLayout(), this._manageStamps(), this.layoutItems(this.filteredItems, t), this._isLayoutInited = !0
| |
− | }, c.prototype.arrange = function (t) {
| |
− | this.option(t), this._getIsInstant(), this.filteredItems = this._filter(this.items), this._sort(), this._layout()
| |
− | }, c.prototype._init = c.prototype.arrange, c.prototype._getIsInstant = function () {
| |
− | var t = void 0 !== this.options.isLayoutInstant ? this.options.isLayoutInstant : !this._isLayoutInited;
| |
− | return this._isInstant = t, t
| |
− | }, c.prototype._filter = function (t) {
| |
− | function e() {
| |
− | f.reveal(n), f.hide(r)
| |
− | }
| |
− | var i = this.options.filter;
| |
− | i = i || "*";
| |
− | for (var o = [], n = [], r = [], s = this._getFilterTest(i), a = 0, u = t.length; u > a; a++) {
| |
− | var p = t[a];
| |
− | if (!p.isIgnored) {
| |
− | var h = s(p);
| |
− | h && o.push(p), h && p.isHidden ? n.push(p) : h || p.isHidden || r.push(p)
| |
− | }
| |
− | }
| |
− | var f = this;
| |
− | return this._isInstant ? this._noTransition(e) : e(), o
| |
− | }, c.prototype._getFilterTest = function (t) {
| |
− | return s && this.options.isJQueryFiltering ? function (e) {
| |
− | return s(e.element).is(t)
| |
− | } : "function" == typeof t ? function (e) {
| |
− | return t(e.element)
| |
− | } : function (e) {
| |
− | return r(e.element, t)
| |
− | }
| |
− | }, c.prototype.updateSortData = function (t) {
| |
− | this._getSorters(), t = o(t);
| |
− | var e = this.getItems(t);
| |
− | e = e.length ? e : this.items, this._updateItemsSortData(e)
| |
− | }, c.prototype._getSorters = function () {
| |
− | var t = this.options.getSortData;
| |
− | for (var e in t) {
| |
− | var i = t[e];
| |
− | this._sorters[e] = d(i)
| |
− | }
| |
− | }, c.prototype._updateItemsSortData = function (t) {
| |
− | for (var e = 0, i = t.length; i > e; e++) {
| |
− | var o = t[e];
| |
− | o.updateSortData()
| |
− | }
| |
− | };
| |
− | var d = function () {
| |
− | function t(t) {
| |
− | if ("string" != typeof t) return t;
| |
− | var i = a(t).split(" "),
| |
− | o = i[0],
| |
− | n = o.match(/^\[(.+)\]$/),
| |
− | r = n && n[1],
| |
− | s = e(r, o),
| |
− | u = c.sortDataParsers[i[1]];
| |
− | return t = u ? function (t) {
| |
− | return t && u(s(t))
| |
− | } : function (t) {
| |
− | return t && s(t)
| |
− | }
| |
− | }
| |
− |
| |
− | function e(t, e) {
| |
− | var i;
| |
− | return i = t ? function (e) {
| |
− | return e.getAttribute(t)
| |
− | } : function (t) {
| |
− | var i = t.querySelector(e);
| |
− | return i && p(i)
| |
− | }
| |
− | }
| |
− | return t
| |
− | }();
| |
− | c.sortDataParsers = {
| |
− | parseInt: function (t) {
| |
− | return parseInt(t, 10)
| |
− | },
| |
− | parseFloat: function (t) {
| |
− | return parseFloat(t)
| |
− | }
| |
− | }, c.prototype._sort = function () {
| |
− | var t = this.options.sortBy;
| |
− | if (t) {
| |
− | var e = [].concat.apply(t, this.sortHistory),
| |
− | i = f(e, this.options.sortAscending);
| |
− | this.filteredItems.sort(i), t !== this.sortHistory[0] && this.sortHistory.unshift(t)
| |
− | }
| |
− | }, c.prototype._mode = function () {
| |
− | var t = this.options.layoutMode,
| |
− | e = this.modes[t];
| |
− | if (!e) throw Error("No layout mode: " + t);
| |
− | return e.options = this.options[t], e
| |
− | }, c.prototype._resetLayout = function () {
| |
− | t.prototype._resetLayout.call(this), this._mode()._resetLayout()
| |
− | }, c.prototype._getItemLayoutPosition = function (t) {
| |
− | return this._mode()._getItemLayoutPosition(t)
| |
− | }, c.prototype._manageStamp = function (t) {
| |
− | this._mode()._manageStamp(t)
| |
− | }, c.prototype._getContainerSize = function () {
| |
− | return this._mode()._getContainerSize()
| |
− | }, c.prototype.needsResizeLayout = function () {
| |
− | return this._mode().needsResizeLayout()
| |
− | }, c.prototype.appended = function (t) {
| |
− | var e = this.addItems(t);
| |
− | if (e.length) {
| |
− | var i = this._filterRevealAdded(e);
| |
− | this.filteredItems = this.filteredItems.concat(i)
| |
− | }
| |
− | }, c.prototype.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();
| |
− | var o = this._filterRevealAdded(e);
| |
− | this.layoutItems(i), this.filteredItems = o.concat(this.filteredItems)
| |
− | }
| |
− | }, c.prototype._filterRevealAdded = function (t) {
| |
− | var e = this._noTransition(function () {
| |
− | return this._filter(t)
| |
− | });
| |
− | return this.layoutItems(e, !0), this.reveal(e), t
| |
− | }, c.prototype.insert = function (t) {
| |
− | var e = this.addItems(t);
| |
− | if (e.length) {
| |
− | var i, o, n = e.length;
| |
− | for (i = 0; n > i; i++) o = e[i], this.element.appendChild(o.element);
| |
− | var r = this._filter(e);
| |
− | for (this._noTransition(function () {
| |
− | this.hide(r)
| |
− | }), i = 0; n > i; i++) e[i].isLayoutInstant = !0;
| |
− | for (this.arrange(), i = 0; n > i; i++) delete e[i].isLayoutInstant;
| |
− | this.reveal(r)
| |
− | }
| |
− | };
| |
− | var l = c.prototype.remove;
| |
− | return c.prototype.remove = function (t) {
| |
− | t = o(t);
| |
− | var e = this.getItems(t);
| |
− | if (l.call(this, t), e && e.length)
| |
− | for (var i = 0, r = e.length; r > i; i++) {
| |
− | var s = e[i];
| |
− | n(s, this.filteredItems)
| |
− | }
| |
− | }, c.prototype._noTransition = function (t) {
| |
− | var e = this.options.transitionDuration;
| |
− | this.options.transitionDuration = 0;
| |
− | var i = t.call(this);
| |
− | return this.options.transitionDuration = e, i
| |
− | }, c
| |
− | }
| |
− | var s = t.jQuery,
| |
− | a = String.prototype.trim ? function (t) {
| |
− | return t.trim()
| |
− | } : function (t) {
| |
− | return t.replace(/^\s+|\s+$/g, "")
| |
− | },
| |
− | u = document.documentElement,
| |
− | p = u.textContent ? function (t) {
| |
− | return t.textContent
| |
− | } : function (t) {
| |
− | return t.innerText
| |
− | },
| |
− | h = Object.prototype.toString,
| |
− | f = Array.prototype.indexOf ? function (t, e) {
| |
− | return t.indexOf(e)
| |
− | } : function (t, e) {
| |
− | for (var i = 0, o = t.length; o > i; i++)
| |
− | if (t[i] === e) return i;
| |
− | return -1
| |
− | };
| |
− | "function" == typeof define && define.amd ? define(["outlayer/outlayer", "get-size/get-size", "matches-selector/matches-selector", "isotope/js/item", "isotope/js/layout-mode", "isotope/js/layout-modes/masonry", "isotope/js/layout-modes/fit-rows", "isotope/js/layout-modes/vertical"], r) : t.Isotope = r(t.Outlayer, t.getSize, t.matchesSelector, t.Isotope.Item, t.Isotope.LayoutMode)
| |
− | }(window);
| |
− |
| |
− | </script>
| |
| <script> | | <script> |
| /*! | | /*! |