Browse Source

build v2.1.1;

require getSize v1.2.2; Ref #827 #860
changelog
pull/850/merge v2.1.1
David DeSandro 10 years ago
parent
commit
5bd5acb7ce
  1. 4
      bower.json
  2. 5
      changelog.md
  3. 85
      dist/isotope.pkgd.js
  4. 4
      dist/isotope.pkgd.min.js
  5. 2
      js/isotope.js
  6. 4
      package.json

4
bower.json

@ -1,6 +1,6 @@
{ {
"name": "isotope", "name": "isotope",
"version": "2.1.0", "version": "2.1.1",
"description": "Filter and sort magical layouts", "description": "Filter and sort magical layouts",
"main": [ "main": [
"js/item.js", "js/item.js",
@ -11,7 +11,7 @@
"js/layout-modes/masonry.js" "js/layout-modes/masonry.js"
], ],
"dependencies": { "dependencies": {
"get-size": ">=1.1.8 <1.3", "get-size": ">=1.2.2 <1.3",
"matches-selector": ">=1 <2", "matches-selector": ">=1 <2",
"outlayer": "1.3.x", "outlayer": "1.3.x",
"masonry": "3.2.x" "masonry": "3.2.x"

5
changelog.md

@ -1,5 +1,10 @@
# Changelog # Changelog
### v2.1.1
+ Refactored hide/reveal logic with filtering
+ Required [getSize](https://github.com/desandro/getsize) v1.2.2. Fixed [#860](https://github.com/metafizzy/isotope/issues/580)
## v2.1.0 ## v2.1.0
+ Add CommonJS support for npm/Browserify + Add CommonJS support for npm/Browserify

85
dist/isotope.pkgd.js vendored

@ -1,5 +1,5 @@
/*! /*!
* Isotope PACKAGED v2.1.0 * Isotope PACKAGED v2.1.1
* Filter & sort magical layouts * Filter & sort magical layouts
* http://isotope.metafizzy.co * http://isotope.metafizzy.co
*/ */
@ -3399,7 +3399,7 @@ if ( typeof define === 'function' && define.amd ) {
})( window ); })( window );
/*! /*!
* Isotope v2.1.0 * Isotope v2.1.1
* Filter & sort magical layouts * Filter & sort magical layouts
* http://isotope.metafizzy.co * http://isotope.metafizzy.co
*/ */
@ -3577,7 +3577,23 @@ function isotopeDefinition( Outlayer, getSize, matchesSelector, Item, LayoutMode
this.option( opts ); this.option( opts );
this._getIsInstant(); this._getIsInstant();
// filter, sort, and layout // filter, sort, and layout
this.filteredItems = this._filter( this.items );
// filter
var filtered = this._filter( this.items );
this.filteredItems = filtered.matches;
var _this = this;
function hideReveal() {
_this.reveal( filtered.needReveal );
_this.hide( filtered.needHide );
}
if ( this._isInstant ) {
this._noTransition( hideReveal );
} else {
hideReveal();
}
this._sort(); this._sort();
this._layout(); this._layout();
}; };
@ -3626,19 +3642,12 @@ function isotopeDefinition( Outlayer, getSize, matchesSelector, Item, LayoutMode
} }
} }
var _this = this; // return collections of items to be manipulated
function hideReveal() { return {
_this.reveal( hiddenMatched ); matches: matches,
_this.hide( visibleUnmatched ); needReveal: hiddenMatched,
} needHide: visibleUnmatched
};
if ( this._isInstant ) {
this._noTransition( hideReveal );
} else {
hideReveal();
}
return matches;
}; };
// get a jQuery, function, or a matchesSelector test given the filter // get a jQuery, function, or a matchesSelector test given the filter
@ -3856,6 +3865,7 @@ function isotopeDefinition( Outlayer, getSize, matchesSelector, Item, LayoutMode
if ( !items.length ) { if ( !items.length ) {
return; return;
} }
// filter, layout, reveal new items
var filteredItems = this._filterRevealAdded( items ); var filteredItems = this._filterRevealAdded( items );
// add to filteredItems // add to filteredItems
this.filteredItems = this.filteredItems.concat( filteredItems ); this.filteredItems = this.filteredItems.concat( filteredItems );
@ -3867,28 +3877,26 @@ function isotopeDefinition( Outlayer, getSize, matchesSelector, Item, LayoutMode
if ( !items.length ) { if ( !items.length ) {
return; return;
} }
// add items to beginning of collection
var previousItems = this.items.slice(0);
this.items = items.concat( previousItems );
// start new layout // start new layout
this._resetLayout(); this._resetLayout();
this._manageStamps(); this._manageStamps();
// layout new stuff without transition // filter, layout, reveal new items
var filteredItems = this._filterRevealAdded( items ); var filteredItems = this._filterRevealAdded( items );
// layout previous items // layout previous items
this.layoutItems( previousItems ); this.layoutItems( this.filteredItems );
// add to filteredItems // add to items and filteredItems
this.filteredItems = filteredItems.concat( this.filteredItems ); this.filteredItems = filteredItems.concat( this.filteredItems );
this.items = items.concat( this.items );
}; };
Isotope.prototype._filterRevealAdded = function( items ) { Isotope.prototype._filterRevealAdded = function( items ) {
var filteredItems = this._noTransition( function() { var filtered = this._filter( items );
return this._filter( items ); this.hide( filtered.needHide );
}); // reveal all new items
// layout and reveal just the new items this.reveal( filtered.matches );
this.layoutItems( filteredItems, true ); // layout new items, no transition
this.reveal( filteredItems ); this.layoutItems( filtered.matches, true );
return items; return filtered.matches;
}; };
/** /**
@ -3908,24 +3916,7 @@ function isotopeDefinition( Outlayer, getSize, matchesSelector, Item, LayoutMode
this.element.appendChild( item.element ); this.element.appendChild( item.element );
} }
// filter new stuff // filter new stuff
/* var filteredInsertItems = this._filter( items ).matches;
// this way adds hides new filtered items with NO transition
// so user can't see if new hidden items have been inserted
var filteredInsertItems;
this._noTransition( function() {
filteredInsertItems = this._filter( items );
// hide all new items
this.hide( filteredInsertItems );
});
// */
// this way hides new filtered items with transition
// so user at least sees that something has been added
var filteredInsertItems = this._filter( items );
// hide all newitems
this._noTransition( function() {
this.hide( filteredInsertItems );
});
// */
// set flag // set flag
for ( i=0; i < len; i++ ) { for ( i=0; i < len; i++ ) {
items[i].isLayoutInstant = true; items[i].isLayoutInstant = true;

4
dist/isotope.pkgd.min.js vendored

File diff suppressed because one or more lines are too long

2
js/isotope.js

@ -1,5 +1,5 @@
/*! /*!
* Isotope v2.1.0 * Isotope v2.1.1
* Filter & sort magical layouts * Filter & sort magical layouts
* http://isotope.metafizzy.co * http://isotope.metafizzy.co
*/ */

4
package.json

@ -1,9 +1,9 @@
{ {
"name": "isotope-layout", "name": "isotope-layout",
"version": "2.1.0", "version": "2.1.1",
"description": "Filter and sort magical layouts", "description": "Filter and sort magical layouts",
"dependencies": { "dependencies": {
"get-size": ">=1.1.8 <1.3", "get-size": ">=1.2.2 <1.3",
"desandro-matches-selector": ">=1 <2", "desandro-matches-selector": ">=1 <2",
"outlayer": "1.3.x", "outlayer": "1.3.x",
"masonry-layout": "3.2.x" "masonry-layout": "3.2.x"

Loading…
Cancel
Save