%PDF- %PDF-
| Direktori : /home/tjamichg/intranet.tjamich.gob.mx/intranet/common/vendors/isotope/js/layout-modes/ |
| Current File : //home/tjamichg/intranet.tjamich.gob.mx/intranet/common/vendors/isotope/js/layout-modes/masonry.js |
/*!
* Masonry layout mode
* sub-classes Masonry
* http://masonry.desandro.com
*/
(function (window) {
'use strict';
// -------------------------- helpers -------------------------- //
// extend objects
function extend(a, b) {
for (var prop in b) {
a[ prop ] = b[ prop ];
}
return a;
}
// -------------------------- masonryDefinition -------------------------- //
// used for AMD definition and requires
function masonryDefinition(LayoutMode, Masonry) {
// create an Outlayer layout class
var MasonryMode = LayoutMode.create('masonry');
// save on to these methods
var _getElementOffset = MasonryMode.prototype._getElementOffset;
var layout = MasonryMode.prototype.layout;
var _getMeasurement = MasonryMode.prototype._getMeasurement;
// sub-class Masonry
extend(MasonryMode.prototype, Masonry.prototype);
// set back, as it was overwritten by Masonry
MasonryMode.prototype._getElementOffset = _getElementOffset;
MasonryMode.prototype.layout = layout;
MasonryMode.prototype._getMeasurement = _getMeasurement;
var measureColumns = MasonryMode.prototype.measureColumns;
MasonryMode.prototype.measureColumns = function () {
// set items, used if measuring first item
this.items = this.isotope.filteredItems;
measureColumns.call(this);
};
// HACK copy over isOriginLeft/Top options
var _manageStamp = MasonryMode.prototype._manageStamp;
MasonryMode.prototype._manageStamp = function () {
this.options.isOriginLeft = this.isotope.options.isOriginLeft;
this.options.isOriginTop = this.isotope.options.isOriginTop;
_manageStamp.apply(this, arguments);
};
return MasonryMode;
}
// -------------------------- transport -------------------------- //
if (typeof define === 'function' && define.amd) {
// AMD
define([
'../layout-mode',
'masonry/masonry'
],
masonryDefinition);
} else {
// browser global
masonryDefinition(
window.Isotope.LayoutMode,
window.Masonry
);
}
})(window);