From 47895d4e068285cd0df7fdab633c40a512286260 Mon Sep 17 00:00:00 2001 From: Lucas Bonomi <lucas.bonomi@gmail.com> Date: Fri, 22 Mar 2019 22:51:37 +0100 Subject: [PATCH 1/3] Update README.md Added missing comma --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5b5c749..270ecf0 100644 --- a/README.md +++ b/README.md @@ -116,7 +116,7 @@ let magicGrid = new MagicGrid({ gutter: 30, // Optional. Space between items. Default: 25(px). maxColumns: 5, // Optional. Maximum number of columns. Default: Infinite. useMin: true, // Optional. Prioritize shorter columns when positioning items. Default: false. - useTransform: true // Optional. Position items using CSS transform. Default: True. + useTransform: true, // Optional. Position items using CSS transform. Default: True. animate: true, // Optional. Animate item positioning. Default: false. }); ``` From ee87c3f33c74df72259fef1a790a0e0692205410 Mon Sep 17 00:00:00 2001 From: Emmanuel Olaojo <e-oj@users.noreply.github.com> Date: Thu, 15 Aug 2019 19:18:22 -0400 Subject: [PATCH 2/3] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 270ecf0..6abc72f 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ [](https://www.npmjs.com/package/magic-grid) [](https://www.npmjs.com/package/magic-grid) +[](https://www.npmjs.com/package/magic-grid) # Magic Grid [](https://twitter.com/intent/tweet?text=Magic%20Grid%20-%20A%20simple,%20lightweight%20Javascript%20library%20for%20dynamic%20grid%20layouts.&url=https://github.com/e-oj/Magic-Grid&hashtags=MagicGrid,GridLayout,JS) ## A simple, lightweight Javascript library for dynamic grid layouts. From 8c4e4005cef0a210dd7c65f604eac32fa2ad939b Mon Sep 17 00:00:00 2001 From: "e.bondarev" <e.bondarev@inventos.ru> Date: Wed, 6 Nov 2019 10:58:00 +0300 Subject: [PATCH 3/3] Fix getMin for support IE --- dist/magic-grid.cjs.js | 4 ++-- dist/magic-grid.esm.js | 4 ++-- dist/magic-grid.min.js | 2 +- src/utils.js | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dist/magic-grid.cjs.js b/dist/magic-grid.cjs.js index 0815b5c..2446b61 100644 --- a/dist/magic-grid.cjs.js +++ b/dist/magic-grid.cjs.js @@ -51,8 +51,8 @@ var error = function (prop) { var getMin = function (cols) { var min = cols[0]; - for (var col of cols) { - if (col.height < min.height) { min = col; } + for (var i = 0; i < cols.length; i++) { + if (cols[i].height < min.height) { min = cols[i]; } } return min; diff --git a/dist/magic-grid.esm.js b/dist/magic-grid.esm.js index 40cd064..03f4dfb 100644 --- a/dist/magic-grid.esm.js +++ b/dist/magic-grid.esm.js @@ -49,8 +49,8 @@ var error = function (prop) { var getMin = function (cols) { var min = cols[0]; - for (var col of cols) { - if (col.height < min.height) { min = col; } + for (var i = 0; i < cols.length; i++) { + if (cols[i].height < min.height) { min = cols[i]; } } return min; diff --git a/dist/magic-grid.min.js b/dist/magic-grid.min.js index 615fa64..b70c1f5 100644 --- a/dist/magic-grid.min.js +++ b/dist/magic-grid.min.js @@ -1 +1 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.MagicGrid=e()}(this,function(){"use strict";var t=function(t){if(!t)throw new Error("No config object has been provided.");"boolean"!=typeof t.useTransform&&(t.useTransform=!0),"number"!=typeof t.gutter&&(t.gutter=25),t.container||e("container"),t.items||t.static||e("items or static")},e=function(t){throw new Error("Missing property '"+t+"' in MagicGrid config")},i=function(t){var e=t[0];for(var i of t)i.height<e.height&&(e=i);return e},n=function(e){t(e),e.container instanceof HTMLElement?(this.container=e.container,this.containerClass=e.container.className):(this.containerClass=e.container,this.container=document.querySelector(e.container)),this.items=this.container.children,this.static=e.static||!1,this.size=e.items,this.gutter=e.gutter,this.maxColumns=e.maxColumns||!1,this.useMin=e.useMin||!1,this.useTransform=e.useTransform,this.animate=e.animate||!1,this.started=!1,this.init()};return n.prototype.init=function(){if(this.ready()&&!this.started){this.container.style.position="relative";for(var t=0;t<this.items.length;t++){var e=this.items[t].style;e.position="absolute",this.animate&&(e.transition=(this.useTransform?"transform":"top, left")+" 0.2s ease")}this.started=!0}},n.prototype.colWidth=function(){return this.items[0].getBoundingClientRect().width+this.gutter},n.prototype.setup=function(){var t=this.container.getBoundingClientRect().width,e=this.colWidth(),i=Math.floor(t/e)||1,n=[];this.maxColumns&&i>this.maxColumns&&(i=this.maxColumns);for(var s=0;s<i;s++)n[s]={height:0,index:s};return{cols:n,wSpace:t-i*e+this.gutter}},n.prototype.nextCol=function(t,e){return this.useMin?i(t):t[e%t.length]},n.prototype.positionItems=function(){var t=this.setup(),e=t.cols,i=t.wSpace,n=0,s=this.colWidth();i=Math.floor(i/2);for(var o=0;o<this.items.length;o++){var r=this.nextCol(e,o),a=this.items[o],h=r.height?this.gutter:0,c=r.index*s+i+"px",u=r.height+h+"px";this.useTransform?a.style.transform="translate("+c+", "+u+")":(a.style.top=u,a.style.left=c),r.height+=a.getBoundingClientRect().height+h,r.height>n&&(n=r.height)}this.container.style.height=n+"px"},n.prototype.ready=function(){return!!this.static||this.items.length>=this.size},n.prototype.getReady=function(){var t=this,e=setInterval(function(){t.container=document.querySelector(t.containerClass),t.items=t.container.children,t.ready()&&(clearInterval(e),t.init(),t.listen())},100)},n.prototype.listen=function(){var t=this;if(this.ready()){var e;window.addEventListener("resize",function(){e||(e=setTimeout(function(){t.positionItems(),e=null},200))}),this.positionItems()}else this.getReady()},n}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.MagicGrid=e()}(this,function(){"use strict";var t=function(t){if(!t)throw new Error("No config object has been provided.");"boolean"!=typeof t.useTransform&&(t.useTransform=!0),"number"!=typeof t.gutter&&(t.gutter=25),t.container||e("container"),t.items||t.static||e("items or static")},e=function(t){throw new Error("Missing property '"+t+"' in MagicGrid config")},i=function(t){for(var e=t[0],i=0;i<t.length;i++)t[i].height<e.height&&(e=t[i]);return e},n=function(e){t(e),e.container instanceof HTMLElement?(this.container=e.container,this.containerClass=e.container.className):(this.containerClass=e.container,this.container=document.querySelector(e.container)),this.items=this.container.children,this.static=e.static||!1,this.size=e.items,this.gutter=e.gutter,this.maxColumns=e.maxColumns||!1,this.useMin=e.useMin||!1,this.useTransform=e.useTransform,this.animate=e.animate||!1,this.started=!1,this.init()};return n.prototype.init=function(){if(this.ready()&&!this.started){this.container.style.position="relative";for(var t=0;t<this.items.length;t++){var e=this.items[t].style;e.position="absolute",this.animate&&(e.transition=(this.useTransform?"transform":"top, left")+" 0.2s ease")}this.started=!0}},n.prototype.colWidth=function(){return this.items[0].getBoundingClientRect().width+this.gutter},n.prototype.setup=function(){var t=this.container.getBoundingClientRect().width,e=this.colWidth(),i=Math.floor(t/e)||1,n=[];this.maxColumns&&i>this.maxColumns&&(i=this.maxColumns);for(var s=0;s<i;s++)n[s]={height:0,index:s};return{cols:n,wSpace:t-i*e+this.gutter}},n.prototype.nextCol=function(t,e){return this.useMin?i(t):t[e%t.length]},n.prototype.positionItems=function(){var t=this.setup(),e=t.cols,i=t.wSpace,n=0,s=this.colWidth();i=Math.floor(i/2);for(var o=0;o<this.items.length;o++){var r=this.nextCol(e,o),a=this.items[o],h=r.height?this.gutter:0,c=r.index*s+i+"px",u=r.height+h+"px";this.useTransform?a.style.transform="translate("+c+", "+u+")":(a.style.top=u,a.style.left=c),r.height+=a.getBoundingClientRect().height+h,r.height>n&&(n=r.height)}this.container.style.height=n+"px"},n.prototype.ready=function(){return!!this.static||this.items.length>=this.size},n.prototype.getReady=function(){var t=this,e=setInterval(function(){t.container=document.querySelector(t.containerClass),t.items=t.container.children,t.ready()&&(clearInterval(e),t.init(),t.listen())},100)},n.prototype.listen=function(){var t=this;if(this.ready()){var e;window.addEventListener("resize",function(){e||(e=setTimeout(function(){t.positionItems(),e=null},200))}),this.positionItems()}else this.getReady()},n}); diff --git a/src/utils.js b/src/utils.js index d5aebca..4f75b23 100644 --- a/src/utils.js +++ b/src/utils.js @@ -49,8 +49,8 @@ const error = prop => { const getMin = cols => { let min = cols[0]; - for (let col of cols) { - if (col.height < min.height) min = col; + for (let i = 0; i < cols.length; i++) { + if (cols[i].height < min.height) min = cols[i]; } return min;