/** * 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 );