mirror of https://github.com/metafizzy/isotope
Filter & sort magical layouts
http://isotope.metafizzy.co
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.6 KiB
64 lines
1.6 KiB
( function( window ) { |
|
|
|
'use strict'; |
|
|
|
// -------------------------- -------------------------- // |
|
|
|
// var Isotope = window.Isotope; |
|
|
|
var layoutMode = {}; |
|
|
|
layoutMode.options = {}; |
|
layoutMode.modes = {}; |
|
|
|
layoutMode.create = function( namespace, options ) { |
|
function LayoutMode( isotope ) { |
|
this.isotope = isotope; |
|
// link properties |
|
if ( isotope ) { |
|
this.options = isotope.options[ this.namespace ]; |
|
this._getMeasurement = isotope._getMeasurement; |
|
this.element = isotope.element; |
|
this.items = isotope.items; |
|
this.size = isotope.size; |
|
// this.getSize = isotope.getSize; |
|
// this._getElementOffset = isotope._getElementOffset; |
|
} |
|
} |
|
|
|
// default options |
|
if ( options ) { |
|
LayoutMode.options = options; |
|
} |
|
|
|
// Outlayer.prototype._getMeasurement = function( measurement, size ) { |
|
// var option = this.options[ measurement ]; |
|
// var elem; |
|
// if ( !option ) { |
|
// // default to 0 |
|
// this[ measurement ] = 0; |
|
// } else { |
|
// if ( typeof option === 'string' ) { |
|
// elem = this.element.querySelector( option ); |
|
// } else if ( isElement( option ) ) { |
|
// elem = option; |
|
// } |
|
// // use size of element, if element |
|
// this[ measurement ] = elem ? getSize( elem )[ size ] : option; |
|
// } |
|
// }; |
|
|
|
|
|
|
|
LayoutMode.prototype.namespace = namespace; |
|
// set default options |
|
// layoutMode.options[ namespace ] = options || {}; |
|
// register in Isotope |
|
layoutMode.modes[ namespace ] = LayoutMode; |
|
return LayoutMode; |
|
}; |
|
|
|
var Isotope = window.Isotope = window.Isotope || {}; |
|
Isotope.layoutMode = layoutMode; |
|
|
|
})( window );
|
|
|