masonry2-rails 3.3.0 → 3.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/lib/masonry2-rails/version.rb +1 -1
- data/vendor/assets/javascripts/masonry.js +85 -39
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f91042c7ceae2ca2b745cea6ddb3235a2d1596e7
|
4
|
+
data.tar.gz: c1f931b6ca67f5e2dc82e2f39bed7bf1772694aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b2c3f49d4baee4a240c9210612dbee61523b41228ccf8e5994a3eeaaa442a1441b76bd78824707a292e083eb146bc790673071312bb09d8e21bbfdf40a994e54
|
7
|
+
data.tar.gz: ea6560c0245e3dc2903aa8aca12d5bb51a7d192ac0516cc9e7cbea8ea5dc4906eb79e85e01a4054a472ee91473416616a4d964f2c8e6daa0211a94e03a16efe6
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# masonry2-rails
|
2
2
|
|
3
|
-
masonry2-rails wraps the [jQuery Masonry](http://masonry.desandro.com/) library for use in Rails 4.0 and above. Assets
|
3
|
+
masonry2-rails wraps the [jQuery Masonry](http://masonry.desandro.com/) library for use in Rails 4.0 and above. Assets should be automatically minified during production.
|
4
4
|
|
5
5
|
## Usage
|
6
6
|
|
@@ -21,4 +21,4 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/Andrew
|
|
21
21
|
|
22
22
|
## License
|
23
23
|
|
24
|
-
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
24
|
+
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Masonry PACKAGED v3.3.
|
2
|
+
* Masonry PACKAGED v3.3.2
|
3
3
|
* Cascading grid layout library
|
4
4
|
* http://masonry.desandro.com
|
5
5
|
* MIT License
|
@@ -1633,14 +1633,19 @@ Item.prototype.getPosition = function() {
|
|
1633
1633
|
var layoutOptions = this.layout.options;
|
1634
1634
|
var isOriginLeft = layoutOptions.isOriginLeft;
|
1635
1635
|
var isOriginTop = layoutOptions.isOriginTop;
|
1636
|
-
var
|
1637
|
-
var
|
1636
|
+
var xValue = style[ isOriginLeft ? 'left' : 'right' ];
|
1637
|
+
var yValue = style[ isOriginTop ? 'top' : 'bottom' ];
|
1638
|
+
// convert percent to pixels
|
1639
|
+
var layoutSize = this.layout.size;
|
1640
|
+
var x = xValue.indexOf('%') != -1 ?
|
1641
|
+
( parseFloat( xValue ) / 100 ) * layoutSize.width : parseInt( xValue, 10 );
|
1642
|
+
var y = yValue.indexOf('%') != -1 ?
|
1643
|
+
( parseFloat( yValue ) / 100 ) * layoutSize.height : parseInt( yValue, 10 );
|
1638
1644
|
|
1639
1645
|
// clean up 'auto' or other non-integer values
|
1640
1646
|
x = isNaN( x ) ? 0 : x;
|
1641
1647
|
y = isNaN( y ) ? 0 : y;
|
1642
1648
|
// remove padding from measurement
|
1643
|
-
var layoutSize = this.layout.size;
|
1644
1649
|
x -= isOriginLeft ? layoutSize.paddingLeft : layoutSize.paddingRight;
|
1645
1650
|
y -= isOriginTop ? layoutSize.paddingTop : layoutSize.paddingBottom;
|
1646
1651
|
|
@@ -1660,10 +1665,8 @@ Item.prototype.layoutPosition = function() {
|
|
1660
1665
|
var xResetProperty = layoutOptions.isOriginLeft ? 'right' : 'left';
|
1661
1666
|
|
1662
1667
|
var x = this.position.x + layoutSize[ xPadding ];
|
1663
|
-
// set in percentage
|
1664
|
-
|
1665
|
-
( ( x / layoutSize.width ) * 100 ) + '%' : x + 'px';
|
1666
|
-
style[ xProperty ] = x;
|
1668
|
+
// set in percentage or pixels
|
1669
|
+
style[ xProperty ] = this.getXValue( x );
|
1667
1670
|
// reset other property
|
1668
1671
|
style[ xResetProperty ] = '';
|
1669
1672
|
|
@@ -1673,10 +1676,8 @@ Item.prototype.layoutPosition = function() {
|
|
1673
1676
|
var yResetProperty = layoutOptions.isOriginTop ? 'bottom' : 'top';
|
1674
1677
|
|
1675
1678
|
var y = this.position.y + layoutSize[ yPadding ];
|
1676
|
-
// set in percentage
|
1677
|
-
|
1678
|
-
( ( y / layoutSize.height ) * 100 ) + '%' : y + 'px';
|
1679
|
-
style[ yProperty ] = y;
|
1679
|
+
// set in percentage or pixels
|
1680
|
+
style[ yProperty ] = this.getYValue( y );
|
1680
1681
|
// reset other property
|
1681
1682
|
style[ yResetProperty ] = '';
|
1682
1683
|
|
@@ -1684,15 +1685,17 @@ Item.prototype.layoutPosition = function() {
|
|
1684
1685
|
this.emitEvent( 'layout', [ this ] );
|
1685
1686
|
};
|
1686
1687
|
|
1688
|
+
Item.prototype.getXValue = function( x ) {
|
1689
|
+
var layoutOptions = this.layout.options;
|
1690
|
+
return layoutOptions.percentPosition && !layoutOptions.isHorizontal ?
|
1691
|
+
( ( x / this.layout.size.width ) * 100 ) + '%' : x + 'px';
|
1692
|
+
};
|
1687
1693
|
|
1688
|
-
|
1689
|
-
var
|
1690
|
-
|
1691
|
-
|
1692
|
-
|
1693
|
-
function( x, y ) {
|
1694
|
-
return 'translate(' + x + 'px, ' + y + 'px)';
|
1695
|
-
};
|
1694
|
+
Item.prototype.getYValue = function( y ) {
|
1695
|
+
var layoutOptions = this.layout.options;
|
1696
|
+
return layoutOptions.percentPosition && layoutOptions.isHorizontal ?
|
1697
|
+
( ( y / this.layout.size.height ) * 100 ) + '%' : y + 'px';
|
1698
|
+
};
|
1696
1699
|
|
1697
1700
|
|
1698
1701
|
Item.prototype._transitionTo = function( x, y ) {
|
@@ -1717,11 +1720,7 @@ Item.prototype._transitionTo = function( x, y ) {
|
|
1717
1720
|
var transX = x - curX;
|
1718
1721
|
var transY = y - curY;
|
1719
1722
|
var transitionStyle = {};
|
1720
|
-
|
1721
|
-
var layoutOptions = this.layout.options;
|
1722
|
-
transX = layoutOptions.isOriginLeft ? transX : -transX;
|
1723
|
-
transY = layoutOptions.isOriginTop ? transY : -transY;
|
1724
|
-
transitionStyle.transform = translate( transX, transY );
|
1723
|
+
transitionStyle.transform = this.getTranslate( transX, transY );
|
1725
1724
|
|
1726
1725
|
this.transition({
|
1727
1726
|
to: transitionStyle,
|
@@ -1732,6 +1731,19 @@ Item.prototype._transitionTo = function( x, y ) {
|
|
1732
1731
|
});
|
1733
1732
|
};
|
1734
1733
|
|
1734
|
+
Item.prototype.getTranslate = function( x, y ) {
|
1735
|
+
// flip cooridinates if origin on right or bottom
|
1736
|
+
var layoutOptions = this.layout.options;
|
1737
|
+
x = layoutOptions.isOriginLeft ? x : -x;
|
1738
|
+
y = layoutOptions.isOriginTop ? y : -y;
|
1739
|
+
|
1740
|
+
if ( is3d ) {
|
1741
|
+
return 'translate3d(' + x + 'px, ' + y + 'px, 0)';
|
1742
|
+
}
|
1743
|
+
|
1744
|
+
return 'translate(' + x + 'px, ' + y + 'px)';
|
1745
|
+
};
|
1746
|
+
|
1735
1747
|
// non transition + transform support
|
1736
1748
|
Item.prototype.goTo = function( x, y ) {
|
1737
1749
|
this.setPosition( x, y );
|
@@ -1811,28 +1823,36 @@ Item.prototype._transition = function( args ) {
|
|
1811
1823
|
|
1812
1824
|
};
|
1813
1825
|
|
1814
|
-
|
1815
|
-
|
1826
|
+
// dash before all cap letters, including first for
|
1827
|
+
// WebkitTransform => -webkit-transform
|
1828
|
+
function toDashedAll( str ) {
|
1829
|
+
return str.replace( /([A-Z])/g, function( $1 ) {
|
1830
|
+
return '-' + $1.toLowerCase();
|
1831
|
+
});
|
1832
|
+
}
|
1833
|
+
|
1834
|
+
var transitionProps = 'opacity,' +
|
1835
|
+
toDashedAll( vendorProperties.transform || 'transform' );
|
1816
1836
|
|
1817
1837
|
Item.prototype.enableTransition = function(/* style */) {
|
1818
|
-
//
|
1819
|
-
//
|
1820
|
-
// transitionend event from triggering
|
1838
|
+
// HACK changing transitionProperty during a transition
|
1839
|
+
// will cause transition to jump
|
1821
1840
|
if ( this.isTransitioning ) {
|
1822
1841
|
return;
|
1823
1842
|
}
|
1824
1843
|
|
1825
|
-
// make transition: foo, bar, baz from style object
|
1826
|
-
//
|
1827
|
-
//
|
1844
|
+
// make `transition: foo, bar, baz` from style object
|
1845
|
+
// HACK un-comment this when enableTransition can work
|
1846
|
+
// while a transition is happening
|
1847
|
+
// var transitionValues = [];
|
1828
1848
|
// for ( var prop in style ) {
|
1829
1849
|
// // dash-ify camelCased properties like WebkitTransition
|
1830
|
-
//
|
1850
|
+
// prop = vendorProperties[ prop ] || prop;
|
1851
|
+
// transitionValues.push( toDashedAll( prop ) );
|
1831
1852
|
// }
|
1832
1853
|
// enable transition styles
|
1833
|
-
// HACK always enable transform,opacity for IE10
|
1834
1854
|
this.css({
|
1835
|
-
transitionProperty:
|
1855
|
+
transitionProperty: transitionProps,
|
1836
1856
|
transitionDuration: this.layout.options.transitionDuration
|
1837
1857
|
});
|
1838
1858
|
// listen for transition end event
|
@@ -2035,7 +2055,7 @@ return Item;
|
|
2035
2055
|
}));
|
2036
2056
|
|
2037
2057
|
/*!
|
2038
|
-
* Outlayer v1.4.
|
2058
|
+
* Outlayer v1.4.2
|
2039
2059
|
* the brains and guts of a layout library
|
2040
2060
|
* MIT license
|
2041
2061
|
*/
|
@@ -2450,7 +2470,7 @@ Outlayer.prototype._setContainerMeasure = function( measure, isWidth ) {
|
|
2450
2470
|
Outlayer.prototype._emitCompleteOnItems = function( eventName, items ) {
|
2451
2471
|
var _this = this;
|
2452
2472
|
function onComplete() {
|
2453
|
-
_this.
|
2473
|
+
_this.dispatchEvent( eventName + 'Complete', null, [ items ] );
|
2454
2474
|
}
|
2455
2475
|
|
2456
2476
|
var count = items.length;
|
@@ -2474,6 +2494,32 @@ Outlayer.prototype._emitCompleteOnItems = function( eventName, items ) {
|
|
2474
2494
|
}
|
2475
2495
|
};
|
2476
2496
|
|
2497
|
+
/**
|
2498
|
+
* emits events via eventEmitter and jQuery events
|
2499
|
+
* @param {String} type - name of event
|
2500
|
+
* @param {Event} event - original event
|
2501
|
+
* @param {Array} args - extra arguments
|
2502
|
+
*/
|
2503
|
+
Outlayer.prototype.dispatchEvent = function( type, event, args ) {
|
2504
|
+
// add original event to arguments
|
2505
|
+
var emitArgs = event ? [ event ].concat( args ) : args;
|
2506
|
+
this.emitEvent( type, emitArgs );
|
2507
|
+
|
2508
|
+
if ( jQuery ) {
|
2509
|
+
// set this.$element
|
2510
|
+
this.$element = this.$element || jQuery( this.element );
|
2511
|
+
if ( event ) {
|
2512
|
+
// create jQuery event
|
2513
|
+
var $event = jQuery.Event( event );
|
2514
|
+
$event.type = type;
|
2515
|
+
this.$element.trigger( $event, args );
|
2516
|
+
} else {
|
2517
|
+
// just trigger with type if no event available
|
2518
|
+
this.$element.trigger( type, args );
|
2519
|
+
}
|
2520
|
+
}
|
2521
|
+
};
|
2522
|
+
|
2477
2523
|
// -------------------------- ignore & stamps -------------------------- //
|
2478
2524
|
|
2479
2525
|
|
@@ -2936,7 +2982,7 @@ return Outlayer;
|
|
2936
2982
|
|
2937
2983
|
|
2938
2984
|
/*!
|
2939
|
-
* Masonry v3.3.
|
2985
|
+
* Masonry v3.3.2
|
2940
2986
|
* Cascading grid layout library
|
2941
2987
|
* http://masonry.desandro.com
|
2942
2988
|
* MIT License
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: masonry2-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.3.
|
4
|
+
version: 3.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew H Yi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-02 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Masonry.js wrapper for Rails
|
14
14
|
email:
|
@@ -44,7 +44,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
44
44
|
version: '0'
|
45
45
|
requirements: []
|
46
46
|
rubyforge_project:
|
47
|
-
rubygems_version: 2.4.
|
47
|
+
rubygems_version: 2.4.8
|
48
48
|
signing_key:
|
49
49
|
specification_version: 4
|
50
50
|
summary: Masonry.js wrapper for Rails
|