- update
This commit is contained in:
parent
05cf48534a
commit
83558f7bce
173 changed files with 1289 additions and 9312 deletions
288
_site/bower_components/isotope/dist/isotope.pkgd.js
vendored
288
_site/bower_components/isotope/dist/isotope.pkgd.js
vendored
|
|
@ -1,29 +1,28 @@
|
|||
/*!
|
||||
* Isotope PACKAGED v3.0.1
|
||||
* Isotope PACKAGED v3.0.6
|
||||
*
|
||||
* Licensed GPLv3 for open source use
|
||||
* or Isotope Commercial License for commercial use
|
||||
*
|
||||
* http://isotope.metafizzy.co
|
||||
* Copyright 2016 Metafizzy
|
||||
* https://isotope.metafizzy.co
|
||||
* Copyright 2010-2018 Metafizzy
|
||||
*/
|
||||
|
||||
/**
|
||||
* Bridget makes jQuery widgets
|
||||
* v2.0.0
|
||||
* v2.0.1
|
||||
* MIT license
|
||||
*/
|
||||
|
||||
/* jshint browser: true, strict: true, undef: true, unused: true */
|
||||
|
||||
( function( window, factory ) {
|
||||
'use strict';
|
||||
/* globals define: false, module: false, require: false */
|
||||
|
||||
// universal module definition
|
||||
/*jshint strict: false */ /* globals define, module, require */
|
||||
if ( typeof define == 'function' && define.amd ) {
|
||||
// AMD
|
||||
define( 'jquery-bridget/jquery-bridget',[ 'jquery' ], function( jQuery ) {
|
||||
factory( window, jQuery );
|
||||
return factory( window, jQuery );
|
||||
});
|
||||
} else if ( typeof module == 'object' && module.exports ) {
|
||||
// CommonJS
|
||||
|
|
@ -154,7 +153,7 @@ return jQueryBridget;
|
|||
}));
|
||||
|
||||
/**
|
||||
* EvEmitter v1.0.3
|
||||
* EvEmitter v1.1.0
|
||||
* Lil' event emitter
|
||||
* MIT License
|
||||
*/
|
||||
|
|
@ -234,13 +233,14 @@ proto.emitEvent = function( eventName, args ) {
|
|||
if ( !listeners || !listeners.length ) {
|
||||
return;
|
||||
}
|
||||
var i = 0;
|
||||
var listener = listeners[i];
|
||||
// copy over to avoid interference if .off() in listener
|
||||
listeners = listeners.slice(0);
|
||||
args = args || [];
|
||||
// once stuff
|
||||
var onceListeners = this._onceEvents && this._onceEvents[ eventName ];
|
||||
|
||||
while ( listener ) {
|
||||
for ( var i=0; i < listeners.length; i++ ) {
|
||||
var listener = listeners[i]
|
||||
var isOnce = onceListeners && onceListeners[ listener ];
|
||||
if ( isOnce ) {
|
||||
// remove listener
|
||||
|
|
@ -251,35 +251,34 @@ proto.emitEvent = function( eventName, args ) {
|
|||
}
|
||||
// trigger listener
|
||||
listener.apply( this, args );
|
||||
// get next listener
|
||||
i += isOnce ? 0 : 1;
|
||||
listener = listeners[i];
|
||||
}
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
proto.allOff = function() {
|
||||
delete this._events;
|
||||
delete this._onceEvents;
|
||||
};
|
||||
|
||||
return EvEmitter;
|
||||
|
||||
}));
|
||||
|
||||
/*!
|
||||
* getSize v2.0.2
|
||||
* getSize v2.0.3
|
||||
* measure size of elements
|
||||
* MIT license
|
||||
*/
|
||||
|
||||
/*jshint browser: true, strict: true, undef: true, unused: true */
|
||||
/*global define: false, module: false, console: false */
|
||||
/* jshint browser: true, strict: true, undef: true, unused: true */
|
||||
/* globals console: false */
|
||||
|
||||
( function( window, factory ) {
|
||||
'use strict';
|
||||
|
||||
/* jshint strict: false */ /* globals define, module */
|
||||
if ( typeof define == 'function' && define.amd ) {
|
||||
// AMD
|
||||
define( 'get-size/get-size',[],function() {
|
||||
return factory();
|
||||
});
|
||||
define( 'get-size/get-size',factory );
|
||||
} else if ( typeof module == 'object' && module.exports ) {
|
||||
// CommonJS
|
||||
module.exports = factory();
|
||||
|
|
@ -354,7 +353,7 @@ function getStyle( elem ) {
|
|||
if ( !style ) {
|
||||
logError( 'Style returned ' + style +
|
||||
'. Are you running this code in a hidden iframe on Firefox? ' +
|
||||
'See http://bit.ly/getsizebug1' );
|
||||
'See https://bit.ly/getsizebug1' );
|
||||
}
|
||||
return style;
|
||||
}
|
||||
|
|
@ -380,8 +379,8 @@ function setup() {
|
|||
// -------------------------- box sizing -------------------------- //
|
||||
|
||||
/**
|
||||
* WebKit measures the outer-width on style.width on border-box elems
|
||||
* IE & Firefox<29 measures the inner-width
|
||||
* Chrome & Safari measure the outer-width on style.width on border-box elems
|
||||
* IE11 & Firefox<29 measures the inner-width
|
||||
*/
|
||||
var div = document.createElement('div');
|
||||
div.style.width = '200px';
|
||||
|
|
@ -393,10 +392,11 @@ function setup() {
|
|||
var body = document.body || document.documentElement;
|
||||
body.appendChild( div );
|
||||
var style = getStyle( div );
|
||||
// round value for browser zoom. desandro/masonry#928
|
||||
isBoxSizeOuter = Math.round( getStyleSize( style.width ) ) == 200;
|
||||
getSize.isBoxSizeOuter = isBoxSizeOuter;
|
||||
|
||||
getSize.isBoxSizeOuter = isBoxSizeOuter = getStyleSize( style.width ) == 200;
|
||||
body.removeChild( div );
|
||||
|
||||
}
|
||||
|
||||
// -------------------------- getSize -------------------------- //
|
||||
|
|
@ -474,7 +474,7 @@ return getSize;
|
|||
});
|
||||
|
||||
/**
|
||||
* matchesSelector v2.0.1
|
||||
* matchesSelector v2.0.2
|
||||
* matchesSelector( element, '.selector' )
|
||||
* MIT license
|
||||
*/
|
||||
|
|
@ -500,7 +500,7 @@ return getSize;
|
|||
'use strict';
|
||||
|
||||
var matchesMethod = ( function() {
|
||||
var ElemProto = Element.prototype;
|
||||
var ElemProto = window.Element.prototype;
|
||||
// check for the standard method name first
|
||||
if ( ElemProto.matches ) {
|
||||
return 'matches';
|
||||
|
|
@ -528,7 +528,7 @@ return getSize;
|
|||
}));
|
||||
|
||||
/**
|
||||
* Fizzy UI utils v2.0.2
|
||||
* Fizzy UI utils v2.0.7
|
||||
* MIT license
|
||||
*/
|
||||
|
||||
|
|
@ -583,22 +583,27 @@ utils.modulo = function( num, div ) {
|
|||
|
||||
// ----- makeArray ----- //
|
||||
|
||||
var arraySlice = Array.prototype.slice;
|
||||
|
||||
// turn element or nodeList into an array
|
||||
utils.makeArray = function( obj ) {
|
||||
var ary = [];
|
||||
if ( Array.isArray( obj ) ) {
|
||||
// use object if already an array
|
||||
ary = obj;
|
||||
} else if ( obj && typeof obj.length == 'number' ) {
|
||||
// convert nodeList to array
|
||||
for ( var i=0; i < obj.length; i++ ) {
|
||||
ary.push( obj[i] );
|
||||
}
|
||||
} else {
|
||||
// array of single index
|
||||
ary.push( obj );
|
||||
return obj;
|
||||
}
|
||||
return ary;
|
||||
// return empty array if undefined or null. #6
|
||||
if ( obj === null || obj === undefined ) {
|
||||
return [];
|
||||
}
|
||||
|
||||
var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';
|
||||
if ( isArrayLike ) {
|
||||
// convert nodeList to array
|
||||
return arraySlice.call( obj );
|
||||
}
|
||||
|
||||
// array of single index
|
||||
return [ obj ];
|
||||
};
|
||||
|
||||
// ----- removeFrom ----- //
|
||||
|
|
@ -613,7 +618,7 @@ utils.removeFrom = function( ary, obj ) {
|
|||
// ----- getParent ----- //
|
||||
|
||||
utils.getParent = function( elem, selector ) {
|
||||
while ( elem != document.body ) {
|
||||
while ( elem.parentNode && elem != document.body ) {
|
||||
elem = elem.parentNode;
|
||||
if ( matchesSelector( elem, selector ) ) {
|
||||
return elem;
|
||||
|
|
@ -677,22 +682,21 @@ utils.filterFindElements = function( elems, selector ) {
|
|||
// ----- debounceMethod ----- //
|
||||
|
||||
utils.debounceMethod = function( _class, methodName, threshold ) {
|
||||
threshold = threshold || 100;
|
||||
// original method
|
||||
var method = _class.prototype[ methodName ];
|
||||
var timeoutName = methodName + 'Timeout';
|
||||
|
||||
_class.prototype[ methodName ] = function() {
|
||||
var timeout = this[ timeoutName ];
|
||||
if ( timeout ) {
|
||||
clearTimeout( timeout );
|
||||
}
|
||||
var args = arguments;
|
||||
clearTimeout( timeout );
|
||||
|
||||
var args = arguments;
|
||||
var _this = this;
|
||||
this[ timeoutName ] = setTimeout( function() {
|
||||
method.apply( _this, args );
|
||||
delete _this[ timeoutName ];
|
||||
}, threshold || 100 );
|
||||
}, threshold );
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -701,7 +705,8 @@ utils.debounceMethod = function( _class, methodName, threshold ) {
|
|||
utils.docReady = function( callback ) {
|
||||
var readyState = document.readyState;
|
||||
if ( readyState == 'complete' || readyState == 'interactive' ) {
|
||||
callback();
|
||||
// do async to allow for other scripts to run. metafizzy/flickity#441
|
||||
setTimeout( callback );
|
||||
} else {
|
||||
document.addEventListener( 'DOMContentLoaded', callback );
|
||||
}
|
||||
|
|
@ -749,7 +754,7 @@ utils.htmlInit = function( WidgetClass, namespace ) {
|
|||
}
|
||||
// initialize
|
||||
var instance = new WidgetClass( elem, options );
|
||||
// make available via $().data('layoutname')
|
||||
// make available via $().data('namespace')
|
||||
if ( jQuery ) {
|
||||
jQuery.data( elem, namespace, instance );
|
||||
}
|
||||
|
|
@ -899,13 +904,16 @@ proto.getPosition = function() {
|
|||
var isOriginTop = this.layout._getOption('originTop');
|
||||
var xValue = style[ isOriginLeft ? 'left' : 'right' ];
|
||||
var yValue = style[ isOriginTop ? 'top' : 'bottom' ];
|
||||
var x = parseFloat( xValue );
|
||||
var y = parseFloat( yValue );
|
||||
// convert percent to pixels
|
||||
var layoutSize = this.layout.size;
|
||||
var x = xValue.indexOf('%') != -1 ?
|
||||
( parseFloat( xValue ) / 100 ) * layoutSize.width : parseInt( xValue, 10 );
|
||||
var y = yValue.indexOf('%') != -1 ?
|
||||
( parseFloat( yValue ) / 100 ) * layoutSize.height : parseInt( yValue, 10 );
|
||||
|
||||
if ( xValue.indexOf('%') != -1 ) {
|
||||
x = ( x / 100 ) * layoutSize.width;
|
||||
}
|
||||
if ( yValue.indexOf('%') != -1 ) {
|
||||
y = ( y / 100 ) * layoutSize.height;
|
||||
}
|
||||
// clean up 'auto' or other non-integer values
|
||||
x = isNaN( x ) ? 0 : x;
|
||||
y = isNaN( y ) ? 0 : y;
|
||||
|
|
@ -968,9 +976,7 @@ proto._transitionTo = function( x, y ) {
|
|||
var curX = this.position.x;
|
||||
var curY = this.position.y;
|
||||
|
||||
var compareX = parseInt( x, 10 );
|
||||
var compareY = parseInt( y, 10 );
|
||||
var didNotMove = compareX === this.position.x && compareY === this.position.y;
|
||||
var didNotMove = x == this.position.x && y == this.position.y;
|
||||
|
||||
// save end position
|
||||
this.setPosition( x, y );
|
||||
|
|
@ -1013,8 +1019,8 @@ proto.goTo = function( x, y ) {
|
|||
proto.moveTo = proto._transitionTo;
|
||||
|
||||
proto.setPosition = function( x, y ) {
|
||||
this.position.x = parseInt( x, 10 );
|
||||
this.position.y = parseInt( y, 10 );
|
||||
this.position.x = parseFloat( x );
|
||||
this.position.y = parseFloat( y );
|
||||
};
|
||||
|
||||
// ----- transition ----- //
|
||||
|
|
@ -1319,7 +1325,7 @@ return Item;
|
|||
}));
|
||||
|
||||
/*!
|
||||
* Outlayer v2.1.0
|
||||
* Outlayer v2.1.1
|
||||
* the brains and guts of a layout library
|
||||
* MIT license
|
||||
*/
|
||||
|
|
@ -2267,7 +2273,7 @@ return Outlayer;
|
|||
/* jshint strict: false */ /*globals define, module, require */
|
||||
if ( typeof define == 'function' && define.amd ) {
|
||||
// AMD
|
||||
define( 'isotope/js/item',[
|
||||
define( 'isotope-layout/js/item',[
|
||||
'outlayer/outlayer'
|
||||
],
|
||||
factory );
|
||||
|
|
@ -2345,7 +2351,7 @@ return Item;
|
|||
/* jshint strict: false */ /*globals define, module, require */
|
||||
if ( typeof define == 'function' && define.amd ) {
|
||||
// AMD
|
||||
define( 'isotope/js/layout-mode',[
|
||||
define( 'isotope-layout/js/layout-mode',[
|
||||
'get-size/get-size',
|
||||
'outlayer/outlayer'
|
||||
],
|
||||
|
|
@ -2495,9 +2501,9 @@ return Item;
|
|||
}));
|
||||
|
||||
/*!
|
||||
* Masonry v4.1.0
|
||||
* Masonry v4.2.1
|
||||
* Cascading grid layout library
|
||||
* http://masonry.desandro.com
|
||||
* https://masonry.desandro.com
|
||||
* MIT License
|
||||
* by David DeSandro
|
||||
*/
|
||||
|
|
@ -2507,7 +2513,7 @@ return Item;
|
|||
/* jshint strict: false */ /*globals define, module, require */
|
||||
if ( typeof define == 'function' && define.amd ) {
|
||||
// AMD
|
||||
define( 'masonry/masonry',[
|
||||
define( 'masonry-layout/masonry',[
|
||||
'outlayer/outlayer',
|
||||
'get-size/get-size'
|
||||
],
|
||||
|
|
@ -2537,7 +2543,9 @@ return Item;
|
|||
// isFitWidth -> fitWidth
|
||||
Masonry.compatOptions.fitWidth = 'isFitWidth';
|
||||
|
||||
Masonry.prototype._resetLayout = function() {
|
||||
var proto = Masonry.prototype;
|
||||
|
||||
proto._resetLayout = function() {
|
||||
this.getSize();
|
||||
this._getMeasurement( 'columnWidth', 'outerWidth' );
|
||||
this._getMeasurement( 'gutter', 'outerWidth' );
|
||||
|
|
@ -2550,9 +2558,10 @@ return Item;
|
|||
}
|
||||
|
||||
this.maxY = 0;
|
||||
this.horizontalColIndex = 0;
|
||||
};
|
||||
|
||||
Masonry.prototype.measureColumns = function() {
|
||||
proto.measureColumns = function() {
|
||||
this.getContainerWidth();
|
||||
// if columnWidth is 0, default to outerWidth of first item
|
||||
if ( !this.columnWidth ) {
|
||||
|
|
@ -2577,7 +2586,7 @@ return Item;
|
|||
this.cols = Math.max( cols, 1 );
|
||||
};
|
||||
|
||||
Masonry.prototype.getContainerWidth = function() {
|
||||
proto.getContainerWidth = function() {
|
||||
// container is parent if fit width
|
||||
var isFitWidth = this._getOption('fitWidth');
|
||||
var container = isFitWidth ? this.element.parentNode : this.element;
|
||||
|
|
@ -2587,7 +2596,7 @@ return Item;
|
|||
this.containerWidth = size && size.innerWidth;
|
||||
};
|
||||
|
||||
Masonry.prototype._getItemLayoutPosition = function( item ) {
|
||||
proto._getItemLayoutPosition = function( item ) {
|
||||
item.getSize();
|
||||
// how many columns does this brick span
|
||||
var remainder = item.size.outerWidth % this.columnWidth;
|
||||
|
|
@ -2595,33 +2604,41 @@ return Item;
|
|||
// round if off by 1 pixel, otherwise use ceil
|
||||
var colSpan = Math[ mathMethod ]( item.size.outerWidth / this.columnWidth );
|
||||
colSpan = Math.min( colSpan, this.cols );
|
||||
|
||||
var colGroup = this._getColGroup( colSpan );
|
||||
// get the minimum Y value from the columns
|
||||
var minimumY = Math.min.apply( Math, colGroup );
|
||||
var shortColIndex = colGroup.indexOf( minimumY );
|
||||
|
||||
// use horizontal or top column position
|
||||
var colPosMethod = this.options.horizontalOrder ?
|
||||
'_getHorizontalColPosition' : '_getTopColPosition';
|
||||
var colPosition = this[ colPosMethod ]( colSpan, item );
|
||||
// position the brick
|
||||
var position = {
|
||||
x: this.columnWidth * shortColIndex,
|
||||
y: minimumY
|
||||
x: this.columnWidth * colPosition.col,
|
||||
y: colPosition.y
|
||||
};
|
||||
|
||||
// apply setHeight to necessary columns
|
||||
var setHeight = minimumY + item.size.outerHeight;
|
||||
var setSpan = this.cols + 1 - colGroup.length;
|
||||
for ( var i = 0; i < setSpan; i++ ) {
|
||||
this.colYs[ shortColIndex + i ] = setHeight;
|
||||
var setHeight = colPosition.y + item.size.outerHeight;
|
||||
var setMax = colSpan + colPosition.col;
|
||||
for ( var i = colPosition.col; i < setMax; i++ ) {
|
||||
this.colYs[i] = setHeight;
|
||||
}
|
||||
|
||||
return position;
|
||||
};
|
||||
|
||||
proto._getTopColPosition = function( colSpan ) {
|
||||
var colGroup = this._getTopColGroup( colSpan );
|
||||
// get the minimum Y value from the columns
|
||||
var minimumY = Math.min.apply( Math, colGroup );
|
||||
|
||||
return {
|
||||
col: colGroup.indexOf( minimumY ),
|
||||
y: minimumY,
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {Number} colSpan - number of columns the element spans
|
||||
* @returns {Array} colGroup
|
||||
*/
|
||||
Masonry.prototype._getColGroup = function( colSpan ) {
|
||||
proto._getTopColGroup = function( colSpan ) {
|
||||
if ( colSpan < 2 ) {
|
||||
// if brick spans only one column, use all the column Ys
|
||||
return this.colYs;
|
||||
|
|
@ -2632,15 +2649,38 @@ return Item;
|
|||
var groupCount = this.cols + 1 - colSpan;
|
||||
// for each group potential horizontal position
|
||||
for ( var i = 0; i < groupCount; i++ ) {
|
||||
// make an array of colY values for that one group
|
||||
var groupColYs = this.colYs.slice( i, i + colSpan );
|
||||
// and get the max value of the array
|
||||
colGroup[i] = Math.max.apply( Math, groupColYs );
|
||||
colGroup[i] = this._getColGroupY( i, colSpan );
|
||||
}
|
||||
return colGroup;
|
||||
};
|
||||
|
||||
Masonry.prototype._manageStamp = function( stamp ) {
|
||||
proto._getColGroupY = function( col, colSpan ) {
|
||||
if ( colSpan < 2 ) {
|
||||
return this.colYs[ col ];
|
||||
}
|
||||
// make an array of colY values for that one group
|
||||
var groupColYs = this.colYs.slice( col, col + colSpan );
|
||||
// and get the max value of the array
|
||||
return Math.max.apply( Math, groupColYs );
|
||||
};
|
||||
|
||||
// get column position based on horizontal index. #873
|
||||
proto._getHorizontalColPosition = function( colSpan, item ) {
|
||||
var col = this.horizontalColIndex % this.cols;
|
||||
var isOver = colSpan > 1 && col + colSpan > this.cols;
|
||||
// shift to next row if item can't fit on current row
|
||||
col = isOver ? 0 : col;
|
||||
// don't let zero-size items take up space
|
||||
var hasSize = item.size.outerWidth && item.size.outerHeight;
|
||||
this.horizontalColIndex = hasSize ? col + colSpan : this.horizontalColIndex;
|
||||
|
||||
return {
|
||||
col: col,
|
||||
y: this._getColGroupY( col, colSpan ),
|
||||
};
|
||||
};
|
||||
|
||||
proto._manageStamp = function( stamp ) {
|
||||
var stampSize = getSize( stamp );
|
||||
var offset = this._getElementOffset( stamp );
|
||||
// get the columns that this stamp affects
|
||||
|
|
@ -2663,7 +2703,7 @@ return Item;
|
|||
}
|
||||
};
|
||||
|
||||
Masonry.prototype._getContainerSize = function() {
|
||||
proto._getContainerSize = function() {
|
||||
this.maxY = Math.max.apply( Math, this.colYs );
|
||||
var size = {
|
||||
height: this.maxY
|
||||
|
|
@ -2676,7 +2716,7 @@ return Item;
|
|||
return size;
|
||||
};
|
||||
|
||||
Masonry.prototype._getContainerFitWidth = function() {
|
||||
proto._getContainerFitWidth = function() {
|
||||
var unusedCols = 0;
|
||||
// count unused columns
|
||||
var i = this.cols;
|
||||
|
|
@ -2690,7 +2730,7 @@ return Item;
|
|||
return ( this.cols - unusedCols ) * this.columnWidth - this.gutter;
|
||||
};
|
||||
|
||||
Masonry.prototype.needsResizeLayout = function() {
|
||||
proto.needsResizeLayout = function() {
|
||||
var previousWidth = this.containerWidth;
|
||||
this.getContainerWidth();
|
||||
return previousWidth != this.containerWidth;
|
||||
|
|
@ -2703,7 +2743,7 @@ return Item;
|
|||
/*!
|
||||
* Masonry layout mode
|
||||
* sub-classes Masonry
|
||||
* http://masonry.desandro.com
|
||||
* https://masonry.desandro.com
|
||||
*/
|
||||
|
||||
( function( window, factory ) {
|
||||
|
|
@ -2711,9 +2751,9 @@ return Item;
|
|||
/* jshint strict: false */ /*globals define, module, require */
|
||||
if ( typeof define == 'function' && define.amd ) {
|
||||
// AMD
|
||||
define( 'isotope/js/layout-modes/masonry',[
|
||||
define( 'isotope-layout/js/layout-modes/masonry',[
|
||||
'../layout-mode',
|
||||
'masonry/masonry'
|
||||
'masonry-layout/masonry'
|
||||
],
|
||||
factory );
|
||||
} else if ( typeof module == 'object' && module.exports ) {
|
||||
|
|
@ -2784,7 +2824,7 @@ return Item;
|
|||
/* jshint strict: false */ /*globals define, module, require */
|
||||
if ( typeof define == 'function' && define.amd ) {
|
||||
// AMD
|
||||
define( 'isotope/js/layout-modes/fit-rows',[
|
||||
define( 'isotope-layout/js/layout-modes/fit-rows',[
|
||||
'../layout-mode'
|
||||
],
|
||||
factory );
|
||||
|
|
@ -2853,7 +2893,7 @@ return FitRows;
|
|||
/* jshint strict: false */ /*globals define, module, require */
|
||||
if ( typeof define == 'function' && define.amd ) {
|
||||
// AMD
|
||||
define( 'isotope/js/layout-modes/vertical',[
|
||||
define( 'isotope-layout/js/layout-modes/vertical',[
|
||||
'../layout-mode'
|
||||
],
|
||||
factory );
|
||||
|
|
@ -2900,13 +2940,13 @@ return Vertical;
|
|||
}));
|
||||
|
||||
/*!
|
||||
* Isotope v3.0.1
|
||||
* Isotope v3.0.6
|
||||
*
|
||||
* Licensed GPLv3 for open source use
|
||||
* or Isotope Commercial License for commercial use
|
||||
*
|
||||
* http://isotope.metafizzy.co
|
||||
* Copyright 2016 Metafizzy
|
||||
* https://isotope.metafizzy.co
|
||||
* Copyright 2010-2018 Metafizzy
|
||||
*/
|
||||
|
||||
( function( window, factory ) {
|
||||
|
|
@ -2919,12 +2959,12 @@ return Vertical;
|
|||
'get-size/get-size',
|
||||
'desandro-matches-selector/matches-selector',
|
||||
'fizzy-ui-utils/utils',
|
||||
'isotope/js/item',
|
||||
'isotope/js/layout-mode',
|
||||
'isotope-layout/js/item',
|
||||
'isotope-layout/js/layout-mode',
|
||||
// include default layout modes
|
||||
'isotope/js/layout-modes/masonry',
|
||||
'isotope/js/layout-modes/fit-rows',
|
||||
'isotope/js/layout-modes/vertical'
|
||||
'isotope-layout/js/layout-modes/masonry',
|
||||
'isotope-layout/js/layout-modes/fit-rows',
|
||||
'isotope-layout/js/layout-modes/vertical'
|
||||
],
|
||||
function( Outlayer, getSize, matchesSelector, utils, Item, LayoutMode ) {
|
||||
return factory( window, Outlayer, getSize, matchesSelector, utils, Item, LayoutMode );
|
||||
|
|
@ -2937,12 +2977,12 @@ return Vertical;
|
|||
require('get-size'),
|
||||
require('desandro-matches-selector'),
|
||||
require('fizzy-ui-utils'),
|
||||
require('isotope/js/item'),
|
||||
require('isotope/js/layout-mode'),
|
||||
require('isotope-layout/js/item'),
|
||||
require('isotope-layout/js/layout-mode'),
|
||||
// include default layout modes
|
||||
require('isotope/js/layout-modes/masonry'),
|
||||
require('isotope/js/layout-modes/fit-rows'),
|
||||
require('isotope/js/layout-modes/vertical')
|
||||
require('isotope-layout/js/layout-modes/masonry'),
|
||||
require('isotope-layout/js/layout-modes/fit-rows'),
|
||||
require('isotope-layout/js/layout-modes/vertical')
|
||||
);
|
||||
} else {
|
||||
// browser global
|
||||
|
|
@ -3303,20 +3343,28 @@ var trim = String.prototype.trim ?
|
|||
|
||||
// sort filteredItem order
|
||||
proto._sort = function() {
|
||||
var sortByOpt = this.options.sortBy;
|
||||
if ( !sortByOpt ) {
|
||||
if ( !this.options.sortBy ) {
|
||||
return;
|
||||
}
|
||||
// concat all sortBy and sortHistory
|
||||
var sortBys = [].concat.apply( sortByOpt, this.sortHistory );
|
||||
// sort magic
|
||||
var itemSorter = getItemSorter( sortBys, this.options.sortAscending );
|
||||
this.filteredItems.sort( itemSorter );
|
||||
// keep track of sortBy History
|
||||
if ( sortByOpt != this.sortHistory[0] ) {
|
||||
// add to front, oldest goes in last
|
||||
this.sortHistory.unshift( sortByOpt );
|
||||
var sortBys = utils.makeArray( this.options.sortBy );
|
||||
if ( !this._getIsSameSortBy( sortBys ) ) {
|
||||
// concat all sortBy and sortHistory, add to front, oldest goes in last
|
||||
this.sortHistory = sortBys.concat( this.sortHistory );
|
||||
}
|
||||
// sort magic
|
||||
var itemSorter = getItemSorter( this.sortHistory, this.options.sortAscending );
|
||||
this.filteredItems.sort( itemSorter );
|
||||
};
|
||||
|
||||
// check if sortBys is same as start of sortHistory
|
||||
proto._getIsSameSortBy = function( sortBys ) {
|
||||
for ( var i=0; i < sortBys.length; i++ ) {
|
||||
if ( sortBys[i] != this.sortHistory[i] ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
// returns a function used for sorting
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue