gridstack 10.1.1 → 10.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/angular/package.json +1 -1
- package/angular/projects/demo/src/app/app.component.ts +4 -2
- package/angular/projects/demo/src/app/dummy.component.ts +3 -4
- package/angular/projects/lib/src/lib/base-widget.ts +1 -1
- package/angular/projects/lib/src/lib/gridstack-item.component.ts +1 -1
- package/angular/projects/lib/src/lib/gridstack.component.ts +1 -1
- package/angular/projects/lib/src/lib/gridstack.module.ts +1 -1
- package/dist/angular/esm2020/lib/base-widget.mjs +2 -2
- package/dist/angular/esm2020/lib/gridstack-item.component.mjs +2 -2
- package/dist/angular/esm2020/lib/gridstack.component.mjs +2 -2
- package/dist/angular/esm2020/lib/gridstack.module.mjs +2 -2
- package/dist/angular/fesm2015/gridstack-angular.mjs +4 -4
- package/dist/angular/fesm2015/gridstack-angular.mjs.map +1 -1
- package/dist/angular/fesm2020/gridstack-angular.mjs +4 -4
- package/dist/angular/fesm2020/gridstack-angular.mjs.map +1 -1
- package/dist/angular/lib/gridstack-item.component.d.ts +1 -1
- package/dist/angular/lib/gridstack.component.d.ts +1 -1
- package/dist/angular/src/base-widget.ts +1 -1
- package/dist/angular/src/gridstack-item.component.ts +1 -1
- package/dist/angular/src/gridstack.component.ts +1 -1
- package/dist/angular/src/gridstack.module.ts +1 -1
- package/dist/dd-base-impl.d.ts +1 -1
- package/dist/dd-base-impl.js +1 -1
- package/dist/dd-base-impl.js.map +1 -1
- package/dist/dd-draggable.d.ts +1 -1
- package/dist/dd-draggable.js +1 -1
- package/dist/dd-draggable.js.map +1 -1
- package/dist/dd-droppable.d.ts +1 -1
- package/dist/dd-droppable.js +1 -1
- package/dist/dd-droppable.js.map +1 -1
- package/dist/dd-element.d.ts +1 -1
- package/dist/dd-element.js +1 -1
- package/dist/dd-element.js.map +1 -1
- package/dist/dd-gridstack.d.ts +1 -1
- package/dist/dd-gridstack.js +1 -1
- package/dist/dd-gridstack.js.map +1 -1
- package/dist/dd-manager.d.ts +1 -1
- package/dist/dd-manager.js +1 -1
- package/dist/dd-manager.js.map +1 -1
- package/dist/dd-resizable-handle.d.ts +1 -1
- package/dist/dd-resizable-handle.js +1 -1
- package/dist/dd-resizable-handle.js.map +1 -1
- package/dist/dd-resizable.d.ts +1 -1
- package/dist/dd-resizable.js +1 -1
- package/dist/dd-resizable.js.map +1 -1
- package/dist/dd-touch.d.ts +1 -1
- package/dist/dd-touch.js +1 -1
- package/dist/dd-touch.js.map +1 -1
- package/dist/es5/dd-base-impl.d.ts +1 -1
- package/dist/es5/dd-base-impl.js +1 -1
- package/dist/es5/dd-base-impl.js.map +1 -1
- package/dist/es5/dd-draggable.d.ts +1 -1
- package/dist/es5/dd-draggable.js +1 -1
- package/dist/es5/dd-draggable.js.map +1 -1
- package/dist/es5/dd-droppable.d.ts +1 -1
- package/dist/es5/dd-droppable.js +1 -1
- package/dist/es5/dd-droppable.js.map +1 -1
- package/dist/es5/dd-element.d.ts +1 -1
- package/dist/es5/dd-element.js +1 -1
- package/dist/es5/dd-element.js.map +1 -1
- package/dist/es5/dd-gridstack.d.ts +1 -1
- package/dist/es5/dd-gridstack.js +1 -1
- package/dist/es5/dd-gridstack.js.map +1 -1
- package/dist/es5/dd-manager.d.ts +1 -1
- package/dist/es5/dd-manager.js +1 -1
- package/dist/es5/dd-manager.js.map +1 -1
- package/dist/es5/dd-resizable-handle.d.ts +1 -1
- package/dist/es5/dd-resizable-handle.js +1 -1
- package/dist/es5/dd-resizable-handle.js.map +1 -1
- package/dist/es5/dd-resizable.d.ts +1 -1
- package/dist/es5/dd-resizable.js +1 -1
- package/dist/es5/dd-resizable.js.map +1 -1
- package/dist/es5/dd-touch.d.ts +1 -1
- package/dist/es5/dd-touch.js +1 -1
- package/dist/es5/dd-touch.js.map +1 -1
- package/dist/es5/gridstack-all.js +1 -1
- package/dist/es5/gridstack-all.js.LICENSE.txt +1 -1
- package/dist/es5/gridstack-all.js.map +1 -1
- package/dist/es5/gridstack-engine.d.ts +3 -3
- package/dist/es5/gridstack-engine.js +17 -14
- package/dist/es5/gridstack-engine.js.map +1 -1
- package/dist/es5/gridstack-poly.js +1 -1
- package/dist/es5/gridstack.d.ts +3 -2
- package/dist/es5/gridstack.js +56 -34
- package/dist/es5/gridstack.js.map +1 -1
- package/dist/es5/types.d.ts +1 -1
- package/dist/es5/types.js +1 -1
- package/dist/es5/types.js.map +1 -1
- package/dist/es5/utils.d.ts +3 -4
- package/dist/es5/utils.js +11 -9
- package/dist/es5/utils.js.map +1 -1
- package/dist/gridstack-all.js +1 -1
- package/dist/gridstack-all.js.LICENSE.txt +1 -1
- package/dist/gridstack-all.js.map +1 -1
- package/dist/gridstack-engine.d.ts +3 -3
- package/dist/gridstack-engine.js +15 -13
- package/dist/gridstack-engine.js.map +1 -1
- package/dist/gridstack.css +1 -1
- package/dist/gridstack.d.ts +3 -2
- package/dist/gridstack.js +57 -35
- package/dist/gridstack.js.map +1 -1
- package/dist/src/gridstack.scss +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +3 -4
- package/dist/utils.js +10 -9
- package/dist/utils.js.map +1 -1
- package/doc/CHANGES.md +10 -0
- package/doc/README.md +3 -4
- package/package.json +1 -1
package/dist/es5/gridstack.js
CHANGED
|
@@ -36,7 +36,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
36
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
37
|
exports.GridStack = void 0;
|
|
38
38
|
/*!
|
|
39
|
-
* GridStack 10.1.
|
|
39
|
+
* GridStack 10.1.2
|
|
40
40
|
* https://gridstackjs.com/
|
|
41
41
|
*
|
|
42
42
|
* Copyright (c) 2021-2022 Alain Dumesny
|
|
@@ -634,13 +634,21 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
634
634
|
*/
|
|
635
635
|
GridStack.prototype.load = function (items, addRemove) {
|
|
636
636
|
var _this = this;
|
|
637
|
+
var _a;
|
|
637
638
|
if (addRemove === void 0) { addRemove = GridStack.addRemoveCB || true; }
|
|
638
639
|
items = utils_1.Utils.cloneDeep(items); // so we can mod
|
|
639
640
|
var column = this.getColumn();
|
|
641
|
+
// if we have a mix of new items without coordinates and existing items, separate them out so they can be added after #2639
|
|
642
|
+
var addAfter = items.filter(function (n) { return (n.x === undefined || n.y === undefined) && !utils_1.Utils.find(_this.engine.nodes, n.id); });
|
|
643
|
+
if (addAfter.length && addAfter.length !== items.length) {
|
|
644
|
+
items = items.filter(function (n) { return !utils_1.Utils.find(addAfter, n.id); });
|
|
645
|
+
}
|
|
646
|
+
else
|
|
647
|
+
addAfter = [];
|
|
640
648
|
// if passed list has coordinates, use them (insert from end to beginning for conflict resolution) else keep widget order
|
|
641
649
|
var haveCoord = items.some(function (w) { return w.x !== undefined || w.y !== undefined; });
|
|
642
650
|
if (haveCoord)
|
|
643
|
-
items = utils_1.Utils.sort(items, -1
|
|
651
|
+
items = utils_1.Utils.sort(items, -1);
|
|
644
652
|
this._insertNotAppend = haveCoord; // if we create in reverse order...
|
|
645
653
|
// if we're loading a layout into for example 1 column and items don't fit, make sure to save
|
|
646
654
|
// the original wanted layout so we can scale back up correctly #1471
|
|
@@ -715,15 +723,20 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
715
723
|
_this.addWidget(w);
|
|
716
724
|
}
|
|
717
725
|
});
|
|
726
|
+
// finally append any separate ones that didn't have explicit coordinates last so they can find next empty spot
|
|
727
|
+
if (addRemove) {
|
|
728
|
+
addAfter.forEach(function (w) { return _this.addWidget(w); });
|
|
729
|
+
}
|
|
718
730
|
this.engine.removedNodes = removed;
|
|
719
731
|
this.batchUpdate(false);
|
|
720
732
|
// after commit, clear that flag
|
|
721
733
|
delete this._ignoreLayoutsNodeChange;
|
|
722
734
|
delete this._insertNotAppend;
|
|
723
735
|
prevCB ? GridStack.addRemoveCB = prevCB : delete GridStack.addRemoveCB;
|
|
724
|
-
// delay adding animation back
|
|
725
|
-
if (noAnim && this.opts.animate)
|
|
726
|
-
setTimeout(function () {
|
|
736
|
+
// delay adding animation back, but check to make sure grid (opt) is still around
|
|
737
|
+
if (noAnim && ((_a = this.opts) === null || _a === void 0 ? void 0 : _a.animate))
|
|
738
|
+
setTimeout(function () { if (_this.opts)
|
|
739
|
+
_this.setAnimation(_this.opts.animate); });
|
|
727
740
|
return this;
|
|
728
741
|
};
|
|
729
742
|
/**
|
|
@@ -1113,7 +1126,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
1113
1126
|
}
|
|
1114
1127
|
if (!node)
|
|
1115
1128
|
return;
|
|
1116
|
-
if (GridStack.addRemoveCB) {
|
|
1129
|
+
if (removeDOM && GridStack.addRemoveCB) {
|
|
1117
1130
|
GridStack.addRemoveCB(_this.el, node, false, false);
|
|
1118
1131
|
}
|
|
1119
1132
|
// remove our DOM data (circular link) and drag&drop permanently
|
|
@@ -1133,17 +1146,24 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
1133
1146
|
/**
|
|
1134
1147
|
* Removes all widgets from the grid.
|
|
1135
1148
|
* @param removeDOM if `false` DOM elements won't be removed from the tree (Default? `true`).
|
|
1149
|
+
* @param triggerEvent if `false` (quiet mode) element will not be added to removed list and no 'removed' callbacks will be called (Default? true).
|
|
1136
1150
|
*/
|
|
1137
|
-
GridStack.prototype.removeAll = function (removeDOM) {
|
|
1151
|
+
GridStack.prototype.removeAll = function (removeDOM, triggerEvent) {
|
|
1138
1152
|
var _this = this;
|
|
1139
1153
|
if (removeDOM === void 0) { removeDOM = true; }
|
|
1154
|
+
if (triggerEvent === void 0) { triggerEvent = true; }
|
|
1140
1155
|
// always remove our DOM data (circular link) before list gets emptied and drag&drop permanently
|
|
1141
1156
|
this.engine.nodes.forEach(function (n) {
|
|
1157
|
+
if (removeDOM && GridStack.addRemoveCB) {
|
|
1158
|
+
GridStack.addRemoveCB(_this.el, n, false, false);
|
|
1159
|
+
}
|
|
1142
1160
|
delete n.el.gridstackNode;
|
|
1143
|
-
_this.
|
|
1161
|
+
if (!_this.opts.staticGrid)
|
|
1162
|
+
_this._removeDD(n.el);
|
|
1144
1163
|
});
|
|
1145
|
-
this.engine.removeAll(removeDOM);
|
|
1146
|
-
|
|
1164
|
+
this.engine.removeAll(removeDOM, triggerEvent);
|
|
1165
|
+
if (triggerEvent)
|
|
1166
|
+
this._triggerRemoveEvent();
|
|
1147
1167
|
return this;
|
|
1148
1168
|
};
|
|
1149
1169
|
/**
|
|
@@ -1413,8 +1433,9 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
1413
1433
|
}
|
|
1414
1434
|
// prevent added nodes from also triggering 'change' event (which is called next)
|
|
1415
1435
|
this.engine.addedNodes.forEach(function (n) { delete n._dirty; });
|
|
1416
|
-
|
|
1436
|
+
var addedNodes = __spreadArray([], this.engine.addedNodes, true);
|
|
1417
1437
|
this.engine.addedNodes = [];
|
|
1438
|
+
this._triggerEvent('added', addedNodes);
|
|
1418
1439
|
}
|
|
1419
1440
|
return this;
|
|
1420
1441
|
};
|
|
@@ -1424,8 +1445,9 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
1424
1445
|
if (this.engine.batchMode)
|
|
1425
1446
|
return this;
|
|
1426
1447
|
if ((_a = this.engine.removedNodes) === null || _a === void 0 ? void 0 : _a.length) {
|
|
1427
|
-
|
|
1448
|
+
var removedNodes = __spreadArray([], this.engine.removedNodes, true);
|
|
1428
1449
|
this.engine.removedNodes = [];
|
|
1450
|
+
this._triggerEvent('removed', removedNodes);
|
|
1429
1451
|
}
|
|
1430
1452
|
return this;
|
|
1431
1453
|
};
|
|
@@ -2025,7 +2047,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
2025
2047
|
};
|
|
2026
2048
|
dd.droppable(this.el, {
|
|
2027
2049
|
accept: function (el) {
|
|
2028
|
-
var node = el.gridstackNode;
|
|
2050
|
+
var node = el.gridstackNode || _this._readAttr(el, false);
|
|
2029
2051
|
// set accept drop to true on ourself (which we ignore) so we don't get "can't drop" icon in HTML5 mode while moving
|
|
2030
2052
|
if ((node === null || node === void 0 ? void 0 : node.grid) === _this)
|
|
2031
2053
|
return true;
|
|
@@ -2040,7 +2062,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
2040
2062
|
var selector = (_this.opts.acceptWidgets === true ? '.grid-stack-item' : _this.opts.acceptWidgets);
|
|
2041
2063
|
canAccept = el.matches(selector);
|
|
2042
2064
|
}
|
|
2043
|
-
// finally check to make sure we actually have space left #1571
|
|
2065
|
+
// finally check to make sure we actually have space left #1571 #2633
|
|
2044
2066
|
if (canAccept && node && _this.opts.maxRow) {
|
|
2045
2067
|
var n = { w: node.w, h: node.h, minW: node.minW, minH: node.minH }; // only width/height matters and autoPosition
|
|
2046
2068
|
canAccept = _this.engine.willItFit(n);
|
|
@@ -2102,7 +2124,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
2102
2124
|
node._temporaryRemoved = true; // so we can insert it
|
|
2103
2125
|
}
|
|
2104
2126
|
// clear any marked for complete removal (Note: don't check _isAboutToRemove as that is cleared above - just do it)
|
|
2105
|
-
|
|
2127
|
+
GridStack._itemRemoving(node.el, false);
|
|
2106
2128
|
dd.on(el, 'drag', onDrag);
|
|
2107
2129
|
// make sure this is called at least once when going fast #1578
|
|
2108
2130
|
onDrag(event, el, helper);
|
|
@@ -2201,36 +2223,36 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
2201
2223
|
if (_this._gsEventHandler['dropped']) {
|
|
2202
2224
|
_this._gsEventHandler['dropped'](__assign(__assign({}, event), { type: 'dropped' }), origNode && origNode.grid ? origNode : undefined, node);
|
|
2203
2225
|
}
|
|
2204
|
-
// delay adding animation back
|
|
2226
|
+
// delay adding animation back, but check to make sure grid (opt) is still around
|
|
2205
2227
|
if (noAnim)
|
|
2206
|
-
setTimeout(function () {
|
|
2228
|
+
setTimeout(function () { if (_this.opts)
|
|
2229
|
+
_this.setAnimation(_this.opts.animate); });
|
|
2207
2230
|
return false; // prevent parent from receiving msg (which may be grid as well)
|
|
2208
2231
|
});
|
|
2209
2232
|
return this;
|
|
2210
2233
|
};
|
|
2211
2234
|
/** @internal mark item for removal */
|
|
2212
|
-
GridStack.
|
|
2235
|
+
GridStack._itemRemoving = function (el, remove) {
|
|
2213
2236
|
var node = el ? el.gridstackNode : undefined;
|
|
2214
|
-
if (!node ||
|
|
2237
|
+
if (!(node === null || node === void 0 ? void 0 : node.grid) || el.classList.contains(node.grid.opts.removableOptions.decline))
|
|
2215
2238
|
return;
|
|
2216
2239
|
remove ? node._isAboutToRemove = true : delete node._isAboutToRemove;
|
|
2217
2240
|
remove ? el.classList.add('grid-stack-item-removing') : el.classList.remove('grid-stack-item-removing');
|
|
2218
2241
|
};
|
|
2219
2242
|
/** @internal called to setup a trash drop zone if the user specifies it */
|
|
2220
2243
|
GridStack.prototype._setupRemoveDrop = function () {
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
}
|
|
2244
|
+
if (typeof this.opts.removable !== 'string')
|
|
2245
|
+
return this;
|
|
2246
|
+
var trashEl = document.querySelector(this.opts.removable);
|
|
2247
|
+
if (!trashEl)
|
|
2248
|
+
return this;
|
|
2249
|
+
// only register ONE static drop-over/dropout callback for the 'trash', and it will
|
|
2250
|
+
// update the passed in item and parent grid because the '.trash' is a shared resource anyway,
|
|
2251
|
+
// and Native DD only has 1 event CB (having a list and technically a per grid removableOptions complicates things greatly)
|
|
2252
|
+
if (!this.opts.staticGrid && !dd.isDroppable(trashEl)) {
|
|
2253
|
+
dd.droppable(trashEl, this.opts.removableOptions)
|
|
2254
|
+
.on(trashEl, 'dropover', function (event, el) { return GridStack._itemRemoving(el, true); })
|
|
2255
|
+
.on(trashEl, 'dropout', function (event, el) { return GridStack._itemRemoving(el, false); });
|
|
2234
2256
|
}
|
|
2235
2257
|
return this;
|
|
2236
2258
|
};
|
|
@@ -2487,7 +2509,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
2487
2509
|
node.el = node._isExternal && helper ? helper : el; // point back to real item being dragged
|
|
2488
2510
|
if (this.opts.removable === true) { // boolean vs a class string
|
|
2489
2511
|
// item leaving us and we are supposed to remove on leave (no need to drag onto trash) mark it so
|
|
2490
|
-
|
|
2512
|
+
GridStack._itemRemoving(el, true);
|
|
2491
2513
|
}
|
|
2492
2514
|
// finally if item originally came from another grid, but left us, restore things back to prev info
|
|
2493
2515
|
if (el._gridstackNodeOrig) {
|
|
@@ -2511,7 +2533,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
2511
2533
|
GridStack.Utils = utils_1.Utils;
|
|
2512
2534
|
/** scoping so users can call new GridStack.Engine(12) for example */
|
|
2513
2535
|
GridStack.Engine = gridstack_engine_1.GridStackEngine;
|
|
2514
|
-
GridStack.GDRev = '10.1.
|
|
2536
|
+
GridStack.GDRev = '10.1.2';
|
|
2515
2537
|
return GridStack;
|
|
2516
2538
|
}());
|
|
2517
2539
|
//# sourceMappingURL=gridstack.js.map
|