Post Grid - Version 2.0.30

Version Description

  • 21/01/2019 fix - Pagination bug fixed.
Download this release

Release Info

Developer pickplugins
Plugin Icon 128x128 Post Grid
Version 2.0.30
Comparing to
See all releases

Code changes from version 2.0.28 to 2.0.30

assets/frontend/js/imagesloaded.pkgd.js DELETED
@@ -1,487 +0,0 @@
1
- /*!
2
- * imagesLoaded PACKAGED v4.1.0
3
- * JavaScript is all like "You images are done yet or what?"
4
- * MIT License
5
- */
6
-
7
- /**
8
- * EvEmitter v1.0.1
9
- * Lil' event emitter
10
- * MIT License
11
- */
12
-
13
- /* jshint unused: true, undef: true, strict: true */
14
-
15
- ( function( global, factory ) {
16
- // universal module definition
17
- /* jshint strict: false */ /* globals define, module */
18
- if ( typeof define == 'function' && define.amd ) {
19
- // AMD - RequireJS
20
- define( 'ev-emitter/ev-emitter',factory );
21
- } else if ( typeof module == 'object' && module.exports ) {
22
- // CommonJS - Browserify, Webpack
23
- module.exports = factory();
24
- } else {
25
- // Browser globals
26
- global.EvEmitter = factory();
27
- }
28
-
29
- }( this, function() {
30
-
31
-
32
-
33
- function EvEmitter() {}
34
-
35
- var proto = EvEmitter.prototype;
36
-
37
- proto.on = function( eventName, listener ) {
38
- if ( !eventName || !listener ) {
39
- return;
40
- }
41
- // set events hash
42
- var events = this._events = this._events || {};
43
- // set listeners array
44
- var listeners = events[ eventName ] = events[ eventName ] || [];
45
- // only add once
46
- if ( listeners.indexOf( listener ) == -1 ) {
47
- listeners.push( listener );
48
- }
49
-
50
- return this;
51
- };
52
-
53
- proto.once = function( eventName, listener ) {
54
- if ( !eventName || !listener ) {
55
- return;
56
- }
57
- // add event
58
- this.on( eventName, listener );
59
- // set once flag
60
- // set onceEvents hash
61
- var onceEvents = this._onceEvents = this._onceEvents || {};
62
- // set onceListeners array
63
- var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || [];
64
- // set flag
65
- onceListeners[ listener ] = true;
66
-
67
- return this;
68
- };
69
-
70
- proto.off = function( eventName, listener ) {
71
- var listeners = this._events && this._events[ eventName ];
72
- if ( !listeners || !listeners.length ) {
73
- return;
74
- }
75
- var index = listeners.indexOf( listener );
76
- if ( index != -1 ) {
77
- listeners.splice( index, 1 );
78
- }
79
-
80
- return this;
81
- };
82
-
83
- proto.emitEvent = function( eventName, args ) {
84
- var listeners = this._events && this._events[ eventName ];
85
- if ( !listeners || !listeners.length ) {
86
- return;
87
- }
88
- var i = 0;
89
- var listener = listeners[i];
90
- args = args || [];
91
- // once stuff
92
- var onceListeners = this._onceEvents && this._onceEvents[ eventName ];
93
-
94
- while ( listener ) {
95
- var isOnce = onceListeners && onceListeners[ listener ];
96
- if ( isOnce ) {
97
- // remove listener
98
- // remove before trigger to prevent recursion
99
- this.off( eventName, listener );
100
- // unset once flag
101
- delete onceListeners[ listener ];
102
- }
103
- // trigger listener
104
- listener.apply( this, args );
105
- // get next listener
106
- i += isOnce ? 0 : 1;
107
- listener = listeners[i];
108
- }
109
-
110
- return this;
111
- };
112
-
113
- return EvEmitter;
114
-
115
- }));
116
-
117
- /*!
118
- * imagesLoaded v4.1.0
119
- * JavaScript is all like "You images are done yet or what?"
120
- * MIT License
121
- */
122
-
123
- ( function( window, factory ) { 'use strict';
124
- // universal module definition
125
-
126
- /*global define: false, module: false, require: false */
127
-
128
- if ( typeof define == 'function' && define.amd ) {
129
- // AMD
130
- define( [
131
- 'ev-emitter/ev-emitter'
132
- ], function( EvEmitter ) {
133
- return factory( window, EvEmitter );
134
- });
135
- } else if ( typeof module == 'object' && module.exports ) {
136
- // CommonJS
137
- module.exports = factory(
138
- window,
139
- require('ev-emitter')
140
- );
141
- } else {
142
- // browser global
143
- window.imagesLoaded = factory(
144
- window,
145
- window.EvEmitter
146
- );
147
- }
148
-
149
- })( window,
150
-
151
- // -------------------------- factory -------------------------- //
152
-
153
- function factory( window, EvEmitter ) {
154
-
155
-
156
-
157
- var $ = window.jQuery;
158
- var console = window.console;
159
-
160
- // -------------------------- helpers -------------------------- //
161
-
162
- // extend objects
163
- function extend( a, b ) {
164
- for ( var prop in b ) {
165
- a[ prop ] = b[ prop ];
166
- }
167
- return a;
168
- }
169
-
170
- // turn element or nodeList into an array
171
- function makeArray( obj ) {
172
- var ary = [];
173
- if ( Array.isArray( obj ) ) {
174
- // use object if already an array
175
- ary = obj;
176
- } else if ( typeof obj.length == 'number' ) {
177
- // convert nodeList to array
178
- for ( var i=0; i < obj.length; i++ ) {
179
- ary.push( obj[i] );
180
- }
181
- } else {
182
- // array of single index
183
- ary.push( obj );
184
- }
185
- return ary;
186
- }
187
-
188
- // -------------------------- imagesLoaded -------------------------- //
189
-
190
- /**
191
- * @param {Array, Element, NodeList, String} elem
192
- * @param {Object or Function} options - if function, use as callback
193
- * @param {Function} onAlways - callback function
194
- */
195
- function ImagesLoaded( elem, options, onAlways ) {
196
- // coerce ImagesLoaded() without new, to be new ImagesLoaded()
197
- if ( !( this instanceof ImagesLoaded ) ) {
198
- return new ImagesLoaded( elem, options, onAlways );
199
- }
200
- // use elem as selector string
201
- if ( typeof elem == 'string' ) {
202
- elem = document.querySelectorAll( elem );
203
- }
204
-
205
- this.elements = makeArray( elem );
206
- this.options = extend( {}, this.options );
207
-
208
- if ( typeof options == 'function' ) {
209
- onAlways = options;
210
- } else {
211
- extend( this.options, options );
212
- }
213
-
214
- if ( onAlways ) {
215
- this.on( 'always', onAlways );
216
- }
217
-
218
- this.getImages();
219
-
220
- if ( $ ) {
221
- // add jQuery Deferred object
222
- this.jqDeferred = new $.Deferred();
223
- }
224
-
225
- // HACK check async to allow time to bind listeners
226
- setTimeout( function() {
227
- this.check();
228
- }.bind( this ));
229
- }
230
-
231
- ImagesLoaded.prototype = Object.create( EvEmitter.prototype );
232
-
233
- ImagesLoaded.prototype.options = {};
234
-
235
- ImagesLoaded.prototype.getImages = function() {
236
- this.images = [];
237
-
238
- // filter & find items if we have an item selector
239
- this.elements.forEach( this.addElementImages, this );
240
- };
241
-
242
- /**
243
- * @param {Node} element
244
- */
245
- ImagesLoaded.prototype.addElementImages = function( elem ) {
246
- // filter siblings
247
- if ( elem.nodeName == 'IMG' ) {
248
- this.addImage( elem );
249
- }
250
- // get background image on element
251
- if ( this.options.background === true ) {
252
- this.addElementBackgroundImages( elem );
253
- }
254
-
255
- // find children
256
- // no non-element nodes, #143
257
- var nodeType = elem.nodeType;
258
- if ( !nodeType || !elementNodeTypes[ nodeType ] ) {
259
- return;
260
- }
261
- var childImgs = elem.querySelectorAll('img');
262
- // concat childElems to filterFound array
263
- for ( var i=0; i < childImgs.length; i++ ) {
264
- var img = childImgs[i];
265
- this.addImage( img );
266
- }
267
-
268
- // get child background images
269
- if ( typeof this.options.background == 'string' ) {
270
- var children = elem.querySelectorAll( this.options.background );
271
- for ( i=0; i < children.length; i++ ) {
272
- var child = children[i];
273
- this.addElementBackgroundImages( child );
274
- }
275
- }
276
- };
277
-
278
- var elementNodeTypes = {
279
- 1: true,
280
- 9: true,
281
- 11: true
282
- };
283
-
284
- ImagesLoaded.prototype.addElementBackgroundImages = function( elem ) {
285
- var style = getComputedStyle( elem );
286
- if ( !style ) {
287
- // Firefox returns null if in a hidden iframe https://bugzil.la/548397
288
- return;
289
- }
290
- // get url inside url("...")
291
- var reURL = /url\((['"])?(.*?)\1\)/gi;
292
- var matches = reURL.exec( style.backgroundImage );
293
- while ( matches !== null ) {
294
- var url = matches && matches[2];
295
- if ( url ) {
296
- this.addBackground( url, elem );
297
- }
298
- matches = reURL.exec( style.backgroundImage );
299
- }
300
- };
301
-
302
- /**
303
- * @param {Image} img
304
- */
305
- ImagesLoaded.prototype.addImage = function( img ) {
306
- var loadingImage = new LoadingImage( img );
307
- this.images.push( loadingImage );
308
- };
309
-
310
- ImagesLoaded.prototype.addBackground = function( url, elem ) {
311
- var background = new Background( url, elem );
312
- this.images.push( background );
313
- };
314
-
315
- ImagesLoaded.prototype.check = function() {
316
- var _this = this;
317
- this.progressedCount = 0;
318
- this.hasAnyBroken = false;
319
- // complete if no images
320
- if ( !this.images.length ) {
321
- this.complete();
322
- return;
323
- }
324
-
325
- function onProgress( image, elem, message ) {
326
- // HACK - Chrome triggers event before object properties have changed. #83
327
- setTimeout( function() {
328
- _this.progress( image, elem, message );
329
- });
330
- }
331
-
332
- this.images.forEach( function( loadingImage ) {
333
- loadingImage.once( 'progress', onProgress );
334
- loadingImage.check();
335
- });
336
- };
337
-
338
- ImagesLoaded.prototype.progress = function( image, elem, message ) {
339
- this.progressedCount++;
340
- this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded;
341
- // progress event
342
- this.emitEvent( 'progress', [ this, image, elem ] );
343
- if ( this.jqDeferred && this.jqDeferred.notify ) {
344
- this.jqDeferred.notify( this, image );
345
- }
346
- // check if completed
347
- if ( this.progressedCount == this.images.length ) {
348
- this.complete();
349
- }
350
-
351
- if ( this.options.debug && console ) {
352
- console.log( 'progress: ' + message, image, elem );
353
- }
354
- };
355
-
356
- ImagesLoaded.prototype.complete = function() {
357
- var eventName = this.hasAnyBroken ? 'fail' : 'done';
358
- this.isComplete = true;
359
- this.emitEvent( eventName, [ this ] );
360
- this.emitEvent( 'always', [ this ] );
361
- if ( this.jqDeferred ) {
362
- var jqMethod = this.hasAnyBroken ? 'reject' : 'resolve';
363
- this.jqDeferred[ jqMethod ]( this );
364
- }
365
- };
366
-
367
- // -------------------------- -------------------------- //
368
-
369
- function LoadingImage( img ) {
370
- this.img = img;
371
- }
372
-
373
- LoadingImage.prototype = Object.create( EvEmitter.prototype );
374
-
375
- LoadingImage.prototype.check = function() {
376
- // If complete is true and browser supports natural sizes,
377
- // try to check for image status manually.
378
- var isComplete = this.getIsImageComplete();
379
- if ( isComplete ) {
380
- // report based on naturalWidth
381
- this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );
382
- return;
383
- }
384
-
385
- // If none of the checks above matched, simulate loading on detached element.
386
- this.proxyImage = new Image();
387
- this.proxyImage.addEventListener( 'load', this );
388
- this.proxyImage.addEventListener( 'error', this );
389
- // bind to image as well for Firefox. #191
390
- this.img.addEventListener( 'load', this );
391
- this.img.addEventListener( 'error', this );
392
- this.proxyImage.src = this.img.src;
393
- };
394
-
395
- LoadingImage.prototype.getIsImageComplete = function() {
396
- return this.img.complete && this.img.naturalWidth !== undefined;
397
- };
398
-
399
- LoadingImage.prototype.confirm = function( isLoaded, message ) {
400
- this.isLoaded = isLoaded;
401
- this.emitEvent( 'progress', [ this, this.img, message ] );
402
- };
403
-
404
- // ----- events ----- //
405
-
406
- // trigger specified handler for event type
407
- LoadingImage.prototype.handleEvent = function( event ) {
408
- var method = 'on' + event.type;
409
- if ( this[ method ] ) {
410
- this[ method ]( event );
411
- }
412
- };
413
-
414
- LoadingImage.prototype.onload = function() {
415
- this.confirm( true, 'onload' );
416
- this.unbindEvents();
417
- };
418
-
419
- LoadingImage.prototype.onerror = function() {
420
- this.confirm( false, 'onerror' );
421
- this.unbindEvents();
422
- };
423
-
424
- LoadingImage.prototype.unbindEvents = function() {
425
- this.proxyImage.removeEventListener( 'load', this );
426
- this.proxyImage.removeEventListener( 'error', this );
427
- this.img.removeEventListener( 'load', this );
428
- this.img.removeEventListener( 'error', this );
429
- };
430
-
431
- // -------------------------- Background -------------------------- //
432
-
433
- function Background( url, element ) {
434
- this.url = url;
435
- this.element = element;
436
- this.img = new Image();
437
- }
438
-
439
- // inherit LoadingImage prototype
440
- Background.prototype = Object.create( LoadingImage.prototype );
441
-
442
- Background.prototype.check = function() {
443
- this.img.addEventListener( 'load', this );
444
- this.img.addEventListener( 'error', this );
445
- this.img.src = this.url;
446
- // check if image is already complete
447
- var isComplete = this.getIsImageComplete();
448
- if ( isComplete ) {
449
- this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );
450
- this.unbindEvents();
451
- }
452
- };
453
-
454
- Background.prototype.unbindEvents = function() {
455
- this.img.removeEventListener( 'load', this );
456
- this.img.removeEventListener( 'error', this );
457
- };
458
-
459
- Background.prototype.confirm = function( isLoaded, message ) {
460
- this.isLoaded = isLoaded;
461
- this.emitEvent( 'progress', [ this, this.element, message ] );
462
- };
463
-
464
- // -------------------------- jQuery -------------------------- //
465
-
466
- ImagesLoaded.makeJQueryPlugin = function( jQuery ) {
467
- jQuery = jQuery || window.jQuery;
468
- if ( !jQuery ) {
469
- return;
470
- }
471
- // set local variable
472
- $ = jQuery;
473
- // $().imagesLoaded()
474
- $.fn.imagesLoaded = function( options, callback ) {
475
- var instance = new ImagesLoaded( this, options, callback );
476
- return instance.jqDeferred.promise( $(this) );
477
- };
478
- };
479
- // try making plugin
480
- ImagesLoaded.makeJQueryPlugin();
481
-
482
- // -------------------------- -------------------------- //
483
-
484
- return ImagesLoaded;
485
-
486
- });
487
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/frontend/js/masonry.pkgd.min.js DELETED
@@ -1,9 +0,0 @@
1
- /*!
2
- * Masonry PACKAGED v3.2.2
3
- * Cascading grid layout library
4
- * http://masonry.desandro.com
5
- * MIT License
6
- * by David DeSandro
7
- */
8
-
9
- !function(a){function b(){}function c(a){function c(b){b.prototype.option||(b.prototype.option=function(b){a.isPlainObject(b)&&(this.options=a.extend(!0,this.options,b))})}function e(b,c){a.fn[b]=function(e){if("string"==typeof e){for(var g=d.call(arguments,1),h=0,i=this.length;i>h;h++){var j=this[h],k=a.data(j,b);if(k)if(a.isFunction(k[e])&&"_"!==e.charAt(0)){var l=k[e].apply(k,g);if(void 0!==l)return l}else f("no such method '"+e+"' for "+b+" instance");else f("cannot call methods on "+b+" prior to initialization; attempted to call '"+e+"'")}return this}return this.each(function(){var d=a.data(this,b);d?(d.option(e),d._init()):(d=new c(this,e),a.data(this,b,d))})}}if(a){var f="undefined"==typeof console?b:function(a){console.error(a)};return a.bridget=function(a,b){c(b),e(a,b)},a.bridget}}var d=Array.prototype.slice;"function"==typeof define&&define.amd?define("jquery-bridget/jquery.bridget",["jquery"],c):c("object"==typeof exports?require("jquery"):a.jQuery)}(window),function(a){function b(b){var c=a.event;return c.target=c.target||c.srcElement||b,c}var c=document.documentElement,d=function(){};c.addEventListener?d=function(a,b,c){a.addEventListener(b,c,!1)}:c.attachEvent&&(d=function(a,c,d){a[c+d]=d.handleEvent?function(){var c=b(a);d.handleEvent.call(d,c)}:function(){var c=b(a);d.call(a,c)},a.attachEvent("on"+c,a[c+d])});var e=function(){};c.removeEventListener?e=function(a,b,c){a.removeEventListener(b,c,!1)}:c.detachEvent&&(e=function(a,b,c){a.detachEvent("on"+b,a[b+c]);try{delete a[b+c]}catch(d){a[b+c]=void 0}});var f={bind:d,unbind:e};"function"==typeof define&&define.amd?define("eventie/eventie",f):"object"==typeof exports?module.exports=f:a.eventie=f}(this),function(a){function b(a){"function"==typeof a&&(b.isReady?a():g.push(a))}function c(a){var c="readystatechange"===a.type&&"complete"!==f.readyState;b.isReady||c||d()}function d(){b.isReady=!0;for(var a=0,c=g.length;c>a;a++){var d=g[a];d()}}function e(e){return"complete"===f.readyState?d():(e.bind(f,"DOMContentLoaded",c),e.bind(f,"readystatechange",c),e.bind(a,"load",c)),b}var f=a.document,g=[];b.isReady=!1,"function"==typeof define&&define.amd?define("doc-ready/doc-ready",["eventie/eventie"],e):"object"==typeof exports?module.exports=e(require("eventie")):a.docReady=e(a.eventie)}(window),function(){function a(){}function b(a,b){for(var c=a.length;c--;)if(a[c].listener===b)return c;return-1}function c(a){return function(){return this[a].apply(this,arguments)}}var d=a.prototype,e=this,f=e.EventEmitter;d.getListeners=function(a){var b,c,d=this._getEvents();if(a instanceof RegExp){b={};for(c in d)d.hasOwnProperty(c)&&a.test(c)&&(b[c]=d[c])}else b=d[a]||(d[a]=[]);return b},d.flattenListeners=function(a){var b,c=[];for(b=0;b<a.length;b+=1)c.push(a[b].listener);return c},d.getListenersAsObject=function(a){var b,c=this.getListeners(a);return c instanceof Array&&(b={},b[a]=c),b||c},d.addListener=function(a,c){var d,e=this.getListenersAsObject(a),f="object"==typeof c;for(d in e)e.hasOwnProperty(d)&&-1===b(e[d],c)&&e[d].push(f?c:{listener:c,once:!1});return this},d.on=c("addListener"),d.addOnceListener=function(a,b){return this.addListener(a,{listener:b,once:!0})},d.once=c("addOnceListener"),d.defineEvent=function(a){return this.getListeners(a),this},d.defineEvents=function(a){for(var b=0;b<a.length;b+=1)this.defineEvent(a[b]);return this},d.removeListener=function(a,c){var d,e,f=this.getListenersAsObject(a);for(e in f)f.hasOwnProperty(e)&&(d=b(f[e],c),-1!==d&&f[e].splice(d,1));return this},d.off=c("removeListener"),d.addListeners=function(a,b){return this.manipulateListeners(!1,a,b)},d.removeListeners=function(a,b){return this.manipulateListeners(!0,a,b)},d.manipulateListeners=function(a,b,c){var d,e,f=a?this.removeListener:this.addListener,g=a?this.removeListeners:this.addListeners;if("object"!=typeof b||b instanceof RegExp)for(d=c.length;d--;)f.call(this,b,c[d]);else for(d in b)b.hasOwnProperty(d)&&(e=b[d])&&("function"==typeof e?f.call(this,d,e):g.call(this,d,e));return this},d.removeEvent=function(a){var b,c=typeof a,d=this._getEvents();if("string"===c)delete d[a];else if(a instanceof RegExp)for(b in d)d.hasOwnProperty(b)&&a.test(b)&&delete d[b];else delete this._events;return this},d.removeAllListeners=c("removeEvent"),d.emitEvent=function(a,b){var c,d,e,f,g=this.getListenersAsObject(a);for(e in g)if(g.hasOwnProperty(e))for(d=g[e].length;d--;)c=g[e][d],c.once===!0&&this.removeListener(a,c.listener),f=c.listener.apply(this,b||[]),f===this._getOnceReturnValue()&&this.removeListener(a,c.listener);return this},d.trigger=c("emitEvent"),d.emit=function(a){var b=Array.prototype.slice.call(arguments,1);return this.emitEvent(a,b)},d.setOnceReturnValue=function(a){return this._onceReturnValue=a,this},d._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},d._getEvents=function(){return this._events||(this._events={})},a.noConflict=function(){return e.EventEmitter=f,a},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return a}):"object"==typeof module&&module.exports?module.exports=a:e.EventEmitter=a}.call(this),function(a){function b(a){if(a){if("string"==typeof d[a])return a;a=a.charAt(0).toUpperCase()+a.slice(1);for(var b,e=0,f=c.length;f>e;e++)if(b=c[e]+a,"string"==typeof d[b])return b}}var c="Webkit Moz ms Ms O".split(" "),d=document.documentElement.style;"function"==typeof define&&define.amd?define("get-style-property/get-style-property",[],function(){return b}):"object"==typeof exports?module.exports=b:a.getStyleProperty=b}(window),function(a){function b(a){var b=parseFloat(a),c=-1===a.indexOf("%")&&!isNaN(b);return c&&b}function c(){}function d(){for(var a={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},b=0,c=g.length;c>b;b++){var d=g[b];a[d]=0}return a}function e(c){function e(){if(!m){m=!0;var d=a.getComputedStyle;if(j=function(){var a=d?function(a){return d(a,null)}:function(a){return a.currentStyle};return function(b){var c=a(b);return c||f("Style returned "+c+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),c}}(),k=c("boxSizing")){var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style[k]="border-box";var g=document.body||document.documentElement;g.appendChild(e);var h=j(e);l=200===b(h.width),g.removeChild(e)}}}function h(a){if(e(),"string"==typeof a&&(a=document.querySelector(a)),a&&"object"==typeof a&&a.nodeType){var c=j(a);if("none"===c.display)return d();var f={};f.width=a.offsetWidth,f.height=a.offsetHeight;for(var h=f.isBorderBox=!(!k||!c[k]||"border-box"!==c[k]),m=0,n=g.length;n>m;m++){var o=g[m],p=c[o];p=i(a,p);var q=parseFloat(p);f[o]=isNaN(q)?0:q}var r=f.paddingLeft+f.paddingRight,s=f.paddingTop+f.paddingBottom,t=f.marginLeft+f.marginRight,u=f.marginTop+f.marginBottom,v=f.borderLeftWidth+f.borderRightWidth,w=f.borderTopWidth+f.borderBottomWidth,x=h&&l,y=b(c.width);y!==!1&&(f.width=y+(x?0:r+v));var z=b(c.height);return z!==!1&&(f.height=z+(x?0:s+w)),f.innerWidth=f.width-(r+v),f.innerHeight=f.height-(s+w),f.outerWidth=f.width+t,f.outerHeight=f.height+u,f}}function i(b,c){if(a.getComputedStyle||-1===c.indexOf("%"))return c;var d=b.style,e=d.left,f=b.runtimeStyle,g=f&&f.left;return g&&(f.left=b.currentStyle.left),d.left=c,c=d.pixelLeft,d.left=e,g&&(f.left=g),c}var j,k,l,m=!1;return h}var f="undefined"==typeof console?c:function(a){console.error(a)},g=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];"function"==typeof define&&define.amd?define("get-size/get-size",["get-style-property/get-style-property"],e):"object"==typeof exports?module.exports=e(require("desandro-get-style-property")):a.getSize=e(a.getStyleProperty)}(window),function(a){function b(a,b){return a[g](b)}function c(a){if(!a.parentNode){var b=document.createDocumentFragment();b.appendChild(a)}}function d(a,b){c(a);for(var d=a.parentNode.querySelectorAll(b),e=0,f=d.length;f>e;e++)if(d[e]===a)return!0;return!1}function e(a,d){return c(a),b(a,d)}var f,g=function(){if(a.matchesSelector)return"matchesSelector";for(var b=["webkit","moz","ms","o"],c=0,d=b.length;d>c;c++){var e=b[c],f=e+"MatchesSelector";if(a[f])return f}}();if(g){var h=document.createElement("div"),i=b(h,"div");f=i?b:e}else f=d;"function"==typeof define&&define.amd?define("matches-selector/matches-selector",[],function(){return f}):"object"==typeof exports?module.exports=f:window.matchesSelector=f}(Element.prototype),function(a){function b(a,b){for(var c in b)a[c]=b[c];return a}function c(a){for(var b in a)return!1;return b=null,!0}function d(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}function e(a,e,f){function h(a,b){a&&(this.element=a,this.layout=b,this.position={x:0,y:0},this._create())}var i=f("transition"),j=f("transform"),k=i&&j,l=!!f("perspective"),m={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend",transition:"transitionend"}[i],n=["transform","transition","transitionDuration","transitionProperty"],o=function(){for(var a={},b=0,c=n.length;c>b;b++){var d=n[b],e=f(d);e&&e!==d&&(a[d]=e)}return a}();b(h.prototype,a.prototype),h.prototype._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},h.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},h.prototype.getSize=function(){this.size=e(this.element)},h.prototype.css=function(a){var b=this.element.style;for(var c in a){var d=o[c]||c;b[d]=a[c]}},h.prototype.getPosition=function(){var a=g(this.element),b=this.layout.options,c=b.isOriginLeft,d=b.isOriginTop,e=parseInt(a[c?"left":"right"],10),f=parseInt(a[d?"top":"bottom"],10);e=isNaN(e)?0:e,f=isNaN(f)?0:f;var h=this.layout.size;e-=c?h.paddingLeft:h.paddingRight,f-=d?h.paddingTop:h.paddingBottom,this.position.x=e,this.position.y=f},h.prototype.layoutPosition=function(){var a=this.layout.size,b=this.layout.options,c={};b.isOriginLeft?(c.left=this.position.x+a.paddingLeft+"px",c.right=""):(c.right=this.position.x+a.paddingRight+"px",c.left=""),b.isOriginTop?(c.top=this.position.y+a.paddingTop+"px",c.bottom=""):(c.bottom=this.position.y+a.paddingBottom+"px",c.top=""),this.css(c),this.emitEvent("layout",[this])};var p=l?function(a,b){return"translate3d("+a+"px, "+b+"px, 0)"}:function(a,b){return"translate("+a+"px, "+b+"px)"};h.prototype._transitionTo=function(a,b){this.getPosition();var c=this.position.x,d=this.position.y,e=parseInt(a,10),f=parseInt(b,10),g=e===this.position.x&&f===this.position.y;if(this.setPosition(a,b),g&&!this.isTransitioning)return void this.layoutPosition();var h=a-c,i=b-d,j={},k=this.layout.options;h=k.isOriginLeft?h:-h,i=k.isOriginTop?i:-i,j.transform=p(h,i),this.transition({to:j,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},h.prototype.goTo=function(a,b){this.setPosition(a,b),this.layoutPosition()},h.prototype.moveTo=k?h.prototype._transitionTo:h.prototype.goTo,h.prototype.setPosition=function(a,b){this.position.x=parseInt(a,10),this.position.y=parseInt(b,10)},h.prototype._nonTransition=function(a){this.css(a.to),a.isCleaning&&this._removeStyles(a.to);for(var b in a.onTransitionEnd)a.onTransitionEnd[b].call(this)},h.prototype._transition=function(a){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(a);var b=this._transn;for(var c in a.onTransitionEnd)b.onEnd[c]=a.onTransitionEnd[c];for(c in a.to)b.ingProperties[c]=!0,a.isCleaning&&(b.clean[c]=!0);if(a.from){this.css(a.from);var d=this.element.offsetHeight;d=null}this.enableTransition(a.to),this.css(a.to),this.isTransitioning=!0};var q=j&&d(j)+",opacity";h.prototype.enableTransition=function(){this.isTransitioning||(this.css({transitionProperty:q,transitionDuration:this.layout.options.transitionDuration}),this.element.addEventListener(m,this,!1))},h.prototype.transition=h.prototype[i?"_transition":"_nonTransition"],h.prototype.onwebkitTransitionEnd=function(a){this.ontransitionend(a)},h.prototype.onotransitionend=function(a){this.ontransitionend(a)};var r={"-webkit-transform":"transform","-moz-transform":"transform","-o-transform":"transform"};h.prototype.ontransitionend=function(a){if(a.target===this.element){var b=this._transn,d=r[a.propertyName]||a.propertyName;if(delete b.ingProperties[d],c(b.ingProperties)&&this.disableTransition(),d in b.clean&&(this.element.style[a.propertyName]="",delete b.clean[d]),d in b.onEnd){var e=b.onEnd[d];e.call(this),delete b.onEnd[d]}this.emitEvent("transitionEnd",[this])}},h.prototype.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(m,this,!1),this.isTransitioning=!1},h.prototype._removeStyles=function(a){var b={};for(var c in a)b[c]="";this.css(b)};var s={transitionProperty:"",transitionDuration:""};return h.prototype.removeTransitionStyles=function(){this.css(s)},h.prototype.removeElem=function(){this.element.parentNode.removeChild(this.element),this.emitEvent("remove",[this])},h.prototype.remove=function(){if(!i||!parseFloat(this.layout.options.transitionDuration))return void this.removeElem();var a=this;this.on("transitionEnd",function(){return a.removeElem(),!0}),this.hide()},h.prototype.reveal=function(){delete this.isHidden,this.css({display:""});var a=this.layout.options;this.transition({from:a.hiddenStyle,to:a.visibleStyle,isCleaning:!0})},h.prototype.hide=function(){this.isHidden=!0,this.css({display:""});var a=this.layout.options;this.transition({from:a.visibleStyle,to:a.hiddenStyle,isCleaning:!0,onTransitionEnd:{opacity:function(){this.isHidden&&this.css({display:"none"})}}})},h.prototype.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},h}var f=a.getComputedStyle,g=f?function(a){return f(a,null)}:function(a){return a.currentStyle};"function"==typeof define&&define.amd?define("outlayer/item",["eventEmitter/EventEmitter","get-size/get-size","get-style-property/get-style-property"],e):"object"==typeof exports?module.exports=e(require("wolfy87-eventemitter"),require("get-size"),require("desandro-get-style-property")):(a.Outlayer={},a.Outlayer.Item=e(a.EventEmitter,a.getSize,a.getStyleProperty))}(window),function(a){function b(a,b){for(var c in b)a[c]=b[c];return a}function c(a){return"[object Array]"===l.call(a)}function d(a){var b=[];if(c(a))b=a;else if(a&&"number"==typeof a.length)for(var d=0,e=a.length;e>d;d++)b.push(a[d]);else b.push(a);return b}function e(a,b){var c=n(b,a);-1!==c&&b.splice(c,1)}function f(a){return a.replace(/(.)([A-Z])/g,function(a,b,c){return b+"-"+c}).toLowerCase()}function g(c,g,l,n,o,p){function q(a,c){if("string"==typeof a&&(a=h.querySelector(a)),!a||!m(a))return void(i&&i.error("Bad "+this.constructor.namespace+" element: "+a));this.element=a,this.options=b({},this.constructor.defaults),this.option(c);var d=++r;this.element.outlayerGUID=d,s[d]=this,this._create(),this.options.isInitLayout&&this.layout()}var r=0,s={};return q.namespace="outlayer",q.Item=p,q.defaults={containerStyle:{position:"relative"},isInitLayout:!0,isOriginLeft:!0,isOriginTop:!0,isResizeBound:!0,isResizingContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}},b(q.prototype,l.prototype),q.prototype.option=function(a){b(this.options,a)},q.prototype._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),b(this.element.style,this.options.containerStyle),this.options.isResizeBound&&this.bindResize()},q.prototype.reloadItems=function(){this.items=this._itemize(this.element.children)},q.prototype._itemize=function(a){for(var b=this._filterFindItemElements(a),c=this.constructor.Item,d=[],e=0,f=b.length;f>e;e++){var g=b[e],h=new c(g,this);d.push(h)}return d},q.prototype._filterFindItemElements=function(a){a=d(a);for(var b=this.options.itemSelector,c=[],e=0,f=a.length;f>e;e++){var g=a[e];if(m(g))if(b){o(g,b)&&c.push(g);for(var h=g.querySelectorAll(b),i=0,j=h.length;j>i;i++)c.push(h[i])}else c.push(g)}return c},q.prototype.getItemElements=function(){for(var a=[],b=0,c=this.items.length;c>b;b++)a.push(this.items[b].element);return a},q.prototype.layout=function(){this._resetLayout(),this._manageStamps();var a=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;this.layoutItems(this.items,a),this._isLayoutInited=!0},q.prototype._init=q.prototype.layout,q.prototype._resetLayout=function(){this.getSize()},q.prototype.getSize=function(){this.size=n(this.element)},q.prototype._getMeasurement=function(a,b){var c,d=this.options[a];d?("string"==typeof d?c=this.element.querySelector(d):m(d)&&(c=d),this[a]=c?n(c)[b]:d):this[a]=0},q.prototype.layoutItems=function(a,b){a=this._getItemsForLayout(a),this._layoutItems(a,b),this._postLayout()},q.prototype._getItemsForLayout=function(a){for(var b=[],c=0,d=a.length;d>c;c++){var e=a[c];e.isIgnored||b.push(e)}return b},q.prototype._layoutItems=function(a,b){function c(){d.emitEvent("layoutComplete",[d,a])}var d=this;if(!a||!a.length)return void c();this._itemsOn(a,"layout",c);for(var e=[],f=0,g=a.length;g>f;f++){var h=a[f],i=this._getItemLayoutPosition(h);i.item=h,i.isInstant=b||h.isLayoutInstant,e.push(i)}this._processLayoutQueue(e)},q.prototype._getItemLayoutPosition=function(){return{x:0,y:0}},q.prototype._processLayoutQueue=function(a){for(var b=0,c=a.length;c>b;b++){var d=a[b];this._positionItem(d.item,d.x,d.y,d.isInstant)}},q.prototype._positionItem=function(a,b,c,d){d?a.goTo(b,c):a.moveTo(b,c)},q.prototype._postLayout=function(){this.resizeContainer()},q.prototype.resizeContainer=function(){if(this.options.isResizingContainer){var a=this._getContainerSize();a&&(this._setContainerMeasure(a.width,!0),this._setContainerMeasure(a.height,!1))}},q.prototype._getContainerSize=k,q.prototype._setContainerMeasure=function(a,b){if(void 0!==a){var c=this.size;c.isBorderBox&&(a+=b?c.paddingLeft+c.paddingRight+c.borderLeftWidth+c.borderRightWidth:c.paddingBottom+c.paddingTop+c.borderTopWidth+c.borderBottomWidth),a=Math.max(a,0),this.element.style[b?"width":"height"]=a+"px"}},q.prototype._itemsOn=function(a,b,c){function d(){return e++,e===f&&c.call(g),!0}for(var e=0,f=a.length,g=this,h=0,i=a.length;i>h;h++){var j=a[h];j.on(b,d)}},q.prototype.ignore=function(a){var b=this.getItem(a);b&&(b.isIgnored=!0)},q.prototype.unignore=function(a){var b=this.getItem(a);b&&delete b.isIgnored},q.prototype.stamp=function(a){if(a=this._find(a)){this.stamps=this.stamps.concat(a);for(var b=0,c=a.length;c>b;b++){var d=a[b];this.ignore(d)}}},q.prototype.unstamp=function(a){if(a=this._find(a))for(var b=0,c=a.length;c>b;b++){var d=a[b];e(d,this.stamps),this.unignore(d)}},q.prototype._find=function(a){return a?("string"==typeof a&&(a=this.element.querySelectorAll(a)),a=d(a)):void 0},q.prototype._manageStamps=function(){if(this.stamps&&this.stamps.length){this._getBoundingRect();for(var a=0,b=this.stamps.length;b>a;a++){var c=this.stamps[a];this._manageStamp(c)}}},q.prototype._getBoundingRect=function(){var a=this.element.getBoundingClientRect(),b=this.size;this._boundingRect={left:a.left+b.paddingLeft+b.borderLeftWidth,top:a.top+b.paddingTop+b.borderTopWidth,right:a.right-(b.paddingRight+b.borderRightWidth),bottom:a.bottom-(b.paddingBottom+b.borderBottomWidth)}},q.prototype._manageStamp=k,q.prototype._getElementOffset=function(a){var b=a.getBoundingClientRect(),c=this._boundingRect,d=n(a),e={left:b.left-c.left-d.marginLeft,top:b.top-c.top-d.marginTop,right:c.right-b.right-d.marginRight,bottom:c.bottom-b.bottom-d.marginBottom};return e},q.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},q.prototype.bindResize=function(){this.isResizeBound||(c.bind(a,"resize",this),this.isResizeBound=!0)},q.prototype.unbindResize=function(){this.isResizeBound&&c.unbind(a,"resize",this),this.isResizeBound=!1},q.prototype.onresize=function(){function a(){b.resize(),delete b.resizeTimeout}this.resizeTimeout&&clearTimeout(this.resizeTimeout);var b=this;this.resizeTimeout=setTimeout(a,100)},q.prototype.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},q.prototype.needsResizeLayout=function(){var a=n(this.element),b=this.size&&a;return b&&a.innerWidth!==this.size.innerWidth},q.prototype.addItems=function(a){var b=this._itemize(a);return b.length&&(this.items=this.items.concat(b)),b},q.prototype.appended=function(a){var b=this.addItems(a);b.length&&(this.layoutItems(b,!0),this.reveal(b))},q.prototype.prepended=function(a){var b=this._itemize(a);if(b.length){var c=this.items.slice(0);this.items=b.concat(c),this._resetLayout(),this._manageStamps(),this.layoutItems(b,!0),this.reveal(b),this.layoutItems(c)}},q.prototype.reveal=function(a){var b=a&&a.length;if(b)for(var c=0;b>c;c++){var d=a[c];d.reveal()}},q.prototype.hide=function(a){var b=a&&a.length;if(b)for(var c=0;b>c;c++){var d=a[c];d.hide()}},q.prototype.getItem=function(a){for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];if(d.element===a)return d}},q.prototype.getItems=function(a){if(a&&a.length){for(var b=[],c=0,d=a.length;d>c;c++){var e=a[c],f=this.getItem(e);f&&b.push(f)}return b}},q.prototype.remove=function(a){a=d(a);var b=this.getItems(a);if(b&&b.length){this._itemsOn(b,"remove",function(){this.emitEvent("removeComplete",[this,b])});for(var c=0,f=b.length;f>c;c++){var g=b[c];g.remove(),e(g,this.items)}}},q.prototype.destroy=function(){var a=this.element.style;a.height="",a.position="",a.width="";for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];d.destroy()}this.unbindResize();var e=this.element.outlayerGUID;delete s[e],delete this.element.outlayerGUID,j&&j.removeData(this.element,this.constructor.namespace)},q.data=function(a){var b=a&&a.outlayerGUID;return b&&s[b]},q.create=function(a,c){function d(){q.apply(this,arguments)}return Object.create?d.prototype=Object.create(q.prototype):b(d.prototype,q.prototype),d.prototype.constructor=d,d.defaults=b({},q.defaults),b(d.defaults,c),d.prototype.settings={},d.namespace=a,d.data=q.data,d.Item=function(){p.apply(this,arguments)},d.Item.prototype=new p,g(function(){for(var b=f(a),c=h.querySelectorAll(".js-"+b),e="data-"+b+"-options",g=0,k=c.length;k>g;g++){var l,m=c[g],n=m.getAttribute(e);try{l=n&&JSON.parse(n)}catch(o){i&&i.error("Error parsing "+e+" on "+m.nodeName.toLowerCase()+(m.id?"#"+m.id:"")+": "+o);continue}var p=new d(m,l);j&&j.data(m,a,p)}}),j&&j.bridget&&j.bridget(a,d),d},q.Item=p,q}var h=a.document,i=a.console,j=a.jQuery,k=function(){},l=Object.prototype.toString,m="function"==typeof HTMLElement||"object"==typeof HTMLElement?function(a){return a instanceof HTMLElement}:function(a){return a&&"object"==typeof a&&1===a.nodeType&&"string"==typeof a.nodeName},n=Array.prototype.indexOf?function(a,b){return a.indexOf(b)}:function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1};"function"==typeof define&&define.amd?define("outlayer/outlayer",["eventie/eventie","doc-ready/doc-ready","eventEmitter/EventEmitter","get-size/get-size","matches-selector/matches-selector","./item"],g):"object"==typeof exports?module.exports=g(require("eventie"),require("doc-ready"),require("wolfy87-eventemitter"),require("get-size"),require("desandro-matches-selector"),require("./item")):a.Outlayer=g(a.eventie,a.docReady,a.EventEmitter,a.getSize,a.matchesSelector,a.Outlayer.Item)}(window),function(a){function b(a,b){var d=a.create("masonry");return d.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns();var a=this.cols;for(this.colYs=[];a--;)this.colYs.push(0);this.maxY=0},d.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var a=this.items[0],c=a&&a.element;this.columnWidth=c&&b(c).outerWidth||this.containerWidth}this.columnWidth+=this.gutter,this.cols=Math.floor((this.containerWidth+this.gutter)/this.columnWidth),this.cols=Math.max(this.cols,1)},d.prototype.getContainerWidth=function(){var a=this.options.isFitWidth?this.element.parentNode:this.element,c=b(a);this.containerWidth=c&&c.innerWidth},d.prototype._getItemLayoutPosition=function(a){a.getSize();var b=a.size.outerWidth%this.columnWidth,d=b&&1>b?"round":"ceil",e=Math[d](a.size.outerWidth/this.columnWidth);e=Math.min(e,this.cols);for(var f=this._getColGroup(e),g=Math.min.apply(Math,f),h=c(f,g),i={x:this.columnWidth*h,y:g},j=g+a.size.outerHeight,k=this.cols+1-f.length,l=0;k>l;l++)this.colYs[h+l]=j;return i},d.prototype._getColGroup=function(a){if(2>a)return this.colYs;for(var b=[],c=this.cols+1-a,d=0;c>d;d++){var e=this.colYs.slice(d,d+a);b[d]=Math.max.apply(Math,e)}return b},d.prototype._manageStamp=function(a){var c=b(a),d=this._getElementOffset(a),e=this.options.isOriginLeft?d.left:d.right,f=e+c.outerWidth,g=Math.floor(e/this.columnWidth);g=Math.max(0,g);var h=Math.floor(f/this.columnWidth);h-=f%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var i=(this.options.isOriginTop?d.top:d.bottom)+c.outerHeight,j=g;h>=j;j++)this.colYs[j]=Math.max(i,this.colYs[j])},d.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var a={height:this.maxY};return this.options.isFitWidth&&(a.width=this._getContainerFitWidth()),a},d.prototype._getContainerFitWidth=function(){for(var a=0,b=this.cols;--b&&0===this.colYs[b];)a++;return(this.cols-a)*this.columnWidth-this.gutter},d.prototype.needsResizeLayout=function(){var a=this.containerWidth;return this.getContainerWidth(),a!==this.containerWidth},d}var c=Array.prototype.indexOf?function(a,b){return a.indexOf(b)}:function(a,b){for(var c=0,d=a.length;d>c;c++){var e=a[c];if(e===b)return c}return-1};"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size"],b):"object"==typeof exports?module.exports=b(require("outlayer"),require("get-size")):a.Masonry=b(a.Outlayer,a.getSize)}(window);
 
 
 
 
 
 
 
 
 
grid-items/nav-bottom-new.php CHANGED
@@ -37,10 +37,20 @@ if($grid_type=='grid'){
37
  if($pagination_type=='normal'){
38
 
39
 
40
- $html.= '<div class="paginate">';
41
 
42
- $big = 999999999; // need an unlikely integer
43
- global $paged;
 
 
 
 
 
 
 
 
 
 
44
 
45
  $html.= paginate_links( array(
46
  'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
37
  if($pagination_type=='normal'){
38
 
39
 
40
+ $html.= '<div class="paginate">';
41
 
42
+ $big = 999999999; // need an unlikely integer
43
+ global $paged;
44
+
45
+ if(empty($paged)){
46
+ if ( get_query_var('paged') ) {
47
+ $paged = get_query_var('paged');
48
+ } elseif ( get_query_var('page') ) {
49
+ $paged = get_query_var('page');
50
+ } else {
51
+ $paged = 1;
52
+ }
53
+ }
54
 
55
  $html.= paginate_links( array(
56
  'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
grid-items/variables.php CHANGED
@@ -497,7 +497,7 @@ if ( ! defined('ABSPATH')) exit; // if direct access
497
  $pagination_theme = $post_grid_meta_options['nav_bottom']['pagination_theme'];
498
  }
499
  else{
500
- $pagination_theme = 'lite';
501
 
502
  }
503
 
497
  $pagination_theme = $post_grid_meta_options['nav_bottom']['pagination_theme'];
498
  }
499
  else{
500
+ $pagination_theme = 'dark';
501
 
502
  }
503
 
includes/meta.php CHANGED
@@ -533,14 +533,7 @@ function meta_boxes_post_grid_input( $post ) {
533
 
534
  }
535
 
536
- if(!empty($post_grid_meta_options['slider_navs_positon'])){
537
-
538
- $slider_navs_positon = $post_grid_meta_options['slider_navs_positon'];
539
- }
540
- else{
541
- $slider_navs_positon = 'middle';
542
-
543
- }
544
 
545
  if(!empty($post_grid_meta_options['slider_navs_style'])){
546
 
@@ -758,7 +751,7 @@ function meta_boxes_post_grid_input( $post ) {
758
  $pagination_theme = $post_grid_meta_options['nav_bottom']['pagination_theme'];
759
  }
760
  else{
761
- $pagination_theme = 'lite';
762
 
763
  }
764
 
@@ -1556,192 +1549,9 @@ jQuery(document).ready(function($)
1556
  <div class="option-box">
1557
  <p class="option-title"><?php _e('Grid Type','post-grid'); ?></p>
1558
  <p class="option-info"><?php _e('Select grid type.','post-grid'); ?></p>
1559
-
1560
- <div class="grid-canvas">
1561
-
1562
-
1563
-
1564
- <label><input class="grid_type" <?php if($grid_type=='grid') echo 'checked'; ?> type="radio" name="post_grid_meta_options[grid_type]" value="grid" />Grid</label>
1565
 
1566
 
1567
- <div class="grid-preview">
1568
-
1569
- <div class="grid-type-grid grid-type" style="display:<?php if($grid_type=='grid') echo 'block'; else echo 'none'; ?>" >
1570
-
1571
- <div class="nav-top-search">
1572
- <input type="text" placeholder="Search" value="" />
1573
-
1574
- </div>
1575
-
1576
- <!--
1577
- <div class="per-page-count">
1578
- <select >
1579
- <option >10</option>
1580
- <option >20</option>
1581
- <option >30</option>
1582
- </select>
1583
-
1584
- </div>
1585
-
1586
- -->
1587
-
1588
-
1589
-
1590
- <div class="items">
1591
- <div class="item">
1592
- <?php
1593
-
1594
- include post_grid_plugin_dir.'skins/index.php';
1595
- ?>
1596
- </div>
1597
-
1598
- <div class="item">
1599
- <?php
1600
-
1601
- include post_grid_plugin_dir.'skins/index.php';
1602
- ?>
1603
- </div>
1604
-
1605
- <div class="item">
1606
- <?php
1607
-
1608
- include post_grid_plugin_dir.'skins/index.php';
1609
- ?>
1610
- </div>
1611
- </div>
1612
-
1613
-
1614
- <div class="pagination">
1615
-
1616
- <div class="pagination-none pagination-type">
1617
-
1618
- </div>
1619
-
1620
- <div class="pagination-normal pagination-type">
1621
- <div class="page">Next </div><div class="page">1</div><div class="page">2</div><div class="page">3</div><div class="page">Prev </div>
1622
- </div>
1623
-
1624
- <div class="pagination-jquery pagination-type">
1625
- <div class="page"><i class="fa fa-angle-double-left"></i></div><div class="page">1</div><div class="page">2</div><div class="page">3</div><div class="page"> <i class="fa fa-angle-double-right"></i></div>
1626
- </div>
1627
-
1628
- <div class="pagination-loadmore pagination-type">
1629
- <div class="page">Load more</div>
1630
- </div>
1631
-
1632
- <div class="pagination-infinite pagination-type">
1633
- <div class="page">Infinite Scroll <i class="fa fa-arrow-down"></i></div>
1634
- </div>
1635
-
1636
- </div>
1637
-
1638
- </div>
1639
-
1640
- <div class="grid-type-filterable grid-type" style="display:<?php if($grid_type=='filterable') echo 'block'; else echo 'none'; ?>">
1641
-
1642
- <div class="filter-menu yes">
1643
- <div class="filter">All</div><div class="filter">Menu 1</div><div class="filter">Menu 2</div><div class="filter">Menu 3</div>
1644
- </div>
1645
-
1646
-
1647
- <div class="items">
1648
-
1649
- <div class="item">
1650
- <?php
1651
-
1652
- include post_grid_plugin_dir.'skins/index.php';
1653
- ?>
1654
- </div>
1655
-
1656
- <div class="item">
1657
- <?php
1658
-
1659
- include post_grid_plugin_dir.'skins/index.php';
1660
- ?>
1661
- </div>
1662
-
1663
- <div class="item">
1664
- <?php
1665
-
1666
- include post_grid_plugin_dir.'skins/index.php';
1667
- ?>
1668
- </div>
1669
-
1670
-
1671
-
1672
-
1673
-
1674
- </div>
1675
-
1676
- <div class="pagination">
1677
-
1678
- <div class="pagination-none pagination-type">
1679
-
1680
- </div>
1681
-
1682
- <div class="pagination-jquery pagination-type">
1683
- <div class="page"><i class="fa fa-angle-double-left"></i></div><div class="page">1</div><div class="page">2</div><div class="page">3</div><div class="page"> <i class="fa fa-angle-double-right"></i></div>
1684
- </div>
1685
-
1686
-
1687
- </div>
1688
-
1689
-
1690
- </div>
1691
-
1692
- <div class="grid-type-slider grid-type" style="display:<?php if($grid_type=='slider') echo 'block'; else echo 'none'; ?>">
1693
-
1694
- <div class="navs slider-navs <?php echo $slider_navs_positon; ?>" style="display:<?php if($slider_navs=='true') echo 'block'; else echo 'none'; ?>">
1695
- <div class="nav next"><i class="fa fa-angle-double-right"></i></div>
1696
- <div class="nav prev"><i class="fa fa-angle-double-left"></i> </div>
1697
-
1698
- </div>
1699
-
1700
- <div class="items">
1701
- <div class="item">
1702
- <?php
1703
-
1704
- include post_grid_plugin_dir.'skins/index.php';
1705
- ?>
1706
- </div>
1707
-
1708
- <div class="item">
1709
- <?php
1710
-
1711
- include post_grid_plugin_dir.'skins/index.php';
1712
- ?>
1713
- </div>
1714
-
1715
- <div class="item">
1716
- <?php
1717
-
1718
- include post_grid_plugin_dir.'skins/index.php';
1719
- ?>
1720
- </div>
1721
- </div>
1722
-
1723
- <div class="dots slider-dots <?php echo $slider_dots_style; ?>" style="display:<?php if($slider_dots=='true') echo 'block'; else echo 'none'; ?>" >
1724
- <div class="dot"></div><div class="dot"></div><div class="dot"></div>
1725
- </div>
1726
-
1727
-
1728
- </div>
1729
-
1730
- </div>
1731
-
1732
-
1733
-
1734
-
1735
-
1736
-
1737
-
1738
-
1739
-
1740
-
1741
-
1742
- </div>
1743
-
1744
-
1745
 
1746
  </div>
1747
 
533
 
534
  }
535
 
536
+
 
 
 
 
 
 
 
537
 
538
  if(!empty($post_grid_meta_options['slider_navs_style'])){
539
 
751
  $pagination_theme = $post_grid_meta_options['nav_bottom']['pagination_theme'];
752
  }
753
  else{
754
+ $pagination_theme = 'dark';
755
 
756
  }
757
 
1549
  <div class="option-box">
1550
  <p class="option-title"><?php _e('Grid Type','post-grid'); ?></p>
1551
  <p class="option-info"><?php _e('Select grid type.','post-grid'); ?></p>
1552
+ <label><input class="grid_type" <?php if($grid_type=='grid') echo 'checked'; ?> type="radio" name="post_grid_meta_options[grid_type]" value="grid" />Grid</label>
 
 
 
 
 
1553
 
1554
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1555
 
1556
  </div>
1557
 
post-grid.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Post Grid
4
  Plugin URI: https://www.pickplugins.com/item/post-grid-create-awesome-grid-from-any-post-type-for-wordpress/?ref=dashboard
5
  Description: Awesome post grid for query post from any post type and display on grid.
6
- Version: 2.0.28
7
  WC requires at least: 3.0.0
8
  WC tested up to: 3.3
9
  Author: PickPlugins
@@ -30,7 +30,7 @@ class PostGrid{
30
  define('post_grid_conatct_url', 'https://pickplugins.com/contact/' );
31
  define('post_grid_qa_url', 'https://www.pickplugins.com/questions/' );
32
  define('post_grid_plugin_name', 'Post Grid' );
33
- define('post_grid_version', '2.0.28' );
34
  define('post_grid_customer_type', 'free' );
35
  define('post_grid_share_url', 'https://wordpress.org/plugins/post-grid/' );
36
 
@@ -109,22 +109,19 @@ class PostGrid{
109
 
110
  public function post_grid_scripts_front(){
111
  wp_enqueue_script('jquery');
 
 
112
 
113
  wp_enqueue_style('post_grid_style', post_grid_plugin_url.'assets/frontend/css/style-new.css');
114
  wp_enqueue_script('post_grid_scripts', plugins_url( '/assets/frontend/js/scripts.js' , __FILE__ ) , array( 'jquery' ));
115
  wp_localize_script('post_grid_scripts', 'post_grid_ajax', array( 'post_grid_ajaxurl' => admin_url( 'admin-ajax.php')));
116
-
117
-
118
- wp_enqueue_script('masonry.pkgd.min', plugins_url( '/assets/frontend/js/masonry.pkgd.min.js' , __FILE__ ) , array( 'jquery' ));
119
 
120
  wp_enqueue_script('owl.carousel.min', plugins_url( '/assets/frontend/js/owl.carousel.min.js' , __FILE__ ) , array( 'jquery' ));
121
  wp_enqueue_style('owl.carousel', post_grid_plugin_url.'assets/frontend/css/owl.carousel.css');
122
 
123
  wp_enqueue_style('font-awesome', post_grid_plugin_url.'assets/frontend/css/font-awesome.min.css');
124
  wp_enqueue_style('style-woocommerce', post_grid_plugin_url.'assets/frontend/css/style-woocommerce.css');
125
- //wp_enqueue_style('animate', post_grid_plugin_url.'assets/frontend/css/animate.css');
126
-
127
- wp_enqueue_script('imagesloaded.pkgd.js', plugins_url( '/assets/frontend/js/imagesloaded.pkgd.js' , __FILE__ ) , array( 'jquery' ));
128
 
129
  wp_enqueue_style('style.skins', post_grid_plugin_url.'assets/global/css/style.skins.css');
130
  wp_enqueue_style('style.layout', post_grid_plugin_url.'assets/global/css/style.layout.css');
@@ -147,19 +144,32 @@ class PostGrid{
147
  //ParaAdmin
148
  wp_enqueue_style('ParaAdmin', post_grid_plugin_url.'assets/admin/ParaAdmin/css/ParaAdmin.css');
149
  wp_enqueue_script('ParaAdmin', plugins_url( 'assets/admin/ParaAdmin/js/ParaAdmin.js' , __FILE__ ) , array( 'jquery' ));
150
- wp_enqueue_style('font-awesome', post_grid_plugin_url.'assets/frontend/css/font-awesome.min.css');
151
-
152
- wp_enqueue_script('codemirror', plugins_url( 'assets/admin/js/codemirror.js' , __FILE__ ) , array( 'jquery' ));
153
- wp_enqueue_script('simplescrollbars', plugins_url( 'assets/admin/js/simplescrollbars.js' , __FILE__ ) , array( 'jquery' ));
154
- wp_enqueue_script('css', plugins_url( 'assets/admin/js/css.js' , __FILE__ ) , array( 'jquery' ));
155
- wp_enqueue_script('javascript', plugins_url( 'assets/admin/js/javascript.js' , __FILE__ ) , array( 'jquery' ));
156
- wp_enqueue_style('codemirror', post_grid_plugin_url.'assets/admin/css/codemirror.css');
157
- wp_enqueue_style('simplescrollbars', post_grid_plugin_url.'assets/admin/css/simplescrollbars.css');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
158
 
159
  wp_enqueue_script('layout-editor', plugins_url( 'assets/admin/js/layout-editor.js' , __FILE__ ) , array( 'jquery' ));
160
 
161
- wp_enqueue_style('style.skins', post_grid_plugin_url.'assets/global/css/style.skins.css');
162
- wp_enqueue_style('style.layout', post_grid_plugin_url.'assets/global/css/style.layout.css');
163
 
164
  wp_enqueue_style( 'wp-color-picker' );
165
  wp_enqueue_script( 'post_grid_color_picker', plugins_url('/assets/admin/js/color-picker.js', __FILE__ ), array( 'wp-color-picker' ), false, true );
3
  Plugin Name: Post Grid
4
  Plugin URI: https://www.pickplugins.com/item/post-grid-create-awesome-grid-from-any-post-type-for-wordpress/?ref=dashboard
5
  Description: Awesome post grid for query post from any post type and display on grid.
6
+ Version: 2.0.30
7
  WC requires at least: 3.0.0
8
  WC tested up to: 3.3
9
  Author: PickPlugins
30
  define('post_grid_conatct_url', 'https://pickplugins.com/contact/' );
31
  define('post_grid_qa_url', 'https://www.pickplugins.com/questions/' );
32
  define('post_grid_plugin_name', 'Post Grid' );
33
+ define('post_grid_version', '2.0.30' );
34
  define('post_grid_customer_type', 'free' );
35
  define('post_grid_share_url', 'https://wordpress.org/plugins/post-grid/' );
36
 
109
 
110
  public function post_grid_scripts_front(){
111
  wp_enqueue_script('jquery');
112
+ wp_enqueue_script('jquery-masonry');
113
+
114
 
115
  wp_enqueue_style('post_grid_style', post_grid_plugin_url.'assets/frontend/css/style-new.css');
116
  wp_enqueue_script('post_grid_scripts', plugins_url( '/assets/frontend/js/scripts.js' , __FILE__ ) , array( 'jquery' ));
117
  wp_localize_script('post_grid_scripts', 'post_grid_ajax', array( 'post_grid_ajaxurl' => admin_url( 'admin-ajax.php')));
118
+
 
 
119
 
120
  wp_enqueue_script('owl.carousel.min', plugins_url( '/assets/frontend/js/owl.carousel.min.js' , __FILE__ ) , array( 'jquery' ));
121
  wp_enqueue_style('owl.carousel', post_grid_plugin_url.'assets/frontend/css/owl.carousel.css');
122
 
123
  wp_enqueue_style('font-awesome', post_grid_plugin_url.'assets/frontend/css/font-awesome.min.css');
124
  wp_enqueue_style('style-woocommerce', post_grid_plugin_url.'assets/frontend/css/style-woocommerce.css');
 
 
 
125
 
126
  wp_enqueue_style('style.skins', post_grid_plugin_url.'assets/global/css/style.skins.css');
127
  wp_enqueue_style('style.layout', post_grid_plugin_url.'assets/global/css/style.layout.css');
144
  //ParaAdmin
145
  wp_enqueue_style('ParaAdmin', post_grid_plugin_url.'assets/admin/ParaAdmin/css/ParaAdmin.css');
146
  wp_enqueue_script('ParaAdmin', plugins_url( 'assets/admin/ParaAdmin/js/ParaAdmin.js' , __FILE__ ) , array( 'jquery' ));
147
+ wp_enqueue_style('font-awesome', post_grid_plugin_url.'assets/frontend/css/font-awesome.min.css');
148
+
149
+
150
+
151
+ global $post;
152
+
153
+ if( !empty($post) && $post->post_type=='post_grid' ){
154
+ wp_enqueue_script('codemirror', plugins_url( 'assets/admin/js/codemirror.js' , __FILE__ ) , array( 'jquery' ));
155
+ wp_enqueue_script('simplescrollbars', plugins_url( 'assets/admin/js/simplescrollbars.js' , __FILE__ ) , array( 'jquery' ));
156
+ wp_enqueue_script('css', plugins_url( 'assets/admin/js/css.js' , __FILE__ ) , array( 'jquery' ));
157
+ wp_enqueue_script('javascript', plugins_url( 'assets/admin/js/javascript.js' , __FILE__ ) , array( 'jquery' ));
158
+ wp_enqueue_style('codemirror', post_grid_plugin_url.'assets/admin/css/codemirror.css');
159
+ wp_enqueue_style('simplescrollbars', post_grid_plugin_url.'assets/admin/css/simplescrollbars.css');
160
+
161
+ wp_enqueue_style('style.skins', post_grid_plugin_url.'assets/global/css/style.skins.css');
162
+ wp_enqueue_style('style.layout', post_grid_plugin_url.'assets/global/css/style.layout.css');
163
+ }
164
+
165
+
166
+
167
+
168
+
169
 
170
  wp_enqueue_script('layout-editor', plugins_url( 'assets/admin/js/layout-editor.js' , __FILE__ ) , array( 'jquery' ));
171
 
172
+
 
173
 
174
  wp_enqueue_style( 'wp-color-picker' );
175
  wp_enqueue_script( 'post_grid_color_picker', plugins_url('/assets/admin/js/color-picker.js', __FILE__ ), array( 'wp-color-picker' ), false, true );
readme.txt CHANGED
@@ -3,8 +3,8 @@
3
  Donate link: https://www.pickplugins.com/item/post-grid-create-awesome-grid-from-any-post-type-for-wordpress/?ref=wordpress.org
4
  Tags: post grid, grid, custom post grid, post type grid, grid display, category filter, custom post, filter, filtering, grid, layout, list, masonry, post, post filter, post layout, taxonomy, taxonomy filter,
5
  Requires at least: 3.8
6
- Tested up to: 4.9
7
- Stable tag: 2.0.28
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -18,7 +18,7 @@ Create post grid form any custom post type, You will be thrilled to see how its
18
 
19
  * [See the Live demo](http://www.pickplugins.com/demo/post-grid/?ref=wordpress.org)
20
  * [Buy Premium](https://www.pickplugins.com/item/post-grid-create-awesome-grid-from-any-post-type-for-wordpress/?ref=wordpress.org)
21
- * [Documentation](http://pickplugins.com/docs/documentation/post-grid/?ref=wordpress.org)
22
  * [Support](https://www.pickplugins.com/support/?ref=wordpress.org)
23
 
24
 
@@ -105,6 +105,14 @@ then paste this shortcode anywhere in your page to display grid<br />
105
  == Changelog ==
106
 
107
 
 
 
 
 
 
 
 
 
108
  = 2.0.28 =
109
  * 18/08/2018 fix - pagination issue fixed.
110
 
3
  Donate link: https://www.pickplugins.com/item/post-grid-create-awesome-grid-from-any-post-type-for-wordpress/?ref=wordpress.org
4
  Tags: post grid, grid, custom post grid, post type grid, grid display, category filter, custom post, filter, filtering, grid, layout, list, masonry, post, post filter, post layout, taxonomy, taxonomy filter,
5
  Requires at least: 3.8
6
+ Tested up to: 5.1
7
+ Stable tag: 2.0.30
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
18
 
19
  * [See the Live demo](http://www.pickplugins.com/demo/post-grid/?ref=wordpress.org)
20
  * [Buy Premium](https://www.pickplugins.com/item/post-grid-create-awesome-grid-from-any-post-type-for-wordpress/?ref=wordpress.org)
21
+ * [Documentation](http://pickplugins.com/documentation/post-grid/?ref=wordpress.org)
22
  * [Support](https://www.pickplugins.com/support/?ref=wordpress.org)
23
 
24
 
105
  == Changelog ==
106
 
107
 
108
+ = 2.0.30 =
109
+ * 21/01/2019 fix - Pagination bug fixed.
110
+
111
+ = 2.0.29 =
112
+ * 07/09/2018 remove - Removed masonry.js file form plugin used default WP jquery-masonry
113
+ * 07/09/2018 update - Remove some js & css file loaded globaly, only loaded under post grid edit page.
114
+
115
+
116
  = 2.0.28 =
117
  * 18/08/2018 fix - pagination issue fixed.
118