Browse Source

update Outlayer to v1.4.0; add fizzy-ui-utils

add fizzy-ui-utils to manifest.json
implement fizzyUIUtils in isotope source
fix requirejs jquery path
update bower.json, package.json, dependencies
.jshintrc globals
pull/894/head
David DeSandro 10 years ago
parent
commit
eb98c79dcf
  1. 2
      .jshintrc
  2. 16
      bower.json
  3. 68
      js/isotope.js
  4. 11
      package.json
  5. 1
      sandbox/basic.html
  6. 23
      sandbox/bottom-up.html
  7. 1
      sandbox/cells-by-row.html
  8. 1
      sandbox/combination-filters-inclusive.html
  9. 15
      sandbox/filter-sort.html
  10. 1
      sandbox/fitrows.html
  11. 1
      sandbox/horizontal-layout-modes.html
  12. 1
      sandbox/insert.html
  13. 4
      sandbox/js/require-js.js
  14. 1
      sandbox/masonry-horizontal.html
  15. 1
      sandbox/masonry.html
  16. 1
      sandbox/right-to-left.html
  17. 1
      sandbox/sorting.html
  18. 1
      sandbox/stamps.html
  19. 1
      sandbox/transition-bug.html
  20. 1
      test/index.html

2
.jshintrc

@ -4,7 +4,7 @@
"strict": true, "strict": true,
"undef": true, "undef": true,
"unused": true, "unused": true,
"predef": { "globals": {
"define": false, "define": false,
"module": false, "module": false,
"require": false "require": false

16
bower.json

@ -2,19 +2,13 @@
"name": "isotope", "name": "isotope",
"version": "2.1.1", "version": "2.1.1",
"description": "Filter and sort magical layouts", "description": "Filter and sort magical layouts",
"main": [ "main": "js/isotope.js",
"js/item.js",
"js/layout-mode.js",
"js/isotope.js",
"js/layout-modes/vertical.js",
"js/layout-modes/fit-rows.js",
"js/layout-modes/masonry.js"
],
"dependencies": { "dependencies": {
"get-size": ">=1.2.2 <1.3", "get-size": "~1.2.2",
"matches-selector": ">=1 <2", "matches-selector": ">=1 <2",
"outlayer": "1.3.x", "outlayer": "~1.4.0",
"masonry": "3.2.x" "masonry": "3.2.x",
"fizzy-ui-utils": "~1.0.1"
}, },
"devDependencies": { "devDependencies": {
"doc-ready": "1.x", "doc-ready": "1.x",

68
js/isotope.js

@ -14,14 +14,6 @@ var jQuery = window.jQuery;
// -------------------------- helpers -------------------------- // // -------------------------- helpers -------------------------- //
// extend objects
function extend( a, b ) {
for ( var prop in b ) {
a[ prop ] = b[ prop ];
}
return a;
}
var trim = String.prototype.trim ? var trim = String.prototype.trim ?
function( str ) { function( str ) {
return str.trim(); return str.trim();
@ -40,52 +32,10 @@ var getText = docElem.textContent ?
return elem.innerText; return elem.innerText;
}; };
var objToString = Object.prototype.toString;
function isArray( obj ) {
return objToString.call( obj ) === '[object Array]';
}
// index of helper cause IE8
var indexOf = Array.prototype.indexOf ? function( ary, obj ) {
return ary.indexOf( obj );
} : function( ary, obj ) {
for ( var i=0, len = ary.length; i < len; i++ ) {
if ( ary[i] === obj ) {
return i;
}
}
return -1;
};
// turn element or nodeList into an array
function makeArray( obj ) {
var ary = [];
if ( isArray( obj ) ) {
// use object if already an array
ary = obj;
} else if ( obj && typeof obj.length === 'number' ) {
// convert nodeList to array
for ( var i=0, len = obj.length; i < len; i++ ) {
ary.push( obj[i] );
}
} else {
// array of single index
ary.push( obj );
}
return ary;
}
function removeFrom( obj, ary ) {
var index = indexOf( ary, obj );
if ( index !== -1 ) {
ary.splice( index, 1 );
}
}
// -------------------------- isotopeDefinition -------------------------- // // -------------------------- isotopeDefinition -------------------------- //
// used for AMD definition and requires // used for AMD definition and requires
function isotopeDefinition( Outlayer, getSize, matchesSelector, Item, LayoutMode ) { function isotopeDefinition( Outlayer, getSize, matchesSelector, utils, Item, LayoutMode ) {
// create an Outlayer layout class // create an Outlayer layout class
var Isotope = Outlayer.create( 'isotope', { var Isotope = Outlayer.create( 'isotope', {
layoutMode: "masonry", layoutMode: "masonry",
@ -143,7 +93,7 @@ function isotopeDefinition( Outlayer, getSize, matchesSelector, Item, LayoutMode
// HACK extend initial options, back-fill in default options // HACK extend initial options, back-fill in default options
var initialOpts = this.options[ name ] || {}; var initialOpts = this.options[ name ] || {};
this.options[ name ] = Mode.options ? this.options[ name ] = Mode.options ?
extend( Mode.options, initialOpts ) : initialOpts; utils.extend( Mode.options, initialOpts ) : initialOpts;
// init layout mode instance // init layout mode instance
this.modes[ name ] = new Mode( this ); this.modes[ name ] = new Mode( this );
}; };
@ -280,7 +230,7 @@ function isotopeDefinition( Outlayer, getSize, matchesSelector, Item, LayoutMode
// get items // get items
var items; var items;
if ( elems ) { if ( elems ) {
elems = makeArray( elems ); elems = utils.makeArray( elems );
items = this.getItems( elems ); items = this.getItems( elems );
} else { } else {
// update all items if no elems provided // update all items if no elems provided
@ -531,19 +481,20 @@ function isotopeDefinition( Outlayer, getSize, matchesSelector, Item, LayoutMode
var _remove = Isotope.prototype.remove; var _remove = Isotope.prototype.remove;
Isotope.prototype.remove = function( elems ) { Isotope.prototype.remove = function( elems ) {
elems = makeArray( elems ); elems = utils.makeArray( elems );
var removeItems = this.getItems( elems ); var removeItems = this.getItems( elems );
// do regular thing // do regular thing
_remove.call( this, elems ); _remove.call( this, elems );
// bail if no items to remove // bail if no items to remove
if ( !removeItems || !removeItems.length ) { var len = removeItems && removeItems.length;
if ( !len ) {
return; return;
} }
// remove elems from filteredItems // remove elems from filteredItems
for ( var i=0, len = removeItems.length; i < len; i++ ) { for ( var i=0; i < len; i++ ) {
var item = removeItems[i]; var item = removeItems[i];
// remove item from collection // remove item from collection
removeFrom( item, this.filteredItems ); utils.removeFrom( this.filteredItems, item );
} }
}; };
@ -604,6 +555,7 @@ if ( typeof define === 'function' && define.amd ) {
'outlayer/outlayer', 'outlayer/outlayer',
'get-size/get-size', 'get-size/get-size',
'matches-selector/matches-selector', 'matches-selector/matches-selector',
'fizzy-ui-utils/utils',
'./item', './item',
'./layout-mode', './layout-mode',
// include default layout modes // include default layout modes
@ -618,6 +570,7 @@ if ( typeof define === 'function' && define.amd ) {
require('outlayer'), require('outlayer'),
require('get-size'), require('get-size'),
require('desandro-matches-selector'), require('desandro-matches-selector'),
require('fizzy-ui-utils'),
require('./item'), require('./item'),
require('./layout-mode'), require('./layout-mode'),
// include default layout modes // include default layout modes
@ -631,6 +584,7 @@ if ( typeof define === 'function' && define.amd ) {
window.Outlayer, window.Outlayer,
window.getSize, window.getSize,
window.matchesSelector, window.matchesSelector,
window.fizzyUIUtils,
window.Isotope.Item, window.Isotope.Item,
window.Isotope.LayoutMode window.Isotope.LayoutMode
); );

11
package.json

@ -2,11 +2,13 @@
"name": "isotope-layout", "name": "isotope-layout",
"version": "2.1.1", "version": "2.1.1",
"description": "Filter and sort magical layouts", "description": "Filter and sort magical layouts",
"main": "js/isotope.js",
"dependencies": { "dependencies": {
"get-size": ">=1.2.2 <1.3", "get-size": "~1.2.2",
"desandro-matches-selector": ">=1 <2", "desandro-matches-selector": ">=1 <2",
"outlayer": "1.3.x", "outlayer": "~1.4.0",
"masonry-layout": "3.2.x" "masonry-layout": "3.2.x",
"fizzy-ui-utils": "~1.0.1"
}, },
"devDependencies": { "devDependencies": {
"desandro-matches-selector": "^1.0.2", "desandro-matches-selector": "^1.0.2",
@ -33,7 +35,6 @@
"url": "https://github.com/metafizzy/isotope/issues" "url": "https://github.com/metafizzy/isotope/issues"
}, },
"homepage": "http://isotope.metafizzy.co", "homepage": "http://isotope.metafizzy.co",
"main": "js/isotope.js",
"directories": { "directories": {
"test": "test" "test": "test"
}, },
@ -48,5 +49,5 @@
"filter", "filter",
"sort" "sort"
], ],
"author": "David DeSandro / Metafizzy" "author": "Metafizzy"
} }

1
sandbox/basic.html

@ -43,6 +43,7 @@
<script src="../bower_components/get-size/get-size.js"></script> <script src="../bower_components/get-size/get-size.js"></script>
<script src="../bower_components/jquery-bridget/jquery.bridget.js"></script> <script src="../bower_components/jquery-bridget/jquery.bridget.js"></script>
<script src="../bower_components/matches-selector/matches-selector.js"></script> <script src="../bower_components/matches-selector/matches-selector.js"></script>
<script src="../bower_components/fizzy-ui-utils/utils.js"></script>
<script src="../bower_components/outlayer/item.js"></script> <script src="../bower_components/outlayer/item.js"></script>
<script src="../bower_components/outlayer/outlayer.js"></script> <script src="../bower_components/outlayer/outlayer.js"></script>

23
sandbox/bottom-up.html

@ -78,17 +78,18 @@
<div class="item"></div> <div class="item"></div>
</div> </div>
<script src="../components/classie/classie.js"></script> <script src="../bower_components/classie/classie.js"></script>
<script src="../components/eventEmitter/EventEmitter.js"></script> <script src="../bower_components/eventEmitter/EventEmitter.js"></script>
<script src="../components/eventEmitter/EventEmitter.min.js"></script> <script src="../bower_components/eventEmitter/EventEmitter.min.js"></script>
<script src="../components/eventie/eventie.js"></script> <script src="../bower_components/eventie/eventie.js"></script>
<script src="../components/doc-ready/doc-ready.js"></script> <script src="../bower_components/doc-ready/doc-ready.js"></script>
<script src="../components/get-style-property/get-style-property.js"></script> <script src="../bower_components/get-style-property/get-style-property.js"></script>
<script src="../components/get-size/get-size.js"></script> <script src="../bower_components/get-size/get-size.js"></script>
<script src="../components/jquery-bridget/jquery.bridget.js"></script> <script src="../bower_components/jquery-bridget/jquery.bridget.js"></script>
<script src="../components/matches-selector/matches-selector.js"></script> <script src="../bower_components/matches-selector/matches-selector.js"></script>
<script src="../components/outlayer/item.js"></script> <script src="../bower_components/fizzy-ui-utils/utils.js"></script>
<script src="../components/outlayer/outlayer.js"></script> <script src="../bower_components/outlayer/item.js"></script>
<script src="../bower_components/outlayer/outlayer.js"></script>
<script src="../masonry.js"></script> <script src="../masonry.js"></script>

1
sandbox/cells-by-row.html

@ -151,6 +151,7 @@
<script src="../bower_components/get-size/get-size.js"></script> <script src="../bower_components/get-size/get-size.js"></script>
<script src="../bower_components/jquery-bridget/jquery.bridget.js"></script> <script src="../bower_components/jquery-bridget/jquery.bridget.js"></script>
<script src="../bower_components/matches-selector/matches-selector.js"></script> <script src="../bower_components/matches-selector/matches-selector.js"></script>
<script src="../bower_components/fizzy-ui-utils/utils.js"></script>
<script src="../bower_components/outlayer/item.js"></script> <script src="../bower_components/outlayer/item.js"></script>
<script src="../bower_components/outlayer/outlayer.js"></script> <script src="../bower_components/outlayer/outlayer.js"></script>
<script src="../bower_components/masonry/masonry.js"></script> <script src="../bower_components/masonry/masonry.js"></script>

1
sandbox/combination-filters-inclusive.html

@ -204,6 +204,7 @@
<script src="../bower_components/get-size/get-size.js"></script> <script src="../bower_components/get-size/get-size.js"></script>
<script src="../bower_components/jquery-bridget/jquery.bridget.js"></script> <script src="../bower_components/jquery-bridget/jquery.bridget.js"></script>
<script src="../bower_components/matches-selector/matches-selector.js"></script> <script src="../bower_components/matches-selector/matches-selector.js"></script>
<script src="../bower_components/fizzy-ui-utils/utils.js"></script>
<script src="../bower_components/outlayer/item.js"></script> <script src="../bower_components/outlayer/item.js"></script>
<script src="../bower_components/outlayer/outlayer.js"></script> <script src="../bower_components/outlayer/outlayer.js"></script>
<script src="../bower_components/masonry/masonry.js"></script> <script src="../bower_components/masonry/masonry.js"></script>

15
sandbox/filter-sort.html

@ -148,6 +148,7 @@
<script src="../bower_components/get-size/get-size.js"></script> <script src="../bower_components/get-size/get-size.js"></script>
<script src="../bower_components/jquery-bridget/jquery.bridget.js"></script> <script src="../bower_components/jquery-bridget/jquery.bridget.js"></script>
<script src="../bower_components/matches-selector/matches-selector.js"></script> <script src="../bower_components/matches-selector/matches-selector.js"></script>
<script src="../bower_components/fizzy-ui-utils/utils.js"></script>
<script src="../bower_components/outlayer/item.js"></script> <script src="../bower_components/outlayer/item.js"></script>
<script src="../bower_components/outlayer/outlayer.js"></script> <script src="../bower_components/outlayer/outlayer.js"></script>
@ -198,11 +199,20 @@ docReady( function() {
return parseInt( numberText, 10 ) > 40; return parseInt( numberText, 10 ) > 40;
}; };
} }
console.log( key, value ); // console.log( key, value );
iso.options[ key ] = value; iso.options[ key ] = value;
iso.arrange(); iso.arrange();
}); });
// iso.on( 'hideComplete', function( items ) {
// console.log( 'hideComplete', items );
// })
// iso.on( 'revealComplete', function( items ) {
// console.log( 'revealComplete', items );
// })
}); });
function getText( elem ) { function getText( elem ) {
@ -213,6 +223,3 @@ function getText( elem ) {
</body> </body>
</html> </html>

1
sandbox/fitrows.html

@ -96,6 +96,7 @@
<script src="../bower_components/get-size/get-size.js"></script> <script src="../bower_components/get-size/get-size.js"></script>
<script src="../bower_components/jquery-bridget/jquery.bridget.js"></script> <script src="../bower_components/jquery-bridget/jquery.bridget.js"></script>
<script src="../bower_components/matches-selector/matches-selector.js"></script> <script src="../bower_components/matches-selector/matches-selector.js"></script>
<script src="../bower_components/fizzy-ui-utils/utils.js"></script>
<script src="../bower_components/outlayer/item.js"></script> <script src="../bower_components/outlayer/item.js"></script>
<script src="../bower_components/outlayer/outlayer.js"></script> <script src="../bower_components/outlayer/outlayer.js"></script>

1
sandbox/horizontal-layout-modes.html

@ -154,6 +154,7 @@
<script src="../bower_components/get-size/get-size.js"></script> <script src="../bower_components/get-size/get-size.js"></script>
<script src="../bower_components/jquery-bridget/jquery.bridget.js"></script> <script src="../bower_components/jquery-bridget/jquery.bridget.js"></script>
<script src="../bower_components/matches-selector/matches-selector.js"></script> <script src="../bower_components/matches-selector/matches-selector.js"></script>
<script src="../bower_components/fizzy-ui-utils/utils.js"></script>
<script src="../bower_components/outlayer/item.js"></script> <script src="../bower_components/outlayer/item.js"></script>
<script src="../bower_components/outlayer/outlayer.js"></script> <script src="../bower_components/outlayer/outlayer.js"></script>

1
sandbox/insert.html

@ -36,6 +36,7 @@
<script src="../bower_components/get-size/get-size.js"></script> <script src="../bower_components/get-size/get-size.js"></script>
<script src="../bower_components/jquery-bridget/jquery.bridget.js"></script> <script src="../bower_components/jquery-bridget/jquery.bridget.js"></script>
<script src="../bower_components/matches-selector/matches-selector.js"></script> <script src="../bower_components/matches-selector/matches-selector.js"></script>
<script src="../bower_components/fizzy-ui-utils/utils.js"></script>
<script src="../bower_components/outlayer/item.js"></script> <script src="../bower_components/outlayer/item.js"></script>
<script src="../bower_components/outlayer/outlayer.js"></script> <script src="../bower_components/outlayer/outlayer.js"></script>
<script src="../bower_components/masonry/masonry.js"></script> <script src="../bower_components/masonry/masonry.js"></script>

4
sandbox/js/require-js.js

@ -36,7 +36,7 @@ requirejs( [ '../dist/isotope.pkgd.js' ], function( Isotope ) {
requirejs.config({ requirejs.config({
baseUrl: '../bower_components', baseUrl: '../bower_components',
paths: { paths: {
jquery: 'jquery/jquery' jquery: 'jquery/dist/jquery'
} }
}) })
@ -61,7 +61,7 @@ requirejs( [
// /* // /*
requirejs.config({ requirejs.config({
paths: { paths: {
jquery: '../../bower_components/jquery/jquery' jquery: '../../bower_components/jquery/dist/jquery'
} }
}); });

1
sandbox/masonry-horizontal.html

@ -183,6 +183,7 @@
<script src="../bower_components/get-size/get-size.js"></script> <script src="../bower_components/get-size/get-size.js"></script>
<script src="../bower_components/jquery-bridget/jquery.bridget.js"></script> <script src="../bower_components/jquery-bridget/jquery.bridget.js"></script>
<script src="../bower_components/matches-selector/matches-selector.js"></script> <script src="../bower_components/matches-selector/matches-selector.js"></script>
<script src="../bower_components/fizzy-ui-utils/utils.js"></script>
<script src="../bower_components/outlayer/item.js"></script> <script src="../bower_components/outlayer/item.js"></script>
<script src="../bower_components/outlayer/outlayer.js"></script> <script src="../bower_components/outlayer/outlayer.js"></script>

1
sandbox/masonry.html

@ -152,6 +152,7 @@
<script src="../bower_components/get-size/get-size.js"></script> <script src="../bower_components/get-size/get-size.js"></script>
<script src="../bower_components/jquery-bridget/jquery.bridget.js"></script> <script src="../bower_components/jquery-bridget/jquery.bridget.js"></script>
<script src="../bower_components/matches-selector/matches-selector.js"></script> <script src="../bower_components/matches-selector/matches-selector.js"></script>
<script src="../bower_components/fizzy-ui-utils/utils.js"></script>
<script src="../bower_components/outlayer/item.js"></script> <script src="../bower_components/outlayer/item.js"></script>
<script src="../bower_components/outlayer/outlayer.js"></script> <script src="../bower_components/outlayer/outlayer.js"></script>
<script src="../bower_components/masonry/masonry.js"></script> <script src="../bower_components/masonry/masonry.js"></script>

1
sandbox/right-to-left.html

@ -86,6 +86,7 @@
<script src="../bower_components/get-size/get-size.js"></script> <script src="../bower_components/get-size/get-size.js"></script>
<script src="../bower_components/jquery-bridget/jquery.bridget.js"></script> <script src="../bower_components/jquery-bridget/jquery.bridget.js"></script>
<script src="../bower_components/matches-selector/matches-selector.js"></script> <script src="../bower_components/matches-selector/matches-selector.js"></script>
<script src="../bower_components/fizzy-ui-utils/utils.js"></script>
<script src="../bower_components/outlayer/item.js"></script> <script src="../bower_components/outlayer/item.js"></script>
<script src="../bower_components/outlayer/outlayer.js"></script> <script src="../bower_components/outlayer/outlayer.js"></script>
<script src="../bower_components/masonry/masonry.js"></script> <script src="../bower_components/masonry/masonry.js"></script>

1
sandbox/sorting.html

@ -139,6 +139,7 @@
<script src="../bower_components/get-size/get-size.js"></script> <script src="../bower_components/get-size/get-size.js"></script>
<script src="../bower_components/jquery-bridget/jquery.bridget.js"></script> <script src="../bower_components/jquery-bridget/jquery.bridget.js"></script>
<script src="../bower_components/matches-selector/matches-selector.js"></script> <script src="../bower_components/matches-selector/matches-selector.js"></script>
<script src="../bower_components/fizzy-ui-utils/utils.js"></script>
<script src="../bower_components/outlayer/item.js"></script> <script src="../bower_components/outlayer/item.js"></script>
<script src="../bower_components/outlayer/outlayer.js"></script> <script src="../bower_components/outlayer/outlayer.js"></script>

1
sandbox/stamps.html

@ -89,6 +89,7 @@
<script src="../bower_components/get-style-property/get-style-property.js"></script> <script src="../bower_components/get-style-property/get-style-property.js"></script>
<script src="../bower_components/get-size/get-size.js"></script> <script src="../bower_components/get-size/get-size.js"></script>
<script src="../bower_components/matches-selector/matches-selector.js"></script> <script src="../bower_components/matches-selector/matches-selector.js"></script>
<script src="../bower_components/fizzy-ui-utils/utils.js"></script>
<script src="../bower_components/outlayer/item.js"></script> <script src="../bower_components/outlayer/item.js"></script>
<script src="../bower_components/outlayer/outlayer.js"></script> <script src="../bower_components/outlayer/outlayer.js"></script>
<script src="../bower_components/masonry/masonry.js"></script> <script src="../bower_components/masonry/masonry.js"></script>

1
sandbox/transition-bug.html

@ -42,6 +42,7 @@
<script src="../bower_components/get-size/get-size.js"></script> <script src="../bower_components/get-size/get-size.js"></script>
<script src="../bower_components/jquery-bridget/jquery.bridget.js"></script> <script src="../bower_components/jquery-bridget/jquery.bridget.js"></script>
<script src="../bower_components/matches-selector/matches-selector.js"></script> <script src="../bower_components/matches-selector/matches-selector.js"></script>
<script src="../bower_components/fizzy-ui-utils/utils.js"></script>
<script src="../bower_components/outlayer/item.js"></script> <script src="../bower_components/outlayer/item.js"></script>
<script src="../bower_components/outlayer/outlayer.js"></script> <script src="../bower_components/outlayer/outlayer.js"></script>

1
test/index.html

@ -19,6 +19,7 @@
<script src="../bower_components/get-size/get-size.js"></script> <script src="../bower_components/get-size/get-size.js"></script>
<script src="../bower_components/jquery-bridget/jquery.bridget.js"></script> <script src="../bower_components/jquery-bridget/jquery.bridget.js"></script>
<script src="../bower_components/matches-selector/matches-selector.js"></script> <script src="../bower_components/matches-selector/matches-selector.js"></script>
<script src="../bower_components/fizzy-ui-utils/utils.js"></script>
<script src="../bower_components/outlayer/item.js"></script> <script src="../bower_components/outlayer/item.js"></script>
<script src="../bower_components/outlayer/outlayer.js"></script> <script src="../bower_components/outlayer/outlayer.js"></script>
<script src="../bower_components/masonry/masonry.js"></script> <script src="../bower_components/masonry/masonry.js"></script>

Loading…
Cancel
Save