gridstack 7.0.0 → 7.1.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 (90) hide show
  1. package/README.md +1 -1
  2. package/dist/dd-base-impl.d.ts +1 -1
  3. package/dist/dd-base-impl.js +1 -1
  4. package/dist/dd-base-impl.js.map +1 -1
  5. package/dist/dd-draggable.d.ts +1 -1
  6. package/dist/dd-draggable.js +1 -1
  7. package/dist/dd-draggable.js.map +1 -1
  8. package/dist/dd-droppable.d.ts +1 -1
  9. package/dist/dd-droppable.js +1 -1
  10. package/dist/dd-droppable.js.map +1 -1
  11. package/dist/dd-element.d.ts +1 -1
  12. package/dist/dd-element.js +1 -1
  13. package/dist/dd-element.js.map +1 -1
  14. package/dist/dd-gridstack.d.ts +1 -1
  15. package/dist/dd-gridstack.js +3 -3
  16. package/dist/dd-gridstack.js.map +1 -1
  17. package/dist/dd-manager.d.ts +1 -1
  18. package/dist/dd-manager.js +1 -1
  19. package/dist/dd-manager.js.map +1 -1
  20. package/dist/dd-resizable-handle.d.ts +1 -1
  21. package/dist/dd-resizable-handle.js +1 -1
  22. package/dist/dd-resizable-handle.js.map +1 -1
  23. package/dist/dd-resizable.d.ts +1 -1
  24. package/dist/dd-resizable.js +1 -1
  25. package/dist/dd-resizable.js.map +1 -1
  26. package/dist/dd-touch.d.ts +1 -1
  27. package/dist/dd-touch.js +8 -7
  28. package/dist/dd-touch.js.map +1 -1
  29. package/dist/es5/dd-base-impl.d.ts +1 -1
  30. package/dist/es5/dd-base-impl.js +1 -1
  31. package/dist/es5/dd-base-impl.js.map +1 -1
  32. package/dist/es5/dd-draggable.d.ts +1 -1
  33. package/dist/es5/dd-draggable.js +1 -1
  34. package/dist/es5/dd-draggable.js.map +1 -1
  35. package/dist/es5/dd-droppable.d.ts +1 -1
  36. package/dist/es5/dd-droppable.js +1 -1
  37. package/dist/es5/dd-droppable.js.map +1 -1
  38. package/dist/es5/dd-element.d.ts +1 -1
  39. package/dist/es5/dd-element.js +1 -1
  40. package/dist/es5/dd-element.js.map +1 -1
  41. package/dist/es5/dd-gridstack.d.ts +1 -1
  42. package/dist/es5/dd-gridstack.js +3 -3
  43. package/dist/es5/dd-gridstack.js.map +1 -1
  44. package/dist/es5/dd-manager.d.ts +1 -1
  45. package/dist/es5/dd-manager.js +1 -1
  46. package/dist/es5/dd-manager.js.map +1 -1
  47. package/dist/es5/dd-resizable-handle.d.ts +1 -1
  48. package/dist/es5/dd-resizable-handle.js +1 -1
  49. package/dist/es5/dd-resizable-handle.js.map +1 -1
  50. package/dist/es5/dd-resizable.d.ts +1 -1
  51. package/dist/es5/dd-resizable.js +1 -1
  52. package/dist/es5/dd-resizable.js.map +1 -1
  53. package/dist/es5/dd-touch.d.ts +1 -1
  54. package/dist/es5/dd-touch.js +8 -7
  55. package/dist/es5/dd-touch.js.map +1 -1
  56. package/dist/es5/gridstack-all.js +1 -1
  57. package/dist/es5/gridstack-all.js.LICENSE.txt +1 -1
  58. package/dist/es5/gridstack-all.js.map +1 -1
  59. package/dist/es5/gridstack-engine.d.ts +6 -3
  60. package/dist/es5/gridstack-engine.js +49 -35
  61. package/dist/es5/gridstack-engine.js.map +1 -1
  62. package/dist/es5/gridstack-poly.js +1 -1
  63. package/dist/es5/gridstack.d.ts +4 -2
  64. package/dist/es5/gridstack.js +15 -14
  65. package/dist/es5/gridstack.js.map +1 -1
  66. package/dist/es5/types.d.ts +1 -1
  67. package/dist/es5/types.js +1 -1
  68. package/dist/es5/types.js.map +1 -1
  69. package/dist/es5/utils.d.ts +2 -2
  70. package/dist/es5/utils.js +2 -2
  71. package/dist/es5/utils.js.map +1 -1
  72. package/dist/gridstack-all.js +1 -1
  73. package/dist/gridstack-all.js.LICENSE.txt +1 -1
  74. package/dist/gridstack-all.js.map +1 -1
  75. package/dist/gridstack-engine.d.ts +6 -3
  76. package/dist/gridstack-engine.js +45 -29
  77. package/dist/gridstack-engine.js.map +1 -1
  78. package/dist/gridstack.css +1 -1
  79. package/dist/gridstack.d.ts +4 -2
  80. package/dist/gridstack.js +15 -14
  81. package/dist/gridstack.js.map +1 -1
  82. package/dist/src/gridstack.scss +1 -1
  83. package/dist/types.d.ts +1 -1
  84. package/dist/types.js +1 -1
  85. package/dist/types.js.map +1 -1
  86. package/dist/utils.d.ts +2 -2
  87. package/dist/utils.js +2 -2
  88. package/dist/utils.js.map +1 -1
  89. package/doc/CHANGES.md +13 -0
  90. package/package.json +7 -7
package/dist/gridstack.js CHANGED
@@ -12,7 +12,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.GridStack = void 0;
14
14
  /*!
15
- * GridStack 7.0.0
15
+ * GridStack 7.1.0
16
16
  * https://gridstackjs.com/
17
17
  *
18
18
  * Copyright (c) 2021-2022 Alain Dumesny
@@ -148,16 +148,19 @@ class GridStack {
148
148
  if (this.opts.auto) {
149
149
  this.batchUpdate(); // prevent in between re-layout #1535 TODO: this only set float=true, need to prevent collision check...
150
150
  let elements = [];
151
+ let column = this.getColumn();
152
+ if (column === 1 && this._prevColumn)
153
+ column = this._prevColumn; // do 12 column when reading into 1 column mode
151
154
  this.getGridItems().forEach(el => {
152
155
  let x = parseInt(el.getAttribute('gs-x'));
153
156
  let y = parseInt(el.getAttribute('gs-y'));
154
157
  elements.push({
155
158
  el,
156
159
  // if x,y are missing (autoPosition) add them to end of list - but keep their respective DOM order
157
- i: (Number.isNaN(x) ? 1000 : x) + (Number.isNaN(y) ? 1000 : y) * this.getColumn()
160
+ i: (Number.isNaN(x) ? 1000 : x) + (Number.isNaN(y) ? 1000 : y) * column
158
161
  });
159
162
  });
160
- elements.sort((a, b) => a.i - b.i).forEach(e => this._prepareElement(e.el));
163
+ elements.sort((a, b) => b.i - a.i).forEach(e => this._prepareElement(e.el)); // revert sort so lowest item wins
161
164
  this.batchUpdate(false);
162
165
  }
163
166
  this.setAnimation(this.opts.animate);
@@ -298,14 +301,6 @@ class GridStack {
298
301
  * @param options widget position/size options (optional, and ignore if first param is already option) - see GridStackWidget
299
302
  */
300
303
  addWidget(els, options) {
301
- // support legacy call for now ?
302
- if (arguments.length > 2) {
303
- console.warn('gridstack.ts: `addWidget(el, x, y, width...)` is deprecated. Use `addWidget({x, y, w, content, ...})`. It will be removed soon');
304
- // eslint-disable-next-line prefer-rest-params
305
- let a = arguments, i = 1, opt = { x: a[i++], y: a[i++], w: a[i++], h: a[i++], autoPosition: a[i++],
306
- minW: a[i++], maxW: a[i++], minH: a[i++], maxH: a[i++], id: a[i++] };
307
- return this.addWidget(els, opt);
308
- }
309
304
  function isGridStackWidget(w) {
310
305
  return w.x !== undefined || w.y !== undefined || w.w !== undefined || w.h !== undefined || w.content !== undefined ? true : false;
311
306
  }
@@ -346,8 +341,14 @@ class GridStack {
346
341
  if (node.subGrid) {
347
342
  this.makeSubGrid(node.el, undefined, undefined, false);
348
343
  }
344
+ // if we're adding an item into 1 column (_prevColumn is set only when going to 1) make sure
345
+ // we don't override the larger 12 column layout that was already saved. #1985
346
+ if (this._prevColumn && this.opts.column === 1) {
347
+ this._ignoreLayoutsNodeChange = true;
348
+ }
349
349
  this._triggerAddEvent();
350
350
  this._triggerChangeEvent();
351
+ delete this._ignoreLayoutsNodeChange;
351
352
  return el;
352
353
  }
353
354
  /**
@@ -531,7 +532,7 @@ class GridStack {
531
532
  load(layout, addAndRemove = true) {
532
533
  let items = GridStack.Utils.sort([...layout], -1, this._prevColumn || this.getColumn()); // make copy before we mod/sort
533
534
  this._insertNotAppend = true; // since create in reverse order...
534
- // if we're loading a layout into 1 column (_prevColumn is set only when going to 1) and items don't fit, make sure to save
535
+ // if we're loading a layout into for example 1 column (_prevColumn is set only when going to 1) and items don't fit, make sure to save
535
536
  // the original wanted layout so we can scale back up correctly #1471
536
537
  if (this._prevColumn && this._prevColumn !== this.opts.column && items.some(n => (n.x + n.w) > this.opts.column)) {
537
538
  this._ignoreLayoutsNodeChange = true; // skip layout update
@@ -905,7 +906,7 @@ class GridStack {
905
906
  */
906
907
  removeWidget(els, removeDOM = true, triggerEvent = true) {
907
908
  GridStack.getElements(els).forEach(el => {
908
- if (el.parentElement !== this.el)
909
+ if (el.parentElement && el.parentElement !== this.el)
909
910
  return; // not our child!
910
911
  let node = el.gridstackNode;
911
912
  // For Meteor support: https://github.com/gridstack/gridstack.js/pull/272
@@ -1537,7 +1538,7 @@ exports.GridStack = GridStack;
1537
1538
  GridStack.Utils = utils_1.Utils;
1538
1539
  /** scoping so users can call new GridStack.Engine(12) for example */
1539
1540
  GridStack.Engine = gridstack_engine_1.GridStackEngine;
1540
- GridStack.GDRev = '7.0.0';
1541
+ GridStack.GDRev = '7.1.0';
1541
1542
  const dd_touch_1 = require("./dd-touch");
1542
1543
  const dd_manager_1 = require("./dd-manager");
1543
1544
  __exportStar(require("./dd-gridstack"), exports);