1/******/ (function(modules) { // webpackBootstrap 2/******/ // The module cache 3/******/ var installedModules = {}; 4 5/******/ // The require function 6/******/ function __webpack_require__(moduleId) { 7 8/******/ // Check if module is in cache 9/******/ if(installedModules[moduleId]) 10/******/ return installedModules[moduleId].exports; 11 12/******/ // Create a new module (and put it into the cache) 13/******/ var module = installedModules[moduleId] = { 14/******/ exports: {}, 15/******/ id: moduleId, 16/******/ loaded: false 17/******/ }; 18 19/******/ // Execute the module function 20/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 21 22/******/ // Flag the module as loaded 23/******/ module.loaded = true; 24 25/******/ // Return the exports of the module 26/******/ return module.exports; 27/******/ } 28 29 30/******/ // expose the modules object (__webpack_modules__) 31/******/ __webpack_require__.m = modules; 32 33/******/ // expose the module cache 34/******/ __webpack_require__.c = installedModules; 35 36/******/ // __webpack_public_path__ 37/******/ __webpack_require__.p = ""; 38 39/******/ // Load entry module and return exports 40/******/ return __webpack_require__(0); 41/******/ }) 42/************************************************************************/ 43/******/ ([ 44/* 0 */ 45/***/ function(module, exports, __webpack_require__) { 46 47 var jQuery; 48 49 jQuery = __webpack_require__(1); 50 51 if (!jQuery) { 52 alert('Message from Awesome Gallery: jQuery not found!'); 53 } else { 54 if (parseInt(jQuery().jquery.replace(/\./g, '')) < 172) { 55 alert('Message from Awesome Gallery: You have jQuery < 1.7.2. Please upgrade your jQuery or enable "Force new jQuery version" option at Awesome Gallery settings page.'); 56 } else { 57 window.AwesomeGallery = __webpack_require__(2); 58 } 59 } 60 61 62/***/ }, 63/* 1 */ 64/***/ function(module, exports) { 65 66 module.exports = window.asgjQuery || window.jQuery || window.$ || jQuery || $; 67 68/***/ }, 69/* 2 */ 70/***/ function(module, exports, __webpack_require__) { 71 72 var $, AwesomeGallery, GalleryFilters, GalleryImage, LayoutStrategy, Lightbox, 73 bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; 74 75 LayoutStrategy = __webpack_require__(3); 76 77 GalleryFilters = __webpack_require__(9); 78 79 Lightbox = __webpack_require__(10); 80 81 GalleryImage = __webpack_require__(18); 82 83 $ = __webpack_require__(1); 84 85 module.exports = AwesomeGallery = (function() { 86 function AwesomeGallery(id, options) { 87 this.dispose = bind(this.dispose, this); 88 this.loadMore = bind(this.loadMore, this); 89 this.filterCallback = bind(this.filterCallback, this); 90 this.initLoadMore = bind(this.initLoadMore, this); 91 this.loadMoreActive = bind(this.loadMoreActive, this); 92 this.getVisibleImages = bind(this.getVisibleImages, this); 93 this.showWhenVisible = bind(this.showWhenVisible, this); 94 var images; 95 this.$window = $(window); 96 this.id = id; 97 this.options = options; 98 this.page = 1; 99 this.$el = $("#awesome-gallery-" + id); 100 this.$el.data('awesome-gallery', this); 101 this.$images = this.$el.find('.asg-images'); 102 if ((this.$filters = this.$el.find('.asg-filters')).size() > 0) { 103 this.filters = new GalleryFilters(this.$filters, this.filterCallback); 104 } 105 this.images = this.buildImages(); 106 this.layout = LayoutStrategy.create(this.$images, this.images, this.options.layout); 107 if (this.loadMoreActive()) { 108 this.initLoadMore(); 109 } 110 images = this.getVisibleImages(); 111 this.lightboxAdapter = Lightbox.create(this.$images, this.options.lightbox); 112 this.showWhenVisible(); 113 } 114 115 AwesomeGallery.prototype.buildImages = function() { 116 var images; 117 images = []; 118 this.$images.find("> .asg-image").each(function(index, el) { 119 return images.push(new GalleryImage(jQuery(el))); 120 }); 121 return images; 122 }; 123 124 AwesomeGallery.prototype.showWhenVisible = function() { 125 if (!this.$el.is(':visible') || this.$el.width() < 50) { 126 return setTimeout(this.showWhenVisible, 250); 127 } else { 128 return this.layout.show(this.getVisibleImages()); 129 } 130 }; 131 132 AwesomeGallery.prototype.getVisibleImages = function() { 133 var images, index, pageSize; 134 index = 0; 135 images = this.images; 136 images = images.filter((function(_this) { 137 return function(image) { 138 return image.matchesTag(_this.currentFilter); 139 }; 140 })(this)); 141 if (this.loadMoreActive()) { 142 pageSize = parseInt(this.options.load_more.page_size); 143 images = images.slice(0, this.page * pageSize); 144 } 145 return images; 146 }; 147 148 AwesomeGallery.prototype.loadMoreActive = function() { 149 return this.$el.find('.asg-bottom').size() > 0; 150 }; 151 152 AwesomeGallery.prototype.initLoadMore = function() { 153 if ((this.$loadMore = this.$el.find('.asg-bottom .asg-load-more')).size() > 0) { 154 this.$loadMore.addClass('asg-visible'); 155 return this.$loadMore.click((function(_this) { 156 return function() { 157 return _this.loadMore(); 158 }; 159 })(this)); 160 } else { 161 return this.$window.on('scroll.asg', (function(_this) { 162 return function() { 163 if (!_this.allLoaded) { 164 if (_this.$images.height() + _this.$images.offset().top - 400 < _this.$window.scrollTop() + _this.$window.height()) { 165 return _this.loadMore(); 166 } 167 } 168 }; 169 })(this)); 170 } 171 }; 172 173 AwesomeGallery.prototype.filterCallback = function(filter) { 174 var visibleImages;
175 this.currentFilter = filter; 176 this.page = 1; 177 this.layout.show(visibleImages = this.getVisibleImages()); 178 this.updateLoadMoreVisibility(visibleImages); 179 if (this.lightboxAdapter) { 180 return this.lightboxAdapter.reset(); 181 } 182 }; 183 184 AwesomeGallery.prototype.updateLoadMoreVisibility = function(visibleImages) { 185 var matching; 186 matching = this.images.filter((function(_this) { 187 return function(image) { 188 return image.matchesTag(_this.currentFilter); 189 }; 190 })(this)); 191 if (visibleImages.length < matching.length) { 192 return this.$el.find('.asg-bottom').show(); 193 } else { 194 return this.$el.find('.asg-bottom').hide(); 195 } 196 }; 197 198 AwesomeGallery.prototype.loadMore = function() { 199 var visibleImages; 200 if (this.loading || this.allLoaded) { 201 return; 202 } 203 this.page += 1; 204 visibleImages = this.getVisibleImages(); 205 this.layout.show(visibleImages); 206 this.updateLoadMoreVisibility(visibleImages); 207 if (this.lightboxAdapter) { 208 return this.lightboxAdapter.reset(); 209 } 210 }; 211 212 AwesomeGallery.prototype.dispose = function() { 213 this.$window.off('scroll', this.windowScrolled); 214 if (this.$loadMore) { 215 return this.$loadMore.off('click', this.loadNextPage); 216 } 217 }; 218 219 return AwesomeGallery; 220 221 })(); 222 223 224/***/ }, 225/* 3 */ 226/***/ function(module, exports, __webpack_require__) { 227 228 var GridLayoutStrategy, HorizontalFlowLayoutStrategy, VerticalFlowLayoutStrategy; 229 230 GridLayoutStrategy = __webpack_require__(4); 231 232 VerticalFlowLayoutStrategy = __webpack_require__(7); 233 234 HorizontalFlowLayoutStrategy = __webpack_require__(8); 235 236 module.exports = { 237 create: function(wrapper, images, config) { 238 if (config.mode === "usual") { 239 return new GridLayoutStrategy(wrapper, images, config); 240 } else if (config.mode === "vertical-flow") { 241 return new VerticalFlowLayoutStrategy(wrapper, images, config); 242 } else if (config.mode === 'horizontal-flow') { 243 return new HorizontalFlowLayoutStrategy(wrapper, images, config); 244 } 245 } 246 }; 247 248 249/***/ }, 250/* 4 */ 251/***/ function(module, exports, __webpack_require__) { 252 253 var $, GridLayoutStrategy, LayoutStrategy, jQuery, 254 bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, 255 extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, 256 hasProp = {}.hasOwnProperty; 257 258 jQuery = __webpack_require__(1); 259 260 $ = __webpack_require__(1); 261 262 LayoutStrategy = __webpack_require__(5); 263 264 module.exports = GridLayoutStrategy = (function(superClass) { 265 extend(GridLayoutStrategy, superClass); 266 267 function GridLayoutStrategy() { 268 this.getContainerSize = bind(this.getContainerSize, this); 269 this.placeItems = bind(this.placeItems, this); 270 this.reset = bind(this.reset, this); 271 return GridLayoutStrategy.__super__.constructor.apply(this, arguments); 272 } 273 274 GridLayoutStrategy.prototype.reset = function() { 275 GridLayoutStrategy.__super__.reset.apply(this, arguments); 276 return this.rowHeight = Math.floor(this.options.height * this.columnWidth / this.options.width); 277 }; 278 279 GridLayoutStrategy.prototype.placeItems = function(images) { 280 var border, col, i, image, len, results, row, x, y; 281 if (this.index === 0 && images.length < this.columns) { 282 this.columns = images.length; 283 this.columnWidth = this.options.width; 284 this.rowHeight = this.options.height; 285 } 286 border = this.options.border * 2; 287 results = []; 288 for (i = 0, len = images.length; i < len; i++) { 289 image = images[i]; 290 col = this.index % this.columns; 291 row = Math.floor(this.index / this.columns); 292 x = col * (this.columnWidth + this.options.gap); 293 y = row * (this.rowHeight + this.options.gap); 294 this.placeElement(image.$el, x, y, this.columnWidth - border, Math.floor(this.rowHeight - border)); 295 results.push(this.index += 1); 296 } 297 return results; 298 }; 299 300 GridLayoutStrategy.prototype.getContainerSize = function() { 301 var size; 302 size = {};
303 size.height = Math.ceil(1.0 * this.index / this.columns) * (this.rowHeight + this.options.gap + this.options.border); 304 if (this.options.hanging === 'hide' && this.index % this.columns !== 0) { 305 size.height -= this.rowHeight + this.options.gap + this.options.border; 306 } 307 if (this.index <= this.columns) { 308 size.width = this.columnWidth * this.index + this.options.gap * this.index - 1; 309 } else { 310 size.width = this.width; 311 } 312 return size; 313 }; 314 315 return GridLayoutStrategy; 316 317 })(LayoutStrategy); 318 319 320/***/ }, 321/* 5 */ 322/***/ function(module, exports, __webpack_require__) { 323 324 var $, AnimationQueue, LayoutStrategy, jQuery, 325 bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; 326 327 AnimationQueue = __webpack_require__(6); 328 329 jQuery = __webpack_require__(1); 330 331 $ = __webpack_require__(1); 332 333 LayoutStrategy = (function() { 334 function LayoutStrategy($el, images, options) { 335 this.getColumnWidth = bind(this.getColumnWidth, this); 336 this.getColumns = bind(this.getColumns, this); 337 this.reLayoutRequired = bind(this.reLayoutRequired, this); 338 this.layout = bind(this.layout, this); 339 this.show = bind(this.show, this); 340 this.reset = bind(this.reset, this); 341 this.reLayout = bind(this.reLayout, this); 342 this.onResized = bind(this.onResized, this); 343 this.$el = $el; 344 this.images = images; 345 $(window).smartresize(this.onResized); 346 this.checkLayoutInterval = setInterval(this.onResized, 500); 347 this.options = options; 348 this.visibleImages = []; 349 this.reset(); 350 this.queue = new AnimationQueue(); 351 } 352 353 LayoutStrategy.prototype.onResized = function() { 354 if (this.reLayoutRequired()) { 355 return this.reLayout(); 356 } 357 }; 358 359 LayoutStrategy.prototype.reLayout = function(images) { 360 if (images == null) { 361 images = null; 362 } 363 if (images) { 364 this.images = images; 365 } 366 this.reset(); 367 return this.layout(); 368 }; 369 370 LayoutStrategy.prototype.reset = function() { 371 this.index = 0; 372 this.width = this.$el.parent().width(); 373 this.columns = this.getColumns(); 374 return this.columnWidth = this.getColumnWidth(); 375 }; 376 377 LayoutStrategy.prototype.difference = function(array1, array2) { 378 var diff, element, i, len; 379 diff = []; 380 for (i = 0, len = array1.length; i < len; i++) { 381 element = array1[i]; 382 if (array2.indexOf(element) === -1) { 383 diff.push(element); 384 } 385 } 386 return diff; 387 }; 388 389 LayoutStrategy.prototype.show = function(images) { 390 var i, image, j, len, len1, toHide, toShow; 391 if (this.visibleImages) { 392 toShow = this.difference(images, this.visibleImages); 393 toHide = this.difference(this.visibleImages, images); 394 } else { 395 toShow = this.images; 396 toHide = []; 397 } 398 for (i = 0, len = toShow.length; i < len; i++) { 399 image = toShow[i]; 400 image.show(); 401 } 402 for (j = 0, len1 = toHide.length; j < len1; j++) { 403 image = toHide[j]; 404 image.hide(); 405 } 406 this.visibleImages = images; 407 this.reset(); 408 return this.layout(); 409 }; 410 411 LayoutStrategy.prototype.layout = function() { 412 var size; 413 this.queue.clear(); 414 this.placeItems(this.visibleImages); 415 size = this.getContainerSize(); 416 return this.$el.css({ 417 width: size.width + "px", 418 height: size.height + "px" 419 }); 420 }; 421 422 LayoutStrategy.prototype.placeElement = function(el, x, y, width, height) { 423 var css; 424 css = { 425 left: x, 426 top: y 427 }; 428 if (width && height) { 429 css.width = width; 430 css.height = height; 431 } 432 return this.queue.enqueue(el, css); 433 }; 434 435 LayoutStrategy.prototype.reLayoutRequired = function() { 436 return this.$el.parent().width() !== this.width; 437 }; 438 439 LayoutStrategy.prototype.getColumns = function() { 440 var columns, fullWidth, width; 441 width = this.width; 442 columns = Math.floor((width + this.options.gap) / (this.options.width + this.options.gap + this.options.border * 2)); 443 fullWidth = columns * (this.options.width + this.options.border * 2) + (columns - 1) * this.options.gap; 444 if (width > fullWidth) { 445 columns = columns + 1; 446 } 447 if (columns === 0) { 448 columns = 1; 449 } 450 return columns; 451 }; 452 453 LayoutStrategy.prototype.getColumnWidth = function() { 454 var columns; 455 columns = this.columns; 456 if (columns > 1) { 457 return Math.floor((this.width + this.options.gap) / columns - this.options.gap); 458 } 459 return this.width; 460 }; 461 462 return LayoutStrategy; 463 464 })(); 465 466 module.exports = LayoutStrategy; 467 468 469/***/ }, 470/* 6 */
471/***/ function(module, exports) { 472 473 var AnimationQueue, 474 bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; 475 476 module.exports = AnimationQueue = (function() { 477 function AnimationQueue() { 478 this.flush = bind(this.flush, this); 479 this.clear = bind(this.clear, this); 480 this.enqueue = bind(this.enqueue, this); 481 } 482 483 AnimationQueue.prototype.queue = []; 484 485 AnimationQueue.prototype.queues = []; 486 487 AnimationQueue.prototype.flushInterval = null; 488 489 AnimationQueue.prototype.flushTimespan = 10; 490 491 AnimationQueue.prototype.enqueue = function($el, style) { 492 this.queue.push([$el, style]); 493 if (!this.flushInterval) { 494 return this.flushInterval = setTimeout(this.flush, this.flushTimespan); 495 } 496 }; 497 498 AnimationQueue.prototype.clear = function() { 499 this.queue = []; 500 clearTimeout(this.flushInterval); 501 return this.flushInterval = null; 502 }; 503 504 AnimationQueue.prototype.flush = function() { 505 var i, item; 506 i = 50; 507 while (i > 0 && this.queue.length > 0) { 508 item = this.queue.shift(); 509 item[0].css(item[1]); 510 i -= 1; 511 } 512 if (this.queue.length > 0) { 513 this.flushInterval = setTimeout(this.flush, this.flushTimespan); 514 return this.flushInterval = null; 515 } 516 }; 517 518 return AnimationQueue; 519 520 })(); 521 522 523/***/ }, 524/* 7 */ 525/***/ function(module, exports, __webpack_require__) { 526 527 var $, LayoutStrategy, VerticalFlowLayoutStrategy, jQuery, 528 bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, 529 extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, 530 hasProp = {}.hasOwnProperty; 531 532 jQuery = __webpack_require__(1); 533 534 $ = __webpack_require__(1); 535 536 LayoutStrategy = __webpack_require__(5); 537 538 module.exports = VerticalFlowLayoutStrategy = (function(superClass) { 539 extend(VerticalFlowLayoutStrategy, superClass); 540 541 function VerticalFlowLayoutStrategy() { 542 this.placeItems = bind(this.placeItems, this); 543 this.reset = bind(this.reset, this); 544 return VerticalFlowLayoutStrategy.__super__.constructor.apply(this, arguments); 545 } 546 547 VerticalFlowLayoutStrategy.prototype.reset = function() { 548 var col, j, ref, results; 549 VerticalFlowLayoutStrategy.__super__.reset.apply(this, arguments); 550 this.columnHeights = []; 551 this.columnImages = []; 552 results = []; 553 for (col = j = 0, ref = this.columns - 1; 0 <= ref ? j <= ref : j >= ref; col = 0 <= ref ? ++j : --j) { 554 this.columnImages[col] = []; 555 results.push(this.columnHeights[col] = 0); 556 } 557 return results; 558 }; 559 560 VerticalFlowLayoutStrategy.prototype.placeItems = function(images) { 561 var columnIndex, columnWidth, columns, highestColumn, highestHeight, image, imageHeight, imageWidth, j, lastInHighestColumn, lastInHighestColumnHeight, len, lowestColumn, lowestHeight, newLowestHeight; 562 if (this.index === 0 && images.length < this.columns) { 563 this.columns = images.length; 564 this.columnWidth = this.options.width; 565 } 566 columns = this.columns; 567 columnWidth = this.columnWidth; 568 imageWidth = columnWidth - this.options.border * 2; 569 for (j = 0, len = images.length; j < len; j++) { 570 image = images[j]; 571 imageHeight = image.naturalHeight * imageWidth * 1.0 / image.naturalWidth; 572 columnIndex = this.index % columns; 573 this.columnImages[columnIndex].push(image); 574 this.placeElement(image.$el, columnIndex * columnWidth + this.options.gap * columnIndex, this.columnHeights[columnIndex] + this.options.gap, imageWidth, imageHeight); 575 this.columnHeights[columnIndex] += imageHeight + this.options.gap + this.options.border * 2; 576 this.index += 1; 577 } 578 while (true) { 579 lowestColumn = $.inArray(Math.min.apply(null, this.columnHeights), this.columnHeights); 580 highestColumn = $.inArray(Math.max.apply(null, this.columnHeights), this.columnHeights); 581 if (lowestColumn === highestColumn) { 582 return; 583 }
584 lastInHighestColumn = this.columnImages[highestColumn].pop(); 585 if (!lastInHighestColumn) { 586 return; 587 } 588 lastInHighestColumnHeight = lastInHighestColumn.naturalHeight * imageWidth / lastInHighestColumn.naturalWidth + this.options.gap + this.options.border * 2; 589 lowestHeight = this.columnHeights[lowestColumn]; 590 highestHeight = this.columnHeights[highestColumn]; 591 newLowestHeight = lowestHeight + lastInHighestColumnHeight; 592 if (newLowestHeight >= highestHeight) { 593 return; 594 } 595 this.columnImages[lowestColumn].push(lastInHighestColumn); 596 this.placeElement(lastInHighestColumn.$el, lowestColumn * (this.columnWidth + this.options.gap), this.columnHeights[lowestColumn] + this.options.gap); 597 this.columnHeights[highestColumn] -= lastInHighestColumnHeight; 598 this.columnHeights[lowestColumn] += lastInHighestColumnHeight; 599 } 600 }; 601 602 VerticalFlowLayoutStrategy.prototype.getContainerSize = function() { 603 var height, i, j, ref, size; 604 height = 0; 605 size = {}; 606 for (i = j = 0, ref = this.columns - 1; 0 <= ref ? j <= ref : j >= ref; i = 0 <= ref ? ++j : --j) { 607 if (this.columnHeights[i] > height) { 608 height = this.columnHeights[i]; 609 } 610 } 611 if (this.index < this.columns) { 612 size.width = this.columnWidth * this.index; 613 } else { 614 size.width = this.width; 615 } 616 size.height = height + this.options.gap; 617 return size; 618 }; 619 620 return VerticalFlowLayoutStrategy; 621 622 })(LayoutStrategy); 623 624 625/***/ }, 626/* 8 */ 627/***/ function(module, exports, __webpack_require__) { 628 629 var $, HorizontalFlowLayoutStrategy, LayoutStrategy, jQuery, 630 bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, 631 extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, 632 hasProp = {}.hasOwnProperty; 633 634 jQuery = __webpack_require__(1); 635 636 $ = __webpack_require__(1); 637 638 LayoutStrategy = __webpack_require__(5); 639 640 module.exports = HorizontalFlowLayoutStrategy = (function(superClass) { 641 extend(HorizontalFlowLayoutStrategy, superClass); 642 643 function HorizontalFlowLayoutStrategy() { 644 this.getContainerSize = bind(this.getContainerSize, this); 645 this.placeItems = bind(this.placeItems, this); 646 this.startNewRow = bind(this.startNewRow, this); 647 this.shrinkCurrentRow = bind(this.shrinkCurrentRow, this); 648 this.reset = bind(this.reset, this); 649 return HorizontalFlowLayoutStrategy.__super__.constructor.apply(this, arguments); 650 } 651 652 HorizontalFlowLayoutStrategy.prototype.reset = function() { 653 HorizontalFlowLayoutStrategy.__super__.reset.apply(this, arguments); 654 this.currentRow = []; 655 this.sizes = []; 656 this.currentRowWidth = 0; 657 this.rows = [this.currentRow]; 658 this.elementSizes = [this.sizes]; 659 this.height = 0; 660 return this.prevWidth = 0; 661 }; 662 663 HorizontalFlowLayoutStrategy.prototype.shrinkCurrentRow = function(newHeight) { 664 var shrinkFactor, x; 665 x = 0; 666 shrinkFactor = this.options.height / newHeight; 667 return $.each(this.currentRow, ((function(_this) { 668 return function(rowIndex, image) { 669 var imageWidth; 670 if (rowIndex !== _this.currentRow.length - 1 || _this.currentRowWidth < _this.prevWidth) { 671 imageWidth = Math.floor(_this.sizes[rowIndex] / shrinkFactor); 672 _this.placeElement(image.$el, x, _this.height, imageWidth, newHeight); 673 return x += imageWidth + _this.options.gap + _this.options.border * 2; 674 } else { 675 return _this.placeElement(image.$el, x, _this.height, _this.width - x - _this.options.border * 2, newHeight); 676 } 677 }; 678 })(this))); 679 }; 680 681 HorizontalFlowLayoutStrategy.prototype.startNewRow = function() { 682 this.rows.push(this.currentRow = []); 683 this.elementSizes.push(this.sizes = []); 684 return this.currentRowWidth = 0; 685 }; 686 687 HorizontalFlowLayoutStrategy.prototype.placeItems = function(images) { 688 var elementWidth, height, i, image, index, len, shrinkFactor, width, x; 689 width = this.width; 690 index = 0; 691 for (i = 0, len = images.length; i < len; i++) { 692 image = images[i]; 693 this.currentRow.push(image);
694 this.sizes.push(elementWidth = image.naturalWidth / image.naturalHeight * this.options.height); 695 this.currentRowWidth += elementWidth + this.options.gap + this.options.border * 2; 696 if (this.currentRowWidth >= width + this.options.gap) { 697 this.currentRowWidth -= this.options.gap; 698 shrinkFactor = (this.currentRowWidth - (this.currentRow.length - 1) * this.options.gap - this.currentRow.length * this.options.border * 2) / (width - (this.currentRow.length - 1) * this.options.gap - this.currentRow.length * this.options.border * 2); 699 height = Math.floor(this.options.height / shrinkFactor); 700 this.shrinkCurrentRow(height); 701 this.height += height + this.options.gap + this.options.border * 2; 702 this.startNewRow(); 703 } 704 index += 1; 705 } 706 if (this.currentRowWidth < this.width) { 707 x = 0; 708 return $.each(this.currentRow, (function(_this) { 709 return function(rowIndex, image) { 710 var imageWidth; 711 imageWidth = Math.floor(_this.sizes[rowIndex]); 712 _this.placeElement(image.$el, x, _this.height, imageWidth, _this.options.height); 713 return x += imageWidth + _this.options.gap + _this.options.border * 2; 714 }; 715 })(this)); 716 } 717 }; 718 719 HorizontalFlowLayoutStrategy.prototype.getContainerSize = function() { 720 var size; 721 size = {}; 722 if (this.rows.length > 1) { 723 size.height = this.height; 724 if (this.options.allowHanging && this.currentRowWidth < this.width && this.currentRowWidth > 0) { 725 size.height += this.options.height + this.options.gap + this.options.border * 2; 726 } 727 } else { 728 if (this.currentRow.length > 0) { 729 size.height = this.options.height + this.options.gap + this.options.border * 2; 730 } else { 731 size.height = 0; 732 } 733 } 734 if (this.rows.length < 2 && this.currentRowWidth > 0) { 735 size.width = this.currentRowWidth; 736 } else { 737 size.width = this.width; 738 } 739 return size; 740 }; 741 742 return HorizontalFlowLayoutStrategy; 743 744 })(LayoutStrategy); 745 746 747/***/ }, 748/* 9 */ 749/***/ function(module, exports, __webpack_require__) { 750 751 var $, GalleryFilters, jQuery, 752 bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; 753 754 jQuery = __webpack_require__(1); 755 756 $ = __webpack_require__(1); 757 758 module.exports = GalleryFilters = (function() { 759 function GalleryFilters($el, filterCallback) { 760 this.onFilterClick = bind(this.onFilterClick, this); 761 this.$el = $el; 762 this.tags = []; 763 this.filterCallback = filterCallback; 764 this.current = null; 765 this.$el.on('click', '.asg-filter', this.onFilterClick); 766 } 767 768 GalleryFilters.prototype.onFilterClick = function(event) { 769 var filter; 770 event.preventDefault(); 771 filter = $(event.target); 772 this.$el.find('> div').removeClass('asg-active'); 773 $(filter).parent().addClass('asg-active'); 774 this.current = $(filter).attr('data-tag'); 775 return this.filterCallback(this.current.toLowerCase().trim()); 776 }; 777 778 return GalleryFilters; 779 780 })(); 781 782 783/***/ }, 784/* 10 */ 785/***/ function(module, exports, __webpack_require__) { 786 787 var JetpackAdapter, MagnificPopupAdapter, PrettyPhotoAdapter, SwipeboxAdapter, UberboxAdapter, iLightboxAdapter; 788 789 MagnificPopupAdapter = __webpack_require__(11); 790 791 SwipeboxAdapter = __webpack_require__(13); 792 793 PrettyPhotoAdapter = __webpack_require__(14); 794 795 iLightboxAdapter = __webpack_require__(15); 796 797 JetpackAdapter = __webpack_require__(16); 798 799 UberboxAdapter = __webpack_require__(17); 800 801 module.exports = { 802 create: function($images, config) { 803 switch (config.name) { 804 case 'magnific-popup': 805 return new MagnificPopupAdapter($images, config); 806 case 'swipebox': 807 return new SwipeboxAdapter($images, config); 808 case 'prettyphoto': 809 return new PrettyPhotoAdapter($images, config); 810 case 'ilightbox': 811 return new iLightboxAdapter($images, config); 812 case 'jetpack': 813 return new JetpackAdapter($images, config); 814 case 'foobox': 815 return new FooBoxAdapter($images, config); 816 case 'uberbox': 817 return new UberboxAdapter($images, config); 818 default: 819 return null; 820 } 821 } 822 }; 823 824 825/***/ }, 826/* 11 */ 827/***/ function(module, exports, __webpack_require__) { 828 829 var $, LightboxAdapter, MagnificPopupAdapter, jQuery, 830 extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, 831 hasProp = {}.hasOwnProperty; 832
833 LightboxAdapter = __webpack_require__(12); 834 835 jQuery = __webpack_require__(1); 836 837 $ = jQuery; 838 839 module.exports = MagnificPopupAdapter = (function(superClass) { 840 extend(MagnificPopupAdapter, superClass); 841 842 function MagnificPopupAdapter($el, config) { 843 var _this; 844 _this = this; 845 $el.magnificPopup({ 846 type: 'image', 847 delegate: this.linkSelector, 848 gallery: { 849 enabled: true 850 }, 851 mainClass: 'mfp-asg', 852 image: { 853 titleSrc: function() { 854 var caption_1, caption_2, el; 855 el = this.currItem.el.parent(); 856 if (caption_1 = el.find('.asg-lightbox-caption1').html()) { 857 caption_1 = $('<h3 />').html(caption_1)[0].outerHTML; 858 } else { 859 caption_1 = ''; 860 } 861 if (caption_2 = el.find('.asg-lightbox-caption2').html()) { 862 caption_2 = $('<div />').html(caption_2)[0].outerHTML; 863 } else { 864 caption_2 = ''; 865 } 866 if (caption_1 + caption_2) { 867 return caption_1 + caption_2; 868 } 869 return null; 870 }, 871 markup: '<div class="mfp-figure">' + '<div class="mfp-close"></div>' + '<figure>' + '<div class="mfp-img"></div>' + '<div class="mfp-asg-border"></div>' + '<figcaption>' + '<div class="mfp-bottom-bar">' + '<div class="mfp-title"></div>' + '<div class="mfp-counter"></div>' + '</div>' + '</figcaption>' + '</figure>' + '</div>' 872 }, 873 callbacks: { 874 open: (function() { 875 jQuery('.mfp-wrap').addClass('mfp-asg'); 876 return this._lastFocusedEl = null; 877 }), 878 markupParse: (function(template) { 879 return template.find('.mfp-counter').remove(); 880 }), 881 afterClose: (function(_this) { 882 return function() { 883 return _this.resetHash(); 884 }; 885 })(this), 886 afterChange: function() { 887 return _this.setHash(this.currItem.el.closest('.asg-image')); 888 } 889 } 890 }); 891 MagnificPopupAdapter.__super__.constructor.call(this, $el, config); 892 } 893 894 return MagnificPopupAdapter; 895 896 })(LightboxAdapter); 897 898 899/***/ }, 900/* 12 */ 901/***/ function(module, exports, __webpack_require__) { 902 903 var $, LightboxAdapter, jQuery, 904 bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; 905 906 $ = __webpack_require__(1); 907 908 jQuery = __webpack_require__(1); 909 910 module.exports = LightboxAdapter = (function() { 911 function LightboxAdapter($el, config) { 912 this.onPrevSlide = bind(this.onPrevSlide, this); 913 this.onNextSlide = bind(this.onNextSlide, this); 914 this.onAfterClose = bind(this.onAfterClose, this); 915 this.onKeyUp = bind(this.onKeyUp, this); 916 this.setHash = bind(this.setHash, this); 917 this.getInstanceIndex = bind(this.getInstanceIndex, this); 918 this.onImageClicked = bind(this.onImageClicked, this);
919 this.getSlug = bind(this.getSlug, this); 920 this.getId = bind(this.getId, this); 921 this.getAllLightboxLinks = bind(this.getAllLightboxLinks, this); 922 this.getLightboxLinks = bind(this.getLightboxLinks, this); 923 this.getDeeplinkImage = bind(this.getDeeplinkImage, this); 924 this.loadDeepLink = bind(this.loadDeepLink, this); 925 this.checkForDeeplink = bind(this.checkForDeeplink, this); 926 this.addImages = bind(this.addImages, this); 927 this.reset = bind(this.reset, this); 928 this.$el = $el; 929 this.config = config; 930 this.getAllLightboxLinks().off('click').removeClass('prettyphoto').removeClass('thickbox'); 931 setTimeout(this.reset, 1); 932 this.reset(); 933 this.checkForDeeplink(); 934 } 935 936 LightboxAdapter.prototype.reset = function() { 937 this.getAllLightboxLinks().off('click', this.onImageClicked); 938 return this.getLightboxLinks().on('click', this.onImageClicked); 939 }; 940 941 LightboxAdapter.prototype.addImages = function(images) { 942 return this.reset(); 943 }; 944 945 LightboxAdapter.prototype.checkForDeeplink = function() { 946 var gridId, image; 947 if (location.hash.match(/^#\d+\-/)) { 948 gridId = location.hash.replace(/^\#/, '').replace(/\-.*/, ''); 949 if (gridId !== this.getId()) { 950 return false; 951 } 952 image = location.hash.replace(/^.*\//, ''); 953 this.loadDeepLink(image); 954 return true; 955 } 956 }; 957 958 LightboxAdapter.prototype.loadDeepLink = function(image) { 959 var linkedImage; 960 linkedImage = this.getDeeplinkImage(image); 961 if (linkedImage.length > 0) { 962 return this.clickImage(linkedImage); 963 } 964 }; 965 966 LightboxAdapter.prototype.clickImage = function(image) { 967 return $(image).find('a.asg-lightbox').click(); 968 }; 969 970 LightboxAdapter.prototype.getDeeplinkImage = function(id) { 971 return jQuery.grep(this.getLightboxLinks().closest('.asg-image'), function(cell) { 972 return $(cell).data('slug').toString() === id; 973 }); 974 }; 975 976 LightboxAdapter.prototype.linkSelector = '.asg-image.asg-match-filter .asg-image-wrapper.asg-lightbox'; 977 978 LightboxAdapter.prototype.allLinkSelector = '.asg-image .asg-image-wrapper.asg-lightbox'; 979 980 LightboxAdapter.prototype.getLightboxLinks = function() { 981 return this.$el.find(this.linkSelector); 982 }; 983 984 LightboxAdapter.prototype.getAllLightboxLinks = function() { 985 return this.$el.find(this.allLinkSelector); 986 }; 987 988 LightboxAdapter.prototype.getId = function() { 989 return this.$el.parent().attr('id').replace(/\-\d+$/, '').replace(/^.*\-/, ''); 990 }; 991 992 LightboxAdapter.prototype.getSlug = function() { 993 return this.$el.parent().attr('data-slug'); 994 }; 995 996 LightboxAdapter.prototype.getLightboxCaption1 = function(el) { 997 var caption_1; 998 if (caption_1 = el.find('.asg-lightbox-caption1').html()) { 999 caption_1 = $('<h3 />').html(caption_1)[0].outerHTML; 1000 } else { 1001 caption_1 = ''; 1002 } 1003 return caption_1; 1004 }; 1005 1006 LightboxAdapter.prototype.getLightboxCaption2 = function(el) { 1007 var caption_2; 1008 if (caption_2 = el.find('.asg-lightbox-caption2').html()) { 1009 caption_2 = $('<div />').html(caption_2)[0].outerHTML; 1010 } else { 1011 caption_2 = ''; 1012 } 1013 return caption_2; 1014 }; 1015 1016 LightboxAdapter.prototype.onImageClicked = function(event) { 1017 var cell; 1018 cell = jQuery(event.target).closest('.asg-image'); 1019 this.scrollTop = jQuery(document).scrollTop(); 1020 return this.setHash(cell); 1021 }; 1022 1023 LightboxAdapter.prototype.getID = function() { 1024 return this.$el.parent().attr('id').replace(/\-\d+$/, '').replace(/.+\-/, ''); 1025 }; 1026 1027 LightboxAdapter.prototype.getInstanceIndex = function() { 1028 return this.$el.parent().attr('id').replace(/.*\-/, ''); 1029 }; 1030 1031 LightboxAdapter.prototype.setHash = function(cell) { 1032 var cellSlug, id; 1033 id = this.getID(); 1034 cellSlug = cell.data('slug'); 1035 this.prevHash = location.hash; 1036 return location.hash = id + "-" + (this.getSlug()) + "/" + cellSlug; 1037 }; 1038 1039 LightboxAdapter.prototype.resetHash = function() { 1040 if (this.prevHash) { 1041 location.hash = this.prevHash; 1042 delete this.prevHash; 1043 } else { 1044 location.hash = '#'; 1045 } 1046 if (this.scrollTop && this.scrollTop > 0) { 1047 return jQuery(document).scrollTop(this.scrollTop); 1048 } 1049 }; 1050 1051 LightboxAdapter.prototype.onKeyUp = function(event) { 1052 if (event.keyCode === 37) { 1053 return this.onPrevSlide(); 1054 } else if (event.keyCode === 39) { 1055 return this.onNextSlide(); 1056 } else if (event.keyCode === 27) { 1057 return this.onAfterClose(); 1058 } 1059 }; 1060 1061 LightboxAdapter.prototype.onAfterClose = function() { 1062 $(window).off('keyup', this.onKeyup); 1063 return this.resetHash(); 1064 }; 1065 1066 LightboxAdapter.prototype.onNextSlide = function() { 1067 var lightboxLinks; 1068 this.currentIndex += 1; 1069 lightboxLinks = this.getLightboxLinks(); 1070 if (this.currentIndex === lightboxLinks.length) { 1071 this.currentIndex = lightboxLinks.length - 1; 1072 } 1073 return this.setHash(this.getLightboxLinks().eq(this.currentIndex).closest('.asg-image')); 1074 }; 1075 1076 LightboxAdapter.prototype.onPrevSlide = function() { 1077 this.currentIndex -= 1; 1078 if (this.currentIndex < 0) { 1079 this.currentIndex = 0; 1080 } 1081 return this.setHash(this.getLightboxLinks().eq(this.currentIndex).closest('.asg-image')); 1082 }; 1083 1084 return LightboxAdapter; 1085 1086 })(); 1087 1088 1089/***/ }, 1090/* 13 */ 1091/***/ function(module, exports, __webpack_require__) { 1092 1093 var $, LightboxAdapter, SwipeboxAdapter, jQuery, 1094 bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, 1095 extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, 1096 hasProp = {}.hasOwnProperty; 1097 1098 jQuery = __webpack_require__(1); 1099 1100 $ = jQuery; 1101 1102 LightboxAdapter = __webpack_require__(12); 1103 1104 SwipeboxAdapter = (function(superClass) { 1105 extend(SwipeboxAdapter, superClass); 1106 1107 function SwipeboxAdapter() { 1108 this.onImageClicked = bind(this.onImageClicked, this); 1109 return SwipeboxAdapter.__super__.constructor.apply(this, arguments); 1110 } 1111 1112 SwipeboxAdapter.prototype.onImageClicked = function(event) { 1113 var elements, lightboxImages; 1114 SwipeboxAdapter.__super__.onImageClicked.call(this, event); 1115 event.preventDefault(); 1116 elements = this.$el.find(this.linkSelector); 1117 lightboxImages = $.map(elements, (function(_this) { 1118 return function(image) { 1119 image = $(image); 1120 return { 1121 href: image.attr('href'), 1122 title: function() { 1123 var caption1, caption2, html; 1124 image = image.closest('.asg-image'); 1125 html = $('<div/>'); 1126 if (caption2 = _this.getLightboxCaption2(image)) { 1127 html.append($('<small class="asg-small"/>').html(caption2)); 1128 } 1129 if (caption1 = _this.getLightboxCaption1(image)) { 1130 html.append($('<div />').html(caption1)); 1131 } 1132 return html.html(); 1133 } 1134 }; 1135 }; 1136 })(this)); 1137 this.currentIndex = elements.index($(event.target).closest('a.asg-image-wrapper')); 1138 $.swipebox(lightboxImages, { 1139 initialIndexOnArray: this.currentIndex 1140 }); 1141 jQuery('#swipebox-next').click(this.onNextSlide); 1142 jQuery('#swipebox-prev').click(this.onPrevSlide); 1143 return jQuery(window).on('keyup', this.onKeyUp); 1144 }; 1145 1146 return SwipeboxAdapter; 1147 1148 })(LightboxAdapter); 1149 1150 module.exports = SwipeboxAdapter; 1151 1152 1153/***/ }, 1154/* 14 */ 1155/***/ function(module, exports, __webpack_require__) { 1156 1157 var $, LightboxAdapter, PrettyPhotoAdapter, jQuery, 1158 bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, 1159 extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, 1160 hasProp = {}.hasOwnProperty; 1161 1162 $ = jQuery = __webpack_require__(1); 1163 1164 LightboxAdapter = __webpack_require__(12); 1165 1166 module.exports = PrettyPhotoAdapter = (function(superClass) { 1167 extend(PrettyPhotoAdapter, superClass); 1168 1169 function PrettyPhotoAdapter() { 1170 this.onPrevSlide = bind(this.onPrevSlide, this); 1171 this.onNextSlide = bind(this.onNextSlide, this); 1172 this.onKeyUp = bind(this.onKeyUp, this); 1173 this.onImageClicked = bind(this.onImageClicked, this); 1174 return PrettyPhotoAdapter.__super__.constructor.apply(this, arguments); 1175 } 1176 1177 PrettyPhotoAdapter.prototype.onImageClicked = function(event) { 1178 var descriptions, elements, titles, urls; 1179 event.preventDefault(); 1180 event.stopPropagation(); 1181 elements = this.$el.find(this.linkSelector); 1182 urls = elements.map((function(_this) { 1183 return function(index, image) { 1184 return $(image).closest('a.asg-image-wrapper').attr('href'); 1185 }; 1186 })(this)); 1187 titles = elements.map((function(_this) { 1188 return function(index, image) { 1189 return _this.getLightboxCaption1($(image).closest('.asg-image')); 1190 }; 1191 })(this)); 1192 descriptions = elements.map((function(_this) { 1193 return function(index, image) { 1194 return _this.getLightboxCaption2($(image).closest('.asg-image')); 1195 }; 1196 })(this)); 1197 $.fn.prettyPhoto(this.config.settings); 1198 $.prettyPhoto.open(urls, titles, descriptions, this.currentIndex = elements.index($(event.target).closest('.asg-image-wrapper'))); 1199 this.setHash($(event.target).closest('.asg-image')); 1200 $(document).on('keydown.prettyphoto', this.onKeyUp); 1201 $('.pp_previous').on('click.asg', this.onPrevSlide); 1202 return $('.pp_next').on('click.asg', this.onNextSlide); 1203 }; 1204 1205 PrettyPhotoAdapter.prototype.onKeyUp = function(event) { 1206 if (event.keyCode === 37) { 1207 return this.onPrevSlide(); 1208 } else if (event.keyCode === 39) { 1209 return this.onNextSlide(); 1210 } else if (event.keyCode === 27) { 1211 return this.resetHash(); 1212 } 1213 }; 1214 1215 PrettyPhotoAdapter.prototype.onNextSlide = function() { 1216 var lightboxLinks; 1217 this.currentIndex += 1; 1218 lightboxLinks = this.getLightboxLinks(); 1219 if (this.currentIndex === lightboxLinks.length) { 1220 this.currentIndex = lightboxLinks.length - 1; 1221 } 1222 return this.setHash(this.getLightboxLinks().eq(this.currentIndex).closest('.asg-image')); 1223 }; 1224 1225 PrettyPhotoAdapter.prototype.onPrevSlide = function() { 1226 this.currentIndex -= 1; 1227 if (this.currentIndex < 0) { 1228 this.currentIndex = 0; 1229 } 1230 return this.setHash(this.getLightboxLinks().eq(this.currentIndex).closest('.asg-image')); 1231 }; 1232 1233 return PrettyPhotoAdapter; 1234 1235 })(LightboxAdapter); 1236 1237
1238/***/ }, 1239/* 15 */ 1240/***/ function(module, exports, __webpack_require__) { 1241 1242 var $, LightboxAdapter, iLightboxAdapter, jQuery, 1243 bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, 1244 extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, 1245 hasProp = {}.hasOwnProperty; 1246 1247 jQuery = __webpack_require__(1); 1248 1249 $ = __webpack_require__(1); 1250 1251 LightboxAdapter = __webpack_require__(12); 1252 1253 module.exports = iLightboxAdapter = (function(superClass) { 1254 extend(iLightboxAdapter, superClass); 1255 1256 function iLightboxAdapter($el, config) { 1257 this.onImageClicked = bind(this.onImageClicked, this); 1258 if (!$.iLightBox) { 1259 alert('iLightbox not detected. Please install end enable iLightbox plugin.'); 1260 } 1261 iLightboxAdapter.__super__.constructor.call(this, $el, config); 1262 } 1263 1264 iLightboxAdapter.prototype.onImageClicked = function(event) { 1265 var elements, index, lightboxImages, options; 1266 iLightboxAdapter.__super__.onImageClicked.call(this, event); 1267 event.preventDefault(); 1268 elements = this.$el.find(this.linkSelector); 1269 lightboxImages = $.map(elements, function(el) { 1270 var data, image; 1271 data = $(el); 1272 image = data.closest('.asg-image').data('asg-image'); 1273 return { 1274 url: data.attr('href'), 1275 caption: image.getLightboxCaption1(), 1276 thumbnail: data.find('.asg-image-wrapper img').attr('src') 1277 }; 1278 }); 1279 this.currentIndex = index = elements.index($(event.target).closest('.asg-image-wrapper')); 1280 options = $.extend(this.config.settings, ILIGHTBOX.options && eval("(" + rawurldecode(ILIGHTBOX.options) + ")") || {}); 1281 return $.iLightBox(lightboxImages, $.extend({ 1282 startFrom: index, 1283 callback: { 1284 onAfterChange: (function(_this) { 1285 return function(instance) { 1286 _this.currentIndex = instance.currentItem; 1287 return _this.setHash(elements.eq(_this.currentIndex).closest('.asg-image')); 1288 }; 1289 })(this), 1290 onHide: (function(_this) { 1291 return function() { 1292 return _this.resetHash(); 1293 }; 1294 })(this) 1295 } 1296 }, options)); 1297 }; 1298 1299 return iLightboxAdapter; 1300 1301 })(LightboxAdapter); 1302 1303 1304/***/ }, 1305/* 16 */ 1306/***/ function(module, exports, __webpack_require__) { 1307 1308 var $, JetpackAdapter, LightboxAdapter, jQuery, 1309 bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, 1310 extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, 1311 hasProp = {}.hasOwnProperty; 1312 1313 jQuery = __webpack_require__(1); 1314 1315 $ = jQuery; 1316 1317 LightboxAdapter = __webpack_require__(12); 1318 1319 module.exports = JetpackAdapter = (function(superClass) { 1320 extend(JetpackAdapter, superClass); 1321 1322 function JetpackAdapter($el, config) { 1323 this.onPrevSlide = bind(this.onPrevSlide, this); 1324 this.onNextSlide = bind(this.onNextSlide, this); 1325 this.setHashFromCurrentIndex = bind(this.setHashFromCurrentIndex, this); 1326 this.onAfterClose = bind(this.onAfterClose, this); 1327 this.startCarousel = bind(this.startCarousel, this); 1328 this.onImageClicked = bind(this.onImageClicked, this); 1329 this.addImages = bind(this.addImages, this); 1330 JetpackAdapter.__super__.constructor.call(this, $el, config); 1331 this.$el.data('carousel-extra', { 1332 blog_id: 1, 1333 permalink: 'http://awesome-gallery.dev' 1334 }); 1335 } 1336 1337 JetpackAdapter.prototype.addImages = function(images) { 1338 var i, image, len, url, wrapper; 1339 images.addClass('tiled-gallery-item'); 1340 for (i = 0, len = images.length; i < len; i++) { 1341 image = images[i]; 1342 image = $(image); 1343 wrapper = image.closest('.asg-image'); 1344 url = image.find('.asg-image-wrapper').attr('href'); 1345 image.find('img').data({ 1346 'orig-file': url, 1347 'orig-size': (wrapper.data('width')) + "," + (wrapper.data('height')), 1348 'large-file': url, 1349 'medium-file': url, 1350 'small-file': url, 1351 'image-title': this.getLightboxCaption1(wrapper), 1352 'image-description': this.getLightboxCaption2(wrapper), 1353 'image-meta': wrapper.data('meta'), 1354 'attachment-id': wrapper.data('attachment-id') ? wrapper.data('attachment-id') : 'asg-hack', 1355 'comments-opened': wrapper.data('attachment-id') ? 1 : null 1356 }); 1357 } 1358 return images.on('click', this.onImageClicked); 1359 }; 1360 1361 JetpackAdapter.prototype.onImageClicked = function(event) { 1362 event.preventDefault(); 1363 if ($.fn.jp_carousel) { 1364 return this.startCarousel(event); 1365 } else { 1366 return $(document).ready(setTimeout(((function(_this) { 1367 return function() { 1368 return _this.startCarousel(event); 1369 }; 1370 })(this)), 500)); 1371 } 1372 }; 1373 1374 JetpackAdapter.prototype.startCarousel = function(event) { 1375 this.currentIndex = this.$el.find(this.linkSelector).index($(event.target).closest('.asg-image-wrapper')); 1376 if (this.$el.jp_carousel) { 1377 this.$el.jp_carousel({ 1378 start_index: this.currentIndex, 1379 'items_selector': ".asg-image:not(.asg-hidden) .asg-image-wrapper img" 1380 }); 1381 return setTimeout(this.setHashFromCurrentIndex, 500); 1382 } else { 1383 return $(document).ready((function(_this) { 1384 return function() { 1385 return setTimeout(function() { 1386 _this.$el.jp_carousel({ 1387 start_index: _this.currentIndex, 1388 'items_selector': ".asg-image:not(.asg-hidden) .asg-image-wrapper img" 1389 }); 1390 return setTimeout(_this.setHashFromCurrentIndex, 500); 1391 }, 600); 1392 }; 1393 })(this)); 1394 } 1395 }; 1396 1397 JetpackAdapter.prototype.onAfterClose = function() { 1398 JetpackAdapter.__super__.onAfterClose.apply(this, arguments); 1399 jQuery(document).off('keyup', this.onKeyUp); 1400 $('.jp-carousel-next-button').off('click', this.onNextSlide); 1401 return $('.jp-carousel-previous-button').off('click', this.onPrevSlide); 1402 }; 1403 1404 JetpackAdapter.prototype.setHashFromCurrentIndex = function() { 1405 this.setHash(this.getLightboxLinks().eq(this.currentIndex).closest('.asg-image')); 1406 $('.jp-carousel-next-button').click(this.onNextSlide); 1407 $('.jp-carousel-previous-button').click(this.onPrevSlide); 1408 $(document).on('keyup', this.onKeyUp); 1409 return $(document).on('click', '.jp-carousel-close-hint', this.onAfterClose); 1410 }; 1411 1412 JetpackAdapter.prototype.onNextSlide = function() { 1413 var lightboxLinks; 1414 this.currentIndex += 1; 1415 lightboxLinks = this.getLightboxLinks(); 1416 if (this.currentIndex === lightboxLinks.length) { 1417 this.currentIndex = 0; 1418 } 1419 return setTimeout(this.setHashFromCurrentIndex, 400); 1420 }; 1421 1422 JetpackAdapter.prototype.onPrevSlide = function() { 1423 this.currentIndex -= 1; 1424 if (this.currentIndex < 0) { 1425 this.currentIndex = this.getLightboxLinks().size() - 1; 1426 } 1427 return setTimeout(this.setHashFromCurrentIndex, 400); 1428 }; 1429 1430 return JetpackAdapter; 1431 1432 })(LightboxAdapter); 1433 1434
1435/***/ }, 1436/* 17 */ 1437/***/ function(module, exports, __webpack_require__) { 1438 1439 var $, LightboxAdapter, UberboxAdapter, jQuery, 1440 extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, 1441 hasProp = {}.hasOwnProperty; 1442 1443 LightboxAdapter = __webpack_require__(12); 1444 1445 $ = __webpack_require__(1); 1446 1447 jQuery = __webpack_require__(1); 1448 1449 module.exports = UberboxAdapter = (function(superClass) { 1450 extend(UberboxAdapter, superClass); 1451 1452 function UberboxAdapter() { 1453 return UberboxAdapter.__super__.constructor.apply(this, arguments); 1454 } 1455 1456 UberboxAdapter.prototype.onImageClicked = function(e) { 1457 var box, index, items; 1458 UberboxAdapter.__super__.onImageClicked.call(this, e); 1459 e.preventDefault(); 1460 items = this.getLightboxLinks(); 1461 index = items.index(jQuery(e.target).closest('a.asg-lightbox')); 1462 box = Uberbox.show(this.getItems(), { 1463 orientation: 'horizontal', 1464 current: index, 1465 carousel: true 1466 }); 1467 return box.on('close', (function(_this) { 1468 return function() { 1469 box.off('close'); 1470 return _this.resetHash(); 1471 }; 1472 })(this)); 1473 }; 1474 1475 UberboxAdapter.prototype.getItems = function() { 1476 var items; 1477 items = []; 1478 this.getLightboxLinks().each(function(index, cell) { 1479 var image; 1480 image = jQuery(cell).closest('.asg-image').data('asg-image'); 1481 image = { 1482 type: 'image', 1483 url: image.getImageUrl(), 1484 thumbnail: image.getThumbnailUrl(), 1485 title: image.getLightboxCaption1(), 1486 description: image.getLightboxCaption2(), 1487 description_style: 'mini', 1488 download_url: image.getImageUrl(), 1489 share: true 1490 }; 1491 return items.push(image); 1492 }); 1493 return items; 1494 }; 1495 1496 return UberboxAdapter; 1497 1498 })(LightboxAdapter); 1499 1500 1501/***/ }, 1502/* 18 */ 1503/***/ function(module, exports, __webpack_require__) { 1504 1505 var $, GalleryImage, ImageCaption, ImageOverlay, jQuery, 1506 bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; 1507 1508 jQuery = __webpack_require__(1); 1509 1510 $ = __webpack_require__(1); 1511 1512 ImageCaption = __webpack_require__(19); 1513 1514 ImageOverlay = __webpack_require__(22); 1515 1516 module.exports = GalleryImage = (function() { 1517 function GalleryImage($el) { 1518 this.slideIn = bind(this.slideIn, this); 1519 this.getTags = bind(this.getTags, this); 1520 this.show = bind(this.show, this); 1521 this.hide = bind(this.hide, this); 1522 var $caption, $overlay; 1523 this.$el = $el; 1524 this.$image = this.$el.find('.asg-image-wrapper img'); 1525 if (window.devicePixelRatio) { 1526 setTimeout(((function(_this) { 1527 return function() { 1528 return _this.$image.attr('src', _this.$image.attr('src') + ("&zoom=" + window.devicePixelRatio)); 1529 }; 1530 })(this)), Math.random() * 1500); 1531 } 1532 if (this.$image[0].complete || this.$image[0].naturalWidth > 0) { 1533 this.$el.addClass('asg-loaded'); 1534 } else { 1535 this.$image.on('load', (function(_this) { 1536 return function() { 1537 return _this.$el.addClass('asg-loaded'); 1538 }; 1539 })(this)); 1540 } 1541 this.naturalWidth = this.$el.data('width'); 1542 this.naturalHeight = this.$el.data('height'); 1543 this.$el.data('asg-image', this); 1544 if (($overlay = this.$el.find('.asg-image-overlay')).size() > 0) { 1545 this.overlay = new ImageOverlay($overlay, this.$el); 1546 } 1547 if (($caption = this.$el.find('.asg-image-caption-wrapper')).size() > 0) { 1548 this.caption = new ImageCaption($caption, this.$el); 1549 } 1550 } 1551 1552 GalleryImage.prototype.hide = function() { 1553 return this.$el.removeClass('asg-visible').css({ 1554 'transform': '' 1555 }); 1556 }; 1557 1558 GalleryImage.prototype.show = function() { 1559 return setTimeout(((function(_this) { 1560 return function() { 1561 return _this.$el.addClass('asg-visible'); 1562 }; 1563 })(this)), 100); 1564 }; 1565 1566 GalleryImage.prototype.matchesTag = function(filter) { 1567 var i, len, ref, tag; 1568 if (!filter || filter === '') { 1569 this.$el.addClass('asg-match-filter'); 1570 return true; 1571 } 1572 ref = this.getTags(); 1573 for (i = 0, len = ref.length; i < len; i++) { 1574 tag = ref[i]; 1575 if (tag.toLowerCase().trim() === filter) { 1576 this.$el.addClass('asg-match-filter'); 1577 return true; 1578 } 1579 } 1580 this.$el.removeClass('asg-match-filter'); 1581 return false;
1582 }; 1583 1584 GalleryImage.prototype.getTags = function() { 1585 if (this.tags) { 1586 return this.tags; 1587 } 1588 return this.tags = this.$el.data('tags').toString().split(', '); 1589 }; 1590 1591 GalleryImage.prototype.getImageUrl = function() { 1592 return this.$el.find('.asg-image-wrapper').attr('href'); 1593 }; 1594 1595 GalleryImage.prototype.getThumbnailUrl = function() { 1596 return this.$el.find('img').attr('src'); 1597 }; 1598 1599 GalleryImage.prototype.getTitle = function() { 1600 return this.$el.find('.asg-image-caption-wrapper .asg-image-caption1').html(); 1601 }; 1602 1603 GalleryImage.prototype.getDescription = function() { 1604 return this.$el.find('.asg-image-caption-wrapper .asg-image-caption2').html(); 1605 }; 1606 1607 GalleryImage.prototype.getLightboxCaption1 = function() { 1608 return this.$el.find('.asg-lightbox-caption1').html(); 1609 }; 1610 1611 GalleryImage.prototype.getLightboxCaption2 = function() { 1612 return this.$el.find('.asg-lightbox-caption2').html(); 1613 }; 1614 1615 GalleryImage.prototype.slideIn = function(event, element, zero) { 1616 var css, x, y; 1617 x = event.offsetX - this.wrapper.width() / 2; 1618 y = event.offsetY - this.wrapper.height() / 2; 1619 if (Math.abs(x) > Math.abs(y)) { 1620 if (x > 0) { 1621 css = { 1622 'left': (this.wrapper.width()) + "px", 1623 top: 0 1624 }; 1625 } else { 1626 css = { 1627 'left': "-" + (this.wrapper.width()) + "px", 1628 top: 0 1629 }; 1630 } 1631 } else { 1632 if (y < 0) { 1633 css = { 1634 'top': "-" + (this.wrapper.height()) + "px", 1635 left: 0 1636 }; 1637 } else { 1638 css = { 1639 'top': (this.wrapper.height()) + "px", 1640 left: 0 1641 }; 1642 } 1643 } 1644 return element.css(css).animate(zero, 'fast'); 1645 }; 1646 1647 GalleryImage.prototype.slideOut = function(event, element) { 1648 var css, x, y; 1649 x = event.offsetX - this.wrapper.width() / 2; 1650 y = event.offsetY - this.wrapper.height() / 2; 1651 if (x > 0) { 1652 if (Math.abs(x) > Math.abs(y)) { 1653 css = { 1654 'left': (this.wrapper.width()) + "px" 1655 }; 1656 } else { 1657 if (y < 0) { 1658 css = { 1659 'top': "-" + (this.wrapper.height()) + "px" 1660 }; 1661 } else { 1662 css = { 1663 'top': (this.wrapper.height()) + "px" 1664 }; 1665 } 1666 } 1667 } else { 1668 if (Math.abs(x) > Math.abs(y)) { 1669 css = { 1670 'left': "-" + (this.wrapper.width()) + "px" 1671 }; 1672 } else { 1673 if (y < 0) { 1674 css = { 1675 'top': "-" + (this.wrapper.height()) + "px" 1676 }; 1677 } else { 1678 css = { 1679 'top': (this.wrapper.height()) + "px" 1680 }; 1681 } 1682 } 1683 } 1684 return element.animate(css, 'fast'); 1685 }; 1686 1687 return GalleryImage; 1688 1689 })(); 1690 1691 1692/***/ }, 1693/* 19 */ 1694/***/ function(module, exports, __webpack_require__) { 1695 1696 var $, ImageCaption, SlidingElement, jQuery, 1697 bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, 1698 extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, 1699 hasProp = {}.hasOwnProperty; 1700 1701 jQuery = __webpack_require__(1); 1702 1703 $ = __webpack_require__(1); 1704 1705 SlidingElement = __webpack_require__(20); 1706 1707 module.exports = ImageCaption = (function(superClass) { 1708 extend(ImageCaption, superClass); 1709 1710 function ImageCaption($el, $wrapper, animationQueue) { 1711 this.layout = bind(this.layout, this); 1712 var h, img; 1713 ImageCaption.__super__.constructor.call(this, $el, $wrapper, animationQueue); 1714 this.centered = $el.hasClass('asg-position-center'); 1715 if (this.centered) { 1716 $el.on('resize', (function(_this) { 1717 return function() { 1718 return _this.layout(); 1719 }; 1720 })(this)); 1721 } 1722 img = $el.parent().find('img'); 1723 h = $el.height(); 1724 if ($el.hasClass('asg-position-bottom') && $el.hasClass('asg-effect-slide') && $el.hasClass('asg-on-hover')) { 1725 this.$wrapper.hover(((function(_this) { 1726 return function() { 1727 h = $el.outerHeight(); 1728 img.animate({ 1729 'top': "-" + (h / 2) + "px" 1730 }, { 1731 'queue': false, 1732 duration: 400 1733 }); 1734 return $el.css({ 1735 bottom: "-" + h + "px" 1736 }).animate({ 1737 bottom: 0 1738 }, { 1739 queue: false, 1740 duration: 350 1741 }); 1742 }; 1743 })(this)), ((function(_this) { 1744 return function() { 1745 img.animate({ 1746 top: 0 1747 }, { 1748 queue: false, 1749 duration: 400 1750 }); 1751 return $el.animate({ 1752 bottom: "-" + h + "px" 1753 }, { 1754 queue: false, 1755 duration: 350 1756 }); 1757 }; 1758 })(this))); 1759 } 1760 } 1761 1762 ImageCaption.prototype.layout = function() { 1763 if (this.centered) { 1764 if ((this.$el.hasClass('asg-mode-on') || this.$el.hasClass('asg-mode-on-hover')) && !this.$el.hasClass('asg-effect-off')) { 1765 return this.$el.css({ 1766 opacity: 0 1767 }); 1768 } 1769 } 1770 }; 1771 1772 return ImageCaption; 1773 1774 })(SlidingElement); 1775 1776 1777/***/ }, 1778/* 20 */ 1779/***/ function(module, exports, __webpack_require__) { 1780 1781 var $, SlidingElement, helpers, jQuery, 1782 bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; 1783 1784 jQuery = __webpack_require__(1); 1785 1786 $ = __webpack_require__(1); 1787 1788 helpers = __webpack_require__(21); 1789 1790 module.exports = SlidingElement = (function() { 1791 function SlidingElement($el, $wrapper) { 1792 this.slideOut = bind(this.slideOut, this); 1793 this.cleanupClass = bind(this.cleanupClass, this); 1794 this.slideIn = bind(this.slideIn, this); 1795 this.getTransitionClass = bind(this.getTransitionClass, this); 1796 this.$el = $el; 1797 this.$wrapper = $wrapper; 1798 if (helpers.transitionEndEvent) { 1799 this.$el.on(helpers.transitionEndEvent[helpers.transitionProp], this.cleanupClass); 1800 } else { 1801 setTimeout(((function(_this) { 1802 return function() { 1803 return _this.cleanupClass(); 1804 }; 1805 })(this)), 200); 1806 } 1807 if (!($el.hasClass('asg-position-bottom') && $el.hasClass('asg-effect-slide') && $el.hasClass('asg-on-hover'))) { 1808 if (!this.$el.hasClass('asg-off-hover')) { 1809 this.$wrapper.on('mouseout', this.cleanupClass); 1810 } 1811 if (this.$el.hasClass('asg-on-hover') && this.$el.hasClass('asg-effect-slide')) { 1812 this.$wrapper.hover(((function(_this) { 1813 return function(event) { 1814 return _this.slideIn(event); 1815 }; 1816 })(this)), (function(_this) { 1817 return function(event) { 1818 return _this.slideOut(event); 1819 }; 1820 })(this)); 1821 } 1822 } 1823 if (this.$el.hasClass('asg-off-hover') && this.$el.hasClass('asg-effect-slide')) { 1824 this.$wrapper.hover(((function(_this) { 1825 return function(event) { 1826 return _this.slideOut(event); 1827 }; 1828 })(this)), (function(_this) { 1829 return function(event) { 1830 return _this.slideIn(event); 1831 }; 1832 })(this)); 1833 } 1834 } 1835 1836 SlidingElement.prototype.getTransitionClass = function(event) { 1837 var klass, x, y; 1838 x = event.offsetX - this.$wrapper.width() / 2; 1839 y = event.offsetY - this.$wrapper.height() / 2; 1840 if (x > 0) { 1841 if (Math.abs(x) > Math.abs(y)) { 1842 klass = 'asg-slide-right'; 1843 } else { 1844 if (y < 0) { 1845 klass = 'asg-slide-top'; 1846 } else { 1847 klass = 'asg-slide-bottom'; 1848 } 1849 } 1850 } else { 1851 if (Math.abs(x) > Math.abs(y)) { 1852 klass = 'asg-slide-left'; 1853 } else { 1854 if (y < 0) { 1855 klass = 'asg-slide-top'; 1856 } else { 1857 klass = 'asg-slide-bottom'; 1858 } 1859 } 1860 } 1861 return klass; 1862 }; 1863 1864 SlidingElement.prototype.slideIn = function(event) { 1865 this.$el.addClass('asg-no-transition'); 1866 this.cleanupClass(); 1867 this.$el.addClass(this.getTransitionClass(event)); 1868 this.$el.height(); 1869 this.$el.removeClass('asg-no-transition'); 1870 return this.cleanupClass(); 1871 }; 1872 1873 SlidingElement.prototype.cleanupClass = function() { 1874 var i, klass, len, ref, results; 1875 ref = ['asg-slide-left', 'asg-slide-right', 'asg-slide-top', 'asg-slide-bottom']; 1876 results = []; 1877 for (i = 0, len = ref.length; i < len; i++) { 1878 klass = ref[i]; 1879 results.push(this.$el.removeClass(klass)); 1880 } 1881 return results; 1882 }; 1883 1884 SlidingElement.prototype.slideOut = function(event) { 1885 var klass; 1886 klass = this.getTransitionClass(event); 1887 return this.$el.addClass(klass); 1888 }; 1889 1890 return SlidingElement; 1891 1892 })(); 1893 1894 1895/***/ }, 1896/* 21 */ 1897/***/ function(module, exports, __webpack_require__) { 1898 1899 var $, $event, Modernizr, capitalize, classes, dispatchMethod, document, getStyleProperty, prefixes, resizeTimeout, result, setIsoTransform, testName, tests, transformFnNotations, transformProp, transitionEndEvent, transitionProp; 1900 1901 $ = __webpack_require__(1); 1902 1903 document = window.document; 1904 1905 Modernizr = window.Modernizr; 1906 1907 transitionEndEvent = null; 1908 1909 capitalize = function(str) { 1910 return str.charAt(0).toUpperCase() + str.slice(1); 1911 }; 1912 1913 prefixes = "Moz Webkit O Ms".split(" "); 1914 1915 getStyleProperty = function(propName) { 1916 var i, len, prefixed, style; 1917 style = document.documentElement.style; 1918 prefixed = void 0; 1919 if (typeof style[propName] === "string") { 1920 return propName; 1921 } 1922 propName = capitalize(propName); 1923 i = 0; 1924 len = prefixes.length; 1925 while (i < len) { 1926 prefixed = prefixes[i] + propName; 1927 if (typeof style[prefixed] === "string") { 1928 return prefixed; 1929 } 1930 i++; 1931 } 1932 }; 1933 1934 transformProp = getStyleProperty("transform"); 1935 1936 transitionProp = getStyleProperty("transitionProperty"); 1937 1938 tests = { 1939 csstransforms: function() { 1940 return !!transformProp; 1941 }, 1942 csstransforms3d: function() { 1943 var $div, $style, mediaQuery, test, vendorCSSPrefixes; 1944 test = !!getStyleProperty("perspective"); 1945 if (test) { 1946 vendorCSSPrefixes = " -o- -moz- -ms- -webkit- -khtml- ".split(" "); 1947 mediaQuery = "@media (" + vendorCSSPrefixes.join("transform-3d),(") + "modernizr)"; 1948 $style = $("<style>" + mediaQuery + "{#modernizr{height:3px}}" + "</style>").appendTo("head"); 1949 $div = $("<div id=\"modernizr\" />").appendTo("html"); 1950 test = $div.height() === 3; 1951 $div.remove(); 1952 $style.remove(); 1953 } 1954 return test; 1955 }, 1956 csstransitions: function() { 1957 return !!transitionProp; 1958 } 1959 }; 1960 1961 testName = void 0; 1962 1963 if (Modernizr) { 1964 for (testName in tests) { 1965 if (!Modernizr.hasOwnProperty(testName)) { 1966 Modernizr.addTest(testName, tests[testName]); 1967 } 1968 } 1969 } else { 1970 Modernizr = window.Modernizr = { 1971 _version: "1.6ish: miniModernizr for Isotope" 1972 }; 1973 classes = " "; 1974 result = void 0; 1975 for (testName in tests) { 1976 result = tests[testName](); 1977 Modernizr[testName] = result; 1978 classes += " " + (result ? "" : "no-") + testName; 1979 }
1980 $("html").addClass(classes); 1981 } 1982 1983 1984 /* 1985 provides hooks for .css({ scale: value, translate: [x, y] }) 1986 Progressively enhanced CSS transforms 1987 Uses hardware accelerated 3D transforms for Safari 1988 or falls back to 2D transforms. 1989 */ 1990 1991 if (Modernizr.csstransforms) { 1992 transformFnNotations = (Modernizr.csstransforms3d ? { 1993 translate: function(position) { 1994 return "translate3d(" + position[0] + "px, " + position[1] + "px, 0) "; 1995 }, 1996 scale: function(scale) { 1997 return "scale3d(" + scale + ", " + scale + ", 1) "; 1998 } 1999 } : { 2000 translate: function(position) { 2001 return "translate(" + position[0] + "px, " + position[1] + "px) "; 2002 }, 2003 scale: function(scale) { 2004 return "scale(" + scale + ") "; 2005 } 2006 }); 2007 setIsoTransform = function(elem, name, value) { 2008 var data, fnName, newData, scaleFn, transformObj, transformValue, translateFn, valueFns; 2009 data = $.data(elem, "isoTransform") || {}; 2010 newData = {}; 2011 fnName = void 0; 2012 transformObj = {}; 2013 transformValue = void 0; 2014 newData[name] = value; 2015 $.extend(data, newData); 2016 for (fnName in data) { 2017 transformValue = data[fnName]; 2018 transformObj[fnName] = transformFnNotations[fnName](transformValue); 2019 } 2020 translateFn = transformObj.translate || ""; 2021 scaleFn = transformObj.scale || ""; 2022 valueFns = translateFn + scaleFn; 2023 $.data(elem, "isoTransform", data); 2024 elem.style[transformProp] = valueFns; 2025 }; 2026 $.cssNumber.scale = true; 2027 $.cssHooks.scale = { 2028 set: function(elem, value) { 2029 setIsoTransform(elem, "scale", value); 2030 }, 2031 get: function(elem, computed) { 2032 var transform; 2033 transform = $.data(elem, "isoTransform"); 2034 if (transform && transform.scale) { 2035 return transform.scale; 2036 } else { 2037 return 1; 2038 } 2039 } 2040 }; 2041 $.fx.step.scale = function(fx) { 2042 $.cssHooks.scale.set(fx.elem, fx.now + fx.unit); 2043 }; 2044 $.cssNumber.translate = true; 2045 $.cssHooks.translate = { 2046 set: function(elem, value) { 2047 setIsoTransform(elem, "translate", value); 2048 }, 2049 get: function(elem, computed) { 2050 var transform; 2051 transform = $.data(elem, "isoTransform"); 2052 if (transform && transform.translate) { 2053 return transform.translate; 2054 } else { 2055 return [0, 0]; 2056 } 2057 } 2058 }; 2059 } 2060 2061 transitionEndEvent = void 0; 2062 2063 if (Modernizr.csstransitions) { 2064 transitionEndEvent = { 2065 WebkitTransitionProperty: "webkitTransitionEnd", 2066 MozTransitionProperty: "transitionend", 2067 OTransitionProperty: "oTransitionEnd otransitionend", 2068 transitionProperty: "transitionend" 2069 }; 2070 } 2071 2072 $event = $.event; 2073 2074 dispatchMethod = ($.event.handle ? "handle" : "dispatch"); 2075 2076 resizeTimeout = void 0; 2077 2078 $event.special.smartresize = { 2079 setup: function() { 2080 $(this).bind("resize", $event.special.smartresize.handler); 2081 }, 2082 teardown: function() { 2083 $(this).unbind("resize", $event.special.smartresize.handler); 2084 }, 2085 handler: function(event, execAsap) { 2086 var args, context; 2087 context = this; 2088 args = arguments; 2089 event.type = "smartresize"; 2090 if (resizeTimeout) { 2091 clearTimeout(resizeTimeout); 2092 } 2093 resizeTimeout = setTimeout(function() { 2094 $event[dispatchMethod].apply(context, args); 2095 }, (execAsap === "execAsap" ? 0 : 100)); 2096 } 2097 }; 2098 2099 $.fn.smartresize = function(fn) { 2100 if (fn) { 2101 return this.bind("smartresize", fn); 2102 } else { 2103 return this.trigger("smartresize", ["execAsap"]); 2104 } 2105 }; 2106 2107 module.exports = { 2108 transitionEndEvent: transitionEndEvent, 2109 transformProp: transformProp, 2110 transitionProp: transitionProp 2111 }; 2112 2113 2114/***/ }, 2115/* 22 */ 2116/***/ function(module, exports, __webpack_require__) { 2117 2118 var $, ImageOverlay, SlidingElement, jQuery, 2119 extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, 2120 hasProp = {}.hasOwnProperty; 2121 2122 jQuery = __webpack_require__(1); 2123 2124 $ = __webpack_require__(1); 2125 2126 SlidingElement = __webpack_require__(20); 2127 2128 module.exports = ImageOverlay = (function(superClass) { 2129 extend(ImageOverlay, superClass); 2130 2131 function ImageOverlay($el, $wrapper, animationQueue) { 2132 ImageOverlay.__super__.constructor.call(this, $el, $wrapper, animationQueue); 2133 } 2134 2135 return ImageOverlay; 2136 2137 })(SlidingElement); 2138 2139 2140/***/ } 2141/******/ ]);
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.