vendor: 12,520 bytes, lines 1-446
1/*! 2 * Isotope PACKAGED v3.0.6 3 * 4 * Licensed GPLv3 for open source use 5 * or Isotope Commercial License for commercial use 6 * 7 * https://isotope.metafizzy.co 8 * Copyright 2010-2018 Metafizzy 9 */ 10 11!function(t, e) { 12 "function" == typeof define && define.amd 13 ? define("jquery-bridget/jquery-bridget", ["jquery"], function(i) { 14 return e(t, i); 15 }) 16 : "object" == typeof module && module.exports 17 ? module.exports = e(t, require("jquery")) 18 : t.jQueryBridget = e(t, t.jQuery); 19}(window, function(t, e) { 20 "use strict"; 21 function i(i, s, a) { 22 function u(t, e, o) { 23 var n, s = "$()." + i + "(\"" + e + "\")"; 24 return t.each(function(t, u) { 25 var h = a.data(u, i); 26 if (!h) return void r(i + " not initialized. Cannot call methods, i.e. " + s); 27 var d = h[e]; 28 if (!d || "_" == e.charAt(0)) return void r(s + " is not a valid method"); 29 var l = d.apply(h, o); 30 n = void 0 === n ? l : n; 31 }), 32 void 0 !== n ? n : t; 33 } 34 function h(t, e) { 35 t.each(function(t, o) { 36 var n = a.data(o, i); 37 n ? (n.option(e), n._init()) : (n = new s(o, e), a.data(o, i, n)); 38 }); 39 } 40 a = a || e || t.jQuery, 41 a && (s.prototype.option || (s.prototype.option = function(t) { 42 a.isPlainObject(t) && (this.options = a.extend(!0, this.options, t)); 43 }), 44 a.fn[i] = function(t) { 45 if ("string" == typeof t) { 46 var e = n.call(arguments, 1); 47 return u(this, t, e); 48 } 49 return h(this, t), this; 50 }, 51 o(a)); 52 } 53 function o(t) { 54 !t || t && t.bridget || (t.bridget = i); 55 } 56 var n = Array.prototype.slice, 57 s = t.console, 58 r = "undefined" == typeof s ? function() {} : function(t) { 59 s.error(t); 60 }; 61 return o(e || t.jQuery), i; 62}), 63 function(t, e) { 64 "function" == typeof define && define.amd 65 ? define("ev-emitter/ev-emitter", e) 66 : "object" == typeof module && module.exports 67 ? module.exports = e() 68 : t.EvEmitter = e(); 69 }("undefined" != typeof window ? window : this, function() { 70 function t() {} 71 var e = t.prototype; 72 return e.on = function(t, e) { 73 if (t && e) { 74 var i = this._events = this._events || {}, o = i[t] = i[t] || []; 75 return o.indexOf(e) == -1 && o.push(e), this; 76 } 77 }, 78 e.once = function(t, e) { 79 if (t && e) { 80 this.on(t, e); 81 var i = this._onceEvents = this._onceEvents || {}, o = i[t] = i[t] || {}; 82 return o[e] = !0, this; 83 } 84 }, 85 e.off = function(t, e) { 86 var i = this._events && this._events[t]; 87 if (i && i.length) { 88 var o = i.indexOf(e); 89 return o != -1 && i.splice(o, 1), this; 90 } 91 }, 92 e.emitEvent = function(t, e) { 93 var i = this._events && this._events[t]; 94 if (i && i.length) { 95 i = i.slice(0), e = e || []; 96 for ( 97 var o = this._onceEvents && this._onceEvents[t], n = 0; 98 n < i.length; 99 n++ 100 ) { 101 var s = i[n], r = o && o[s]; 102 r && (this.off(t, s), delete o[s]), s.apply(this, e); 103 } 104 return this; 105 } 106 }, 107 e.allOff = function() { 108 delete this._events, delete this._onceEvents; 109 }, 110 t; 111 }), 112 function(t, e) { 113 "function" == typeof define && define.amd 114 ? define("get-size/get-size", e) 115 : "object" == typeof module && module.exports 116 ? module.exports = e() 117 : t.getSize = e(); 118 }(window, function() { 119 "use strict"; 120 function t(t) { 121 var e = parseFloat(t), i = t.indexOf("%") == -1 && !isNaN(e); 122 return i && e; 123 } 124 function e() {} 125 function i() { 126 for ( 127 var t = { 128 width: 0, 129 height: 0, 130 innerWidth: 0, 131 innerHeight: 0, 132 outerWidth: 0, 133 outerHeight: 0, 134 }, 135 e = 0; 136 e < h; 137 e++ 138 ) { 139 var i = u[e]; 140 t[i] = 0; 141 } 142 return t; 143 } 144 function o(t) { 145 var e = getComputedStyle(t); 146 return e 147 || a( 148 "Style returned " + e 149 + ". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1", 150 ), 151 e; 152 } 153 function n() { 154 if (!d) { 155 d = !0; 156 var e = document.createElement("div"); 157 e.style.width = "200px", 158 e.style.padding = "1px 2px 3px 4px", 159 e.style.borderStyle = "solid", 160 e.style.borderWidth = "1px 2px 3px 4px", 161 e.style.boxSizing = "border-box"; 162 var i = document.body || document.documentElement; 163 i.appendChild(e); 164 var n = o(e); 165 r = 200 == Math.round(t(n.width)), s.isBoxSizeOuter = r, i.removeChild(e); 166 } 167 } 168 function s(e) { 169 if ( 170 n(), 171 "string" == typeof e && (e = document.querySelector(e)), 172 e && "object" == typeof e && e.nodeType 173 ) { 174 var s = o(e); 175 if ("none" == s.display) return i(); 176 var a = {}; 177 a.width = e.offsetWidth, a.height = e.offsetHeight; 178 for (var d = a.isBorderBox = "border-box" == s.boxSizing, l = 0; l < h; l++) { 179 var f = u[l], c = s[f], m = parseFloat(c); 180 a[f] = isNaN(m) ? 0 : m; 181 } 182 var p = a.paddingLeft + a.paddingRight, 183 y = a.paddingTop + a.paddingBottom, 184 g = a.marginLeft + a.marginRight, 185 v = a.marginTop + a.marginBottom, 186 _ = a.borderLeftWidth + a.borderRightWidth, 187 z = a.borderTopWidth + a.borderBottomWidth, 188 I = d && r, 189 x = t(s.width); 190 x !== !1 && (a.width = x + (I ? 0 : p + _)); 191 var S = t(s.height); 192 return S !== !1 && (a.height = S + (I ? 0 : y + z)), 193 a.innerWidth = a.width - (p + _), 194 a.innerHeight = a.height - (y + z), 195 a.outerWidth = a.width + g, 196 a.outerHeight = a.height + v, 197 a; 198 } 199 } 200 var r, 201 a = "undefined" == typeof console ? e : function(t) { 202 console.error(t); 203 }, 204 u = [ 205 "paddingLeft", 206 "paddingRight", 207 "paddingTop", 208 "paddingBottom", 209 "marginLeft", 210 "marginRight", 211 "marginTop", 212 "marginBottom", 213 "borderLeftWidth", 214 "borderRightWidth", 215 "borderTopWidth", 216 "borderBottomWidth", 217 ], 218 h = u.length, 219 d = !1; 220 return s; 221 }), 222 function(t, e) { 223 "use strict"; 224 "function" == typeof define && define.amd 225 ? define("desandro-matches-selector/matches-selector", e) 226 : "object" == typeof module && module.exports 227 ? module.exports = e() 228 : t.matchesSelector = e(); 229 }(window, function() { 230 "use strict"; 231 var t = function() { 232 var t = window.Element.prototype; 233 if (t.matches) return "matches"; 234 if (t.matchesSelector) return "matchesSelector"; 235 for (var e = ["webkit", "moz", "ms", "o"], i = 0; i < e.length; i++) { 236 var o = e[i], n = o + "MatchesSelector"; 237 if (t[n]) return n; 238 } 239 }(); 240 return function(e, i) { 241 return e[t](i); 242 }; 243 }), 244 function(t, e) { 245 "function" == typeof define && define.amd 246 ? define( 247 "fizzy-ui-utils/utils", 248 ["desandro-matches-selector/matches-selector"], 249 function(i) { 250 return e(t, i); 251 }, 252 ) 253 : "object" == typeof module && module.exports 254 ? module.exports = e(t, require("desandro-matches-selector")) 255 : t.fizzyUIUtils = e(t, t.matchesSelector); 256 }(window, function(t, e) { 257 var i = {}; 258 i.extend = function(t, e) { 259 for (var i in e) t[i] = e[i]; 260 return t; 261 }, 262 i.modulo = function(t, e) { 263 return (t % e + e) % e; 264 }; 265 var o = Array.prototype.slice; 266 i.makeArray = function(t) { 267 if (Array.isArray(t)) return t; 268 if (null === t || void 0 === t) return []; 269 var e = "object" == typeof t && "number" == typeof t.length; 270 return e ? o.call(t) : [t]; 271 }, 272 i.removeFrom = function(t, e) { 273 var i = t.indexOf(e); 274 i != -1 && t.splice(i, 1); 275 }, 276 i.getParent = function(t, i) { 277 for (; t.parentNode && t != document.body;) if (t = t.parentNode, e(t, i)) return t; 278 }, 279 i.getQueryElement = function(t) { 280 return "string" == typeof t ? document.querySelector(t) : t; 281 }, 282 i.handleEvent = function(t) { 283 var e = "on" + t.type; 284 this[e] && this[e](t); 285 }, 286 i.filterFindElements = function(t, o) { 287 t = i.makeArray(t); 288 var n = []; 289 return t.forEach(function(t) { 290 if (t instanceof HTMLElement) { 291 if (!o) return void n.push(t); 292 e(t, o) && n.push(t); 293 for (var i = t.querySelectorAll(o), s = 0; s < i.length; s++) n.push(i[s]); 294 } 295 }), 296 n; 297 }, 298 i.debounceMethod = function(t, e, i) { 299 i = i || 100; 300 var o = t.prototype[e], n = e + "Timeout"; 301 t.prototype[e] = function() { 302 var t = this[n]; 303 clearTimeout(t); 304 var e = arguments, s = this; 305 this[n] = setTimeout(function() { 306 o.apply(s, e), delete s[n]; 307 }, i); 308 }; 309 }, 310 i.docReady = function(t) { 311 var e = document.readyState; 312 "complete" == e || "interactive" == e 313 ? setTimeout(t) 314 : document.addEventListener("DOMContentLoaded", t); 315 }, 316 i.toDashed = function(t) { 317 return t.replace(/(.)([A-Z])/g, function(t, e, i) { 318 return e + "-" + i; 319 }).toLowerCase(); 320 }; 321 var n = t.console; 322 return i.htmlInit = function(e, o) { 323 i.docReady(function() { 324 var s = i.toDashed(o), 325 r = "data-" + s, 326 a = document.querySelectorAll("[" + r + "]"), 327 u = document.querySelectorAll(".js-" + s), 328 h = i.makeArray(a).concat(i.makeArray(u)), 329 d = r + "-options", 330 l = t.jQuery; 331 h.forEach(function(t) { 332 var i, s = t.getAttribute(r) || t.getAttribute(d); 333 try { 334 i = s && JSON.parse(s); 335 } catch (a) { 336 return void (n 337 && n.error("Error parsing " + r + " on " + t.className + ": " + a)); 338 } 339 var u = new e(t, i); 340 l && l.data(t, o, u); 341 }); 342 }); 343 }, 344 i; 345 }), 346 function(t, e) { 347 "function" == typeof define && define.amd 348 ? define("outlayer/item", ["ev-emitter/ev-emitter", "get-size/get-size"], e) 349 : "object" == typeof module && module.exports 350 ? module.exports = e(require("ev-emitter"), require("get-size")) 351 : (t.Outlayer = {}, t.Outlayer.Item = e(t.EvEmitter, t.getSize)); 352 }(window, function(t, e) { 353 "use strict"; 354 function i(t) { 355 for (var e in t) return !1; 356 return e = null, !0; 357 } 358 function o(t, e) { 359 t 360 && (this.element = t, 361 this.layout = e, 362 this.position = { x: 0, y: 0 }, 363 this._create()); 364 } 365 function n(t) { 366 return t.replace(/([A-Z])/g, function(t) { 367 return "-" + t.toLowerCase(); 368 }); 369 } 370 var s = document.documentElement.style, 371 r = "string" == typeof s.transition ? "transition" : "WebkitTransition", 372 a = "string" == typeof s.transform ? "transform" : "WebkitTransform", 373 u = { WebkitTransition: "webkitTransitionEnd", transition: "transitionend" }[r], 374 h = { 375 transform: a, 376 transition: r, 377 transitionDuration: r + "Duration", 378 transitionProperty: r + "Property", 379 transitionDelay: r + "Delay", 380 }, 381 d = o.prototype = Object.create(t.prototype); 382 d.constructor = o, 383 d._create = function() { 384 this._transn = { ingProperties: {}, clean: {}, onEnd: {} }, 385 this.css({ position: "absolute" }); 386 }, 387 d.handleEvent = function(t) { 388 var e = "on" + t.type; 389 this[e] && this[e](t); 390 }, 391 d.getSize = function() { 392 this.size = e(this.element); 393 }, 394 d.css = function(t) { 395 var e = this.element.style; 396 for (var i in t) { 397 var o = h[i] || i; 398 e[o] = t[i]; 399 } 400 }, 401 d.getPosition = function() { 402 var t = getComputedStyle(this.element), 403 e = this.layout._getOption("originLeft"), 404 i = this.layout._getOption("originTop"), 405 o = t[e ? "left" : "right"], 406 n = t[i ? "top" : "bottom"], 407 s = parseFloat(o), 408 r = parseFloat(n), 409 a = this.layout.size; 410 o.indexOf("%") != -1 && (s = s / 100 * a.width), 411 n.indexOf("%") != -1 && (r = r / 100 * a.height), 412 s = isNaN(s) ? 0 : s, 413 r = isNaN(r) ? 0 : r, 414 s -= e ? a.paddingLeft : a.paddingRight, 415 r -= i ? a.paddingTop : a.paddingBottom, 416 this.position.x = s, 417 this.position.y = r; 418 }, 419 d.layoutPosition = function() { 420 var t = this.layout.size, 421 e = {}, 422 i = this.layout._getOption("originLeft"), 423 o = this.layout._getOption("originTop"), 424 n = i ? "paddingLeft" : "paddingRight", 425 s = i ? "left" : "right", 426 r = i ? "right" : "left", 427 a = this.position.x + t[n]; 428 e[s] = this.getXValue(a), e[r] = ""; 429 var u = o ? "paddingTop" : "paddingBottom", 430 h = o ? "top" : "bottom", 431 d = o ? "bottom" : "top", 432 l = this.position.y + t[u]; 433 e[h] = this.getYValue(l), e[d] = "", this.css(e), this.emitEvent("layout", [this]); 434 }, 435 d.getXValue = function(t) { 436 var e = this.layout._getOption("horizontal"); 437 return this.layout.options.percentPosition && !e 438 ? t / this.layout.size.width * 100 + "%" 439 : t + "px"; 440 }, 441 d.getYValue = function(t) { 442 var e = this.layout._getOption("horizontal"); 443 return this.layout.options.percentPosition && e 444 ? t / this.layout.size.height * 100 + "%" 445 : t + "px"; 446 },
447 d._transitionTo = function(t, e) { 448 this.getPosition(); 449 var i = this.position.x, 450 o = this.position.y, 451 n = t == this.position.x && e == this.position.y; 452 if (this.setPosition(t, e), n && !this.isTransitioning) { 453 return void this.layoutPosition(); 454 } 455 var s = t - i, r = e - o, a = {}; 456 a.transform = this.getTranslate(s, r), 457 this.transition({ 458 to: a, 459 onTransitionEnd: { transform: this.layoutPosition }, 460 isCleaning: !0, 461 }); 462 }, 463 d.getTranslate = function(t, e) { 464 var i = this.layout._getOption("originLeft"), 465 o = this.layout._getOption("originTop"); 466 return t = i ? t : -t, e = o ? e : -e, "translate3d(" + t + "px, " + e + "px, 0)"; 467 }, 468 d.goTo = function(t, e) { 469 this.setPosition(t, e), this.layoutPosition(); 470 }, 471 d.moveTo = d._transitionTo, 472 d.setPosition = function(t, e) { 473 this.position.x = parseFloat(t), this.position.y = parseFloat(e); 474 }, 475 d._nonTransition = function(t) { 476 this.css(t.to), t.isCleaning && this._removeStyles(t.to); 477 for (var e in t.onTransitionEnd) t.onTransitionEnd[e].call(this); 478 }, 479 d.transition = function(t) { 480 if (!parseFloat(this.layout.options.transitionDuration)) { 481 return void this._nonTransition(t); 482 } 483 var e = this._transn; 484 for (var i in t.onTransitionEnd) e.onEnd[i] = t.onTransitionEnd[i]; 485 for (i in t.to) e.ingProperties[i] = !0, t.isCleaning && (e.clean[i] = !0); 486 if (t.from) { 487 this.css(t.from); 488 var o = this.element.offsetHeight; 489 o = null; 490 } 491 this.enableTransition(t.to), this.css(t.to), this.isTransitioning = !0; 492 }; 493 var l = "opacity," + n(a); 494 d.enableTransition = function() { 495 if (!this.isTransitioning) { 496 var t = this.layout.options.transitionDuration; 497 t = "number" == typeof t ? t + "ms" : t, 498 this.css({ 499 transitionProperty: l, 500 transitionDuration: t, 501 transitionDelay: this.staggerDelay || 0, 502 }), 503 this.element.addEventListener(u, this, !1); 504 } 505 }, 506 d.onwebkitTransitionEnd = function(t) { 507 this.ontransitionend(t); 508 }, 509 d.onotransitionend = function(t) { 510 this.ontransitionend(t); 511 }; 512 var f = { "-webkit-transform": "transform" }; 513 d.ontransitionend = function(t) { 514 if (t.target === this.element) { 515 var e = this._transn, o = f[t.propertyName] || t.propertyName; 516 if ( 517 delete e.ingProperties[o], 518 i(e.ingProperties) && this.disableTransition(), 519 o in e.clean 520 && (this.element.style[t.propertyName] = "", delete e.clean[o]), 521 o in e.onEnd 522 ) { 523 var n = e.onEnd[o]; 524 n.call(this), delete e.onEnd[o]; 525 } 526 this.emitEvent("transitionEnd", [this]); 527 } 528 }, 529 d.disableTransition = function() { 530 this.removeTransitionStyles(), 531 this.element.removeEventListener(u, this, !1), 532 this.isTransitioning = !1; 533 }, 534 d._removeStyles = function(t) { 535 var e = {}; 536 for (var i in t) e[i] = ""; 537 this.css(e); 538 }; 539 var c = { transitionProperty: "", transitionDuration: "", transitionDelay: "" }; 540 return d.removeTransitionStyles = function() { 541 this.css(c); 542 }, 543 d.stagger = function(t) { 544 t = isNaN(t) ? 0 : t, this.staggerDelay = t + "ms"; 545 }, 546 d.removeElem = function() { 547 this.element.parentNode.removeChild(this.element), 548 this.css({ display: "" }), 549 this.emitEvent("remove", [this]); 550 }, 551 d.remove = function() { 552 return r && parseFloat(this.layout.options.transitionDuration) 553 ? (this.once("transitionEnd", function() { 554 this.removeElem(); 555 }), 556 void this.hide()) 557 : void this.removeElem(); 558 }, 559 d.reveal = function() { 560 delete this.isHidden, this.css({ display: "" }); 561 var t = this.layout.options, 562 e = {}, 563 i = this.getHideRevealTransitionEndProperty("visibleStyle"); 564 e[i] = this.onRevealTransitionEnd, 565 this.transition({ 566 from: t.hiddenStyle, 567 to: t.visibleStyle, 568 isCleaning: !0, 569 onTransitionEnd: e, 570 }); 571 }, 572 d.onRevealTransitionEnd = function() { 573 this.isHidden || this.emitEvent("reveal"); 574 }, 575 d.getHideRevealTransitionEndProperty = function(t) { 576 var e = this.layout.options[t]; 577 if (e.opacity) return "opacity"; 578 for (var i in e) return i; 579 }, 580 d.hide = function() { 581 this.isHidden = !0, this.css({ display: "" }); 582 var t = this.layout.options, 583 e = {}, 584 i = this.getHideRevealTransitionEndProperty("hiddenStyle"); 585 e[i] = this.onHideTransitionEnd, 586 this.transition({ 587 from: t.visibleStyle, 588 to: t.hiddenStyle, 589 isCleaning: !0, 590 onTransitionEnd: e, 591 }); 592 }, 593 d.onHideTransitionEnd = function() { 594 this.isHidden && (this.css({ display: "none" }), this.emitEvent("hide")); 595 }, 596 d.destroy = function() { 597 this.css({ 598 position: "", 599 left: "", 600 right: "", 601 top: "", 602 bottom: "", 603 transition: "", 604 transform: "", 605 }); 606 }, 607 o; 608 }), 609 function(t, e) { 610 "use strict"; 611 "function" == typeof define && define.amd 612 ? define("outlayer/outlayer", [ 613 "ev-emitter/ev-emitter", 614 "get-size/get-size", 615 "fizzy-ui-utils/utils", 616 "./item", 617 ], function(i, o, n, s) { 618 return e(t, i, o, n, s); 619 }) 620 : "object" == typeof module && module.exports 621 ? module.exports = e( 622 t, 623 require("ev-emitter"), 624 require("get-size"), 625 require("fizzy-ui-utils"), 626 require("./item"), 627 ) 628 : t.Outlayer = e(t, t.EvEmitter, t.getSize, t.fizzyUIUtils, t.Outlayer.Item); 629 }(window, function(t, e, i, o, n) { 630 "use strict"; 631 function s(t, e) { 632 var i = o.getQueryElement(t); 633 if (!i) { 634 return void (u 635 && u.error("Bad element for " + this.constructor.namespace + ": " + (i || t))); 636 } 637 this.element = i, 638 h && (this.$element = h(this.element)), 639 this.options = o.extend({}, this.constructor.defaults), 640 this.option(e); 641 var n = ++l; 642 this.element.outlayerGUID = n, f[n] = this, this._create(); 643 var s = this._getOption("initLayout"); 644 s && this.layout(); 645 } 646 function r(t) { 647 function e() { 648 t.apply(this, arguments); 649 } 650 return e.prototype = Object.create(t.prototype), e.prototype.constructor = e, e; 651 } 652 function a(t) { 653 if ("number" == typeof t) return t; 654 var e = t.match(/(^\d*\.?\d*)(\w*)/), i = e && e[1], o = e && e[2]; 655 if (!i.length) return 0; 656 i = parseFloat(i); 657 var n = m[o] || 1; 658 return i * n; 659 } 660 var u = t.console, h = t.jQuery, d = function() {}, l = 0, f = {}; 661 s.namespace = "outlayer", 662 s.Item = n, 663 s.defaults = { 664 containerStyle: { position: "relative" }, 665 initLayout: !0, 666 originLeft: !0, 667 originTop: !0, 668 resize: !0, 669 resizeContainer: !0, 670 transitionDuration: "0.4s", 671 hiddenStyle: { opacity: 0, transform: "scale(0.001)" }, 672 visibleStyle: { opacity: 1, transform: "scale(1)" }, 673 }; 674 var c = s.prototype; 675 o.extend(c, e.prototype), 676 c.option = function(t) { 677 o.extend(this.options, t); 678 }, 679 c._getOption = function(t) { 680 var e = this.constructor.compatOptions[t]; 681 return e && void 0 !== this.options[e] ? this.options[e] : this.options[t]; 682 }, 683 s.compatOptions = { 684 initLayout: "isInitLayout", 685 horizontal: "isHorizontal", 686 layoutInstant: "isLayoutInstant", 687 originLeft: "isOriginLeft", 688 originTop: "isOriginTop", 689 resize: "isResizeBound", 690 resizeContainer: "isResizingContainer", 691 }, 692 c._create = function() { 693 this.reloadItems(), 694 this.stamps = [], 695 this.stamp(this.options.stamp), 696 o.extend(this.element.style, this.options.containerStyle); 697 var t = this._getOption("resize"); 698 t && this.bindResize(); 699 }, 700 c.reloadItems = function() { 701 this.items = this._itemize(this.element.children); 702 }, 703 c._itemize = function(t) { 704 for ( 705 var e = this._filterFindItemElements(t), 706 i = this.constructor.Item, 707 o = [], 708 n = 0; 709 n < e.length; 710 n++ 711 ) { 712 var s = e[n], r = new i(s, this); 713 o.push(r); 714 } 715 return o; 716 }, 717 c._filterFindItemElements = function(t) { 718 return o.filterFindElements(t, this.options.itemSelector); 719 }, 720 c.getItemElements = function() { 721 return this.items.map(function(t) { 722 return t.element; 723 }); 724 }, 725 c.layout = function() { 726 this._resetLayout(), this._manageStamps(); 727 var t = this._getOption("layoutInstant"), 728 e = void 0 !== t ? t : !this._isLayoutInited; 729 this.layoutItems(this.items, e), this._isLayoutInited = !0; 730 }, 731 c._init = c.layout, 732 c._resetLayout = function() {
733 this.getSize(); 734 }, 735 c.getSize = function() { 736 this.size = i(this.element); 737 }, 738 c._getMeasurement = function(t, e) { 739 var o, n = this.options[t]; 740 n 741 ? ("string" == typeof n 742 ? o = this.element.querySelector(n) 743 : n instanceof HTMLElement && (o = n), 744 this[t] = o ? i(o)[e] : n) 745 : this[t] = 0; 746 }, 747 c.layoutItems = function(t, e) { 748 t = this._getItemsForLayout(t), this._layoutItems(t, e), this._postLayout(); 749 }, 750 c._getItemsForLayout = function(t) { 751 return t.filter(function(t) { 752 return !t.isIgnored; 753 }); 754 }, 755 c._layoutItems = function(t, e) { 756 if (this._emitCompleteOnItems("layout", t), t && t.length) { 757 var i = []; 758 t.forEach(function(t) { 759 var o = this._getItemLayoutPosition(t); 760 o.item = t, o.isInstant = e || t.isLayoutInstant, i.push(o); 761 }, this), this._processLayoutQueue(i); 762 } 763 }, 764 c._getItemLayoutPosition = function() { 765 return { x: 0, y: 0 }; 766 }, 767 c._processLayoutQueue = function(t) { 768 this.updateStagger(), 769 t.forEach(function(t, e) { 770 this._positionItem(t.item, t.x, t.y, t.isInstant, e); 771 }, this); 772 }, 773 c.updateStagger = function() { 774 var t = this.options.stagger; 775 return null === t || void 0 === t 776 ? void (this.stagger = 0) 777 : (this.stagger = a(t), this.stagger); 778 }, 779 c._positionItem = function(t, e, i, o, n) { 780 o ? t.goTo(e, i) : (t.stagger(n * this.stagger), t.moveTo(e, i)); 781 }, 782 c._postLayout = function() { 783 this.resizeContainer(); 784 }, 785 c.resizeContainer = function() { 786 var t = this._getOption("resizeContainer"); 787 if (t) { 788 var e = this._getContainerSize(); 789 e 790 && (this._setContainerMeasure(e.width, !0), 791 this._setContainerMeasure(e.height, !1)); 792 } 793 }, 794 c._getContainerSize = d, 795 c._setContainerMeasure = function(t, e) { 796 if (void 0 !== t) { 797 var i = this.size; 798 i.isBorderBox 799 && (t += e 800 ? i.paddingLeft + i.paddingRight + i.borderLeftWidth + i.borderRightWidth 801 : i.paddingBottom + i.paddingTop + i.borderTopWidth + i.borderBottomWidth), 802 t = Math.max(t, 0), 803 this.element.style[e ? "width" : "height"] = t + "px"; 804 } 805 }, 806 c._emitCompleteOnItems = function(t, e) { 807 function i() { 808 n.dispatchEvent(t + "Complete", null, [e]); 809 } 810 function o() { 811 r++, r == s && i(); 812 } 813 var n = this, s = e.length; 814 if (!e || !s) return void i(); 815 var r = 0; 816 e.forEach(function(e) { 817 e.once(t, o); 818 }); 819 }, 820 c.dispatchEvent = function(t, e, i) { 821 var o = e ? [e].concat(i) : i; 822 if (this.emitEvent(t, o), h) { 823 if ( 824 this.$element = this.$element || h(this.element), e 825 ) { 826 var n = h.Event(e); 827 n.type = t, this.$element.trigger(n, i); 828 } else this.$element.trigger(t, i); 829 } 830 }, 831 c.ignore = function(t) { 832 var e = this.getItem(t); 833 e && (e.isIgnored = !0); 834 }, 835 c.unignore = function(t) { 836 var e = this.getItem(t); 837 e && delete e.isIgnored; 838 }, 839 c.stamp = function(t) { 840 t = this._find(t), 841 t && (this.stamps = this.stamps.concat(t), t.forEach(this.ignore, this)); 842 }, 843 c.unstamp = function(t) { 844 t = this._find(t), 845 t && t.forEach(function(t) { 846 o.removeFrom(this.stamps, t), this.unignore(t); 847 }, this); 848 }, 849 c._find = function(t) { 850 if (t) { 851 return "string" == typeof t && (t = this.element.querySelectorAll(t)), 852 t = o.makeArray(t); 853 } 854 }, 855 c._manageStamps = function() { 856 this.stamps && this.stamps.length 857 && (this._getBoundingRect(), this.stamps.forEach(this._manageStamp, this)); 858 }, 859 c._getBoundingRect = function() { 860 var t = this.element.getBoundingClientRect(), e = this.size; 861 this._boundingRect = { 862 left: t.left + e.paddingLeft + e.borderLeftWidth, 863 top: t.top + e.paddingTop + e.borderTopWidth, 864 right: t.right - (e.paddingRight + e.borderRightWidth), 865 bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth), 866 }; 867 }, 868 c._manageStamp = d, 869 c._getElementOffset = function(t) { 870 var e = t.getBoundingClientRect(), 871 o = this._boundingRect, 872 n = i(t), 873 s = { 874 left: e.left - o.left - n.marginLeft, 875 top: e.top - o.top - n.marginTop, 876 right: o.right - e.right - n.marginRight, 877 bottom: o.bottom - e.bottom - n.marginBottom, 878 }; 879 return s; 880 }, 881 c.handleEvent = o.handleEvent, 882 c.bindResize = function() { 883 t.addEventListener("resize", this), this.isResizeBound = !0; 884 }, 885 c.unbindResize = function() { 886 t.removeEventListener("resize", this), this.isResizeBound = !1; 887 }, 888 c.onresize = function() { 889 this.resize(); 890 }, 891 o.debounceMethod(s, "onresize", 100), 892 c.resize = function() { 893 this.isResizeBound && this.needsResizeLayout() && this.layout(); 894 }, 895 c.needsResizeLayout = function() { 896 var t = i(this.element), e = this.size && t; 897 return e && t.innerWidth !== this.size.innerWidth; 898 }, 899 c.addItems = function(t) { 900 var e = this._itemize(t); 901 return e.length && (this.items = this.items.concat(e)), e; 902 }, 903 c.appended = function(t) { 904 var e = this.addItems(t); 905 e.length && (this.layoutItems(e, !0), this.reveal(e)); 906 }, 907 c.prepended = function(t) { 908 var e = this._itemize(t); 909 if (e.length) { 910 var i = this.items.slice(0); 911 this.items = e.concat(i), 912 this._resetLayout(), 913 this._manageStamps(), 914 this.layoutItems(e, !0), 915 this.reveal(e), 916 this.layoutItems(i); 917 } 918 }, 919 c.reveal = function(t) { 920 if (this._emitCompleteOnItems("reveal", t), t && t.length) { 921 var e = this.updateStagger(); 922 t.forEach(function(t, i) { 923 t.stagger(i * e), t.reveal(); 924 }); 925 } 926 }, 927 c.hide = function(t) { 928 if (this._emitCompleteOnItems("hide", t), t && t.length) { 929 var e = this.updateStagger(); 930 t.forEach(function(t, i) { 931 t.stagger(i * e), t.hide(); 932 }); 933 } 934 }, 935 c.revealItemElements = function(t) { 936 var e = this.getItems(t); 937 this.reveal(e); 938 }, 939 c.hideItemElements = function(t) { 940 var e = this.getItems(t); 941 this.hide(e); 942 }, 943 c.getItem = function(t) { 944 for (var e = 0; e < this.items.length; e++) { 945 var i = this.items[e]; 946 if (i.element == t) return i; 947 } 948 }, 949 c.getItems = function(t) { 950 t = o.makeArray(t); 951 var e = []; 952 return t.forEach(function(t) { 953 var i = this.getItem(t); 954 i && e.push(i); 955 }, this), 956 e; 957 }, 958 c.remove = function(t) { 959 var e = this.getItems(t); 960 this._emitCompleteOnItems("remove", e), 961 e && e.length && e.forEach(function(t) { 962 t.remove(), o.removeFrom(this.items, t); 963 }, this); 964 }, 965 c.destroy = function() { 966 var t = this.element.style; 967 t.height = "", 968 t.position = "", 969 t.width = "",
970 this.items.forEach(function(t) { 971 t.destroy(); 972 }), 973 this.unbindResize(); 974 var e = this.element.outlayerGUID; 975 delete f[e], 976 delete this.element.outlayerGUID, 977 h && h.removeData(this.element, this.constructor.namespace); 978 }, 979 s.data = function(t) { 980 t = o.getQueryElement(t); 981 var e = t && t.outlayerGUID; 982 return e && f[e]; 983 }, 984 s.create = function(t, e) { 985 var i = r(s); 986 return i.defaults = o.extend({}, s.defaults), 987 o.extend(i.defaults, e), 988 i.compatOptions = o.extend({}, s.compatOptions), 989 i.namespace = t, 990 i.data = s.data, 991 i.Item = r(n), 992 o.htmlInit(i, t), 993 h && h.bridget && h.bridget(t, i), 994 i; 995 }; 996 var m = { ms: 1, s: 1e3 }; 997 return s.Item = n, s; 998 }), 999 function(t, e) { 1000 "function" == typeof define && define.amd 1001 ? define("isotope-layout/js/item", ["outlayer/outlayer"], e) 1002 : "object" == typeof module && module.exports 1003 ? module.exports = e(require("outlayer")) 1004 : (t.Isotope = t.Isotope || {}, t.Isotope.Item = e(t.Outlayer)); 1005 }(window, function(t) { 1006 "use strict"; 1007 function e() { 1008 t.Item.apply(this, arguments); 1009 } 1010 var i = e.prototype = Object.create(t.Item.prototype), o = i._create; 1011 i._create = function() { 1012 this.id = this.layout.itemGUID++, o.call(this), this.sortData = {}; 1013 }, 1014 i.updateSortData = function() { 1015 if (!this.isIgnored) { 1016 this.sortData.id = this.id, 1017 this.sortData["original-order"] = this.id, 1018 this.sortData.random = Math.random(); 1019 var t = this.layout.options.getSortData, e = this.layout._sorters; 1020 for (var i in t) { 1021 var o = e[i]; 1022 this.sortData[i] = o(this.element, this); 1023 } 1024 } 1025 }; 1026 var n = i.destroy; 1027 return i.destroy = function() { 1028 n.apply(this, arguments), this.css({ display: "" }); 1029 }, 1030 e; 1031 }), 1032 function(t, e) { 1033 "function" == typeof define && define.amd 1034 ? define("isotope-layout/js/layout-mode", ["get-size/get-size", "outlayer/outlayer"], e) 1035 : "object" == typeof module && module.exports 1036 ? module.exports = e(require("get-size"), require("outlayer")) 1037 : (t.Isotope = t.Isotope || {}, t.Isotope.LayoutMode = e(t.getSize, t.Outlayer)); 1038 }(window, function(t, e) { 1039 "use strict"; 1040 function i(t) { 1041 this.isotope = t, 1042 t 1043 && (this.options = t.options[this.namespace], 1044 this.element = t.element, 1045 this.items = t.filteredItems, 1046 this.size = t.size); 1047 } 1048 var o = i.prototype, 1049 n = [ 1050 "_resetLayout", 1051 "_getItemLayoutPosition", 1052 "_manageStamp", 1053 "_getContainerSize", 1054 "_getElementOffset", 1055 "needsResizeLayout", 1056 "_getOption", 1057 ]; 1058 return n.forEach(function(t) { 1059 o[t] = function() { 1060 return e.prototype[t].apply(this.isotope, arguments); 1061 }; 1062 }), 1063 o.needsVerticalResizeLayout = function() { 1064 var e = t(this.isotope.element), i = this.isotope.size && e; 1065 return i && e.innerHeight != this.isotope.size.innerHeight; 1066 }, 1067 o._getMeasurement = function() { 1068 this.isotope._getMeasurement.apply(this, arguments); 1069 }, 1070 o.getColumnWidth = function() {
vendor: 16,384 bytes, lines 1071-1618
1071 this.getSegmentSize("column", "Width"); 1072 }, 1073 o.getRowHeight = function() { 1074 this.getSegmentSize("row", "Height"); 1075 }, 1076 o.getSegmentSize = function(t, e) { 1077 var i = t + e, o = "outer" + e; 1078 if (this._getMeasurement(i, o), !this[i]) { 1079 var n = this.getFirstItemSize(); 1080 this[i] = n && n[o] || this.isotope.size["inner" + e]; 1081 } 1082 }, 1083 o.getFirstItemSize = function() { 1084 var e = this.isotope.filteredItems[0]; 1085 return e && e.element && t(e.element); 1086 }, 1087 o.layout = function() { 1088 this.isotope.layout.apply(this.isotope, arguments); 1089 }, 1090 o.getSize = function() { 1091 this.isotope.getSize(), this.size = this.isotope.size; 1092 }, 1093 i.modes = {}, 1094 i.create = function(t, e) { 1095 function n() { 1096 i.apply(this, arguments); 1097 } 1098 return n.prototype = Object.create(o), 1099 n.prototype.constructor = n, 1100 e && (n.options = e), 1101 n.prototype.namespace = t, 1102 i.modes[t] = n, 1103 n; 1104 }, 1105 i; 1106 }), 1107 function(t, e) { 1108 "function" == typeof define && define.amd 1109 ? define("masonry-layout/masonry", ["outlayer/outlayer", "get-size/get-size"], e) 1110 : "object" == typeof module && module.exports 1111 ? module.exports = e(require("outlayer"), require("get-size")) 1112 : t.Masonry = e(t.Outlayer, t.getSize); 1113 }(window, function(t, e) { 1114 var i = t.create("masonry"); 1115 i.compatOptions.fitWidth = "isFitWidth"; 1116 var o = i.prototype; 1117 return o._resetLayout = function() { 1118 this.getSize(), 1119 this._getMeasurement("columnWidth", "outerWidth"), 1120 this._getMeasurement("gutter", "outerWidth"), 1121 this.measureColumns(), 1122 this.colYs = []; 1123 for (var t = 0; t < this.cols; t++) this.colYs.push(0); 1124 this.maxY = 0, this.horizontalColIndex = 0; 1125 }, 1126 o.measureColumns = function() { 1127 if (this.getContainerWidth(), !this.columnWidth) { 1128 var t = this.items[0], i = t && t.element; 1129 this.columnWidth = i && e(i).outerWidth || this.containerWidth; 1130 } 1131 var o = this.columnWidth += this.gutter, 1132 n = this.containerWidth + this.gutter, 1133 s = n / o, 1134 r = o - n % o, 1135 a = r && r < 1 ? "round" : "floor"; 1136 s = Math[a](s), this.cols = Math.max(s, 1); 1137 }, 1138 o.getContainerWidth = function() { 1139 var t = this._getOption("fitWidth"), 1140 i = t ? this.element.parentNode : this.element, 1141 o = e(i); 1142 this.containerWidth = o && o.innerWidth; 1143 }, 1144 o._getItemLayoutPosition = function(t) { 1145 t.getSize(); 1146 var e = t.size.outerWidth % this.columnWidth, 1147 i = e && e < 1 ? "round" : "ceil", 1148 o = Math[i](t.size.outerWidth / this.columnWidth); 1149 o = Math.min(o, this.cols); 1150 for ( 1151 var n = this.options.horizontalOrder 1152 ? "_getHorizontalColPosition" 1153 : "_getTopColPosition", 1154 s = this[n](o, t), 1155 r = { x: this.columnWidth * s.col, y: s.y }, 1156 a = s.y + t.size.outerHeight, 1157 u = o + s.col, 1158 h = s.col; 1159 h < u; 1160 h++ 1161 ) this.colYs[h] = a; 1162 return r; 1163 }, 1164 o._getTopColPosition = function(t) { 1165 var e = this._getTopColGroup(t), i = Math.min.apply(Math, e); 1166 return { col: e.indexOf(i), y: i }; 1167 }, 1168 o._getTopColGroup = function(t) { 1169 if (t < 2) return this.colYs; 1170 for (var e = [], i = this.cols + 1 - t, o = 0; o < i; o++) { 1171 e[o] = this._getColGroupY(o, t); 1172 } 1173 return e; 1174 }, 1175 o._getColGroupY = function(t, e) { 1176 if (e < 2) return this.colYs[t]; 1177 var i = this.colYs.slice(t, t + e); 1178 return Math.max.apply(Math, i); 1179 }, 1180 o._getHorizontalColPosition = function(t, e) { 1181 var i = this.horizontalColIndex % this.cols, o = t > 1 && i + t > this.cols; 1182 i = o ? 0 : i; 1183 var n = e.size.outerWidth && e.size.outerHeight; 1184 return this.horizontalColIndex = n ? i + t : this.horizontalColIndex, 1185 { col: i, y: this._getColGroupY(i, t) }; 1186 }, 1187 o._manageStamp = function(t) { 1188 var i = e(t), 1189 o = this._getElementOffset(t), 1190 n = this._getOption("originLeft"), 1191 s = n ? o.left : o.right, 1192 r = s + i.outerWidth, 1193 a = Math.floor(s / this.columnWidth); 1194 a = Math.max(0, a); 1195 var u = Math.floor(r / this.columnWidth); 1196 u -= r % this.columnWidth ? 0 : 1, u = Math.min(this.cols - 1, u); 1197 for ( 1198 var h = this._getOption("originTop"), 1199 d = (h ? o.top : o.bottom) + i.outerHeight, 1200 l = a; 1201 l <= u; 1202 l++ 1203 ) this.colYs[l] = Math.max(d, this.colYs[l]); 1204 }, 1205 o._getContainerSize = function() { 1206 this.maxY = Math.max.apply(Math, this.colYs); 1207 var t = { height: this.maxY }; 1208 return this._getOption("fitWidth") && (t.width = this._getContainerFitWidth()), t; 1209 }, 1210 o._getContainerFitWidth = function() { 1211 for (var t = 0, e = this.cols; --e && 0 === this.colYs[e];) t++; 1212 return (this.cols - t) * this.columnWidth - this.gutter; 1213 }, 1214 o.needsResizeLayout = function() { 1215 var t = this.containerWidth; 1216 return this.getContainerWidth(), t != this.containerWidth; 1217 }, 1218 i; 1219 }), 1220 function(t, e) { 1221 "function" == typeof define && define.amd 1222 ? define("isotope-layout/js/layout-modes/masonry", [ 1223 "../layout-mode", 1224 "masonry-layout/masonry", 1225 ], e) 1226 : "object" == typeof module && module.exports 1227 ? module.exports = e(require("../layout-mode"), require("masonry-layout")) 1228 : e(t.Isotope.LayoutMode, t.Masonry); 1229 }(window, function(t, e) { 1230 "use strict"; 1231 var i = t.create("masonry"), 1232 o = i.prototype, 1233 n = { _getElementOffset: !0, layout: !0, _getMeasurement: !0 }; 1234 for (var s in e.prototype) n[s] || (o[s] = e.prototype[s]); 1235 var r = o.measureColumns; 1236 o.measureColumns = function() { 1237 this.items = this.isotope.filteredItems, r.call(this); 1238 }; 1239 var a = o._getOption; 1240 return o._getOption = function(t) { 1241 return "fitWidth" == t 1242 ? void 0 !== this.options.isFitWidth 1243 ? this.options.isFitWidth 1244 : this.options.fitWidth 1245 : a.apply(this.isotope, arguments); 1246 }, 1247 i; 1248 }), 1249 function(t, e) { 1250 "function" == typeof define && define.amd 1251 ? define("isotope-layout/js/layout-modes/fit-rows", ["../layout-mode"], e) 1252 : "object" == typeof exports 1253 ? module.exports = e(require("../layout-mode")) 1254 : e(t.Isotope.LayoutMode); 1255 }(window, function(t) { 1256 "use strict"; 1257 var e = t.create("fitRows"), i = e.prototype; 1258 return i._resetLayout = function() { 1259 this.x = 0, this.y = 0, this.maxY = 0, this._getMeasurement("gutter", "outerWidth"); 1260 }, 1261 i._getItemLayoutPosition = function(t) { 1262 t.getSize(); 1263 var e = t.size.outerWidth + this.gutter, 1264 i = this.isotope.size.innerWidth + this.gutter; 1265 0 !== this.x && e + this.x > i && (this.x = 0, this.y = this.maxY); 1266 var o = { x: this.x, y: this.y }; 1267 return this.maxY = Math.max(this.maxY, this.y + t.size.outerHeight), this.x += e, o; 1268 }, 1269 i._getContainerSize = function() { 1270 return { height: this.maxY }; 1271 }, 1272 e; 1273 }), 1274 function(t, e) { 1275 "function" == typeof define && define.amd 1276 ? define("isotope-layout/js/layout-modes/vertical", ["../layout-mode"], e) 1277 : "object" == typeof module && module.exports 1278 ? module.exports = e(require("../layout-mode")) 1279 : e(t.Isotope.LayoutMode); 1280 }(window, function(t) { 1281 "use strict"; 1282 var e = t.create("vertical", { horizontalAlignment: 0 }), i = e.prototype; 1283 return i._resetLayout = function() { 1284 this.y = 0; 1285 }, 1286 i._getItemLayoutPosition = function(t) { 1287 t.getSize(); 1288 var e = (this.isotope.size.innerWidth - t.size.outerWidth) 1289 * this.options.horizontalAlignment, 1290 i = this.y; 1291 return this.y += t.size.outerHeight, { x: e, y: i }; 1292 }, 1293 i._getContainerSize = function() { 1294 return { height: this.y }; 1295 }, 1296 e; 1297 }), 1298 function(t, e) { 1299 "function" == typeof define && define.amd 1300 ? define([ 1301 "outlayer/outlayer", 1302 "get-size/get-size", 1303 "desandro-matches-selector/matches-selector", 1304 "fizzy-ui-utils/utils", 1305 "isotope-layout/js/item", 1306 "isotope-layout/js/layout-mode", 1307 "isotope-layout/js/layout-modes/masonry", 1308 "isotope-layout/js/layout-modes/fit-rows", 1309 "isotope-layout/js/layout-modes/vertical", 1310 ], function(i, o, n, s, r, a) { 1311 return e(t, i, o, n, s, r, a); 1312 }) 1313 : "object" == typeof module && module.exports 1314 ? module.exports = e( 1315 t, 1316 require("outlayer"), 1317 require("get-size"), 1318 require("desandro-matches-selector"), 1319 require("fizzy-ui-utils"), 1320 require("isotope-layout/js/item"), 1321 require("isotope-layout/js/layout-mode"), 1322 require("isotope-layout/js/layout-modes/masonry"), 1323 require("isotope-layout/js/layout-modes/fit-rows"), 1324 require("isotope-layout/js/layout-modes/vertical"), 1325 ) 1326 : t.Isotope = e( 1327 t, 1328 t.Outlayer, 1329 t.getSize, 1330 t.matchesSelector, 1331 t.fizzyUIUtils, 1332 t.Isotope.Item, 1333 t.Isotope.LayoutMode, 1334 ); 1335 }(window, function(t, e, i, o, n, s, r) { 1336 function a(t, e) { 1337 return function(i, o) { 1338 for (var n = 0; n < t.length; n++) { 1339 var s = t[n], r = i.sortData[s], a = o.sortData[s]; 1340 if (r > a || r < a) { 1341 var u = void 0 !== e[s] ? e[s] : e, h = u ? 1 : -1; 1342 return (r > a ? 1 : -1) * h; 1343 } 1344 } 1345 return 0; 1346 }; 1347 } 1348 var u = t.jQuery, 1349 h = String.prototype.trim 1350 ? function(t) { 1351 return t.trim(); 1352 } 1353 : function(t) { 1354 return t.replace(/^\s+|\s+$/g, ""); 1355 }, 1356 d = e.create("isotope", { 1357 layoutMode: "masonry", 1358 isJQueryFiltering: !0, 1359 sortAscending: !0, 1360 }); 1361 d.Item = s, d.LayoutMode = r; 1362 var l = d.prototype; 1363 l._create = function() { 1364 this.itemGUID = 0, 1365 this._sorters = {}, 1366 this._getSorters(), 1367 e.prototype._create.call(this), 1368 this.modes = {}, 1369 this.filteredItems = this.items, 1370 this.sortHistory = ["original-order"]; 1371 for (var t in r.modes) this._initLayoutMode(t); 1372 }, 1373 l.reloadItems = function() { 1374 this.itemGUID = 0, e.prototype.reloadItems.call(this); 1375 }, 1376 l._itemize = function() { 1377 for ( 1378 var t = e.prototype._itemize.apply(this, arguments), i = 0; 1379 i < t.length; 1380 i++ 1381 ) { 1382 var o = t[i]; 1383 o.id = this.itemGUID++; 1384 } 1385 return this._updateItemsSortData(t), t; 1386 }, 1387 l._initLayoutMode = function(t) { 1388 var e = r.modes[t], i = this.options[t] || {}; 1389 this.options[t] = e.options ? n.extend(e.options, i) : i, 1390 this.modes[t] = new e(this); 1391 }, 1392 l.layout = function() { 1393 return !this._isLayoutInited && this._getOption("initLayout") 1394 ? void this.arrange() 1395 : void this._layout(); 1396 }, 1397 l._layout = function() { 1398 var t = this._getIsInstant(); 1399 this._resetLayout(), 1400 this._manageStamps(), 1401 this.layoutItems(this.filteredItems, t), 1402 this._isLayoutInited = !0; 1403 }, 1404 l.arrange = function(t) { 1405 this.option(t), this._getIsInstant(); 1406 var e = this._filter(this.items); 1407 this.filteredItems = e.matches, 1408 this._bindArrangeComplete(), 1409 this._isInstant 1410 ? this._noTransition(this._hideReveal, [e]) 1411 : this._hideReveal(e), 1412 this._sort(), 1413 this._layout(); 1414 }, 1415 l._init = l.arrange, 1416 l._hideReveal = function(t) { 1417 this.reveal(t.needReveal), this.hide(t.needHide); 1418 }, 1419 l._getIsInstant = function() { 1420 var t = this._getOption("layoutInstant"), 1421 e = void 0 !== t ? t : !this._isLayoutInited; 1422 return this._isInstant = e, e; 1423 }, 1424 l._bindArrangeComplete = function() { 1425 function t() { 1426 e && i && o && n.dispatchEvent("arrangeComplete", null, [n.filteredItems]); 1427 } 1428 var e, i, o, n = this; 1429 this.once("layoutComplete", function() { 1430 e = !0, t(); 1431 }), 1432 this.once("hideComplete", function() { 1433 i = !0, t(); 1434 }), 1435 this.once("revealComplete", function() { 1436 o = !0, t(); 1437 }); 1438 }, 1439 l._filter = function(t) { 1440 var e = this.options.filter; 1441 e = e || "*"; 1442 for ( 1443 var i = [], o = [], n = [], s = this._getFilterTest(e), r = 0; 1444 r < t.length; 1445 r++ 1446 ) { 1447 var a = t[r]; 1448 if (!a.isIgnored) { 1449 var u = s(a); 1450 u && i.push(a), u && a.isHidden ? o.push(a) : u || a.isHidden || n.push(a); 1451 } 1452 } 1453 return { matches: i, needReveal: o, needHide: n }; 1454 }, 1455 l._getFilterTest = function(t) { 1456 return u && this.options.isJQueryFiltering 1457 ? function(e) { 1458 return u(e.element).is(t); 1459 } 1460 : "function" == typeof t 1461 ? function(e) { 1462 return t(e.element); 1463 } 1464 : function(e) { 1465 return o(e.element, t); 1466 }; 1467 }, 1468 l.updateSortData = function(t) { 1469 var e; 1470 t ? (t = n.makeArray(t), e = this.getItems(t)) : e = this.items, 1471 this._getSorters(), 1472 this._updateItemsSortData(e); 1473 }, 1474 l._getSorters = function() { 1475 var t = this.options.getSortData; 1476 for (var e in t) { 1477 var i = t[e]; 1478 this._sorters[e] = f(i); 1479 } 1480 }, 1481 l._updateItemsSortData = function(t) { 1482 for (var e = t && t.length, i = 0; e && i < e; i++) { 1483 var o = t[i]; 1484 o.updateSortData(); 1485 } 1486 }; 1487 var f = function() { 1488 function t(t) { 1489 if ("string" != typeof t) return t; 1490 var i = h(t).split(" "), 1491 o = i[0], 1492 n = o.match(/^\[(.+)\]$/), 1493 s = n && n[1], 1494 r = e(s, o), 1495 a = d.sortDataParsers[i[1]]; 1496 return t = a 1497 ? function(t) { 1498 return t && a(r(t)); 1499 } 1500 : function(t) { 1501 return t && r(t); 1502 }; 1503 } 1504 function e(t, e) { 1505 return t 1506 ? function(e) { 1507 return e.getAttribute(t); 1508 } 1509 : function(t) { 1510 var i = t.querySelector(e); 1511 return i && i.textContent; 1512 }; 1513 } 1514 return t; 1515 }(); 1516 d.sortDataParsers = { 1517 parseInt: function(t) { 1518 return parseInt(t, 10); 1519 }, 1520 parseFloat: function(t) { 1521 return parseFloat(t); 1522 }, 1523 }, 1524 l._sort = function() { 1525 if (this.options.sortBy) { 1526 var t = n.makeArray(this.options.sortBy); 1527 this._getIsSameSortBy(t) || (this.sortHistory = t.concat(this.sortHistory)); 1528 var e = a(this.sortHistory, this.options.sortAscending); 1529 this.filteredItems.sort(e); 1530 } 1531 }, 1532 l._getIsSameSortBy = function(t) { 1533 for (var e = 0; e < t.length; e++) if (t[e] != this.sortHistory[e]) return !1; 1534 return !0; 1535 }, 1536 l._mode = function() { 1537 var t = this.options.layoutMode, e = this.modes[t]; 1538 if (!e) throw new Error("No layout mode: " + t); 1539 return e.options = this.options[t], e; 1540 }, 1541 l._resetLayout = function() { 1542 e.prototype._resetLayout.call(this), this._mode()._resetLayout(); 1543 }, 1544 l._getItemLayoutPosition = function(t) { 1545 return this._mode()._getItemLayoutPosition(t); 1546 }, 1547 l._manageStamp = function(t) { 1548 this._mode()._manageStamp(t); 1549 }, 1550 l._getContainerSize = function() { 1551 return this._mode()._getContainerSize(); 1552 }, 1553 l.needsResizeLayout = function() { 1554 return this._mode().needsResizeLayout(); 1555 }, 1556 l.appended = function(t) { 1557 var e = this.addItems(t); 1558 if (e.length) { 1559 var i = this._filterRevealAdded(e); 1560 this.filteredItems = this.filteredItems.concat(i); 1561 } 1562 }, 1563 l.prepended = function(t) { 1564 var e = this._itemize(t); 1565 if (e.length) { 1566 this._resetLayout(), this._manageStamps(); 1567 var i = this._filterRevealAdded(e); 1568 this.layoutItems(this.filteredItems), 1569 this.filteredItems = i.concat(this.filteredItems), 1570 this.items = e.concat(this.items); 1571 } 1572 }, 1573 l._filterRevealAdded = function(t) { 1574 var e = this._filter(t); 1575 return this.hide(e.needHide), 1576 this.reveal(e.matches), 1577 this.layoutItems(e.matches, !0), 1578 e.matches; 1579 }, 1580 l.insert = function(t) { 1581 var e = this.addItems(t); 1582 if (e.length) { 1583 var i, o, n = e.length; 1584 for (i = 0; i < n; i++) o = e[i], this.element.appendChild(o.element); 1585 var s = this._filter(e).matches; 1586 for (i = 0; i < n; i++) e[i].isLayoutInstant = !0; 1587 for (this.arrange(), i = 0; i < n; i++) delete e[i].isLayoutInstant; 1588 this.reveal(s); 1589 } 1590 }; 1591 var c = l.remove; 1592 return l.remove = function(t) { 1593 t = n.makeArray(t); 1594 var e = this.getItems(t); 1595 c.call(this, t); 1596 for (var i = e && e.length, o = 0; i && o < i; o++) { 1597 var s = e[o]; 1598 n.removeFrom(this.filteredItems, s); 1599 } 1600 }, 1601 l.shuffle = function() { 1602 for (var t = 0; t < this.items.length; t++) { 1603 var e = this.items[t]; 1604 e.sortData.random = Math.random(); 1605 } 1606 this.options.sortBy = "random", this._sort(), this._layout(); 1607 }, 1608 l._noTransition = function(t, e) { 1609 var i = this.options.transitionDuration; 1610 this.options.transitionDuration = 0; 1611 var o = t.apply(this, e); 1612 return this.options.transitionDuration = i, o; 1613 }, 1614 l.getFilteredItemElements = function() { 1615 return this.filteredItems.map(function(t) { 1616 return t.element; 1617 }); 1618
1618 }, 1619 d; 1620 });
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.