mirror of https://github.com/metafizzy/isotope
David DeSandro
11 years ago
3 changed files with 118 additions and 16 deletions
@ -0,0 +1,61 @@ |
|||||||
|
/** |
||||||
|
* Packery Item Element |
||||||
|
**/ |
||||||
|
|
||||||
|
( function( window ) { |
||||||
|
|
||||||
|
'use strict'; |
||||||
|
|
||||||
|
// -------------------------- Item -------------------------- //
|
||||||
|
|
||||||
|
function itemDefinition( Outlayer ) { |
||||||
|
|
||||||
|
// sub-class Outlayer Item
|
||||||
|
function Item() { |
||||||
|
Outlayer.Item.apply( this, arguments ); |
||||||
|
} |
||||||
|
|
||||||
|
Item.prototype = new Outlayer.Item(); |
||||||
|
|
||||||
|
Item.prototype._create = function() { |
||||||
|
// assign id, used for original-order sorting
|
||||||
|
this.id = this.layout.itemGUID++; |
||||||
|
Outlayer.Item.prototype._create.call( this ); |
||||||
|
this.sortData = {}; |
||||||
|
}; |
||||||
|
|
||||||
|
Item.prototype.updateSortData = function() { |
||||||
|
// default sorters
|
||||||
|
this.sortData.id = this.id; |
||||||
|
// for backward compatibility
|
||||||
|
this.sortData['original-order'] = this.id; |
||||||
|
this.sortData.random = Math.random(); |
||||||
|
// go thru getSortData obj and apply the sorters
|
||||||
|
var getSortData = this.layout.options.getSortData; |
||||||
|
for ( var key in getSortData ) { |
||||||
|
var sorter = getSortData[ key ]; |
||||||
|
this.sortData[ key ] = sorter( this.element, this ); |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
return Item; |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
// -------------------------- transport -------------------------- //
|
||||||
|
|
||||||
|
if ( typeof define === 'function' && define.amd ) { |
||||||
|
// AMD
|
||||||
|
define( [ |
||||||
|
'outlayer/outlayer' |
||||||
|
], |
||||||
|
itemDefinition ); |
||||||
|
} else { |
||||||
|
// browser global
|
||||||
|
window.Isotope = window.Isotope || {}; |
||||||
|
window.Isotope.Item = itemDefinition( |
||||||
|
window.Outlayer |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
})( window ); |
Loading…
Reference in new issue