Skip to content

Commit d1c90cf

Browse files
committed
Merge commit '9d80ede0b90840f5ad3b06a30f9f0d2cc66a2891'
2 parents ba086c7 + 9d80ede commit d1c90cf

19 files changed

+354
-30
lines changed

.jscsrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@
1414
"validateLineBreaks": false,
1515
"requireTrailingComma": false,
1616
"disallowTrailingWhitespace": true,
17+
"requireCapitalizedComments": false,
1718
"excludeFiles": ["dist/*.js", "demo/*"]
1819
}

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ Join gridstack.js on Slack: https://gridstackjs.troolee.com
3333
- [Override resizable/draggable options](#override-resizabledraggable-options)
3434
- [IE8 support](#ie8-support)
3535
- [Nested grids](#nested-grids)
36+
- [Resizing active grid](#resizing-active-grid)
3637
- [Changes](#changes)
3738
- [v0.2.5-dev (Development version)](#v025-dev-development-version)
3839
- [v0.2.4 (2016-02-15)](#v024-2016-02-15)
@@ -426,6 +427,12 @@ during initialization.
426427
See example: [Nested grid demo](http://troolee.github.io/gridstack.js/demo/nested.html)
427428

428429

430+
## Resizing active grid
431+
432+
Resizing on-the-fly is possible, though experimental. This may be used to make gridstack responsive. gridstack will change the total number of columns and will attempt to update the width and x values of each widget to be more logical.
433+
See example: [Responsive grid demo](http://troolee.github.io/gridstack.js/demo/responsive.html)
434+
435+
429436
Changes
430437
=======
431438

@@ -444,6 +451,7 @@ Changes
444451
- fix `setStatic` method
445452
- add `setAnimation` method to API
446453
- add `setGridWidth` method ([#227](https://github.com/troolee/gridstack.js/issues/227))
454+
- add `removable`/`removeTimeout`
447455

448456
#### v0.2.4 (2016-02-15)
449457

demo/float.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
<title>Float grid demo</title>
1212

1313
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
14-
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.2.0/css/font-awesome.min.css"/>
1514
<link rel="stylesheet" href="../dist/gridstack.css"/>
1615

1716
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

demo/index.html

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8">
5+
<title>Demo</title>
6+
</head>
7+
<body>
8+
<ul>
9+
<li><a href="float.html">Float grid demo</a></li>
10+
<li><a href="knockout.js">Knockout.js demo</a></li>
11+
<li><a href="knockout2.js">Knockout.js demo (2)</a></li>
12+
<li><a href="nested.html">Nested grids demo</a></li>
13+
<li><a href="rtl.html">RTL demo</a></li>
14+
<li><a href="serialization.html">Serialization demo</a></li>
15+
<li><a href="two.html">Two grids demo</a></li>
16+
</ul>
17+
</body>
18+
</html>

demo/knockout.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
<title>Knockout.js demo</title>
1212

1313
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
14-
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.2.0/css/font-awesome.min.css"/>
1514
<link rel="stylesheet" href="../dist/gridstack.css"/>
1615

1716
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

demo/knockout2.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
<title>Knockout.js demo</title>
1212

1313
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
14-
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.2.0/css/font-awesome.min.css"/>
1514
<link rel="stylesheet" href="../dist/gridstack.css"/>
1615

1716
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

demo/nested.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
<title>Nested grids demo</title>
1212

1313
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
14-
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.2.0/css/font-awesome.min.css"/>
1514
<link rel="stylesheet" href="../dist/gridstack.css"/>
1615

1716
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

demo/responsive.html

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<!--[if lt IE 9]>
5+
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
6+
<![endif]-->
7+
8+
<meta charset="utf-8">
9+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
10+
<meta name="viewport" content="width=device-width, initial-scale=1">
11+
<title>Responsive grid demo</title>
12+
13+
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
14+
<link rel="stylesheet" href="../dist/gridstack.css"/>
15+
<link rel="stylesheet" href="../dist/gridstack-extra.css"/>
16+
17+
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
18+
<script src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.0/jquery-ui.js"></script>
19+
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
20+
<script src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/3.5.0/lodash.min.js"></script>
21+
<script src="../dist/gridstack.js"></script>
22+
23+
<style type="text/css">
24+
.grid-stack {
25+
background: lightgoldenrodyellow;
26+
}
27+
28+
.grid-stack-item-content {
29+
color: #2c3e50;
30+
text-align: center;
31+
background-color: #18bc9c;
32+
}
33+
</style>
34+
</head>
35+
<body>
36+
<div class="device-xs visible-xs"></div>
37+
<div class="device-sm visible-sm"></div>
38+
<div class="device-md visible-md"></div>
39+
<div class="device-lg visible-lg"></div>
40+
<div class="device-xl visible-xl"></div>
41+
<div class="container-fluid">
42+
<h1>Responsive grid demo</h1>
43+
44+
<div>
45+
<span>Number of Columns:</span> <span id="grid-size"></span>
46+
</div>
47+
48+
<br/>
49+
50+
<div class="grid-stack">
51+
</div>
52+
</div>
53+
54+
55+
<script type="text/javascript">
56+
$(function () {
57+
// thanks to http://stackoverflow.com/a/22885503
58+
var waitForFinalEvent=function(){var b={};return function(c,d,a){a||(a="I am a banana!");b[a]&&clearTimeout(b[a]);b[a]=setTimeout(c,d)}}();
59+
var fullDateString = new Date();
60+
function isBreakpoint(alias) {
61+
return $('.device-' + alias).is(':visible');
62+
}
63+
64+
65+
var options = {
66+
float: false
67+
};
68+
$('.grid-stack').gridstack(options);
69+
function resizeGrid() {
70+
var grid = $('.grid-stack').data('gridstack');
71+
if (isBreakpoint('xs')) {
72+
$('#grid-size').text('One column mode');
73+
} else if (isBreakpoint('sm')) {
74+
grid.setGridWidth(3);
75+
$('#grid-size').text(3);
76+
} else if (isBreakpoint('md')) {
77+
grid.setGridWidth(6);
78+
$('#grid-size').text(6);
79+
} else if (isBreakpoint('lg')) {
80+
grid.setGridWidth(12);
81+
$('#grid-size').text(12);
82+
}
83+
};
84+
$(window).resize(function () {
85+
waitForFinalEvent(function() {
86+
resizeGrid();
87+
}, 300, fullDateString.getTime());
88+
});
89+
90+
new function () {
91+
this.serializedData = [
92+
{x: 0, y: 0, width: 4, height: 2},
93+
{x: 3, y: 1, width: 4, height: 2},
94+
{x: 4, y: 1, width: 4, height: 1},
95+
{x: 2, y: 3, width: 8, height: 1},
96+
{x: 0, y: 4, width: 4, height: 1},
97+
{x: 0, y: 3, width: 4, height: 1},
98+
{x: 2, y: 4, width: 4, height: 1},
99+
{x: 2, y: 5, width: 4, height: 1},
100+
{x: 0, y: 6, width: 12, height: 1}
101+
];
102+
103+
this.grid = $('.grid-stack').data('gridstack');
104+
105+
this.loadGrid = function () {
106+
this.grid.removeAll();
107+
var items = GridStackUI.Utils.sort(this.serializedData);
108+
_.each(items, function (node, i) {
109+
this.grid.addWidget($('<div><div class="grid-stack-item-content">' + i + '</div></div>'),
110+
node.x, node.y, node.width, node.height);
111+
}, this);
112+
return false;
113+
}.bind(this);
114+
115+
this.loadGrid();
116+
resizeGrid();
117+
};
118+
});
119+
</script>
120+
</script>
121+
</body>
122+
</html>

demo/rtl.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
<title>RTL demo</title>
1212

1313
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
14-
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.2.0/css/font-awesome.min.css"/>
1514
<link rel="stylesheet" href="../dist/gridstack.css"/>
1615

1716
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

demo/serialization.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
<title>Serialization demo</title>
1212

1313
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
14-
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.2.0/css/font-awesome.min.css"/>
1514
<link rel="stylesheet" href="../dist/gridstack.css"/>
1615

1716
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

0 commit comments

Comments
 (0)