packery-rails 1.4.1 → 1.4.2
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 +4 -4
- data/lib/packery/rails/version.rb +1 -1
- data/vendor/assets/javascripts/packery.pkgd.js +101 -43
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 403d6d906ad4a8eb8e845ee90bae4b5a0bf00bbf
|
4
|
+
data.tar.gz: 9663335293dd7cb99da079aca8a3c2c70113d19b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c44c0fef86592a0386e5b6a544244aec3a2e1efd57d7e1decaff9cba8e151a477de565742581b63f189ea5bf46a83d9253963ecfd6e5ab76cbc16e87f58fd89e
|
7
|
+
data.tar.gz: b377b52dc8f3af0e519a6aed017f9f3194b39f7242f0ddeeb7720220e16dc4d9960cb63d414e40d73ab9e96de75d47403b8a097b94168101124ac3953ee7134e
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Packery PACKAGED v1.4.
|
2
|
+
* Packery PACKAGED v1.4.2
|
3
3
|
* bin-packing layout library
|
4
4
|
*
|
5
5
|
* Licensed GPLv3 for open source use
|
@@ -1722,14 +1722,19 @@ Item.prototype.getPosition = function() {
|
|
1722
1722
|
var layoutOptions = this.layout.options;
|
1723
1723
|
var isOriginLeft = layoutOptions.isOriginLeft;
|
1724
1724
|
var isOriginTop = layoutOptions.isOriginTop;
|
1725
|
-
var
|
1726
|
-
var
|
1725
|
+
var xValue = style[ isOriginLeft ? 'left' : 'right' ];
|
1726
|
+
var yValue = style[ isOriginTop ? 'top' : 'bottom' ];
|
1727
|
+
var x = parseInt( xValue, 10 );
|
1728
|
+
var y = parseInt( yValue, 10 );
|
1729
|
+
// convert percent to pixels
|
1730
|
+
var layoutSize = this.layout.size;
|
1731
|
+
x = xValue.indexOf('%') != -1 ? ( x / 100 ) * layoutSize.width : x;
|
1732
|
+
y = yValue.indexOf('%') != -1 ? ( y / 100 ) * layoutSize.height : y;
|
1727
1733
|
|
1728
1734
|
// clean up 'auto' or other non-integer values
|
1729
1735
|
x = isNaN( x ) ? 0 : x;
|
1730
1736
|
y = isNaN( y ) ? 0 : y;
|
1731
1737
|
// remove padding from measurement
|
1732
|
-
var layoutSize = this.layout.size;
|
1733
1738
|
x -= isOriginLeft ? layoutSize.paddingLeft : layoutSize.paddingRight;
|
1734
1739
|
y -= isOriginTop ? layoutSize.paddingTop : layoutSize.paddingBottom;
|
1735
1740
|
|
@@ -1749,10 +1754,8 @@ Item.prototype.layoutPosition = function() {
|
|
1749
1754
|
var xResetProperty = layoutOptions.isOriginLeft ? 'right' : 'left';
|
1750
1755
|
|
1751
1756
|
var x = this.position.x + layoutSize[ xPadding ];
|
1752
|
-
// set in percentage
|
1753
|
-
|
1754
|
-
( ( x / layoutSize.width ) * 100 ) + '%' : x + 'px';
|
1755
|
-
style[ xProperty ] = x;
|
1757
|
+
// set in percentage or pixels
|
1758
|
+
style[ xProperty ] = this.getXValue( x );
|
1756
1759
|
// reset other property
|
1757
1760
|
style[ xResetProperty ] = '';
|
1758
1761
|
|
@@ -1762,10 +1765,8 @@ Item.prototype.layoutPosition = function() {
|
|
1762
1765
|
var yResetProperty = layoutOptions.isOriginTop ? 'bottom' : 'top';
|
1763
1766
|
|
1764
1767
|
var y = this.position.y + layoutSize[ yPadding ];
|
1765
|
-
// set in percentage
|
1766
|
-
|
1767
|
-
( ( y / layoutSize.height ) * 100 ) + '%' : y + 'px';
|
1768
|
-
style[ yProperty ] = y;
|
1768
|
+
// set in percentage or pixels
|
1769
|
+
style[ yProperty ] = this.getYValue( y );
|
1769
1770
|
// reset other property
|
1770
1771
|
style[ yResetProperty ] = '';
|
1771
1772
|
|
@@ -1773,15 +1774,17 @@ Item.prototype.layoutPosition = function() {
|
|
1773
1774
|
this.emitEvent( 'layout', [ this ] );
|
1774
1775
|
};
|
1775
1776
|
|
1777
|
+
Item.prototype.getXValue = function( x ) {
|
1778
|
+
var layoutOptions = this.layout.options;
|
1779
|
+
return layoutOptions.percentPosition && !layoutOptions.isHorizontal ?
|
1780
|
+
( ( x / this.layout.size.width ) * 100 ) + '%' : x + 'px';
|
1781
|
+
};
|
1776
1782
|
|
1777
|
-
|
1778
|
-
var
|
1779
|
-
|
1780
|
-
|
1781
|
-
|
1782
|
-
function( x, y ) {
|
1783
|
-
return 'translate(' + x + 'px, ' + y + 'px)';
|
1784
|
-
};
|
1783
|
+
Item.prototype.getYValue = function( y ) {
|
1784
|
+
var layoutOptions = this.layout.options;
|
1785
|
+
return layoutOptions.percentPosition && layoutOptions.isHorizontal ?
|
1786
|
+
( ( y / this.layout.size.height ) * 100 ) + '%' : y + 'px';
|
1787
|
+
};
|
1785
1788
|
|
1786
1789
|
|
1787
1790
|
Item.prototype._transitionTo = function( x, y ) {
|
@@ -1806,11 +1809,7 @@ Item.prototype._transitionTo = function( x, y ) {
|
|
1806
1809
|
var transX = x - curX;
|
1807
1810
|
var transY = y - curY;
|
1808
1811
|
var transitionStyle = {};
|
1809
|
-
|
1810
|
-
var layoutOptions = this.layout.options;
|
1811
|
-
transX = layoutOptions.isOriginLeft ? transX : -transX;
|
1812
|
-
transY = layoutOptions.isOriginTop ? transY : -transY;
|
1813
|
-
transitionStyle.transform = translate( transX, transY );
|
1812
|
+
transitionStyle.transform = this.getTranslate( transX, transY );
|
1814
1813
|
|
1815
1814
|
this.transition({
|
1816
1815
|
to: transitionStyle,
|
@@ -1821,6 +1820,21 @@ Item.prototype._transitionTo = function( x, y ) {
|
|
1821
1820
|
});
|
1822
1821
|
};
|
1823
1822
|
|
1823
|
+
Item.prototype.getTranslate = function( x, y ) {
|
1824
|
+
// flip cooridinates if origin on right or bottom
|
1825
|
+
var layoutOptions = this.layout.options;
|
1826
|
+
x = layoutOptions.isOriginLeft ? x : -x;
|
1827
|
+
y = layoutOptions.isOriginTop ? y : -y;
|
1828
|
+
x = this.getXValue( x );
|
1829
|
+
y = this.getYValue( y );
|
1830
|
+
|
1831
|
+
if ( is3d ) {
|
1832
|
+
return 'translate3d(' + x + ', ' + y + ', 0)';
|
1833
|
+
}
|
1834
|
+
|
1835
|
+
return 'translate(' + x + ', ' + y + ')';
|
1836
|
+
};
|
1837
|
+
|
1824
1838
|
// non transition + transform support
|
1825
1839
|
Item.prototype.goTo = function( x, y ) {
|
1826
1840
|
this.setPosition( x, y );
|
@@ -1900,28 +1914,36 @@ Item.prototype._transition = function( args ) {
|
|
1900
1914
|
|
1901
1915
|
};
|
1902
1916
|
|
1903
|
-
|
1904
|
-
|
1917
|
+
// dash before all cap letters, including first for
|
1918
|
+
// WebkitTransform => -webkit-transform
|
1919
|
+
function toDashedAll( str ) {
|
1920
|
+
return str.replace( /([A-Z])/g, function( $1 ) {
|
1921
|
+
return '-' + $1.toLowerCase();
|
1922
|
+
});
|
1923
|
+
}
|
1924
|
+
|
1925
|
+
var transitionProps = 'opacity,' +
|
1926
|
+
toDashedAll( vendorProperties.transform || 'transform' );
|
1905
1927
|
|
1906
1928
|
Item.prototype.enableTransition = function(/* style */) {
|
1907
|
-
//
|
1908
|
-
//
|
1909
|
-
// transitionend event from triggering
|
1929
|
+
// HACK changing transitionProperty during a transition
|
1930
|
+
// will cause transition to jump
|
1910
1931
|
if ( this.isTransitioning ) {
|
1911
1932
|
return;
|
1912
1933
|
}
|
1913
1934
|
|
1914
|
-
// make transition: foo, bar, baz from style object
|
1915
|
-
//
|
1916
|
-
//
|
1935
|
+
// make `transition: foo, bar, baz` from style object
|
1936
|
+
// HACK un-comment this when enableTransition can work
|
1937
|
+
// while a transition is happening
|
1938
|
+
// var transitionValues = [];
|
1917
1939
|
// for ( var prop in style ) {
|
1918
1940
|
// // dash-ify camelCased properties like WebkitTransition
|
1919
|
-
//
|
1941
|
+
// prop = vendorProperties[ prop ] || prop;
|
1942
|
+
// transitionValues.push( toDashedAll( prop ) );
|
1920
1943
|
// }
|
1921
1944
|
// enable transition styles
|
1922
|
-
// HACK always enable transform,opacity for IE10
|
1923
1945
|
this.css({
|
1924
|
-
transitionProperty:
|
1946
|
+
transitionProperty: transitionProps,
|
1925
1947
|
transitionDuration: this.layout.options.transitionDuration
|
1926
1948
|
});
|
1927
1949
|
// listen for transition end event
|
@@ -2124,7 +2146,7 @@ return Item;
|
|
2124
2146
|
}));
|
2125
2147
|
|
2126
2148
|
/*!
|
2127
|
-
* Outlayer v1.4.
|
2149
|
+
* Outlayer v1.4.1
|
2128
2150
|
* the brains and guts of a layout library
|
2129
2151
|
* MIT license
|
2130
2152
|
*/
|
@@ -2539,7 +2561,7 @@ Outlayer.prototype._setContainerMeasure = function( measure, isWidth ) {
|
|
2539
2561
|
Outlayer.prototype._emitCompleteOnItems = function( eventName, items ) {
|
2540
2562
|
var _this = this;
|
2541
2563
|
function onComplete() {
|
2542
|
-
_this.
|
2564
|
+
_this.dispatchEvent( eventName + 'Complete', null, [ items ] );
|
2543
2565
|
}
|
2544
2566
|
|
2545
2567
|
var count = items.length;
|
@@ -2563,6 +2585,32 @@ Outlayer.prototype._emitCompleteOnItems = function( eventName, items ) {
|
|
2563
2585
|
}
|
2564
2586
|
};
|
2565
2587
|
|
2588
|
+
/**
|
2589
|
+
* emits events via eventEmitter and jQuery events
|
2590
|
+
* @param {String} type - name of event
|
2591
|
+
* @param {Event} event - original event
|
2592
|
+
* @param {Array} args - extra arguments
|
2593
|
+
*/
|
2594
|
+
Outlayer.prototype.dispatchEvent = function( type, event, args ) {
|
2595
|
+
// add original event to arguments
|
2596
|
+
var emitArgs = event ? [ event ].concat( args ) : args;
|
2597
|
+
this.emitEvent( type, emitArgs );
|
2598
|
+
|
2599
|
+
if ( jQuery ) {
|
2600
|
+
// set this.$element
|
2601
|
+
this.$element = this.$element || jQuery( this.element );
|
2602
|
+
if ( event ) {
|
2603
|
+
// create jQuery event
|
2604
|
+
var $event = jQuery.Event( event );
|
2605
|
+
$event.type = type;
|
2606
|
+
this.$element.trigger( $event, args );
|
2607
|
+
} else {
|
2608
|
+
// just trigger with type if no event available
|
2609
|
+
this.$element.trigger( type, args );
|
2610
|
+
}
|
2611
|
+
}
|
2612
|
+
};
|
2613
|
+
|
2566
2614
|
// -------------------------- ignore & stamps -------------------------- //
|
2567
2615
|
|
2568
2616
|
|
@@ -3532,7 +3580,7 @@ return Item;
|
|
3532
3580
|
}));
|
3533
3581
|
|
3534
3582
|
/*!
|
3535
|
-
* Packery v1.4.
|
3583
|
+
* Packery v1.4.2
|
3536
3584
|
* bin-packing layout library
|
3537
3585
|
*
|
3538
3586
|
* Licensed GPLv3 for open source use
|
@@ -3619,13 +3667,23 @@ Packery.prototype._create = function() {
|
|
3619
3667
|
};
|
3620
3668
|
|
3621
3669
|
this.handleUIDraggable = {
|
3622
|
-
start: function handleUIDraggableStart( event ) {
|
3670
|
+
start: function handleUIDraggableStart( event, ui ) {
|
3671
|
+
// HTML5 may trigger dragstart, dismiss HTML5 dragging
|
3672
|
+
if ( !ui ) {
|
3673
|
+
return;
|
3674
|
+
}
|
3623
3675
|
_this.itemDragStart( event.currentTarget );
|
3624
3676
|
},
|
3625
3677
|
drag: function handleUIDraggableDrag( event, ui ) {
|
3678
|
+
if ( !ui ) {
|
3679
|
+
return;
|
3680
|
+
}
|
3626
3681
|
_this.itemDragMove( event.currentTarget, ui.position.left, ui.position.top );
|
3627
3682
|
},
|
3628
|
-
stop: function handleUIDraggableStop( event ) {
|
3683
|
+
stop: function handleUIDraggableStop( event, ui ) {
|
3684
|
+
if ( !ui ) {
|
3685
|
+
return;
|
3686
|
+
}
|
3629
3687
|
_this.itemDragEnd( event.currentTarget );
|
3630
3688
|
}
|
3631
3689
|
};
|
@@ -3851,7 +3909,7 @@ Packery.prototype._bindFitEvents = function( item ) {
|
|
3851
3909
|
if ( ticks != 2 ) {
|
3852
3910
|
return;
|
3853
3911
|
}
|
3854
|
-
_this.
|
3912
|
+
_this.dispatchEvent( 'fitComplete', null, [ item ] );
|
3855
3913
|
}
|
3856
3914
|
// when item is laid out
|
3857
3915
|
item.on( 'layout', function() {
|
@@ -3996,7 +4054,7 @@ Packery.prototype._getDragEndLayoutComplete = function( elem, item ) {
|
|
3996
4054
|
|
3997
4055
|
// emit item drag event now that everything is done
|
3998
4056
|
if ( itemNeedsPositioning ) {
|
3999
|
-
_this.
|
4057
|
+
_this.dispatchEvent( 'dragItemPositioned', null, [ item ] );
|
4000
4058
|
}
|
4001
4059
|
// listen once
|
4002
4060
|
return true;
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: packery-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Leonid Beder
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-07-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|