Skip to content

Commit b253aaa

Browse files
author
Alain Dumesny
committed
new gridstack.poly.js for IE and older browsers
* tiny file now part of all.js output. * removed core-js from samples (>85k zipped) as we only needed 2 methods anway * removed all IE8 mentions, updated docs. * tested on IE11, Chrome, Firefox, Edge
1 parent 905f6c8 commit b253aaa

17 files changed

+104
-155
lines changed

Gruntfile.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ module.exports = function(grunt) {
3838
'dist/gridstack.js': ['src/gridstack.js'],
3939
'dist/gridstack.d.ts': ['src/gridstack.d.ts'],
4040
'dist/gridstack.jQueryUI.js': ['src/gridstack.jQueryUI.js'],
41+
'dist/gridstack.poly.js': ['src/gridstack.poly.js'],
4142
}
4243
}
4344
},
@@ -52,7 +53,8 @@ module.exports = function(grunt) {
5253
files: {
5354
'dist/gridstack.min.js': ['src/gridstack.js'],
5455
'dist/gridstack.jQueryUI.min.js': ['src/gridstack.jQueryUI.js'],
55-
'dist/gridstack.all.js': ['src/gridstack.js', 'src/gridstack.jQueryUI.js']
56+
'dist/gridstack.poly.min.js': ['src/gridstack.poly.js'],
57+
'dist/gridstack.all.js': ['src/gridstack.poly.js', 'src/gridstack.js', 'src/gridstack.jQueryUI.js']
5658
}
5759
}
5860
},

README.md

Lines changed: 26 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ Join gridstack.js on Slack: https://gridstackjs.troolee.com
2929
- [Change grid columns](#change-grid-columns)
3030
- [Custom columns CSS](#custom-columns-css)
3131
- [Override resizable/draggable options](#override-resizabledraggable-options)
32-
- [IE8 support](#ie8-support)
3332
- [Changes](#changes)
3433
- [The Team](#the-team)
3534

@@ -48,7 +47,9 @@ Usage
4847
## Requirements
4948

5049
* [jQuery](http://jquery.com) (>= 3.1.0)
51-
* `Array.prototype.find` for IE and older browsers ([core.js](https://github.com/zloirock/core-js#ecmascript-6-array) allows to include specific polyfills)
50+
* `Array.prototype.find`, and `Number.isNaN()` for IE and older browsers. We supply a separate `gridstack.poly.js` for that
51+
(part of `gridstack.all.js`) or you can look at other pollyfills
52+
([core.js](https://github.com/zloirock/core-js#ecmascript-6-array) and [mozilla.org](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)).
5253

5354
#### Using gridstack.js with jQuery UI
5455

@@ -57,26 +58,27 @@ Usage
5758

5859
## Install
5960

60-
* In the browser:
61+
* Using CDN (minimized):
6162

6263
```html
63-
<link rel="stylesheet" href="gridstack.css" />
64-
<script src="gridstack.js"></script>
65-
<script src="gridstack.jQueryUI.js"></script>
64+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/gridstack@0.5.3/dist/gridstack.min.css" />
65+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/gridstack@0.5.3/dist/gridstack.all.js"></script>
6666
```
6767

68-
* Using CDN:
68+
* Using CDN (debug):
6969

7070
```html
71-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/gridstack@0.5.3/dist/gridstack.min.css" />
72-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/gridstack@0.5.3/dist/gridstack.min.js"></script>
73-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/gridstack@0.5.3/dist/gridstack.jQueryUI.min.js"></script>
71+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/gridstack@0.5.3/dist/gridstack.css" />
72+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/gridstack@0.5.3/dist/gridstack.js"></script>
73+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/gridstack@0.5.3/dist/gridstack.jQueryUI.js"></script>
7474
```
7575

76-
* Using bower:
76+
* or local:
7777

78-
```bash
79-
$ bower install gridstack
78+
```html
79+
<link rel="stylesheet" href="gridstack.css" />
80+
<script src="gridstack.js"></script>
81+
<script src="gridstack.jQueryUI.js"></script>
8082
```
8183

8284
* Using npm:
@@ -87,21 +89,23 @@ $ bower install gridstack
8789
$ npm install gridstack
8890
```
8991

90-
You can download source and build and use `dist` directory as well for latest non published code.
92+
* Using bower:
93+
94+
```bash
95+
$ bower install gridstack
96+
```
97+
98+
You can also download source and build and use `dist` directory as well for latest non published code.
9199

92100
## Basic usage
93101

94102
```html
95103
<div class="grid-stack">
96-
<div class="grid-stack-item"
97-
data-gs-x="0" data-gs-y="0"
98-
data-gs-width="4" data-gs-height="2">
99-
<div class="grid-stack-item-content"></div>
104+
<div class="grid-stack-item">
105+
<div class="grid-stack-item-content">Item 1</div>
100106
</div>
101-
<div class="grid-stack-item"
102-
data-gs-x="4" data-gs-y="0"
103-
data-gs-width="4" data-gs-height="4">
104-
<div class="grid-stack-item-content"></div>
107+
<div class="grid-stack-item" data-gs-height="4">
108+
<div class="grid-stack-item-content">Item 2</div>
105109
</div>
106110
</div>
107111

@@ -258,59 +262,6 @@ $('.grid-stack').gridstack({
258262

259263
Note: It's not recommended to enable `nw`, `n`, `ne` resizing handles. Their behaviour may be unexpected.
260264

261-
## IE8 support
262-
263-
Support of IE8 is quite limited and is not a goal at this time. As far as IE8 doesn't support DOM Level 2 I cannot manipulate with
264-
CSS stylesheet dynamically. As a workaround you can do the following:
265-
266-
- Create `gridstack-ie8.css` for your configuration (sample for grid with cell height of 60px can be found [here](https://gist.github.com/gridstack/6edfea5857f4cd73e6f1)).
267-
- Include this CSS:
268-
269-
```html
270-
<!--[if lt IE 9]>
271-
<link rel="stylesheet" href="gridstack-ie8.css"/>
272-
<![endif]-->
273-
```
274-
275-
- You can use this python script to generate such kind of CSS:
276-
277-
```python
278-
#!/usr/bin/env python
279-
280-
height = 60
281-
margin = 20
282-
N = 100
283-
284-
print '.grid-stack > .grid-stack-item { min-height: %(height)spx }' % {'height': height}
285-
286-
for i in range(N):
287-
h = height * (i + 1) + margin * i
288-
print '.grid-stack > .grid-stack-item[data-gs-height="%(index)s"] { height: %(height)spx }' % {'index': i + 1, 'height': h}
289-
290-
for i in range(N):
291-
h = height * (i + 1) + margin * i
292-
print '.grid-stack > .grid-stack-item[data-gs-min-height="%(index)s"] { min-height: %(height)spx }' % {'index': i + 1, 'height': h}
293-
294-
for i in range(N):
295-
h = height * (i + 1) + margin * i
296-
print '.grid-stack > .grid-stack-item[data-gs-max-height="%(index)s"] { max-height: %(height)spx }' % {'index': i + 1, 'height': h}
297-
298-
for i in range(N):
299-
h = height * i + margin * i
300-
print '.grid-stack > .grid-stack-item[data-gs-y="%(index)s"] { top: %(height)spx }' % {'index': i , 'height': h}
301-
```
302-
303-
There are at least two more issues with gridstack in IE8 with jQueryUI resizable (it seems it doesn't work) and
304-
droppable. If you have any suggestions about support of IE8 you are welcome here: https://github.com/gridstack/gridstack.js/issues/76
305-
306-
<!-- fixed in 0.5.0 with #643 ?
307-
## Use with require.js
308-
309-
If you're using require.js and a single file jQueryUI please check out this
310-
[Stackoverflow question](http://stackoverflow.com/questions/35582945/redundant-dependencies-with-requirejs) to get it
311-
working properly.
312-
-->
313-
314265
Changes
315266
=====
316267

demo/anijs.html

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
<!DOCTYPE html>
22
<html lang="en">
33
<head>
4-
<!--[if lt IE 9]>
5-
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
6-
<![endif]-->
7-
84
<meta charset="utf-8" />
95
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
106
<meta name="viewport" content="width=device-width, initial-scale=1" />
@@ -14,11 +10,9 @@
1410
<link rel="stylesheet" href="https://anijs.github.io/lib/anicollection/anicollection.css" />
1511
<link rel="stylesheet" href="../dist/gridstack.css"/>
1612

17-
1813
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
19-
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script>
14+
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
2015
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
21-
<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.6.9/shim.min.js"></script>
2216
<script src="../src/gridstack.js"></script>
2317
<script src="../src/gridstack.jQueryUI.js"></script>
2418

demo/float.html

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
<!DOCTYPE html>
22
<html lang="en">
33
<head>
4-
<!--[if lt IE 9]>
5-
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
6-
<![endif]-->
7-
84
<meta charset="utf-8">
95
<meta http-equiv="X-UA-Compatible" content="IE=edge">
106
<meta name="viewport" content="width=device-width, initial-scale=1">
@@ -14,9 +10,8 @@
1410
<link rel="stylesheet" href="../dist/gridstack.css"/>
1511

1612
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
17-
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script>
13+
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
1814
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
19-
<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.6.9/shim.min.js"></script>
2015
<script src="../src/gridstack.js"></script>
2116
<script src="../src/gridstack.jQueryUI.js"></script>
2217

demo/knockout.html

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
<!DOCTYPE html>
22
<html lang="en">
33
<head>
4-
<!--[if lt IE 9]>
5-
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
6-
<![endif]-->
7-
84
<meta charset="utf-8">
95
<meta http-equiv="X-UA-Compatible" content="IE=edge">
106
<meta name="viewport" content="width=device-width, initial-scale=1">
@@ -14,9 +10,8 @@
1410
<link rel="stylesheet" href="../dist/gridstack.css"/>
1511

1612
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
17-
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script>
13+
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
1814
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
19-
<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.6.9/shim.min.js"></script>
2015
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.5.0/knockout-min.js"></script>
2116
<script src="../src/gridstack.js"></script>
2217
<script src="../src/gridstack.jQueryUI.js"></script>

demo/knockout2.html

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
<!DOCTYPE html>
22
<html lang="en">
33
<head>
4-
<!--[if lt IE 9]>
5-
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
6-
<![endif]-->
7-
84
<meta charset="utf-8">
95
<meta http-equiv="X-UA-Compatible" content="IE=edge">
106
<meta name="viewport" content="width=device-width, initial-scale=1">
@@ -14,9 +10,8 @@
1410
<link rel="stylesheet" href="../dist/gridstack.css"/>
1511

1612
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
17-
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script>
13+
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
1814
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
19-
<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.6.9/shim.min.js"></script>
2015
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.5.0/knockout-min.js"></script>
2116
<script src="../src/gridstack.js"></script>
2217
<script src="../src/gridstack.jQueryUI.js"></script>

demo/nested.html

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
<!DOCTYPE html>
22
<html lang="en">
33
<head>
4-
<!--[if lt IE 9]>
5-
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
6-
<![endif]-->
7-
84
<meta charset="utf-8">
95
<meta http-equiv="X-UA-Compatible" content="IE=edge">
106
<meta name="viewport" content="width=device-width, initial-scale=1">
@@ -14,9 +10,8 @@
1410
<link rel="stylesheet" href="../dist/gridstack.css"/>
1511

1612
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
17-
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script>
13+
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
1814
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
19-
<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.6.9/shim.min.js"></script>
2015
<script src="../src/gridstack.js"></script>
2116
<script src="../src/gridstack.jQueryUI.js"></script>
2217

demo/responsive.html

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
<!DOCTYPE html>
22
<html lang="en">
33
<head>
4-
<!--[if lt IE 9]>
5-
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
6-
<![endif]-->
7-
84
<meta charset="utf-8">
95
<meta http-equiv="X-UA-Compatible" content="IE=edge">
106
<meta name="viewport" content="width=device-width, initial-scale=1">
@@ -15,9 +11,8 @@
1511
<link rel="stylesheet" href="../dist/gridstack-extra.css"/>
1612

1713
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
18-
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script>
14+
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
1915
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
20-
<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.6.9/shim.min.js"></script>
2116
<script src="../src/gridstack.js"></script>
2217
<script src="../src/gridstack.jQueryUI.js"></script>
2318

demo/right-to-left(rtl).html

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
<!DOCTYPE html>
22
<html lang="en" dir="rtl"> <!-- set text reading direction -->
33
<head>
4-
<!--[if lt IE 9]>
5-
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
6-
<![endif]-->
7-
84
<meta charset="utf-8">
95
<meta http-equiv="X-UA-Compatible" content="IE=edge">
106
<meta name="viewport" content="width=device-width, initial-scale=1">
@@ -15,9 +11,8 @@
1511
<link rel="stylesheet" href="../dist/gridstack.css"/>
1612

1713
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
18-
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script>
14+
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
1915
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
20-
<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.6.9/shim.min.js"></script>
2116
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.5.0/knockout-min.js"></script>
2217
<script src="../src/gridstack.js"></script>
2318
<script src="../src/gridstack.jQueryUI.js"></script>

demo/serialization.html

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
<!DOCTYPE html>
22
<html lang="en">
33
<head>
4-
<!--[if lt IE 9]>
5-
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
6-
<![endif]-->
7-
84
<meta charset="utf-8">
95
<meta http-equiv="X-UA-Compatible" content="IE=edge">
106
<meta name="viewport" content="width=device-width, initial-scale=1">
@@ -14,9 +10,8 @@
1410
<link rel="stylesheet" href="../dist/gridstack.css"/>
1511

1612
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
17-
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script>
13+
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
1814
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
19-
<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.6.9/shim.min.js"></script>
2015
<script src="../src/gridstack.js"></script>
2116
<script src="../src/gridstack.jQueryUI.js"></script>
2217

0 commit comments

Comments
 (0)