From 0be8f61495ba58245310b10ff2e4cbe1dacb1503 Mon Sep 17 00:00:00 2001 From: David DeSandro Date: Wed, 8 Apr 2015 14:19:01 -0400 Subject: [PATCH] move UMD to top --- js/isotope.js | 102 +++++++++++++++++++----------------- js/item.js | 50 ++++++++---------- js/layout-mode.js | 65 +++++++++++------------ js/layout-modes/fit-rows.js | 50 +++++++++--------- js/layout-modes/masonry.js | 53 +++++++++---------- js/layout-modes/vertical.js | 52 +++++++++--------- 6 files changed, 186 insertions(+), 186 deletions(-) diff --git a/js/isotope.js b/js/isotope.js index 90e8594..c48bffd 100644 --- a/js/isotope.js +++ b/js/isotope.js @@ -4,7 +4,57 @@ * http://isotope.metafizzy.co */ -( function( window ) { +( function( window, factory ) { + 'use strict'; + // universal module definition + + if ( typeof define === 'function' && define.amd ) { + // AMD + define( [ + 'outlayer/outlayer', + 'get-size/get-size', + 'matches-selector/matches-selector', + 'fizzy-ui-utils/utils', + './item', + './layout-mode', + // include default layout modes + './layout-modes/masonry', + './layout-modes/fit-rows', + './layout-modes/vertical' + ], + function( Outlayer, getSize, matchesSelector, utils, Item, LayoutMode ) { + return factory( window, Outlayer, getSize, matchesSelector, utils, Item, LayoutMode ); + }); + } else if ( typeof exports === 'object' ) { + // CommonJS + module.exports = factory( + window, + require('outlayer'), + require('get-size'), + require('desandro-matches-selector'), + require('fizzy-ui-utils'), + require('./item'), + require('./layout-mode'), + // include default layout modes + require('./layout-modes/masonry'), + require('./layout-modes/fit-rows'), + require('./layout-modes/vertical') + ); + } else { + // browser global + window.Isotope = factory( + window, + window.Outlayer, + window.getSize, + window.matchesSelector, + window.fizzyUIUtils, + window.Isotope.Item, + window.Isotope.LayoutMode + ); + } + +}( window, function factory( window, Outlayer, getSize, matchesSelector, utils, + Item, LayoutMode ) { 'use strict'; @@ -34,8 +84,6 @@ var getText = docElem.textContent ? // -------------------------- isotopeDefinition -------------------------- // -// used for AMD definition and requires -function isotopeDefinition( Outlayer, getSize, matchesSelector, utils, Item, LayoutMode ) { // create an Outlayer layout class var Isotope = Outlayer.create( 'isotope', { layoutMode: "masonry", @@ -545,49 +593,5 @@ function isotopeDefinition( Outlayer, getSize, matchesSelector, utils, Item, Lay // ----- ----- // return Isotope; -} - -// -------------------------- transport -------------------------- // - -if ( typeof define === 'function' && define.amd ) { - // AMD - define( [ - 'outlayer/outlayer', - 'get-size/get-size', - 'matches-selector/matches-selector', - 'fizzy-ui-utils/utils', - './item', - './layout-mode', - // include default layout modes - './layout-modes/masonry', - './layout-modes/fit-rows', - './layout-modes/vertical' - ], - isotopeDefinition ); -} else if ( typeof exports === 'object' ) { - // CommonJS - module.exports = isotopeDefinition( - require('outlayer'), - require('get-size'), - require('desandro-matches-selector'), - require('fizzy-ui-utils'), - require('./item'), - require('./layout-mode'), - // include default layout modes - require('./layout-modes/masonry'), - require('./layout-modes/fit-rows'), - require('./layout-modes/vertical') - ); -} else { - // browser global - window.Isotope = isotopeDefinition( - window.Outlayer, - window.getSize, - window.matchesSelector, - window.fizzyUIUtils, - window.Isotope.Item, - window.Isotope.LayoutMode - ); -} - -})( window ); + +})); diff --git a/js/item.js b/js/item.js index 444972e..5a5cc90 100644 --- a/js/item.js +++ b/js/item.js @@ -2,14 +2,33 @@ * Isotope Item **/ -( function( window ) { +( function( window, factory ) { +'use strict'; + // universal module definition + if ( typeof define === 'function' && define.amd ) { + // AMD + define( [ + 'outlayer/outlayer' + ], + factory ); + } else if ( typeof exports === 'object' ) { + // 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 -------------------------- // -function itemDefinition( Outlayer ) { - // sub-class Outlayer Item function Item() { Outlayer.Item.apply( this, arguments ); @@ -54,27 +73,4 @@ Item.prototype.destroy = function() { return Item; -} - -// -------------------------- transport -------------------------- // - -if ( typeof define === 'function' && define.amd ) { - // AMD - define( [ - 'outlayer/outlayer' - ], - itemDefinition ); -} else if ( typeof exports === 'object' ) { - // CommonJS - module.exports = itemDefinition( - require('outlayer') - ); -} else { - // browser global - window.Isotope = window.Isotope || {}; - window.Isotope.Item = itemDefinition( - window.Outlayer - ); -} - -})( window ); +})); diff --git a/js/layout-mode.js b/js/layout-mode.js index f57177c..0d3d204 100644 --- a/js/layout-mode.js +++ b/js/layout-mode.js @@ -1,10 +1,35 @@ -( function( window ) { - -'use strict'; - -// -------------------------- -------------------------- // +/** + * Isotope LayoutMode + */ + +( function( window, factory ) { + 'use strict'; + // universal module definition + + if ( typeof define === 'function' && define.amd ) { + // AMD + define( [ + 'get-size/get-size', + 'outlayer/outlayer' + ], + factory ); + } else if ( typeof exports === 'object' ) { + // CommonJS + module.exports = factory( + require('get-size'), + require('outlayer') + ); + } else { + // browser global + window.Isotope = window.Isotope || {}; + window.Isotope.LayoutMode = factory( + window.getSize, + window.Outlayer + ); + } -function layoutModeDefinition( getSize, Outlayer ) { +}( window, function factory( getSize, Outlayer ) { + 'use strict'; // layout mode class function LayoutMode( isotope ) { @@ -131,32 +156,6 @@ function layoutModeDefinition( getSize, Outlayer ) { return Mode; }; - return LayoutMode; -} - -if ( typeof define === 'function' && define.amd ) { - // AMD - define( [ - 'get-size/get-size', - 'outlayer/outlayer' - ], - layoutModeDefinition ); -} else if ( typeof exports === 'object' ) { - // CommonJS - module.exports = layoutModeDefinition( - require('get-size'), - require('outlayer') - ); -} else { - // browser global - window.Isotope = window.Isotope || {}; - window.Isotope.LayoutMode = layoutModeDefinition( - window.getSize, - window.Outlayer - ); -} - - -})( window ); +})); diff --git a/js/layout-modes/fit-rows.js b/js/layout-modes/fit-rows.js index abee4b2..446ea25 100644 --- a/js/layout-modes/fit-rows.js +++ b/js/layout-modes/fit-rows.js @@ -1,8 +1,30 @@ -( function( window ) { +/** + * fitRows layout mode + */ -'use strict'; +( function( window, factory ) { + 'use strict'; + // universal module definition + if ( typeof define === 'function' && define.amd ) { + // AMD + define( [ + '../layout-mode' + ], + factory ); + } else if ( typeof exports === 'object' ) { + // CommonJS + module.exports = factory( + require('../layout-mode') + ); + } else { + // browser global + factory( + window.Isotope.LayoutMode + ); + } -function fitRowsDefinition( LayoutMode ) { +}( window, function factory( LayoutMode ) { +'use strict'; var FitRows = LayoutMode.create('fitRows'); @@ -41,24 +63,4 @@ FitRows.prototype._getContainerSize = function() { return FitRows; -} - -if ( typeof define === 'function' && define.amd ) { - // AMD - define( [ - '../layout-mode' - ], - fitRowsDefinition ); -} else if ( typeof exports === 'object' ) { - // CommonJS - module.exports = fitRowsDefinition( - require('../layout-mode') - ); -} else { - // browser global - fitRowsDefinition( - window.Isotope.LayoutMode - ); -} - -})( window ); +})); diff --git a/js/layout-modes/masonry.js b/js/layout-modes/masonry.js index 10edc7f..1a53a0d 100644 --- a/js/layout-modes/masonry.js +++ b/js/layout-modes/masonry.js @@ -4,8 +4,31 @@ * http://masonry.desandro.com */ -( function( window ) { +( function( window, factory ) { + 'use strict'; + // universal module definition + if ( typeof define === 'function' && define.amd ) { + // AMD + define( [ + '../layout-mode', + 'masonry/masonry' + ], + factory ); + } else if ( typeof exports === 'object' ) { + // CommonJS + module.exports = factory( + require('../layout-mode'), + require('masonry-layout') + ); + } else { + // browser global + factory( + window.Isotope.LayoutMode, + window.Masonry + ); + } +}( window, function factory( LayoutMode, Masonry ) { 'use strict'; // -------------------------- helpers -------------------------- // @@ -20,8 +43,6 @@ function extend( a, b ) { // -------------------------- masonryDefinition -------------------------- // -// used for AMD definition and requires -function masonryDefinition( LayoutMode, Masonry ) { // create an Outlayer layout class var MasonryMode = LayoutMode.create('masonry'); @@ -54,29 +75,5 @@ function masonryDefinition( LayoutMode, Masonry ) { }; return MasonryMode; -} - -// -------------------------- transport -------------------------- // - -if ( typeof define === 'function' && define.amd ) { - // AMD - define( [ - '../layout-mode', - 'masonry/masonry' - ], - masonryDefinition ); -} else if ( typeof exports === 'object' ) { - // CommonJS - module.exports = masonryDefinition( - require('../layout-mode'), - require('masonry-layout') - ); -} else { - // browser global - masonryDefinition( - window.Isotope.LayoutMode, - window.Masonry - ); -} -})( window ); +})); diff --git a/js/layout-modes/vertical.js b/js/layout-modes/vertical.js index ba1e43b..d5595ee 100644 --- a/js/layout-modes/vertical.js +++ b/js/layout-modes/vertical.js @@ -1,9 +1,31 @@ -( function( window ) { - +/** + * vertical layout mode + */ + +( function( window, factory ) { + 'use strict'; + // universal module definition + if ( typeof define === 'function' && define.amd ) { + // AMD + define( [ + '../layout-mode' + ], + factory ); + } else if ( typeof exports === 'object' ) { + // CommonJS + module.exports = factory( + require('../layout-mode') + ); + } else { + // browser global + factory( + window.Isotope.LayoutMode + ); + } + +}( window, function factory( LayoutMode ) { 'use strict'; -function verticalDefinition( LayoutMode ) { - var Vertical = LayoutMode.create( 'vertical', { horizontalAlignment: 0 }); @@ -27,24 +49,4 @@ Vertical.prototype._getContainerSize = function() { return Vertical; -} - -if ( typeof define === 'function' && define.amd ) { - // AMD - define( [ - '../layout-mode' - ], - verticalDefinition ); -} else if ( typeof exports === 'object' ) { - // CommonJS - module.exports = verticalDefinition( - require('../layout-mode') - ); -} else { - // browser global - verticalDefinition( - window.Isotope.LayoutMode - ); -} - -})( window ); +}));