1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /**
- * Isotope Item
- **/
- ( function( window, factory ) {
- // universal module definition
- /* jshint strict: false */ /*globals define, module, require */
- if ( typeof define == 'function' && define.amd ) {
- // AMD
- define( [
- 'outlayer/outlayer'
- ],
- factory );
- } else if ( typeof module == 'object' && module.exports ) {
- // CommonJS
- module.exports = factory(
- require('outlayer')
- );
- } else {
- // browser global
- window.Isotope = window.Isotope || {};
- window.Isotope.Item = factory(
- window.Outlayer
- );
- }
- }( window, function factory( Outlayer ) {
- 'use strict';
- // -------------------------- Item -------------------------- //
- // sub-class Outlayer Item
- function Item() {
- Outlayer.Item.apply( this, arguments );
- }
- var proto = Item.prototype = Object.create( Outlayer.Item.prototype );
- var _create = proto._create;
- proto._create = function() {
- // assign id, used for original-order sorting
- this.id = this.layout.itemGUID++;
- _create.call( this );
- this.sortData = {};
- };
- proto.updateSortData = function() {
- if ( this.isIgnored ) {
- return;
- }
- // 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;
- var sorters = this.layout._sorters;
- for ( var key in getSortData ) {
- var sorter = sorters[ key ];
- this.sortData[ key ] = sorter( this.element, this );
- }
- };
- var _destroy = proto.destroy;
- proto.destroy = function() {
- // call super
- _destroy.apply( this, arguments );
- // reset display, #741
- this.css({
- display: ''
- });
- };
- return Item;
- }));
|