gridstack 9.3.0 → 9.5.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.
- package/.github/FUNDING.yml +1 -1
- package/angular/package.json +1 -1
- package/angular/projects/lib/package.json +1 -1
- 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/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 -5
- package/dist/dd-draggable.js +52 -24
- 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 +46 -23
- 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 -5
- package/dist/es5/dd-draggable.js +52 -27
- 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 +47 -25
- 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 +1 -1
- package/dist/es5/gridstack-engine.js +3 -3
- package/dist/es5/gridstack-engine.js.map +1 -1
- package/dist/es5/gridstack-poly.js +1 -1
- package/dist/es5/gridstack.d.ts +2 -2
- package/dist/es5/gridstack.js +54 -41
- 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 +3 -7
- package/dist/es5/utils.js +8 -34
- 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 +1 -1
- package/dist/gridstack-engine.js +3 -3
- package/dist/gridstack-engine.js.map +1 -1
- package/dist/gridstack.css +1 -1
- package/dist/gridstack.d.ts +2 -2
- package/dist/gridstack.js +50 -37
- 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 +3 -7
- package/dist/utils.js +8 -34
- package/dist/utils.js.map +1 -1
- package/doc/CHANGES.md +12 -0
- 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 9.
|
|
39
|
+
* GridStack 9.5.0
|
|
40
40
|
* https://gridstackjs.com/
|
|
41
41
|
*
|
|
42
42
|
* Copyright (c) 2021-2022 Alain Dumesny
|
|
@@ -592,12 +592,14 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
592
592
|
* @example
|
|
593
593
|
* see http://gridstackjs.com/demo/serialization.html
|
|
594
594
|
*/
|
|
595
|
-
GridStack.prototype.load = function (
|
|
595
|
+
GridStack.prototype.load = function (items, addRemove) {
|
|
596
596
|
var _this = this;
|
|
597
597
|
if (addRemove === void 0) { addRemove = GridStack.addRemoveCB || true; }
|
|
598
|
+
items = utils_1.Utils.cloneDeep(items); // so we can mod
|
|
598
599
|
// if passed list has coordinates, use them (insert from end to beginning for conflict resolution) else force widget same order
|
|
599
|
-
var haveCoord =
|
|
600
|
-
|
|
600
|
+
var haveCoord = items.some(function (w) { return w.x !== undefined || w.y !== undefined; });
|
|
601
|
+
if (haveCoord)
|
|
602
|
+
items = utils_1.Utils.sort(items, -1, this._prevColumn || this.getColumn());
|
|
601
603
|
this._insertNotAppend = haveCoord; // if we create in reverse order...
|
|
602
604
|
// 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
|
|
603
605
|
// the original wanted layout so we can scale back up correctly #1471
|
|
@@ -613,9 +615,11 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
613
615
|
this.batchUpdate();
|
|
614
616
|
// see if any items are missing from new layout and need to be removed first
|
|
615
617
|
if (addRemove) {
|
|
616
|
-
var
|
|
617
|
-
|
|
618
|
-
|
|
618
|
+
var copyNodes = __spreadArray([], this.engine.nodes, true); // don't loop through array you modify
|
|
619
|
+
copyNodes.forEach(function (n) {
|
|
620
|
+
if (!n.id)
|
|
621
|
+
return;
|
|
622
|
+
var item = utils_1.Utils.find(items, n.id);
|
|
619
623
|
if (!item) {
|
|
620
624
|
if (GridStack.addRemoveCB)
|
|
621
625
|
GridStack.addRemoveCB(_this.el, n, false, false);
|
|
@@ -624,20 +628,37 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
624
628
|
}
|
|
625
629
|
});
|
|
626
630
|
}
|
|
627
|
-
// now add/update the widgets - starting with
|
|
628
|
-
|
|
629
|
-
|
|
631
|
+
// now add/update the widgets - starting with removing items in the new layout we will reposition
|
|
632
|
+
// to reduce collision and add no-coord ones at next available spot
|
|
633
|
+
var updateNodes = [];
|
|
634
|
+
this.engine.nodes = this.engine.nodes.filter(function (n) {
|
|
635
|
+
if (utils_1.Utils.find(items, n.id)) {
|
|
636
|
+
updateNodes.push(n);
|
|
637
|
+
return false;
|
|
638
|
+
} // remove if found from list
|
|
639
|
+
return true;
|
|
640
|
+
});
|
|
641
|
+
var widthChanged = false;
|
|
630
642
|
items.forEach(function (w) {
|
|
631
643
|
var _a;
|
|
632
|
-
var item =
|
|
644
|
+
var item = utils_1.Utils.find(updateNodes, w.id);
|
|
633
645
|
if (item) {
|
|
646
|
+
// if item sizes to content, re-use the exiting height so it's a better guess at the final size 9same if width doesn't change)
|
|
647
|
+
if (utils_1.Utils.shouldSizeToContent(item))
|
|
648
|
+
w.h = item.h;
|
|
634
649
|
// check if missing coord, in which case find next empty slot with new (or old if missing) sizes
|
|
635
650
|
if (w.autoPosition || w.x === undefined || w.y === undefined) {
|
|
636
651
|
w.w = w.w || item.w;
|
|
637
652
|
w.h = w.h || item.h;
|
|
638
653
|
_this.engine.findEmptyPosition(w);
|
|
639
654
|
}
|
|
640
|
-
|
|
655
|
+
widthChanged = widthChanged || (w.w !== undefined && w.w !== item.w);
|
|
656
|
+
// 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
|
|
657
|
+
_this.engine.nodes.push(item);
|
|
658
|
+
if (utils_1.Utils.samePos(item, w)) {
|
|
659
|
+
_this.moveNode(item, __assign(__assign({}, w), { forceCollide: true }));
|
|
660
|
+
utils_1.Utils.copyPos(w, item, true);
|
|
661
|
+
}
|
|
641
662
|
_this.update(item.el, w);
|
|
642
663
|
if ((_a = w.subGridOpts) === null || _a === void 0 ? void 0 : _a.children) { // update any sub grid as well
|
|
643
664
|
var sub = item.el.querySelector('.grid-stack');
|
|
@@ -652,6 +673,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
652
673
|
}
|
|
653
674
|
});
|
|
654
675
|
this.engine.removedNodes = removed;
|
|
676
|
+
this.doContentResize(widthChanged, true); // we only need to wait for animation if we changed any widths
|
|
655
677
|
this.batchUpdate(false);
|
|
656
678
|
// after commit, clear that flag
|
|
657
679
|
delete this._ignoreLayoutsNodeChange;
|
|
@@ -775,9 +797,9 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
775
797
|
if (!column || column < 1 || this.opts.column === column)
|
|
776
798
|
return this;
|
|
777
799
|
var oldColumn = this.getColumn();
|
|
778
|
-
// if we go into 1 column mode
|
|
800
|
+
// if we go into 1 column mode due to size change (disableOneColumnMode is off and we hit min width)
|
|
779
801
|
// then remember the original columns so we can restore.
|
|
780
|
-
if (column === 1) {
|
|
802
|
+
if (column === 1 && !this.opts.disableOneColumnMode) {
|
|
781
803
|
this._prevColumn = oldColumn;
|
|
782
804
|
}
|
|
783
805
|
else {
|
|
@@ -1131,6 +1153,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
1131
1153
|
return;
|
|
1132
1154
|
var w = utils_1.Utils.cloneDeep(opt); // make a copy we can modify in case they re-use it or multiple items
|
|
1133
1155
|
delete w.autoPosition;
|
|
1156
|
+
delete w.id;
|
|
1134
1157
|
// move/resize widget if anything changed
|
|
1135
1158
|
var keys = ['x', 'y', 'w', 'h'];
|
|
1136
1159
|
var m;
|
|
@@ -1148,14 +1171,14 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
1148
1171
|
// check for content changing
|
|
1149
1172
|
if (w.content !== undefined) {
|
|
1150
1173
|
var itemContent = el.querySelector('.grid-stack-item-content');
|
|
1151
|
-
if (
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1174
|
+
if (itemContent && itemContent.innerHTML !== w.content) {
|
|
1175
|
+
itemContent.innerHTML = w.content;
|
|
1176
|
+
// restore any sub-grid back
|
|
1177
|
+
if ((_a = n.subGrid) === null || _a === void 0 ? void 0 : _a.el) {
|
|
1178
|
+
itemContent.appendChild(n.subGrid.el);
|
|
1179
|
+
if (!n.subGrid.opts.styleInHead)
|
|
1180
|
+
n.subGrid._updateStyles(true); // force create
|
|
1181
|
+
}
|
|
1159
1182
|
}
|
|
1160
1183
|
delete w.content;
|
|
1161
1184
|
}
|
|
@@ -1171,7 +1194,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
1171
1194
|
}
|
|
1172
1195
|
utils_1.Utils.sanitizeMinMax(n);
|
|
1173
1196
|
// finally move the widget
|
|
1174
|
-
if (m)
|
|
1197
|
+
if (m !== undefined)
|
|
1175
1198
|
_this.moveNode(n, m);
|
|
1176
1199
|
if (changed) { // move will only update x,y,w,h so update the rest too
|
|
1177
1200
|
_this._writeAttr(el, n);
|
|
@@ -1647,7 +1670,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
1647
1670
|
|| this.engine.nodes.find(function (n) { return n.sizeToContent; }));
|
|
1648
1671
|
if (!forceRemove && trackSize && !this.resizeObserver) {
|
|
1649
1672
|
this._sizeThrottle = utils_1.Utils.throttle(function () { return _this.onResize(); }, this.opts.cellHeightThrottle);
|
|
1650
|
-
this.resizeObserver = new ResizeObserver(function (
|
|
1673
|
+
this.resizeObserver = new ResizeObserver(function () { return _this._sizeThrottle(); });
|
|
1651
1674
|
this.resizeObserver.observe(this.el);
|
|
1652
1675
|
this._skipInitialResize = true; // makeWidget will originally have called on startup
|
|
1653
1676
|
}
|
|
@@ -1893,16 +1916,15 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
1893
1916
|
// vars shared across all methods
|
|
1894
1917
|
var cellHeight, cellWidth;
|
|
1895
1918
|
var onDrag = function (event, el, helper) {
|
|
1896
|
-
var _a
|
|
1919
|
+
var _a;
|
|
1897
1920
|
var node = el.gridstackNode;
|
|
1898
1921
|
if (!node)
|
|
1899
1922
|
return;
|
|
1900
1923
|
helper = helper || el;
|
|
1901
1924
|
var parent = _this.el.getBoundingClientRect();
|
|
1902
|
-
var
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
top = (top - parent.top) / scaleY;
|
|
1925
|
+
var top = (_a = helper.getBoundingClientRect(), _a.top), left = _a.left;
|
|
1926
|
+
left -= parent.left;
|
|
1927
|
+
top -= parent.top;
|
|
1906
1928
|
var ui = { position: { top: top, left: left } };
|
|
1907
1929
|
if (node._temporaryRemoved) {
|
|
1908
1930
|
node.x = Math.max(0, Math.round(left / cellWidth));
|
|
@@ -2066,6 +2088,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
2066
2088
|
_this.engine.cleanupNode(node); // removes all internal _xyz values
|
|
2067
2089
|
node.grid = _this;
|
|
2068
2090
|
}
|
|
2091
|
+
delete node.grid._isTemp;
|
|
2069
2092
|
dd.off(el, 'drag');
|
|
2070
2093
|
// if we made a copy ('helper' which is temp) of the original node then insert a copy, else we move the original node (#1102)
|
|
2071
2094
|
// as the helper will be nuked by jquery-ui otherwise. TODO: update old code path
|
|
@@ -2096,6 +2119,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
2096
2119
|
if (!subGrid.opts.styleInHead)
|
|
2097
2120
|
subGrid._updateStyles(true); // re-create sub-grid styles now that we've moved
|
|
2098
2121
|
}
|
|
2122
|
+
_this._prepareDragDropByNode(node);
|
|
2099
2123
|
_this._updateContainerHeight();
|
|
2100
2124
|
_this.engine.addedNodes.push(node); // @ts-ignore
|
|
2101
2125
|
_this._triggerAddEvent(); // @ts-ignore
|
|
@@ -2104,17 +2128,6 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
2104
2128
|
if (_this._gsEventHandler['dropped']) {
|
|
2105
2129
|
_this._gsEventHandler['dropped'](__assign(__assign({}, event), { type: 'dropped' }), origNode && origNode.grid ? origNode : undefined, node);
|
|
2106
2130
|
}
|
|
2107
|
-
// wait till we return out of the drag callback to set the new drag&resize handler or they may get messed up
|
|
2108
|
-
window.setTimeout(function () {
|
|
2109
|
-
// IFF we are still there (some application will use as placeholder and insert their real widget instead and better call makeWidget())
|
|
2110
|
-
if (node.el && node.el.parentElement) {
|
|
2111
|
-
_this._prepareDragDropByNode(node);
|
|
2112
|
-
}
|
|
2113
|
-
else {
|
|
2114
|
-
_this.engine.removeNode(node);
|
|
2115
|
-
}
|
|
2116
|
-
delete node.grid._isTemp;
|
|
2117
|
-
});
|
|
2118
2131
|
return false; // prevent parent from receiving msg (which may be grid as well)
|
|
2119
2132
|
});
|
|
2120
2133
|
return this;
|
|
@@ -2397,7 +2410,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
2397
2410
|
GridStack.Utils = utils_1.Utils;
|
|
2398
2411
|
/** scoping so users can call new GridStack.Engine(12) for example */
|
|
2399
2412
|
GridStack.Engine = gridstack_engine_1.GridStackEngine;
|
|
2400
|
-
GridStack.GDRev = '9.
|
|
2413
|
+
GridStack.GDRev = '9.5.0';
|
|
2401
2414
|
return GridStack;
|
|
2402
2415
|
}());
|
|
2403
2416
|
//# sourceMappingURL=gridstack.js.map
|