Skip to content

Commit e660480

Browse files
authored
Merge pull request #1147 from adumesny/develop
RemoveWidget() now call _triggerChangeEvent()
2 parents bd6910e + 7c9b656 commit e660480

File tree

3 files changed

+52
-3
lines changed

3 files changed

+52
-3
lines changed

doc/CHANGES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ Change log
3131

3232
## v0.6.3-dev (upcoming changes)
3333

34+
- fix [#1142](https://github.com/gridstack/gridstack.js/issues/1142) RemoveWidget() doesn't also trigger change events when it should
3435
- del `bower` since dead for a while now (https://snyk.io/blog/bower-is-dead/)
3536

3637
## v0.6.3 (2020-02-05)
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8">
5+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<title>test demo</title>
8+
9+
<link rel="stylesheet" href="../../../demo/demo.css"/>
10+
11+
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
12+
<script src="../../../dist/jquery-ui.min.js"></script>
13+
<script src="../../../src/gridstack.js"></script>
14+
<script src="../../../src/gridstack.jQueryUI.js"></script>
15+
</head>
16+
<body>
17+
<div class="grid-stack">
18+
<div class="grid-stack-item" data-gs-x="0" data-gs-y="0" data-gs-width="3" data-gs-height="1"><div class="grid-stack-item-content">1 click to delete</div></div>
19+
<div class="grid-stack-item" data-gs-x="0" data-gs-y="1" data-gs-width="3" data-gs-height="1"><div class="grid-stack-item-content">2 missing change event</div></div>
20+
<div class="grid-stack-item" data-gs-x="0" data-gs-y="2" data-gs-width="1" data-gs-height="1"><div class="grid-stack-item-content">3</div></div>
21+
<div class="grid-stack-item" data-gs-x="4" data-gs-y="0" data-gs-width="1" data-gs-height="1"><div class="grid-stack-item-content">4</div></div>
22+
</div>
23+
24+
<script type="text/javascript">
25+
$(function () {
26+
var $grid = $('.grid-stack').gridstack({float: false});
27+
28+
$grid.on('added', function(e, items) { log(' added ', items) });
29+
$grid.on('removed', function(e, items) { log(' removed ', items) });
30+
$grid.on('change', function(e, items) { log(' change ', items) });
31+
32+
function log(type, items) {
33+
var str = '';
34+
for (let i = 0; items && i < items.length && items[i]; i++) {
35+
str += ' (x,y)=' + items[i].x + ',' + items[i].y;
36+
}
37+
console.log(type + items.length + ' items.' + str);
38+
}
39+
40+
$('.grid-stack .grid-stack-item').click(function(e) {
41+
var item = $(e.currentTarget).closest('.grid-stack-item');
42+
var g = item.closest('.grid-stack').data('gridstack');
43+
g.removeWidget(item);
44+
});
45+
});
46+
</script>
47+
</body>
48+
</html>

src/gridstack.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1453,7 +1453,7 @@
14531453
this._prepareElement(el, true);
14541454
this._updateContainerHeight();
14551455
this._triggerAddEvent();
1456-
// this._triggerChangeEvent(true); already have AddEvent
1456+
this._triggerChangeEvent(true); // trigger any other changes
14571457

14581458
return el;
14591459
};
@@ -1463,7 +1463,7 @@
14631463
this._prepareElement(el, true);
14641464
this._updateContainerHeight();
14651465
this._triggerAddEvent();
1466-
// this._triggerChangeEvent(true); already have AddEvent
1466+
this._triggerChangeEvent(true); // trigger any other changes
14671467

14681468
return el;
14691469
};
@@ -1485,7 +1485,7 @@
14851485
el.removeData('_gridstack_node');
14861486
this.grid.removeNode(node, detachNode);
14871487
this._triggerRemoveEvent();
1488-
// this._triggerChangeEvent(true); already have removeEvent
1488+
this._triggerChangeEvent(true); // trigger any other changes
14891489
};
14901490

14911491
GridStack.prototype.removeAll = function(detachNode) {

0 commit comments

Comments
 (0)