assets-rails 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +14 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +65 -0
- data/Rakefile +2 -0
- data/assets-rails.gemspec +25 -0
- data/lib/assets-rails.rb +7 -0
- data/lib/assets-rails/engine.rb +9 -0
- data/lib/assets-rails/version.rb +5 -0
- data/vendor/assets/fonts/bootstrap/v3.2.0/glyphicons-halflings-regular.eot +0 -0
- data/vendor/assets/fonts/bootstrap/v3.2.0/glyphicons-halflings-regular.svg +229 -0
- data/vendor/assets/fonts/bootstrap/v3.2.0/glyphicons-halflings-regular.ttf +0 -0
- data/vendor/assets/fonts/bootstrap/v3.2.0/glyphicons-halflings-regular.woff +0 -0
- data/vendor/assets/fonts/bootstrap/v3.3.0/glyphicons-halflings-regular.eot +0 -0
- data/vendor/assets/fonts/bootstrap/v3.3.0/glyphicons-halflings-regular.svg +229 -0
- data/vendor/assets/fonts/bootstrap/v3.3.0/glyphicons-halflings-regular.ttf +0 -0
- data/vendor/assets/fonts/bootstrap/v3.3.0/glyphicons-halflings-regular.woff +0 -0
- data/vendor/assets/fonts/font-awesome/v4.2.0/FontAwesome.otf +0 -0
- data/vendor/assets/fonts/font-awesome/v4.2.0/fontawesome-webfont.eot +0 -0
- data/vendor/assets/fonts/font-awesome/v4.2.0/fontawesome-webfont.svg +520 -0
- data/vendor/assets/fonts/font-awesome/v4.2.0/fontawesome-webfont.ttf +0 -0
- data/vendor/assets/fonts/font-awesome/v4.2.0/fontawesome-webfont.woff +0 -0
- data/vendor/assets/fonts/jquery.flexslider/flexslider-icon.eot +0 -0
- data/vendor/assets/fonts/jquery.flexslider/flexslider-icon.svg +19 -0
- data/vendor/assets/fonts/jquery.flexslider/flexslider-icon.ttf +0 -0
- data/vendor/assets/fonts/jquery.flexslider/flexslider-icon.woff +0 -0
- data/vendor/assets/images/fancybox/blank.gif +0 -0
- data/vendor/assets/images/fancybox/fancybox_buttons.png +0 -0
- data/vendor/assets/images/fancybox/fancybox_loading.gif +0 -0
- data/vendor/assets/images/fancybox/fancybox_loading@2x.gif +0 -0
- data/vendor/assets/images/fancybox/fancybox_overlay.png +0 -0
- data/vendor/assets/images/fancybox/fancybox_sprite.png +0 -0
- data/vendor/assets/images/fancybox/fancybox_sprite@2x.png +0 -0
- data/vendor/assets/images/jquery.colorbox/v1.5.14/example1/border.png +0 -0
- data/vendor/assets/images/jquery.colorbox/v1.5.14/example1/controls.png +0 -0
- data/vendor/assets/images/jquery.colorbox/v1.5.14/example1/loading.gif +0 -0
- data/vendor/assets/images/jquery.colorbox/v1.5.14/example1/loading_background.png +0 -0
- data/vendor/assets/images/jquery.colorbox/v1.5.14/example1/overlay.png +0 -0
- data/vendor/assets/images/jquery.colorbox/v1.5.14/example2/controls.png +0 -0
- data/vendor/assets/images/jquery.colorbox/v1.5.14/example2/loading.gif +0 -0
- data/vendor/assets/images/jquery.colorbox/v1.5.14/example3/controls.png +0 -0
- data/vendor/assets/images/jquery.colorbox/v1.5.14/example3/loading.gif +0 -0
- data/vendor/assets/images/jquery.colorbox/v1.5.14/example4/border1.png +0 -0
- data/vendor/assets/images/jquery.colorbox/v1.5.14/example4/border2.png +0 -0
- data/vendor/assets/images/jquery.colorbox/v1.5.14/example4/loading.gif +0 -0
- data/vendor/assets/images/jquery.colorbox/v1.5.14/example5/border.png +0 -0
- data/vendor/assets/images/jquery.colorbox/v1.5.14/example5/controls.png +0 -0
- data/vendor/assets/images/jquery.colorbox/v1.5.14/example5/loading.gif +0 -0
- data/vendor/assets/images/jquery.colorbox/v1.5.14/example5/loading_background.png +0 -0
- data/vendor/assets/images/jquery.flexslider/bg_play_pause.png +0 -0
- data/vendor/assets/images/jquery.owlcarousel/AjaxLoader.gif +0 -0
- data/vendor/assets/images/jquery.owlcarousel/grabbing.png +0 -0
- data/vendor/assets/images/zebra_datepicker/calendar-disabled.png +0 -0
- data/vendor/assets/images/zebra_datepicker/calendar.png +0 -0
- data/vendor/assets/images/zebra_datepicker/metallic/default-date.png +0 -0
- data/vendor/assets/images/zebra_datepicker/metallic/disabled-date.png +0 -0
- data/vendor/assets/images/zebra_datepicker/metallic/header.png +0 -0
- data/vendor/assets/images/zebra_datepicker/metallic/selected-date.png +0 -0
- data/vendor/assets/javascripts/bootstrap/v3.2.0.js +12 -0
- data/vendor/assets/javascripts/bootstrap/v3.2.0/affix.js +142 -0
- data/vendor/assets/javascripts/bootstrap/v3.2.0/alert.js +92 -0
- data/vendor/assets/javascripts/bootstrap/v3.2.0/button.js +110 -0
- data/vendor/assets/javascripts/bootstrap/v3.2.0/carousel.js +223 -0
- data/vendor/assets/javascripts/bootstrap/v3.2.0/collapse.js +170 -0
- data/vendor/assets/javascripts/bootstrap/v3.2.0/dropdown.js +151 -0
- data/vendor/assets/javascripts/bootstrap/v3.2.0/modal.js +280 -0
- data/vendor/assets/javascripts/bootstrap/v3.2.0/popover.js +113 -0
- data/vendor/assets/javascripts/bootstrap/v3.2.0/scrollspy.js +170 -0
- data/vendor/assets/javascripts/bootstrap/v3.2.0/tab.js +128 -0
- data/vendor/assets/javascripts/bootstrap/v3.2.0/tooltip.js +457 -0
- data/vendor/assets/javascripts/bootstrap/v3.2.0/transition.js +59 -0
- data/vendor/assets/javascripts/bootstrap/v3.3.0/affix.js +162 -0
- data/vendor/assets/javascripts/bootstrap/v3.3.0/alert.js +94 -0
- data/vendor/assets/javascripts/bootstrap/v3.3.0/button.js +116 -0
- data/vendor/assets/javascripts/bootstrap/v3.3.0/carousel.js +239 -0
- data/vendor/assets/javascripts/bootstrap/v3.3.0/collapse.js +211 -0
- data/vendor/assets/javascripts/bootstrap/v3.3.0/dropdown.js +161 -0
- data/vendor/assets/javascripts/bootstrap/v3.3.0/modal.js +281 -0
- data/vendor/assets/javascripts/bootstrap/v3.3.0/popover.js +119 -0
- data/vendor/assets/javascripts/bootstrap/v3.3.0/scrollspy.js +175 -0
- data/vendor/assets/javascripts/bootstrap/v3.3.0/tab.js +153 -0
- data/vendor/assets/javascripts/bootstrap/v3.3.0/tooltip.js +478 -0
- data/vendor/assets/javascripts/bootstrap/v3.3.0/transition.js +59 -0
- data/vendor/assets/javascripts/draggabilly/v1.1.1.js +2 -0
- data/vendor/assets/javascripts/draggabilly/v1.1.1/draggabilly.js +615 -0
- data/vendor/assets/javascripts/imagesloaded/v3.1.8.js +2 -0
- data/vendor/assets/javascripts/imagesloaded/v3.1.8/imagesloaded.js +335 -0
- data/vendor/assets/javascripts/isotope/v2.0.1.js +1 -0
- data/vendor/assets/javascripts/isotope/v2.0.1/isotope.js +628 -0
- data/vendor/assets/javascripts/jquery.collageplus/v0.3.3.js +2 -0
- data/vendor/assets/javascripts/jquery.collageplus/v0.3.3/jquery.collagecaption.js +143 -0
- data/vendor/assets/javascripts/jquery.collageplus/v0.3.3/jquery.collageplus.js +401 -0
- data/vendor/assets/javascripts/jquery.collageplus/v0.3.3/remove_whitespace.js +13 -0
- data/vendor/assets/javascripts/jquery.colorbox/v1.5.14.js +2 -0
- data/vendor/assets/javascripts/jquery.colorbox/v1.5.14/jquery.colorbox.js +1090 -0
- data/vendor/assets/javascripts/jquery.expander/v1.4.12.js +1 -0
- data/vendor/assets/javascripts/jquery.expander/v1.4.12/jquery.expander.js +453 -0
- data/vendor/assets/javascripts/jquery.fakecrop.js +1 -0
- data/vendor/assets/javascripts/jquery.fakecrop/jquery.fakecrop.js +153 -0
- data/vendor/assets/javascripts/jquery.fancybox/v2.1.5.js +4 -0
- data/vendor/assets/javascripts/jquery.fancybox/v2.1.5/jquery.fancybox-buttons.js +122 -0
- data/vendor/assets/javascripts/jquery.fancybox/v2.1.5/jquery.fancybox-media.js +199 -0
- data/vendor/assets/javascripts/jquery.fancybox/v2.1.5/jquery.fancybox-thumbs.js +162 -0
- data/vendor/assets/javascripts/jquery.fancybox/v2.1.5/jquery.fancybox.js +2020 -0
- data/vendor/assets/javascripts/jquery.flexslider/v2.2.2.js +1 -0
- data/vendor/assets/javascripts/jquery.flexslider/v2.2.2/jquery.flexslider.js +1157 -0
- data/vendor/assets/javascripts/jquery.infinitescroll/v2.0.2.js +2 -0
- data/vendor/assets/javascripts/jquery.infinitescroll/v2.0.2/jquery.infinitescroll.js +821 -0
- data/vendor/assets/javascripts/jquery.nivo.slider/v3.2.js +2 -0
- data/vendor/assets/javascripts/jquery.nivo.slider/v3.2/jquery.nivo.slider.js +662 -0
- data/vendor/assets/javascripts/jquery.owlcarousel/v1.3.3.js +2 -0
- data/vendor/assets/javascripts/jquery.owlcarousel/v1.3.3/jquery.owlcarousel.js +1517 -0
- data/vendor/assets/javascripts/jquery.pageless.js +2 -0
- data/vendor/assets/javascripts/jquery.pageless/jquery.pageless.js +251 -0
- data/vendor/assets/javascripts/jquery.render/v1.1.0.js +2 -0
- data/vendor/assets/javascripts/jquery.render/v1.1.0/jquery.render.js +56 -0
- data/vendor/assets/javascripts/jquery.scrollto/v1.4.13.js +2 -0
- data/vendor/assets/javascripts/jquery.scrollto/v1.4.13/jquery.scrollto.js +187 -0
- data/vendor/assets/javascripts/jquery.timeago/v1.4.1.js +1 -0
- data/vendor/assets/javascripts/jquery.timeago/v1.4.1/jquery.timeago.js +214 -0
- data/vendor/assets/javascripts/jquery.turbolinks/v2.1.0.js +1 -0
- data/vendor/assets/javascripts/jquery.turbolinks/v2.1.0/jquery.turbolinks.js +49 -0
- data/vendor/assets/javascripts/jquery/v1.11.1.js +1 -0
- data/vendor/assets/javascripts/jquery/v1.11.1/jquery.js +10308 -0
- data/vendor/assets/javascripts/jquery/v2.1.1.js +1 -0
- data/vendor/assets/javascripts/jquery/v2.1.1/jquery.js +9190 -0
- data/vendor/assets/javascripts/masonry/v3.1.5.js +2 -0
- data/vendor/assets/javascripts/masonry/v3.1.5/masonry.js +205 -0
- data/vendor/assets/javascripts/nprogress/v0.1.6.js +2 -0
- data/vendor/assets/javascripts/nprogress/v0.1.6/nprogress-ajax.js +4 -0
- data/vendor/assets/javascripts/nprogress/v0.1.6/nprogress-turbolinks.js +5 -0
- data/vendor/assets/javascripts/nprogress/v0.1.6/nprogress.js +475 -0
- data/vendor/assets/javascripts/responsiveCarousel/v1.2.0.js +2 -0
- data/vendor/assets/javascripts/responsiveCarousel/v1.2.0/responsiveCarousel.js +410 -0
- data/vendor/assets/javascripts/responsiveslides/v1.54.js +2 -0
- data/vendor/assets/javascripts/responsiveslides/v1.54/responsiveslides.js +391 -0
- data/vendor/assets/javascripts/zebra_datepicker/v1.8.9.js +2 -0
- data/vendor/assets/javascripts/zebra_datepicker/v1.8.9/zebra_datepicker.js +2965 -0
- data/vendor/assets/stylesheets/bootstrap/_v3.2.0.scss +52 -0
- data/vendor/assets/stylesheets/bootstrap/_v3.3.0.scss +52 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_alerts.scss +68 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_badges.scss +57 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_bootstrap-sprockets.scss +7 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_breadcrumbs.scss +26 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_button-groups.scss +240 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_buttons.scss +157 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_carousel.scss +243 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_close.scss +35 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_code.scss +68 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_component-animations.scss +35 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_dropdowns.scss +215 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_forms.scss +538 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_glyphicons.scss +237 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_grid.scss +84 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_input-groups.scss +166 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_jumbotron.scss +48 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_labels.scss +66 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_list-group.scss +131 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_media.scss +56 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_mixins.scss +39 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_modals.scss +150 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_navbar.scss +659 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_navs.scss +242 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_normalize.scss +425 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_pager.scss +55 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_pagination.scss +88 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_panels.scss +243 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_popovers.scss +133 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_print.scss +101 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_progress-bars.scss +105 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_responsive-embed.scss +34 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_responsive-utilities.scss +174 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_scaffolding.scss +150 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_tables.scss +233 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_theme.scss +258 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_thumbnails.scss +38 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_tooltip.scss +95 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_type.scss +304 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_utilities.scss +57 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_variables.scss +854 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/_wells.scss +29 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_alerts.scss +14 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_background-variant.scss +11 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_border-radius.scss +18 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_buttons.scss +50 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_center-block.scss +7 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_clearfix.scss +22 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_forms.scss +84 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_gradients.scss +58 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_grid-framework.scss +81 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_grid.scss +122 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_hide-text.scss +21 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_image.scss +34 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_labels.scss +12 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_list-group.scss +31 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_nav-divider.scss +10 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_nav-vertical-align.scss +9 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_opacity.scss +8 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_pagination.scss +23 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_panels.scss +24 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_progress-bar.scss +10 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_reset-filter.scss +8 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_resize.scss +6 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_responsive-visibility.scss +21 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_size.scss +10 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_tab-focus.scss +9 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_table-row.scss +28 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_text-emphasis.scss +11 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_text-overflow.scss +8 -0
- data/vendor/assets/stylesheets/bootstrap/v3.2.0/mixins/_vendor-prefixes.scss +219 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_alerts.scss +68 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_badges.scss +57 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_bootstrap-sprockets.scss +7 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_breadcrumbs.scss +26 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_button-groups.scss +247 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_buttons.scss +160 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_carousel.scss +267 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_close.scss +35 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_code.scss +69 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_component-animations.scss +38 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_dropdowns.scss +213 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_forms.scss +561 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_glyphicons.scss +234 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_grid.scss +84 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_input-groups.scss +166 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_jumbotron.scss +48 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_labels.scss +66 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_list-group.scss +132 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_media.scss +47 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_mixins.scss +39 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_modals.scss +149 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_navbar.scss +661 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_navs.scss +244 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_normalize.scss +427 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_pager.scss +54 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_pagination.scss +88 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_panels.scss +261 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_popovers.scss +134 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_print.scss +107 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_progress-bars.scss +87 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_responsive-embed.scss +35 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_responsive-utilities.scss +174 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_scaffolding.scss +150 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_tables.scss +234 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_theme.scss +260 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_thumbnails.scss +38 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_tooltip.scss +95 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_type.scss +298 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_utilities.scss +56 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_variables.scss +864 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/_wells.scss +29 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_alerts.scss +14 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_background-variant.scss +11 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_border-radius.scss +18 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_buttons.scss +52 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_center-block.scss +7 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_clearfix.scss +22 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_forms.scss +88 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_gradients.scss +58 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_grid-framework.scss +81 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_grid.scss +122 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_hide-text.scss +21 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_image.scss +33 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_labels.scss +12 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_list-group.scss +31 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_nav-divider.scss +10 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_nav-vertical-align.scss +9 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_opacity.scss +8 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_pagination.scss +23 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_panels.scss +24 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_progress-bar.scss +10 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_reset-filter.scss +8 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_resize.scss +6 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_responsive-visibility.scss +21 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_size.scss +10 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_tab-focus.scss +9 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_table-row.scss +28 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_text-emphasis.scss +11 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_text-overflow.scss +8 -0
- data/vendor/assets/stylesheets/bootstrap/v3.3.0/mixins/_vendor-prefixes.scss +222 -0
- data/vendor/assets/stylesheets/font-awesome/v4.2.0.css +3 -0
- data/vendor/assets/stylesheets/font-awesome/v4.2.0/_bordered-pulled.scss +16 -0
- data/vendor/assets/stylesheets/font-awesome/v4.2.0/_core.scss +11 -0
- data/vendor/assets/stylesheets/font-awesome/v4.2.0/_extras.scss +44 -0
- data/vendor/assets/stylesheets/font-awesome/v4.2.0/_fixed-width.scss +6 -0
- data/vendor/assets/stylesheets/font-awesome/v4.2.0/_icons.scss +552 -0
- data/vendor/assets/stylesheets/font-awesome/v4.2.0/_larger.scss +13 -0
- data/vendor/assets/stylesheets/font-awesome/v4.2.0/_list.scss +19 -0
- data/vendor/assets/stylesheets/font-awesome/v4.2.0/_mixins.scss +25 -0
- data/vendor/assets/stylesheets/font-awesome/v4.2.0/_path.scss +14 -0
- data/vendor/assets/stylesheets/font-awesome/v4.2.0/_rotated-flipped.scss +20 -0
- data/vendor/assets/stylesheets/font-awesome/v4.2.0/_spinning.scss +29 -0
- data/vendor/assets/stylesheets/font-awesome/v4.2.0/_stacked.scss +20 -0
- data/vendor/assets/stylesheets/font-awesome/v4.2.0/_variables.scss +561 -0
- data/vendor/assets/stylesheets/font-awesome/v4.2.0/font-awesome.scss +17 -0
- data/vendor/assets/stylesheets/jquery.colorbox/v1.5.14/example1.css.scss +70 -0
- data/vendor/assets/stylesheets/jquery.colorbox/v1.5.14/example2.css.scss +50 -0
- data/vendor/assets/stylesheets/jquery.colorbox/v1.5.14/example3.css.scss +45 -0
- data/vendor/assets/stylesheets/jquery.colorbox/v1.5.14/example4.css.scss +66 -0
- data/vendor/assets/stylesheets/jquery.colorbox/v1.5.14/example5.css.scss +58 -0
- data/vendor/assets/stylesheets/jquery.fancybox/v2.1.5.css +5 -0
- data/vendor/assets/stylesheets/jquery.fancybox/v2.1.5/jquery.fancybox-buttons.css.erb +97 -0
- data/vendor/assets/stylesheets/jquery.fancybox/v2.1.5/jquery.fancybox-thumbs.css +55 -0
- data/vendor/assets/stylesheets/jquery.fancybox/v2.1.5/jquery.fancybox.css.erb +274 -0
- data/vendor/assets/stylesheets/jquery.flexslider/v2.2.2.css +3 -0
- data/vendor/assets/stylesheets/jquery.flexslider/v2.2.2/jquery.flexslider.scss +96 -0
- data/vendor/assets/stylesheets/jquery.nivo.slider/v3.2.css +3 -0
- data/vendor/assets/stylesheets/jquery.nivo.slider/v3.2/jquery.nivo.slider.css +113 -0
- data/vendor/assets/stylesheets/jquery.owlcarousel/v1.3.3/jquery.owlcarousel.scss +71 -0
- data/vendor/assets/stylesheets/jquery.owlcarousel/v1.3.3/theme.scss +79 -0
- data/vendor/assets/stylesheets/jquery.owlcarousel/v1.3.3/transitions.scss +163 -0
- data/vendor/assets/stylesheets/nprogress/v0.1.6/nprogress-bootstrap.css +4 -0
- data/vendor/assets/stylesheets/nprogress/v0.1.6/nprogress.css.scss +77 -0
- data/vendor/assets/stylesheets/responsiveslides/v1.54.css +3 -0
- data/vendor/assets/stylesheets/responsiveslides/v1.54/responsiveslides.css +33 -0
- data/vendor/assets/stylesheets/zebra_datepicker/v1.8.9/bootstrap.scss +95 -0
- data/vendor/assets/stylesheets/zebra_datepicker/v1.8.9/default.scss +102 -0
- data/vendor/assets/stylesheets/zebra_datepicker/v1.8.9/metallic.scss +106 -0
- metadata +407 -0
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* imagesLoaded v3.1.8
|
|
3
|
+
* JavaScript is all like "You images are done yet or what?"
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
( function( window, factory ) { 'use strict';
|
|
8
|
+
// universal module definition
|
|
9
|
+
|
|
10
|
+
/*global define: false, module: false, require: false */
|
|
11
|
+
|
|
12
|
+
if ( typeof define === 'function' && define.amd ) {
|
|
13
|
+
// AMD
|
|
14
|
+
define( [
|
|
15
|
+
'eventEmitter/EventEmitter',
|
|
16
|
+
'eventie/eventie'
|
|
17
|
+
], function( EventEmitter, eventie ) {
|
|
18
|
+
return factory( window, EventEmitter, eventie );
|
|
19
|
+
});
|
|
20
|
+
} else if ( typeof exports === 'object' ) {
|
|
21
|
+
// CommonJS
|
|
22
|
+
module.exports = factory(
|
|
23
|
+
window,
|
|
24
|
+
require('wolfy87-eventemitter'),
|
|
25
|
+
require('eventie')
|
|
26
|
+
);
|
|
27
|
+
} else {
|
|
28
|
+
// browser global
|
|
29
|
+
window.imagesLoaded = factory(
|
|
30
|
+
window,
|
|
31
|
+
window.EventEmitter,
|
|
32
|
+
window.eventie
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
})( window,
|
|
37
|
+
|
|
38
|
+
// -------------------------- factory -------------------------- //
|
|
39
|
+
|
|
40
|
+
function factory( window, EventEmitter, eventie ) {
|
|
41
|
+
|
|
42
|
+
'use strict';
|
|
43
|
+
|
|
44
|
+
var $ = window.jQuery;
|
|
45
|
+
var console = window.console;
|
|
46
|
+
var hasConsole = typeof console !== 'undefined';
|
|
47
|
+
|
|
48
|
+
// -------------------------- helpers -------------------------- //
|
|
49
|
+
|
|
50
|
+
// extend objects
|
|
51
|
+
function extend( a, b ) {
|
|
52
|
+
for ( var prop in b ) {
|
|
53
|
+
a[ prop ] = b[ prop ];
|
|
54
|
+
}
|
|
55
|
+
return a;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
var objToString = Object.prototype.toString;
|
|
59
|
+
function isArray( obj ) {
|
|
60
|
+
return objToString.call( obj ) === '[object Array]';
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// turn element or nodeList into an array
|
|
64
|
+
function makeArray( obj ) {
|
|
65
|
+
var ary = [];
|
|
66
|
+
if ( isArray( obj ) ) {
|
|
67
|
+
// use object if already an array
|
|
68
|
+
ary = obj;
|
|
69
|
+
} else if ( typeof obj.length === 'number' ) {
|
|
70
|
+
// convert nodeList to array
|
|
71
|
+
for ( var i=0, len = obj.length; i < len; i++ ) {
|
|
72
|
+
ary.push( obj[i] );
|
|
73
|
+
}
|
|
74
|
+
} else {
|
|
75
|
+
// array of single index
|
|
76
|
+
ary.push( obj );
|
|
77
|
+
}
|
|
78
|
+
return ary;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// -------------------------- imagesLoaded -------------------------- //
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* @param {Array, Element, NodeList, String} elem
|
|
85
|
+
* @param {Object or Function} options - if function, use as callback
|
|
86
|
+
* @param {Function} onAlways - callback function
|
|
87
|
+
*/
|
|
88
|
+
function ImagesLoaded( elem, options, onAlways ) {
|
|
89
|
+
// coerce ImagesLoaded() without new, to be new ImagesLoaded()
|
|
90
|
+
if ( !( this instanceof ImagesLoaded ) ) {
|
|
91
|
+
return new ImagesLoaded( elem, options );
|
|
92
|
+
}
|
|
93
|
+
// use elem as selector string
|
|
94
|
+
if ( typeof elem === 'string' ) {
|
|
95
|
+
elem = document.querySelectorAll( elem );
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
this.elements = makeArray( elem );
|
|
99
|
+
this.options = extend( {}, this.options );
|
|
100
|
+
|
|
101
|
+
if ( typeof options === 'function' ) {
|
|
102
|
+
onAlways = options;
|
|
103
|
+
} else {
|
|
104
|
+
extend( this.options, options );
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
if ( onAlways ) {
|
|
108
|
+
this.on( 'always', onAlways );
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
this.getImages();
|
|
112
|
+
|
|
113
|
+
if ( $ ) {
|
|
114
|
+
// add jQuery Deferred object
|
|
115
|
+
this.jqDeferred = new $.Deferred();
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// HACK check async to allow time to bind listeners
|
|
119
|
+
var _this = this;
|
|
120
|
+
setTimeout( function() {
|
|
121
|
+
_this.check();
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
ImagesLoaded.prototype = new EventEmitter();
|
|
126
|
+
|
|
127
|
+
ImagesLoaded.prototype.options = {};
|
|
128
|
+
|
|
129
|
+
ImagesLoaded.prototype.getImages = function() {
|
|
130
|
+
this.images = [];
|
|
131
|
+
|
|
132
|
+
// filter & find items if we have an item selector
|
|
133
|
+
for ( var i=0, len = this.elements.length; i < len; i++ ) {
|
|
134
|
+
var elem = this.elements[i];
|
|
135
|
+
// filter siblings
|
|
136
|
+
if ( elem.nodeName === 'IMG' ) {
|
|
137
|
+
this.addImage( elem );
|
|
138
|
+
}
|
|
139
|
+
// find children
|
|
140
|
+
// no non-element nodes, #143
|
|
141
|
+
var nodeType = elem.nodeType;
|
|
142
|
+
if ( !nodeType || !( nodeType === 1 || nodeType === 9 || nodeType === 11 ) ) {
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
var childElems = elem.querySelectorAll('img');
|
|
146
|
+
// concat childElems to filterFound array
|
|
147
|
+
for ( var j=0, jLen = childElems.length; j < jLen; j++ ) {
|
|
148
|
+
var img = childElems[j];
|
|
149
|
+
this.addImage( img );
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* @param {Image} img
|
|
156
|
+
*/
|
|
157
|
+
ImagesLoaded.prototype.addImage = function( img ) {
|
|
158
|
+
var loadingImage = new LoadingImage( img );
|
|
159
|
+
this.images.push( loadingImage );
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
ImagesLoaded.prototype.check = function() {
|
|
163
|
+
var _this = this;
|
|
164
|
+
var checkedCount = 0;
|
|
165
|
+
var length = this.images.length;
|
|
166
|
+
this.hasAnyBroken = false;
|
|
167
|
+
// complete if no images
|
|
168
|
+
if ( !length ) {
|
|
169
|
+
this.complete();
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
function onConfirm( image, message ) {
|
|
174
|
+
if ( _this.options.debug && hasConsole ) {
|
|
175
|
+
console.log( 'confirm', image, message );
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
_this.progress( image );
|
|
179
|
+
checkedCount++;
|
|
180
|
+
if ( checkedCount === length ) {
|
|
181
|
+
_this.complete();
|
|
182
|
+
}
|
|
183
|
+
return true; // bind once
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
for ( var i=0; i < length; i++ ) {
|
|
187
|
+
var loadingImage = this.images[i];
|
|
188
|
+
loadingImage.on( 'confirm', onConfirm );
|
|
189
|
+
loadingImage.check();
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
ImagesLoaded.prototype.progress = function( image ) {
|
|
194
|
+
this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded;
|
|
195
|
+
// HACK - Chrome triggers event before object properties have changed. #83
|
|
196
|
+
var _this = this;
|
|
197
|
+
setTimeout( function() {
|
|
198
|
+
_this.emit( 'progress', _this, image );
|
|
199
|
+
if ( _this.jqDeferred && _this.jqDeferred.notify ) {
|
|
200
|
+
_this.jqDeferred.notify( _this, image );
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
ImagesLoaded.prototype.complete = function() {
|
|
206
|
+
var eventName = this.hasAnyBroken ? 'fail' : 'done';
|
|
207
|
+
this.isComplete = true;
|
|
208
|
+
var _this = this;
|
|
209
|
+
// HACK - another setTimeout so that confirm happens after progress
|
|
210
|
+
setTimeout( function() {
|
|
211
|
+
_this.emit( eventName, _this );
|
|
212
|
+
_this.emit( 'always', _this );
|
|
213
|
+
if ( _this.jqDeferred ) {
|
|
214
|
+
var jqMethod = _this.hasAnyBroken ? 'reject' : 'resolve';
|
|
215
|
+
_this.jqDeferred[ jqMethod ]( _this );
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
// -------------------------- jquery -------------------------- //
|
|
221
|
+
|
|
222
|
+
if ( $ ) {
|
|
223
|
+
$.fn.imagesLoaded = function( options, callback ) {
|
|
224
|
+
var instance = new ImagesLoaded( this, options, callback );
|
|
225
|
+
return instance.jqDeferred.promise( $(this) );
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
// -------------------------- -------------------------- //
|
|
231
|
+
|
|
232
|
+
function LoadingImage( img ) {
|
|
233
|
+
this.img = img;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
LoadingImage.prototype = new EventEmitter();
|
|
237
|
+
|
|
238
|
+
LoadingImage.prototype.check = function() {
|
|
239
|
+
// first check cached any previous images that have same src
|
|
240
|
+
var resource = cache[ this.img.src ] || new Resource( this.img.src );
|
|
241
|
+
if ( resource.isConfirmed ) {
|
|
242
|
+
this.confirm( resource.isLoaded, 'cached was confirmed' );
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
// If complete is true and browser supports natural sizes,
|
|
247
|
+
// try to check for image status manually.
|
|
248
|
+
if ( this.img.complete && this.img.naturalWidth !== undefined ) {
|
|
249
|
+
// report based on naturalWidth
|
|
250
|
+
this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
// If none of the checks above matched, simulate loading on detached element.
|
|
255
|
+
var _this = this;
|
|
256
|
+
resource.on( 'confirm', function( resrc, message ) {
|
|
257
|
+
_this.confirm( resrc.isLoaded, message );
|
|
258
|
+
return true;
|
|
259
|
+
});
|
|
260
|
+
|
|
261
|
+
resource.check();
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
LoadingImage.prototype.confirm = function( isLoaded, message ) {
|
|
265
|
+
this.isLoaded = isLoaded;
|
|
266
|
+
this.emit( 'confirm', this, message );
|
|
267
|
+
};
|
|
268
|
+
|
|
269
|
+
// -------------------------- Resource -------------------------- //
|
|
270
|
+
|
|
271
|
+
// Resource checks each src, only once
|
|
272
|
+
// separate class from LoadingImage to prevent memory leaks. See #115
|
|
273
|
+
|
|
274
|
+
var cache = {};
|
|
275
|
+
|
|
276
|
+
function Resource( src ) {
|
|
277
|
+
this.src = src;
|
|
278
|
+
// add to cache
|
|
279
|
+
cache[ src ] = this;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
Resource.prototype = new EventEmitter();
|
|
283
|
+
|
|
284
|
+
Resource.prototype.check = function() {
|
|
285
|
+
// only trigger checking once
|
|
286
|
+
if ( this.isChecked ) {
|
|
287
|
+
return;
|
|
288
|
+
}
|
|
289
|
+
// simulate loading on detached element
|
|
290
|
+
var proxyImage = new Image();
|
|
291
|
+
eventie.bind( proxyImage, 'load', this );
|
|
292
|
+
eventie.bind( proxyImage, 'error', this );
|
|
293
|
+
proxyImage.src = this.src;
|
|
294
|
+
// set flag
|
|
295
|
+
this.isChecked = true;
|
|
296
|
+
};
|
|
297
|
+
|
|
298
|
+
// ----- events ----- //
|
|
299
|
+
|
|
300
|
+
// trigger specified handler for event type
|
|
301
|
+
Resource.prototype.handleEvent = function( event ) {
|
|
302
|
+
var method = 'on' + event.type;
|
|
303
|
+
if ( this[ method ] ) {
|
|
304
|
+
this[ method ]( event );
|
|
305
|
+
}
|
|
306
|
+
};
|
|
307
|
+
|
|
308
|
+
Resource.prototype.onload = function( event ) {
|
|
309
|
+
this.confirm( true, 'onload' );
|
|
310
|
+
this.unbindProxyEvents( event );
|
|
311
|
+
};
|
|
312
|
+
|
|
313
|
+
Resource.prototype.onerror = function( event ) {
|
|
314
|
+
this.confirm( false, 'onerror' );
|
|
315
|
+
this.unbindProxyEvents( event );
|
|
316
|
+
};
|
|
317
|
+
|
|
318
|
+
// ----- confirm ----- //
|
|
319
|
+
|
|
320
|
+
Resource.prototype.confirm = function( isLoaded, message ) {
|
|
321
|
+
this.isConfirmed = true;
|
|
322
|
+
this.isLoaded = isLoaded;
|
|
323
|
+
this.emit( 'confirm', this, message );
|
|
324
|
+
};
|
|
325
|
+
|
|
326
|
+
Resource.prototype.unbindProxyEvents = function( event ) {
|
|
327
|
+
eventie.unbind( event.target, 'load', this );
|
|
328
|
+
eventie.unbind( event.target, 'error', this );
|
|
329
|
+
};
|
|
330
|
+
|
|
331
|
+
// ----- ----- //
|
|
332
|
+
|
|
333
|
+
return ImagesLoaded;
|
|
334
|
+
|
|
335
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//= require isotope/v2.0.1/isotope.js
|
|
@@ -0,0 +1,628 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Isotope v2.0.1
|
|
3
|
+
* Filter & sort magical layouts
|
|
4
|
+
* http://isotope.metafizzy.co
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
( function( window ) {
|
|
8
|
+
|
|
9
|
+
'use strict';
|
|
10
|
+
|
|
11
|
+
// -------------------------- vars -------------------------- //
|
|
12
|
+
|
|
13
|
+
var jQuery = window.jQuery;
|
|
14
|
+
|
|
15
|
+
// -------------------------- helpers -------------------------- //
|
|
16
|
+
|
|
17
|
+
// extend objects
|
|
18
|
+
function extend( a, b ) {
|
|
19
|
+
for ( var prop in b ) {
|
|
20
|
+
a[ prop ] = b[ prop ];
|
|
21
|
+
}
|
|
22
|
+
return a;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var trim = String.prototype.trim ?
|
|
26
|
+
function( str ) {
|
|
27
|
+
return str.trim();
|
|
28
|
+
} :
|
|
29
|
+
function( str ) {
|
|
30
|
+
return str.replace( /^\s+|\s+$/g, '' );
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
var docElem = document.documentElement;
|
|
34
|
+
|
|
35
|
+
var getText = docElem.textContent ?
|
|
36
|
+
function( elem ) {
|
|
37
|
+
return elem.textContent;
|
|
38
|
+
} :
|
|
39
|
+
function( elem ) {
|
|
40
|
+
return elem.innerText;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
var objToString = Object.prototype.toString;
|
|
44
|
+
function isArray( obj ) {
|
|
45
|
+
return objToString.call( obj ) === '[object Array]';
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// index of helper cause IE8
|
|
49
|
+
var indexOf = Array.prototype.indexOf ? function( ary, obj ) {
|
|
50
|
+
return ary.indexOf( obj );
|
|
51
|
+
} : function( ary, obj ) {
|
|
52
|
+
for ( var i=0, len = ary.length; i < len; i++ ) {
|
|
53
|
+
if ( ary[i] === obj ) {
|
|
54
|
+
return i;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return -1;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
// turn element or nodeList into an array
|
|
61
|
+
function makeArray( obj ) {
|
|
62
|
+
var ary = [];
|
|
63
|
+
if ( isArray( obj ) ) {
|
|
64
|
+
// use object if already an array
|
|
65
|
+
ary = obj;
|
|
66
|
+
} else if ( obj && typeof obj.length === 'number' ) {
|
|
67
|
+
// convert nodeList to array
|
|
68
|
+
for ( var i=0, len = obj.length; i < len; i++ ) {
|
|
69
|
+
ary.push( obj[i] );
|
|
70
|
+
}
|
|
71
|
+
} else {
|
|
72
|
+
// array of single index
|
|
73
|
+
ary.push( obj );
|
|
74
|
+
}
|
|
75
|
+
return ary;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function removeFrom( obj, ary ) {
|
|
79
|
+
var index = indexOf( ary, obj );
|
|
80
|
+
if ( index !== -1 ) {
|
|
81
|
+
ary.splice( index, 1 );
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// -------------------------- isotopeDefinition -------------------------- //
|
|
86
|
+
|
|
87
|
+
// used for AMD definition and requires
|
|
88
|
+
function isotopeDefinition( Outlayer, getSize, matchesSelector, Item, LayoutMode ) {
|
|
89
|
+
// create an Outlayer layout class
|
|
90
|
+
var Isotope = Outlayer.create( 'isotope', {
|
|
91
|
+
layoutMode: "masonry",
|
|
92
|
+
isJQueryFiltering: true,
|
|
93
|
+
sortAscending: true
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
Isotope.Item = Item;
|
|
97
|
+
Isotope.LayoutMode = LayoutMode;
|
|
98
|
+
|
|
99
|
+
Isotope.prototype._create = function() {
|
|
100
|
+
this.itemGUID = 0;
|
|
101
|
+
// functions that sort items
|
|
102
|
+
this._sorters = {};
|
|
103
|
+
this._getSorters();
|
|
104
|
+
// call super
|
|
105
|
+
Outlayer.prototype._create.call( this );
|
|
106
|
+
|
|
107
|
+
// create layout modes
|
|
108
|
+
this.modes = {};
|
|
109
|
+
// start filteredItems with all items
|
|
110
|
+
this.filteredItems = this.items;
|
|
111
|
+
// keep of track of sortBys
|
|
112
|
+
this.sortHistory = [ 'original-order' ];
|
|
113
|
+
// create from registered layout modes
|
|
114
|
+
for ( var name in LayoutMode.modes ) {
|
|
115
|
+
this._initLayoutMode( name );
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
Isotope.prototype.reloadItems = function() {
|
|
120
|
+
// reset item ID counter
|
|
121
|
+
this.itemGUID = 0;
|
|
122
|
+
// call super
|
|
123
|
+
Outlayer.prototype.reloadItems.call( this );
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
Isotope.prototype._itemize = function() {
|
|
127
|
+
var items = Outlayer.prototype._itemize.apply( this, arguments );
|
|
128
|
+
// assign ID for original-order
|
|
129
|
+
for ( var i=0, len = items.length; i < len; i++ ) {
|
|
130
|
+
var item = items[i];
|
|
131
|
+
item.id = this.itemGUID++;
|
|
132
|
+
}
|
|
133
|
+
this._updateItemsSortData( items );
|
|
134
|
+
return items;
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
// -------------------------- layout -------------------------- //
|
|
139
|
+
|
|
140
|
+
Isotope.prototype._initLayoutMode = function( name ) {
|
|
141
|
+
var Mode = LayoutMode.modes[ name ];
|
|
142
|
+
// set mode options
|
|
143
|
+
// HACK extend initial options, back-fill in default options
|
|
144
|
+
var initialOpts = this.options[ name ] || {};
|
|
145
|
+
this.options[ name ] = Mode.options ?
|
|
146
|
+
extend( Mode.options, initialOpts ) : initialOpts;
|
|
147
|
+
// init layout mode instance
|
|
148
|
+
this.modes[ name ] = new Mode( this );
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
Isotope.prototype.layout = function() {
|
|
153
|
+
// if first time doing layout, do all magic
|
|
154
|
+
if ( !this._isLayoutInited && this.options.isInitLayout ) {
|
|
155
|
+
this.arrange();
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
this._layout();
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
// private method to be used in layout() & magic()
|
|
162
|
+
Isotope.prototype._layout = function() {
|
|
163
|
+
// don't animate first layout
|
|
164
|
+
var isInstant = this._getIsInstant();
|
|
165
|
+
// layout flow
|
|
166
|
+
this._resetLayout();
|
|
167
|
+
this._manageStamps();
|
|
168
|
+
this.layoutItems( this.filteredItems, isInstant );
|
|
169
|
+
|
|
170
|
+
// flag for initalized
|
|
171
|
+
this._isLayoutInited = true;
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
// filter + sort + layout
|
|
175
|
+
Isotope.prototype.arrange = function( opts ) {
|
|
176
|
+
// set any options pass
|
|
177
|
+
this.option( opts );
|
|
178
|
+
this._getIsInstant();
|
|
179
|
+
// filter, sort, and layout
|
|
180
|
+
this.filteredItems = this._filter( this.items );
|
|
181
|
+
this._sort();
|
|
182
|
+
this._layout();
|
|
183
|
+
};
|
|
184
|
+
// alias to _init for main plugin method
|
|
185
|
+
Isotope.prototype._init = Isotope.prototype.arrange;
|
|
186
|
+
|
|
187
|
+
// HACK
|
|
188
|
+
// Don't animate/transition first layout
|
|
189
|
+
// Or don't animate/transition other layouts
|
|
190
|
+
Isotope.prototype._getIsInstant = function() {
|
|
191
|
+
var isInstant = this.options.isLayoutInstant !== undefined ?
|
|
192
|
+
this.options.isLayoutInstant : !this._isLayoutInited;
|
|
193
|
+
this._isInstant = isInstant;
|
|
194
|
+
return isInstant;
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
// -------------------------- filter -------------------------- //
|
|
198
|
+
|
|
199
|
+
Isotope.prototype._filter = function( items ) {
|
|
200
|
+
var filter = this.options.filter;
|
|
201
|
+
filter = filter || '*';
|
|
202
|
+
var matches = [];
|
|
203
|
+
var hiddenMatched = [];
|
|
204
|
+
var visibleUnmatched = [];
|
|
205
|
+
|
|
206
|
+
var test = this._getFilterTest( filter );
|
|
207
|
+
|
|
208
|
+
// test each item
|
|
209
|
+
for ( var i=0, len = items.length; i < len; i++ ) {
|
|
210
|
+
var item = items[i];
|
|
211
|
+
if ( item.isIgnored ) {
|
|
212
|
+
continue;
|
|
213
|
+
}
|
|
214
|
+
// add item to either matched or unmatched group
|
|
215
|
+
var isMatched = test( item );
|
|
216
|
+
// item.isFilterMatched = isMatched;
|
|
217
|
+
// add to matches if its a match
|
|
218
|
+
if ( isMatched ) {
|
|
219
|
+
matches.push( item );
|
|
220
|
+
}
|
|
221
|
+
// add to additional group if item needs to be hidden or revealed
|
|
222
|
+
if ( isMatched && item.isHidden ) {
|
|
223
|
+
hiddenMatched.push( item );
|
|
224
|
+
} else if ( !isMatched && !item.isHidden ) {
|
|
225
|
+
visibleUnmatched.push( item );
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
var _this = this;
|
|
230
|
+
function hideReveal() {
|
|
231
|
+
_this.reveal( hiddenMatched );
|
|
232
|
+
_this.hide( visibleUnmatched );
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
if ( this._isInstant ) {
|
|
236
|
+
this._noTransition( hideReveal );
|
|
237
|
+
} else {
|
|
238
|
+
hideReveal();
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
return matches;
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
// get a jQuery, function, or a matchesSelector test given the filter
|
|
245
|
+
Isotope.prototype._getFilterTest = function( filter ) {
|
|
246
|
+
if ( jQuery && this.options.isJQueryFiltering ) {
|
|
247
|
+
// use jQuery
|
|
248
|
+
return function( item ) {
|
|
249
|
+
return jQuery( item.element ).is( filter );
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
if ( typeof filter === 'function' ) {
|
|
253
|
+
// use filter as function
|
|
254
|
+
return function( item ) {
|
|
255
|
+
return filter( item.element );
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
// default, use filter as selector string
|
|
259
|
+
return function( item ) {
|
|
260
|
+
return matchesSelector( item.element, filter );
|
|
261
|
+
};
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
// -------------------------- sorting -------------------------- //
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* @params {Array} elems
|
|
268
|
+
* @public
|
|
269
|
+
*/
|
|
270
|
+
Isotope.prototype.updateSortData = function( elems ) {
|
|
271
|
+
this._getSorters();
|
|
272
|
+
// update item sort data
|
|
273
|
+
// default to all items if none are passed in
|
|
274
|
+
elems = makeArray( elems );
|
|
275
|
+
var items = this.getItems( elems );
|
|
276
|
+
// if no items found, update all items
|
|
277
|
+
items = items.length ? items : this.items;
|
|
278
|
+
this._updateItemsSortData( items );
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
Isotope.prototype._getSorters = function() {
|
|
282
|
+
var getSortData = this.options.getSortData;
|
|
283
|
+
for ( var key in getSortData ) {
|
|
284
|
+
var sorter = getSortData[ key ];
|
|
285
|
+
this._sorters[ key ] = mungeSorter( sorter );
|
|
286
|
+
}
|
|
287
|
+
};
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* @params {Array} items - of Isotope.Items
|
|
291
|
+
* @private
|
|
292
|
+
*/
|
|
293
|
+
Isotope.prototype._updateItemsSortData = function( items ) {
|
|
294
|
+
for ( var i=0, len = items.length; i < len; i++ ) {
|
|
295
|
+
var item = items[i];
|
|
296
|
+
item.updateSortData();
|
|
297
|
+
}
|
|
298
|
+
};
|
|
299
|
+
|
|
300
|
+
// ----- munge sorter ----- //
|
|
301
|
+
|
|
302
|
+
// encapsulate this, as we just need mungeSorter
|
|
303
|
+
// other functions in here are just for munging
|
|
304
|
+
var mungeSorter = ( function() {
|
|
305
|
+
// add a magic layer to sorters for convienent shorthands
|
|
306
|
+
// `.foo-bar` will use the text of .foo-bar querySelector
|
|
307
|
+
// `[foo-bar]` will use attribute
|
|
308
|
+
// you can also add parser
|
|
309
|
+
// `.foo-bar parseInt` will parse that as a number
|
|
310
|
+
function mungeSorter( sorter ) {
|
|
311
|
+
// if not a string, return function or whatever it is
|
|
312
|
+
if ( typeof sorter !== 'string' ) {
|
|
313
|
+
return sorter;
|
|
314
|
+
}
|
|
315
|
+
// parse the sorter string
|
|
316
|
+
var args = trim( sorter ).split(' ');
|
|
317
|
+
var query = args[0];
|
|
318
|
+
// check if query looks like [an-attribute]
|
|
319
|
+
var attrMatch = query.match( /^\[(.+)\]$/ );
|
|
320
|
+
var attr = attrMatch && attrMatch[1];
|
|
321
|
+
var getValue = getValueGetter( attr, query );
|
|
322
|
+
// use second argument as a parser
|
|
323
|
+
var parser = Isotope.sortDataParsers[ args[1] ];
|
|
324
|
+
// parse the value, if there was a parser
|
|
325
|
+
sorter = parser ? function( elem ) {
|
|
326
|
+
return elem && parser( getValue( elem ) );
|
|
327
|
+
} :
|
|
328
|
+
// otherwise just return value
|
|
329
|
+
function( elem ) {
|
|
330
|
+
return elem && getValue( elem );
|
|
331
|
+
};
|
|
332
|
+
|
|
333
|
+
return sorter;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
// get an attribute getter, or get text of the querySelector
|
|
337
|
+
function getValueGetter( attr, query ) {
|
|
338
|
+
var getValue;
|
|
339
|
+
// if query looks like [foo-bar], get attribute
|
|
340
|
+
if ( attr ) {
|
|
341
|
+
getValue = function( elem ) {
|
|
342
|
+
return elem.getAttribute( attr );
|
|
343
|
+
};
|
|
344
|
+
} else {
|
|
345
|
+
// otherwise, assume its a querySelector, and get its text
|
|
346
|
+
getValue = function( elem ) {
|
|
347
|
+
var child = elem.querySelector( query );
|
|
348
|
+
return child && getText( child );
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
return getValue;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
return mungeSorter;
|
|
355
|
+
})();
|
|
356
|
+
|
|
357
|
+
// parsers used in getSortData shortcut strings
|
|
358
|
+
Isotope.sortDataParsers = {
|
|
359
|
+
'parseInt': function( val ) {
|
|
360
|
+
return parseInt( val, 10 );
|
|
361
|
+
},
|
|
362
|
+
'parseFloat': function( val ) {
|
|
363
|
+
return parseFloat( val );
|
|
364
|
+
}
|
|
365
|
+
};
|
|
366
|
+
|
|
367
|
+
// ----- sort method ----- //
|
|
368
|
+
|
|
369
|
+
// sort filteredItem order
|
|
370
|
+
Isotope.prototype._sort = function() {
|
|
371
|
+
var sortByOpt = this.options.sortBy;
|
|
372
|
+
if ( !sortByOpt ) {
|
|
373
|
+
return;
|
|
374
|
+
}
|
|
375
|
+
// concat all sortBy and sortHistory
|
|
376
|
+
var sortBys = [].concat.apply( sortByOpt, this.sortHistory );
|
|
377
|
+
// sort magic
|
|
378
|
+
var itemSorter = getItemSorter( sortBys, this.options.sortAscending );
|
|
379
|
+
this.filteredItems.sort( itemSorter );
|
|
380
|
+
// keep track of sortBy History
|
|
381
|
+
if ( sortByOpt !== this.sortHistory[0] ) {
|
|
382
|
+
// add to front, oldest goes in last
|
|
383
|
+
this.sortHistory.unshift( sortByOpt );
|
|
384
|
+
}
|
|
385
|
+
};
|
|
386
|
+
|
|
387
|
+
// returns a function used for sorting
|
|
388
|
+
function getItemSorter( sortBys, sortAsc ) {
|
|
389
|
+
return function sorter( itemA, itemB ) {
|
|
390
|
+
// cycle through all sortKeys
|
|
391
|
+
for ( var i = 0, len = sortBys.length; i < len; i++ ) {
|
|
392
|
+
var sortBy = sortBys[i];
|
|
393
|
+
var a = itemA.sortData[ sortBy ];
|
|
394
|
+
var b = itemB.sortData[ sortBy ];
|
|
395
|
+
if ( a > b || a < b ) {
|
|
396
|
+
// if sortAsc is an object, use the value given the sortBy key
|
|
397
|
+
var isAscending = sortAsc[ sortBy ] !== undefined ? sortAsc[ sortBy ] : sortAsc;
|
|
398
|
+
var direction = isAscending ? 1 : -1;
|
|
399
|
+
return ( a > b ? 1 : -1 ) * direction;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
return 0;
|
|
403
|
+
};
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
// -------------------------- methods -------------------------- //
|
|
407
|
+
|
|
408
|
+
// get layout mode
|
|
409
|
+
Isotope.prototype._mode = function() {
|
|
410
|
+
var layoutMode = this.options.layoutMode;
|
|
411
|
+
var mode = this.modes[ layoutMode ];
|
|
412
|
+
if ( !mode ) {
|
|
413
|
+
// TODO console.error
|
|
414
|
+
throw new Error( 'No layout mode: ' + layoutMode );
|
|
415
|
+
}
|
|
416
|
+
// HACK sync mode's options
|
|
417
|
+
// any options set after init for layout mode need to be synced
|
|
418
|
+
mode.options = this.options[ layoutMode ];
|
|
419
|
+
return mode;
|
|
420
|
+
};
|
|
421
|
+
|
|
422
|
+
Isotope.prototype._resetLayout = function() {
|
|
423
|
+
// trigger original reset layout
|
|
424
|
+
Outlayer.prototype._resetLayout.call( this );
|
|
425
|
+
this._mode()._resetLayout();
|
|
426
|
+
};
|
|
427
|
+
|
|
428
|
+
Isotope.prototype._getItemLayoutPosition = function( item ) {
|
|
429
|
+
return this._mode()._getItemLayoutPosition( item );
|
|
430
|
+
};
|
|
431
|
+
|
|
432
|
+
Isotope.prototype._manageStamp = function( stamp ) {
|
|
433
|
+
this._mode()._manageStamp( stamp );
|
|
434
|
+
};
|
|
435
|
+
|
|
436
|
+
Isotope.prototype._getContainerSize = function() {
|
|
437
|
+
return this._mode()._getContainerSize();
|
|
438
|
+
};
|
|
439
|
+
|
|
440
|
+
Isotope.prototype.needsResizeLayout = function() {
|
|
441
|
+
return this._mode().needsResizeLayout();
|
|
442
|
+
};
|
|
443
|
+
|
|
444
|
+
// -------------------------- adding & removing -------------------------- //
|
|
445
|
+
|
|
446
|
+
// HEADS UP overwrites default Outlayer appended
|
|
447
|
+
Isotope.prototype.appended = function( elems ) {
|
|
448
|
+
var items = this.addItems( elems );
|
|
449
|
+
if ( !items.length ) {
|
|
450
|
+
return;
|
|
451
|
+
}
|
|
452
|
+
var filteredItems = this._filterRevealAdded( items );
|
|
453
|
+
// add to filteredItems
|
|
454
|
+
this.filteredItems = this.filteredItems.concat( filteredItems );
|
|
455
|
+
};
|
|
456
|
+
|
|
457
|
+
// HEADS UP overwrites default Outlayer prepended
|
|
458
|
+
Isotope.prototype.prepended = function( elems ) {
|
|
459
|
+
var items = this._itemize( elems );
|
|
460
|
+
if ( !items.length ) {
|
|
461
|
+
return;
|
|
462
|
+
}
|
|
463
|
+
// add items to beginning of collection
|
|
464
|
+
var previousItems = this.items.slice(0);
|
|
465
|
+
this.items = items.concat( previousItems );
|
|
466
|
+
// start new layout
|
|
467
|
+
this._resetLayout();
|
|
468
|
+
this._manageStamps();
|
|
469
|
+
// layout new stuff without transition
|
|
470
|
+
var filteredItems = this._filterRevealAdded( items );
|
|
471
|
+
// layout previous items
|
|
472
|
+
this.layoutItems( previousItems );
|
|
473
|
+
// add to filteredItems
|
|
474
|
+
this.filteredItems = filteredItems.concat( this.filteredItems );
|
|
475
|
+
};
|
|
476
|
+
|
|
477
|
+
Isotope.prototype._filterRevealAdded = function( items ) {
|
|
478
|
+
var filteredItems = this._noTransition( function() {
|
|
479
|
+
return this._filter( items );
|
|
480
|
+
});
|
|
481
|
+
// layout and reveal just the new items
|
|
482
|
+
this.layoutItems( filteredItems, true );
|
|
483
|
+
this.reveal( filteredItems );
|
|
484
|
+
return items;
|
|
485
|
+
};
|
|
486
|
+
|
|
487
|
+
/**
|
|
488
|
+
* Filter, sort, and layout newly-appended item elements
|
|
489
|
+
* @param {Array or NodeList or Element} elems
|
|
490
|
+
*/
|
|
491
|
+
Isotope.prototype.insert = function( elems ) {
|
|
492
|
+
var items = this.addItems( elems );
|
|
493
|
+
if ( !items.length ) {
|
|
494
|
+
return;
|
|
495
|
+
}
|
|
496
|
+
// append item elements
|
|
497
|
+
var i, item;
|
|
498
|
+
var len = items.length;
|
|
499
|
+
for ( i=0; i < len; i++ ) {
|
|
500
|
+
item = items[i];
|
|
501
|
+
this.element.appendChild( item.element );
|
|
502
|
+
}
|
|
503
|
+
// filter new stuff
|
|
504
|
+
/*
|
|
505
|
+
// this way adds hides new filtered items with NO transition
|
|
506
|
+
// so user can't see if new hidden items have been inserted
|
|
507
|
+
var filteredInsertItems;
|
|
508
|
+
this._noTransition( function() {
|
|
509
|
+
filteredInsertItems = this._filter( items );
|
|
510
|
+
// hide all new items
|
|
511
|
+
this.hide( filteredInsertItems );
|
|
512
|
+
});
|
|
513
|
+
// */
|
|
514
|
+
// this way hides new filtered items with transition
|
|
515
|
+
// so user at least sees that something has been added
|
|
516
|
+
var filteredInsertItems = this._filter( items );
|
|
517
|
+
// hide all newitems
|
|
518
|
+
this._noTransition( function() {
|
|
519
|
+
this.hide( filteredInsertItems );
|
|
520
|
+
});
|
|
521
|
+
// */
|
|
522
|
+
// set flag
|
|
523
|
+
for ( i=0; i < len; i++ ) {
|
|
524
|
+
items[i].isLayoutInstant = true;
|
|
525
|
+
}
|
|
526
|
+
this.arrange();
|
|
527
|
+
// reset flag
|
|
528
|
+
for ( i=0; i < len; i++ ) {
|
|
529
|
+
delete items[i].isLayoutInstant;
|
|
530
|
+
}
|
|
531
|
+
this.reveal( filteredInsertItems );
|
|
532
|
+
};
|
|
533
|
+
|
|
534
|
+
var _remove = Isotope.prototype.remove;
|
|
535
|
+
Isotope.prototype.remove = function( elems ) {
|
|
536
|
+
elems = makeArray( elems );
|
|
537
|
+
var removeItems = this.getItems( elems );
|
|
538
|
+
// do regular thing
|
|
539
|
+
_remove.call( this, elems );
|
|
540
|
+
// bail if no items to remove
|
|
541
|
+
if ( !removeItems || !removeItems.length ) {
|
|
542
|
+
return;
|
|
543
|
+
}
|
|
544
|
+
// remove elems from filteredItems
|
|
545
|
+
for ( var i=0, len = removeItems.length; i < len; i++ ) {
|
|
546
|
+
var item = removeItems[i];
|
|
547
|
+
// remove item from collection
|
|
548
|
+
removeFrom( item, this.filteredItems );
|
|
549
|
+
}
|
|
550
|
+
};
|
|
551
|
+
|
|
552
|
+
Isotope.prototype.shuffle = function() {
|
|
553
|
+
// update random sortData
|
|
554
|
+
for ( var i=0, len = this.items.length; i < len; i++ ) {
|
|
555
|
+
var item = this.items[i];
|
|
556
|
+
item.sortData.random = Math.random();
|
|
557
|
+
}
|
|
558
|
+
this.options.sortBy = 'random';
|
|
559
|
+
this._sort();
|
|
560
|
+
this._layout();
|
|
561
|
+
};
|
|
562
|
+
|
|
563
|
+
/**
|
|
564
|
+
* trigger fn without transition
|
|
565
|
+
* kind of hacky to have this in the first place
|
|
566
|
+
* @param {Function} fn
|
|
567
|
+
* @returns ret
|
|
568
|
+
* @private
|
|
569
|
+
*/
|
|
570
|
+
Isotope.prototype._noTransition = function( fn ) {
|
|
571
|
+
// save transitionDuration before disabling
|
|
572
|
+
var transitionDuration = this.options.transitionDuration;
|
|
573
|
+
// disable transition
|
|
574
|
+
this.options.transitionDuration = 0;
|
|
575
|
+
// do it
|
|
576
|
+
var returnValue = fn.call( this );
|
|
577
|
+
// re-enable transition for reveal
|
|
578
|
+
this.options.transitionDuration = transitionDuration;
|
|
579
|
+
return returnValue;
|
|
580
|
+
};
|
|
581
|
+
|
|
582
|
+
// ----- helper methods ----- //
|
|
583
|
+
|
|
584
|
+
/**
|
|
585
|
+
* getter method for getting filtered item elements
|
|
586
|
+
* @returns {Array} elems - collection of item elements
|
|
587
|
+
*/
|
|
588
|
+
Isotope.prototype.getFilteredItemElements = function() {
|
|
589
|
+
var elems = [];
|
|
590
|
+
for ( var i=0, len = this.filteredItems.length; i < len; i++ ) {
|
|
591
|
+
elems.push( this.filteredItems[i].element );
|
|
592
|
+
}
|
|
593
|
+
return elems;
|
|
594
|
+
};
|
|
595
|
+
|
|
596
|
+
// ----- ----- //
|
|
597
|
+
|
|
598
|
+
return Isotope;
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
// -------------------------- transport -------------------------- //
|
|
602
|
+
|
|
603
|
+
if ( typeof define === 'function' && define.amd ) {
|
|
604
|
+
// AMD
|
|
605
|
+
define( [
|
|
606
|
+
'outlayer/outlayer',
|
|
607
|
+
'get-size/get-size',
|
|
608
|
+
'matches-selector/matches-selector',
|
|
609
|
+
'./item',
|
|
610
|
+
'./layout-mode',
|
|
611
|
+
// include default layout modes
|
|
612
|
+
'./layout-modes/masonry',
|
|
613
|
+
'./layout-modes/fit-rows',
|
|
614
|
+
'./layout-modes/vertical'
|
|
615
|
+
],
|
|
616
|
+
isotopeDefinition );
|
|
617
|
+
} else {
|
|
618
|
+
// browser global
|
|
619
|
+
window.Isotope = isotopeDefinition(
|
|
620
|
+
window.Outlayer,
|
|
621
|
+
window.getSize,
|
|
622
|
+
window.matchesSelector,
|
|
623
|
+
window.Isotope.Item,
|
|
624
|
+
window.Isotope.LayoutMode
|
|
625
|
+
);
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
})( window );
|