gridstack 11.0.1 → 11.1.1
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 +4 -0
- package/dist/angular/README.md +6 -1
- package/dist/angular/esm2022/lib/base-widget.mjs +2 -2
- package/dist/angular/esm2022/lib/gridstack-item.component.mjs +2 -2
- package/dist/angular/esm2022/lib/gridstack.component.mjs +2 -2
- package/dist/angular/esm2022/lib/gridstack.module.mjs +2 -2
- package/dist/angular/fesm2022/gridstack-angular.mjs +4 -4
- package/dist/angular/fesm2022/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/package.json +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 +2 -1
- package/dist/es5/gridstack-engine.js +23 -15
- package/dist/es5/gridstack-engine.js.map +1 -1
- package/dist/es5/gridstack-poly.js +1 -1
- package/dist/es5/gridstack.d.ts +5 -4
- package/dist/es5/gridstack.js +34 -18
- package/dist/es5/gridstack.js.map +1 -1
- package/dist/es5/types.d.ts +3 -1
- package/dist/es5/types.js +1 -1
- package/dist/es5/types.js.map +1 -1
- package/dist/es5/utils.d.ts +1 -1
- package/dist/es5/utils.js +1 -1
- 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 +2 -1
- package/dist/gridstack-engine.js +23 -15
- package/dist/gridstack-engine.js.map +1 -1
- package/dist/gridstack.css +1 -1
- package/dist/gridstack.d.ts +5 -4
- package/dist/gridstack.js +38 -18
- package/dist/gridstack.js.map +1 -1
- package/dist/src/gridstack.scss +1 -1
- package/dist/types.d.ts +3 -1
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +1 -1
- package/dist/utils.js.map +1 -1
- package/doc/CHANGES.md +12 -0
- package/doc/README.md +9 -8
- 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 11.
|
|
39
|
+
* GridStack 11.1.1
|
|
40
40
|
* https://gridstackjs.com/
|
|
41
41
|
*
|
|
42
42
|
* Copyright (c) 2021-2024 Alain Dumesny
|
|
@@ -82,6 +82,8 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
82
82
|
var _a, _b, _c;
|
|
83
83
|
this.el = el;
|
|
84
84
|
this.opts = opts;
|
|
85
|
+
/** time to wait for animation (if enabled) to be done so content sizing can happen */
|
|
86
|
+
this.animationDelay = 300 + 10;
|
|
85
87
|
/** @internal */
|
|
86
88
|
this._gsEventHandler = {};
|
|
87
89
|
/** @internal extra row added when dragging at the bottom of the grid */
|
|
@@ -89,7 +91,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
89
91
|
/** @internal meant to store the scale of the active grid */
|
|
90
92
|
this.dragTransform = { xScale: 1, yScale: 1, xOffset: 0, yOffset: 0 };
|
|
91
93
|
el.gridstack = this;
|
|
92
|
-
opts = opts || {}; // handles null/undefined/0
|
|
94
|
+
this.opts = opts = opts || {}; // handles null/undefined/0
|
|
93
95
|
if (!el.classList.contains('grid-stack')) {
|
|
94
96
|
this.el.classList.add('grid-stack');
|
|
95
97
|
}
|
|
@@ -411,7 +413,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
411
413
|
var domAttr = this._readAttr(el);
|
|
412
414
|
utils_1.Utils.defaults(w, domAttr);
|
|
413
415
|
this.engine.prepareNode(w);
|
|
414
|
-
this._writeAttr(el, w);
|
|
416
|
+
// this._writeAttr(el, w); why write possibly incorrect values back when makeWidget() will ?
|
|
415
417
|
this.el.appendChild(el);
|
|
416
418
|
this.makeWidget(el, w);
|
|
417
419
|
return el;
|
|
@@ -442,7 +444,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
442
444
|
grid = (_c = grid.parentGridNode) === null || _c === void 0 ? void 0 : _c.grid;
|
|
443
445
|
}
|
|
444
446
|
//... and set the create options
|
|
445
|
-
ops = utils_1.Utils.cloneDeep(__assign(__assign(__assign({},
|
|
447
|
+
ops = utils_1.Utils.cloneDeep(__assign(__assign(__assign(__assign({}, this.opts), { id: undefined, children: undefined, column: 'auto', columnOpts: undefined, layout: 'list', subGridOpts: undefined }), (subGridTemplate || {})), (ops || node.subGridOpts || {})));
|
|
446
448
|
node.subGridOpts = ops;
|
|
447
449
|
// if column special case it set, remember that flag and set default
|
|
448
450
|
var autoColumn;
|
|
@@ -502,6 +504,8 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
502
504
|
subGrid.makeWidget(node.el, node);
|
|
503
505
|
}
|
|
504
506
|
}
|
|
507
|
+
// if sizedToContent, we need to re-calc the size of ourself
|
|
508
|
+
this.resizeToContentCheck(false, node);
|
|
505
509
|
return subGrid;
|
|
506
510
|
};
|
|
507
511
|
/**
|
|
@@ -626,6 +630,8 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
626
630
|
// the original wanted layout so we can scale back up correctly #1471
|
|
627
631
|
var maxColumn = 0;
|
|
628
632
|
items.forEach(function (n) { maxColumn = Math.max(maxColumn, (n.x || 0) + n.w); });
|
|
633
|
+
if (maxColumn > this.engine.defaultColumn)
|
|
634
|
+
this.engine.defaultColumn = maxColumn;
|
|
629
635
|
if (maxColumn > column) {
|
|
630
636
|
this._ignoreLayoutsNodeChange = true; // skip layout update
|
|
631
637
|
this.engine.cacheLayout(items, maxColumn, true);
|
|
@@ -682,8 +688,9 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
682
688
|
}
|
|
683
689
|
// add back to current list BUT force a collision check if it 'appears' we didn't change to make sure we don't overlap others now
|
|
684
690
|
_this.engine.nodes.push(item);
|
|
685
|
-
if (utils_1.Utils.samePos(item, w)) {
|
|
691
|
+
if (utils_1.Utils.samePos(item, w) && _this.engine.nodes.length > 1) {
|
|
686
692
|
_this.moveNode(item, __assign(__assign({}, w), { forceCollide: true }));
|
|
693
|
+
utils_1.Utils.copyPos(w, item); // use possily updated values before update() is called next (no-op since already moved)
|
|
687
694
|
}
|
|
688
695
|
_this.update(item.el, w);
|
|
689
696
|
if ((_a = w.subGridOpts) === null || _a === void 0 ? void 0 : _a.children) { // update any sub grid as well
|
|
@@ -994,8 +1001,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
994
1001
|
*
|
|
995
1002
|
* @example
|
|
996
1003
|
* const grid = GridStack.init();
|
|
997
|
-
* grid.el.
|
|
998
|
-
* grid.el.appendChild('<div id="2"></div>');
|
|
1004
|
+
* grid.el.innerHtml = '<div id="1" gs-w="3"></div><div id="2"></div>';
|
|
999
1005
|
* grid.makeWidget('1');
|
|
1000
1006
|
* grid.makeWidget('2', {w:2, content: 'hello'});
|
|
1001
1007
|
*/
|
|
@@ -1217,7 +1223,6 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
1217
1223
|
var w = utils_1.Utils.cloneDeep(opt); // make a copy we can modify in case they re-use it or multiple items
|
|
1218
1224
|
_this.engine.nodeBoundFix(w);
|
|
1219
1225
|
delete w.autoPosition;
|
|
1220
|
-
delete w.id;
|
|
1221
1226
|
// move/resize widget if anything changed
|
|
1222
1227
|
var keys = ['x', 'y', 'w', 'h'];
|
|
1223
1228
|
var m;
|
|
@@ -1236,6 +1241,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
1236
1241
|
if (w.content !== undefined) {
|
|
1237
1242
|
var itemContent = el.querySelector('.grid-stack-item-content');
|
|
1238
1243
|
if (itemContent && itemContent.textContent !== w.content) {
|
|
1244
|
+
n.content = w.content;
|
|
1239
1245
|
GridStack.renderCB(itemContent, w);
|
|
1240
1246
|
// restore any sub-grid back
|
|
1241
1247
|
if ((_a = n.subGrid) === null || _a === void 0 ? void 0 : _a.el) {
|
|
@@ -1261,7 +1267,13 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
1261
1267
|
if (m) {
|
|
1262
1268
|
var widthChanged = (m.w !== undefined && m.w !== n.w);
|
|
1263
1269
|
_this.moveNode(n, m);
|
|
1264
|
-
|
|
1270
|
+
if (widthChanged && n.subGrid) {
|
|
1271
|
+
// if we're animating the client size hasn't changed yet, so force a change (not exact size)
|
|
1272
|
+
n.subGrid.onResize(_this.hasAnimationCSS() ? n.w : undefined);
|
|
1273
|
+
}
|
|
1274
|
+
else {
|
|
1275
|
+
_this.resizeToContentCheck(widthChanged, n);
|
|
1276
|
+
}
|
|
1265
1277
|
delete n._orig; // clear out original position now that we moved #2669
|
|
1266
1278
|
}
|
|
1267
1279
|
if (m || changed) {
|
|
@@ -1318,8 +1330,11 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
1318
1330
|
var itemH = n.h ? n.h * cell - padding : item.clientHeight; // calculated to what cellHeight is or will become (rather than actual to prevent waiting for animation to finish)
|
|
1319
1331
|
var wantedH;
|
|
1320
1332
|
if (n.subGrid) {
|
|
1321
|
-
// sub-grid - use their actual row count * their cell height
|
|
1333
|
+
// sub-grid - use their actual row count * their cell height, BUT append any content outside of the grid (eg: above text)
|
|
1322
1334
|
wantedH = n.subGrid.getRow() * n.subGrid.getCellHeight(true);
|
|
1335
|
+
var subRec = n.subGrid.el.getBoundingClientRect();
|
|
1336
|
+
var parentRec = n.subGrid.el.parentElement.getBoundingClientRect();
|
|
1337
|
+
wantedH += subRec.top - parentRec.top;
|
|
1323
1338
|
}
|
|
1324
1339
|
else if ((_b = (_a = n.subGridOpts) === null || _a === void 0 ? void 0 : _a.children) === null || _b === void 0 ? void 0 : _b.length) {
|
|
1325
1340
|
// not sub-grid just yet (case above) wait until we do
|
|
@@ -1696,20 +1711,21 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
1696
1711
|
* and remember the prev columns we used, or get our count from parent, as well as check for cellHeight==='auto' (square)
|
|
1697
1712
|
* or `sizeToContent` gridItem options.
|
|
1698
1713
|
*/
|
|
1699
|
-
GridStack.prototype.onResize = function () {
|
|
1714
|
+
GridStack.prototype.onResize = function (clientWidth) {
|
|
1700
1715
|
var _a;
|
|
1701
|
-
if (
|
|
1716
|
+
if (clientWidth === void 0) { clientWidth = (_a = this.el) === null || _a === void 0 ? void 0 : _a.clientWidth; }
|
|
1717
|
+
if (!clientWidth)
|
|
1702
1718
|
return; // return if we're gone or no size yet (will get called again)
|
|
1703
|
-
if (this.prevWidth ===
|
|
1719
|
+
if (this.prevWidth === clientWidth)
|
|
1704
1720
|
return; // no-op
|
|
1705
|
-
this.prevWidth =
|
|
1706
|
-
// console.log('onResize ',
|
|
1721
|
+
this.prevWidth = clientWidth;
|
|
1722
|
+
// console.log('onResize ', clientWidth);
|
|
1707
1723
|
this.batchUpdate();
|
|
1708
1724
|
// see if we're nested and take our column count from our parent....
|
|
1709
1725
|
var columnChanged = false;
|
|
1710
1726
|
if (this._autoColumn && this.parentGridNode) {
|
|
1711
1727
|
if (this.opts.column !== this.parentGridNode.w) {
|
|
1712
|
-
this.column(this.parentGridNode.w, '
|
|
1728
|
+
this.column(this.parentGridNode.w, this.opts.layout || 'list');
|
|
1713
1729
|
columnChanged = true;
|
|
1714
1730
|
}
|
|
1715
1731
|
}
|
|
@@ -1741,7 +1757,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
1741
1757
|
// update any gridItem height with sizeToContent, but wait for DOM $animation_speed to settle if we changed column count
|
|
1742
1758
|
// TODO: is there a way to know what the final (post animation) size of the content will be so we can animate the column width and height together rather than sequentially ?
|
|
1743
1759
|
if (delay && this.hasAnimationCSS())
|
|
1744
|
-
return setTimeout(function () { return _this.resizeToContentCheck(false, n); },
|
|
1760
|
+
return setTimeout(function () { return _this.resizeToContentCheck(false, n); }, this.animationDelay);
|
|
1745
1761
|
if (n) {
|
|
1746
1762
|
if (utils_1.Utils.shouldSizeToContent(n))
|
|
1747
1763
|
this.resizeToContentCBCheck(n.el);
|
|
@@ -2579,7 +2595,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
2579
2595
|
GridStack.Utils = utils_1.Utils;
|
|
2580
2596
|
/** scoping so users can call new GridStack.Engine(12) for example */
|
|
2581
2597
|
GridStack.Engine = gridstack_engine_1.GridStackEngine;
|
|
2582
|
-
GridStack.GDRev = '11.
|
|
2598
|
+
GridStack.GDRev = '11.1.1';
|
|
2583
2599
|
return GridStack;
|
|
2584
2600
|
}());
|
|
2585
2601
|
//# sourceMappingURL=gridstack.js.map
|