gridstack 9.1.1 → 9.2.0

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.
Files changed (109) hide show
  1. package/angular/projects/lib/package.json +1 -1
  2. package/angular/projects/lib/src/lib/base-widget.ts +1 -1
  3. package/angular/projects/lib/src/lib/gridstack-item.component.ts +1 -1
  4. package/angular/projects/lib/src/lib/gridstack.component.ts +1 -1
  5. package/angular/projects/lib/src/lib/gridstack.module.ts +1 -1
  6. package/dist/angular/esm2020/lib/base-widget.mjs +2 -2
  7. package/dist/angular/esm2020/lib/gridstack-item.component.mjs +2 -2
  8. package/dist/angular/esm2020/lib/gridstack.component.mjs +2 -2
  9. package/dist/angular/esm2020/lib/gridstack.module.mjs +2 -2
  10. package/dist/angular/fesm2015/gridstack-angular.mjs +4 -4
  11. package/dist/angular/fesm2015/gridstack-angular.mjs.map +1 -1
  12. package/dist/angular/fesm2020/gridstack-angular.mjs +4 -4
  13. package/dist/angular/fesm2020/gridstack-angular.mjs.map +1 -1
  14. package/dist/angular/lib/gridstack-item.component.d.ts +1 -1
  15. package/dist/angular/lib/gridstack.component.d.ts +1 -1
  16. package/dist/angular/package.json +1 -1
  17. package/dist/angular/src/base-widget.ts +1 -1
  18. package/dist/angular/src/gridstack-item.component.ts +1 -1
  19. package/dist/angular/src/gridstack.component.ts +1 -1
  20. package/dist/angular/src/gridstack.module.ts +1 -1
  21. package/dist/dd-base-impl.d.ts +1 -1
  22. package/dist/dd-base-impl.js +1 -1
  23. package/dist/dd-base-impl.js.map +1 -1
  24. package/dist/dd-draggable.d.ts +1 -1
  25. package/dist/dd-draggable.js +1 -1
  26. package/dist/dd-draggable.js.map +1 -1
  27. package/dist/dd-droppable.d.ts +1 -1
  28. package/dist/dd-droppable.js +1 -1
  29. package/dist/dd-droppable.js.map +1 -1
  30. package/dist/dd-element.d.ts +1 -1
  31. package/dist/dd-element.js +1 -1
  32. package/dist/dd-element.js.map +1 -1
  33. package/dist/dd-gridstack.d.ts +1 -1
  34. package/dist/dd-gridstack.js +1 -1
  35. package/dist/dd-gridstack.js.map +1 -1
  36. package/dist/dd-manager.d.ts +1 -1
  37. package/dist/dd-manager.js +1 -1
  38. package/dist/dd-manager.js.map +1 -1
  39. package/dist/dd-resizable-handle.d.ts +1 -1
  40. package/dist/dd-resizable-handle.js +1 -1
  41. package/dist/dd-resizable-handle.js.map +1 -1
  42. package/dist/dd-resizable.d.ts +1 -1
  43. package/dist/dd-resizable.js +1 -1
  44. package/dist/dd-resizable.js.map +1 -1
  45. package/dist/dd-touch.d.ts +1 -1
  46. package/dist/dd-touch.js +1 -1
  47. package/dist/dd-touch.js.map +1 -1
  48. package/dist/es5/dd-base-impl.d.ts +1 -1
  49. package/dist/es5/dd-base-impl.js +1 -1
  50. package/dist/es5/dd-base-impl.js.map +1 -1
  51. package/dist/es5/dd-draggable.d.ts +1 -1
  52. package/dist/es5/dd-draggable.js +1 -1
  53. package/dist/es5/dd-draggable.js.map +1 -1
  54. package/dist/es5/dd-droppable.d.ts +1 -1
  55. package/dist/es5/dd-droppable.js +1 -1
  56. package/dist/es5/dd-droppable.js.map +1 -1
  57. package/dist/es5/dd-element.d.ts +1 -1
  58. package/dist/es5/dd-element.js +1 -1
  59. package/dist/es5/dd-element.js.map +1 -1
  60. package/dist/es5/dd-gridstack.d.ts +1 -1
  61. package/dist/es5/dd-gridstack.js +1 -1
  62. package/dist/es5/dd-gridstack.js.map +1 -1
  63. package/dist/es5/dd-manager.d.ts +1 -1
  64. package/dist/es5/dd-manager.js +1 -1
  65. package/dist/es5/dd-manager.js.map +1 -1
  66. package/dist/es5/dd-resizable-handle.d.ts +1 -1
  67. package/dist/es5/dd-resizable-handle.js +1 -1
  68. package/dist/es5/dd-resizable-handle.js.map +1 -1
  69. package/dist/es5/dd-resizable.d.ts +1 -1
  70. package/dist/es5/dd-resizable.js +1 -1
  71. package/dist/es5/dd-resizable.js.map +1 -1
  72. package/dist/es5/dd-touch.d.ts +1 -1
  73. package/dist/es5/dd-touch.js +1 -1
  74. package/dist/es5/dd-touch.js.map +1 -1
  75. package/dist/es5/gridstack-all.js +1 -1
  76. package/dist/es5/gridstack-all.js.LICENSE.txt +1 -1
  77. package/dist/es5/gridstack-all.js.map +1 -1
  78. package/dist/es5/gridstack-engine.d.ts +1 -1
  79. package/dist/es5/gridstack-engine.js +4 -3
  80. package/dist/es5/gridstack-engine.js.map +1 -1
  81. package/dist/es5/gridstack-poly.js +1 -1
  82. package/dist/es5/gridstack.d.ts +6 -5
  83. package/dist/es5/gridstack.js +43 -26
  84. package/dist/es5/gridstack.js.map +1 -1
  85. package/dist/es5/types.d.ts +4 -4
  86. package/dist/es5/types.js +1 -1
  87. package/dist/es5/types.js.map +1 -1
  88. package/dist/es5/utils.d.ts +1 -1
  89. package/dist/es5/utils.js +1 -1
  90. package/dist/es5/utils.js.map +1 -1
  91. package/dist/gridstack-all.js +1 -1
  92. package/dist/gridstack-all.js.LICENSE.txt +1 -1
  93. package/dist/gridstack-all.js.map +1 -1
  94. package/dist/gridstack-engine.d.ts +1 -1
  95. package/dist/gridstack-engine.js +4 -3
  96. package/dist/gridstack-engine.js.map +1 -1
  97. package/dist/gridstack.css +1 -1
  98. package/dist/gridstack.d.ts +6 -5
  99. package/dist/gridstack.js +43 -26
  100. package/dist/gridstack.js.map +1 -1
  101. package/dist/src/gridstack.scss +1 -1
  102. package/dist/types.d.ts +4 -4
  103. package/dist/types.js +1 -1
  104. package/dist/types.js.map +1 -1
  105. package/dist/utils.d.ts +1 -1
  106. package/dist/utils.js +1 -1
  107. package/dist/utils.js.map +1 -1
  108. package/doc/CHANGES.md +5 -0
  109. package/package.json +1 -1
@@ -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 9.1.1
39
+ * GridStack 9.2.0
40
40
  * https://gridstackjs.com/
41
41
  *
42
42
  * Copyright (c) 2021-2022 Alain Dumesny
@@ -590,7 +590,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
590
590
  *
591
591
  * @example
592
592
  * see http://gridstackjs.com/demo/serialization.html
593
- **/
593
+ */
594
594
  GridStack.prototype.load = function (layout, addRemove) {
595
595
  var _this = this;
596
596
  if (addRemove === void 0) { addRemove = GridStack.addRemoveCB || true; }
@@ -752,7 +752,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
752
752
  * 'compact' might re-order items to fill any empty space
753
753
  *
754
754
  * doSort - 'false' to let you do your own sorting ahead in case you need to control a different order. (default to sort)
755
- **/
755
+ */
756
756
  GridStack.prototype.compact = function (layout, doSort) {
757
757
  if (layout === void 0) { layout = 'compact'; }
758
758
  if (doSort === void 0) { doSort = true; }
@@ -1193,7 +1193,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
1193
1193
  * Updates widget height to match the content height to avoid v-scrollbar or dead space.
1194
1194
  * Note: this assumes only 1 child under resizeToContentParent='.grid-stack-item-content' (sized to gridItem minus padding) that is at the entire content size wanted.
1195
1195
  * useAttrSize set to true if GridStackNode.h should be used instead of actual container height when we don't need to wait for animation to finish to get actual DOM heights
1196
- **/
1196
+ */
1197
1197
  GridStack.prototype.resizeToContent = function (el, useAttrSize) {
1198
1198
  if (useAttrSize === void 0) { useAttrSize = false; }
1199
1199
  el === null || el === void 0 ? void 0 : el.classList.remove('size-to-content-max');
@@ -1218,15 +1218,22 @@ var GridStack = exports.GridStack = /** @class */ (function () {
1218
1218
  item = el.querySelector(GridStack.resizeToContentParent);
1219
1219
  if (!item)
1220
1220
  return;
1221
- var child = item.firstElementChild;
1222
- // NOTE: clientHeight & getBoundingClientRect() is undefined for text and other leaf nodes. use <div> container!
1223
- if (!child) {
1224
- console.log("Error: resizeToContent() '".concat(GridStack.resizeToContentParent, "'.firstElementChild is null, make sure to have a div like container. Skipping sizing."));
1225
- return;
1226
- }
1227
1221
  var padding = el.clientHeight - item.clientHeight; // full - available height to our child (minus border, padding...)
1228
1222
  var itemH = useAttrSize && 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)
1229
- var wantedH = child.getBoundingClientRect().height || itemH;
1223
+ var wantedH;
1224
+ if (n.subGrid) {
1225
+ // sub-grid - use their actual row count * their cell height
1226
+ wantedH = n.subGrid.getRow() * n.subGrid.getCellHeight();
1227
+ }
1228
+ else {
1229
+ // NOTE: clientHeight & getBoundingClientRect() is undefined for text and other leaf nodes. use <div> container!
1230
+ var child = item.firstElementChild;
1231
+ if (!child) {
1232
+ console.log("Error: resizeToContent() '".concat(GridStack.resizeToContentParent, "'.firstElementChild is null, make sure to have a div like container. Skipping sizing."));
1233
+ return;
1234
+ }
1235
+ wantedH = child.getBoundingClientRect().height || itemH;
1236
+ }
1230
1237
  if (itemH === wantedH)
1231
1238
  return;
1232
1239
  height += wantedH - itemH;
@@ -1429,13 +1436,18 @@ var GridStack = exports.GridStack = /** @class */ (function () {
1429
1436
  this.el.setAttribute('gs-current-row', String(row));
1430
1437
  if (row === 0) {
1431
1438
  this.el.style.removeProperty('min-height');
1432
- return this;
1433
1439
  }
1434
- var cellHeight = this.opts.cellHeight;
1435
- var unit = this.opts.cellHeightUnit;
1436
- if (!cellHeight)
1437
- return this;
1438
- this.el.style.minHeight = row * cellHeight + unit;
1440
+ else {
1441
+ var cellHeight = this.opts.cellHeight;
1442
+ var unit = this.opts.cellHeightUnit;
1443
+ if (!cellHeight)
1444
+ return this;
1445
+ this.el.style.minHeight = row * cellHeight + unit;
1446
+ }
1447
+ // if we're a nested grid inside an sizeToContent item, tell it to resize itself too
1448
+ if (this.parentGridItem && !this.parentGridItem.grid.engine.batchMode && utils_1.Utils.shouldSizeToContent(this.parentGridItem)) {
1449
+ this.parentGridItem.grid.resizeToContentCheck(this.parentGridItem.el);
1450
+ }
1439
1451
  return this;
1440
1452
  };
1441
1453
  /** @internal */
@@ -1589,7 +1601,9 @@ var GridStack = exports.GridStack = /** @class */ (function () {
1589
1601
  if (n.subGrid)
1590
1602
  n.subGrid.onResize();
1591
1603
  });
1592
- this.doContentResize(columnChanged); // wait for anim of column changed (DOM reflow before we can size correctly)
1604
+ if (!this._skipInitialResize)
1605
+ this.doContentResize(columnChanged); // wait for anim of column changed (DOM reflow before we can size correctly)
1606
+ delete this._skipInitialResize;
1593
1607
  this.batchUpdate(false);
1594
1608
  return this;
1595
1609
  };
@@ -1605,7 +1619,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
1605
1619
  if (utils_1.Utils.shouldSizeToContent(n))
1606
1620
  _this.resizeToContentCheck(n.el, useAttr);
1607
1621
  }
1608
- else {
1622
+ else if (_this.engine.nodes.some(function (n) { return utils_1.Utils.shouldSizeToContent(n); })) {
1609
1623
  var nodes = __spreadArray([], _this.engine.nodes, true); // in case order changes while resizing one
1610
1624
  _this.batchUpdate();
1611
1625
  nodes.forEach(function (n) {
@@ -1614,6 +1628,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
1614
1628
  });
1615
1629
  _this.batchUpdate(false);
1616
1630
  }
1631
+ // call this regardless of shouldSizeToContent because widget might need to stretch to take available space after a resize
1617
1632
  if (_this._gsEventHandler['resizecontent'])
1618
1633
  _this._gsEventHandler['resizecontent'](null, n ? [n] : _this.engine.nodes);
1619
1634
  }, delay ? 300 + 10 : 0);
@@ -1624,11 +1639,13 @@ var GridStack = exports.GridStack = /** @class */ (function () {
1624
1639
  if (forceRemove === void 0) { forceRemove = false; }
1625
1640
  // only add event if we're not nested (parent will call us) and we're auto sizing cells or supporting oneColumn (i.e. doing work)
1626
1641
  // or supporting new sizeToContent option.
1627
- var trackSize = !this.parentGridItem && (this._isAutoCellHeight || this.opts.sizeToContent || !this.opts.disableOneColumnMode || this.engine.nodes.find(function (n) { return n.sizeToContent; }));
1642
+ var trackSize = !this.parentGridItem && (this._isAutoCellHeight || this.opts.sizeToContent || !this.opts.disableOneColumnMode
1643
+ || this.engine.nodes.find(function (n) { return n.sizeToContent; }));
1628
1644
  if (!forceRemove && trackSize && !this.resizeObserver) {
1629
1645
  this._sizeThrottle = utils_1.Utils.throttle(function () { return _this.onResize(); }, this.opts.cellHeightThrottle);
1630
1646
  this.resizeObserver = new ResizeObserver(function (entries) { return _this._sizeThrottle(); });
1631
1647
  this.resizeObserver.observe(this.el);
1648
+ this._skipInitialResize = true; // makeWidget will originally have called on startup
1632
1649
  }
1633
1650
  else if ((forceRemove || !trackSize) && this.resizeObserver) {
1634
1651
  this.resizeObserver.disconnect();
@@ -1730,7 +1747,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
1730
1747
  * @param dragIn string selector (ex: '.sidebar .grid-stack-item') or list of dom elements
1731
1748
  * @param dragInOptions options - see DDDragInOpt. (default: {handle: '.grid-stack-item-content', appendTo: 'body'}
1732
1749
  * @param root optional root which defaults to document (for shadow dom pas the parent HTMLDocument)
1733
- **/
1750
+ */
1734
1751
  GridStack.setupDragIn = function (dragIn, dragInOptions, root) {
1735
1752
  if (root === void 0) { root = document; }
1736
1753
  if ((dragInOptions === null || dragInOptions === void 0 ? void 0 : dragInOptions.pause) !== undefined) {
@@ -2120,7 +2137,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
2120
2137
  }
2121
2138
  return this;
2122
2139
  };
2123
- /** @internal prepares the element for drag&drop **/
2140
+ /** @internal prepares the element for drag&drop */
2124
2141
  GridStack.prototype._prepareDragDropByNode = function (node) {
2125
2142
  var _this = this;
2126
2143
  var el = node.el;
@@ -2215,7 +2232,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
2215
2232
  .resizable(el, noResize ? 'disable' : 'enable');
2216
2233
  return this;
2217
2234
  };
2218
- /** @internal handles actual drag/resize start **/
2235
+ /** @internal handles actual drag/resize start */
2219
2236
  GridStack.prototype._onStartMoving = function (el, event, ui, node, cellWidth, cellHeight) {
2220
2237
  this.engine.cleanNodes()
2221
2238
  .beginUpdate(node);
@@ -2246,7 +2263,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
2246
2263
  }
2247
2264
  }
2248
2265
  };
2249
- /** @internal handles actual drag/resize **/
2266
+ /** @internal handles actual drag/resize */
2250
2267
  GridStack.prototype._dragOrResize = function (el, event, ui, node, cellWidth, cellHeight) {
2251
2268
  var p = __assign({}, node._orig); // could be undefined (_isExternal) which is ok (drag only set x,y and w,h will default to node value)
2252
2269
  var resizing;
@@ -2334,7 +2351,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
2334
2351
  /** @internal called when item leaving our area by either cursor dropout event
2335
2352
  * or shape is outside our boundaries. remove it from us, and mark temporary if this was
2336
2353
  * our item to start with else restore prev node values from prev grid it came from.
2337
- **/
2354
+ */
2338
2355
  GridStack.prototype._leave = function (el, helper) {
2339
2356
  var node = el.gridstackNode;
2340
2357
  if (!node)
@@ -2372,7 +2389,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
2372
2389
  GridStack.Utils = utils_1.Utils;
2373
2390
  /** scoping so users can call new GridStack.Engine(12) for example */
2374
2391
  GridStack.Engine = gridstack_engine_1.GridStackEngine;
2375
- GridStack.GDRev = '9.1.1';
2392
+ GridStack.GDRev = '9.2.0';
2376
2393
  return GridStack;
2377
2394
  }());
2378
2395
  //# sourceMappingURL=gridstack.js.map