Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 5ccd6b6

Browse files
authored
Merge pull request gridstack#980 from adumesny/refactor/lodash
remove lodash dependency
2 parents 590bc34 + 1036221 commit 5ccd6b6

24 files changed

+156
-2048
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ Usage
5757

5858
## Requirements
5959

60-
* [lodash.js](https://lodash.com) (>= 4.17.10, full build)
6160
* [jQuery](http://jquery.com) (>= 3.1.0)
61+
* `Array.prototype.find` for IE and older browsers ([core.js](https://github.com/zloirock/core-js#ecmascript-6-array) allows to include specific polyfills)
6262

6363
#### Using gridstack.js with jQuery UI
6464

@@ -154,7 +154,7 @@ Please use [jQuery UI Touch Punch](https://github.com/furf/jquery-ui-touch-punch
154154
working on touch-based devices.
155155

156156
```html
157-
<script src="lodash.min.js"></script>
157+
<script src="core-js/client/shim.min.js"></script>
158158
<script src="jquery.min.js"></script>
159159
<script src="jquery-ui.min.js"></script>
160160
<script src="jquery.ui.touch-punch.min.js"></script>

bower.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
"amd"
1616
],
1717
"dependencies": {
18-
"lodash": ">= 4.17.10",
1918
"jquery": ">= 3.1.0",
2019
"jquery-ui": ">= 1.12.0"
2120
},

demo/anijs.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
1919
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.0/jquery-ui.js"></script>
2020
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
21-
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.0/lodash.min.js"></script>
21+
<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.4.1/shim.min.js"></script>
2222
<script src="../dist/gridstack.js"></script>
2323
<script src="../dist/gridstack.jQueryUI.js"></script>
2424

@@ -86,4 +86,4 @@ <h4>Widget added</h4>
8686
});
8787
</script>
8888
</body>
89-
</html>
89+
</html>

demo/float.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
1717
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.0/jquery-ui.js"></script>
1818
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
19-
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.0/lodash.min.js"></script>
19+
<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.4.1/shim.min.js"></script>
2020
<script src="../dist/gridstack.js"></script>
2121
<script src="../dist/gridstack.jQueryUI.js"></script>
2222

@@ -75,7 +75,7 @@ <h1>Float grid demo</h1>
7575
width: 1 + 3 * Math.random(),
7676
height: 1 + 3 * Math.random()
7777
};
78-
this.grid.addWidget($('<div><div class="grid-stack-item-content" /><div/>'),
78+
this.grid.addWidget($('<div><div class="grid-stack-item-content"></div></div>'),
7979
node.x, node.y, node.width, node.height);
8080
return false;
8181
}.bind(this);

demo/knockout.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
1717
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.0/jquery-ui.js"></script>
1818
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
19-
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.0/lodash.min.js"></script>
19+
<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.4.1/shim.min.js"></script>
2020
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
2121
<script src="../dist/gridstack.js"></script>
2222
<script src="../dist/gridstack.jQueryUI.js"></script>
@@ -63,7 +63,7 @@ <h1>knockout.js Demo</h1>
6363
}).data('gridstack');
6464
}
6565

66-
var item = _.find(items, function (i) { return i.nodeType == 1 });
66+
var item = items.find(function (i) { return i.nodeType == 1 });
6767
grid.addWidget(item);
6868
ko.utils.domNodeDisposal.addDisposeCallback(item, function () {
6969
grid.removeWidget(item);

demo/knockout2.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
1717
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.0/jquery-ui.js"></script>
1818
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
19-
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.0/lodash.min.js"></script>
19+
<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.4.1/shim.min.js"></script>
2020
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
2121
<script src="../dist/gridstack.js"></script>
2222
<script src="../dist/gridstack.jQueryUI.js"></script>
@@ -63,7 +63,7 @@ <h1>knockout.js Demo</h1>
6363
}).data('gridstack');
6464
}
6565

66-
var item = _.find(items, function (i) { return i.nodeType == 1 });
66+
var item = items.find(function (i) { return i.nodeType == 1 });
6767
grid.addWidget(item);
6868
ko.utils.domNodeDisposal.addDisposeCallback(item, function () {
6969
grid.removeWidget(item);

demo/nested.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
1717
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.0/jquery-ui.js"></script>
1818
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
19-
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.0/lodash.min.js"></script>
19+
<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.4.1/shim.min.js"></script>
2020
<script src="../dist/gridstack.js"></script>
2121
<script src="../dist/gridstack.jQueryUI.js"></script>
2222

demo/responsive.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
1818
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.0/jquery-ui.js"></script>
1919
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
20-
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.0/lodash.min.js"></script>
20+
<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.4.1/shim.min.js"></script>
2121
<script src="../dist/gridstack.js"></script>
2222
<script src="../dist/gridstack.jQueryUI.js"></script>
2323

@@ -106,7 +106,7 @@ <h1>Responsive grid demo</h1>
106106
this.loadGrid = function () {
107107
this.grid.removeAll();
108108
var items = GridStackUI.Utils.sort(this.serializedData);
109-
_.each(items, function (node, i) {
109+
items.forEach(function (node, i) {
110110
this.grid.addWidget($('<div><div class="grid-stack-item-content">' + i + '</div></div>'),
111111
node.x, node.y, node.width, node.height);
112112
}.bind(this));

demo/rtl.html

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
1717
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.0/jquery-ui.js"></script>
1818
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
19-
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.0/lodash.min.js"></script>
19+
<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.4.1/shim.min.js"></script>
2020
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
2121
<script src="../dist/gridstack.js"></script>
2222
<script src="../dist/gridstack.jQueryUI.js"></script>
@@ -62,7 +62,7 @@ <h1>RTL Demo</h1>
6262
}).data('gridstack');
6363
}
6464

65-
var item = _.find(items, function (i) { return i.nodeType == 1 });
65+
var item = items.find(function (i) { return i.nodeType == 1 });
6666
grid.addWidget(item);
6767
ko.utils.domNodeDisposal.addDisposeCallback(item, function () {
6868
grid.removeWidget(item);
@@ -95,7 +95,8 @@ <h1>RTL Demo</h1>
9595
y: 0,
9696
width: Math.floor(1 + 3 * Math.random()),
9797
height: Math.floor(1 + 3 * Math.random()),
98-
auto_position: true
98+
auto_position: true,
99+
index: 'auto'
99100
});
100101
return false;
101102
};

demo/serialization.html

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
1717
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.0/jquery-ui.js"></script>
1818
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
19-
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.0/lodash.min.js"></script>
19+
<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.4.1/shim.min.js"></script>
2020
<script src="../dist/gridstack.js"></script>
2121
<script src="../dist/gridstack.jQueryUI.js"></script>
2222

@@ -76,15 +76,15 @@ <h1>Serialization demo</h1>
7676
this.loadGrid = function () {
7777
this.grid.removeAll();
7878
var items = GridStackUI.Utils.sort(this.serializedData);
79-
_.each(items, function (node) {
80-
this.grid.addWidget($('<div><div class="grid-stack-item-content" /></div>'),
81-
node.x, node.y, node.width, node.height);
82-
}.bind(this));
79+
items.forEach(function (node) {
80+
this.grid.addWidget($('<div><div class="grid-stack-item-content"></div></div>'),
81+
node.x, node.y, node.width, node.height);
82+
}, this);
8383
return false;
8484
}.bind(this);
8585

8686
this.saveGrid = function () {
87-
this.serializedData = _.map($('.grid-stack > .grid-stack-item:visible'), function (el) {
87+
this.serializedData = $('.grid-stack > .grid-stack-item:visible').map(function (i, el) {
8888
el = $(el);
8989
var node = el.data('_gridstack_node');
9090
return {
@@ -93,7 +93,7 @@ <h1>Serialization demo</h1>
9393
width: node.width,
9494
height: node.height
9595
};
96-
});
96+
}).toArray();
9797
$('#saved-data').val(JSON.stringify(this.serializedData, null, ' '));
9898
return false;
9999
}.bind(this);

demo/two.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
1818
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.0/jquery-ui.js"></script>
1919
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
20-
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.0/lodash.min.js"></script>
20+
<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.4.1/shim.min.js"></script>
2121
<script src="../dist/gridstack.js"></script>
2222
<script src="../dist/gridstack.jQueryUI.js"></script>
2323

@@ -113,9 +113,9 @@ <h1>Two grids demo</h1>
113113
acceptWidgets: '.grid-stack-item'
114114
};
115115
$('#grid1').gridstack(options);
116-
$('#grid2').gridstack(_.defaults({
116+
$('#grid2').gridstack($.extend({}, options, {
117117
float: true
118-
}, options));
118+
}));
119119

120120
var items = [
121121
{x: 0, y: 0, width: 2, height: 2},
@@ -128,8 +128,8 @@ <h1>Two grids demo</h1>
128128
$('.grid-stack').each(function () {
129129
var grid = $(this).data('gridstack');
130130

131-
_.each(items, function (node) {
132-
grid.addWidget($('<div><div class="grid-stack-item-content" /><div/>'),
131+
items.forEach(function (node) {
132+
grid.addWidget($('<div><div class="grid-stack-item-content"></div></div>'),
133133
node.x, node.y, node.width, node.height);
134134
});
135135
});

dist/gridstack.all.js

Lines changed: 0 additions & 2 deletions
This file was deleted.

dist/gridstack.jQueryUI.js

Lines changed: 0 additions & 94 deletions
This file was deleted.

dist/gridstack.jQueryUI.min.js

Lines changed: 0 additions & 2 deletions
This file was deleted.

0 commit comments

Comments
 (0)