gridstack 9.5.0 → 10.0.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/README.md +11 -1
- package/angular/package.json +1 -1
- package/angular/projects/demo/src/app/app.component.ts +0 -2
- 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 -1
- package/dist/dd-draggable.js +2 -2
- 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 +2 -2
- 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 +6 -6
- package/dist/es5/gridstack-engine.js +12 -7
- package/dist/es5/gridstack-engine.js.map +1 -1
- package/dist/es5/gridstack-poly.js +1 -1
- package/dist/es5/gridstack.d.ts +5 -3
- package/dist/es5/gridstack.js +104 -65
- package/dist/es5/gridstack.js.map +1 -1
- package/dist/es5/types.d.ts +25 -11
- package/dist/es5/types.js +1 -4
- 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 +6 -6
- package/dist/gridstack-engine.js +11 -7
- package/dist/gridstack-engine.js.map +1 -1
- package/dist/gridstack.css +9 -3
- package/dist/gridstack.d.ts +5 -3
- package/dist/gridstack.js +98 -62
- package/dist/gridstack.js.map +1 -1
- package/dist/gridstack.min.css +1 -1
- package/dist/src/gridstack.scss +9 -3
- package/dist/types.d.ts +25 -11
- package/dist/types.js +1 -4
- 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 +17 -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
|
|
39
|
+
* GridStack 10.0.0
|
|
40
40
|
* https://gridstackjs.com/
|
|
41
41
|
*
|
|
42
42
|
* Copyright (c) 2021-2022 Alain Dumesny
|
|
@@ -54,7 +54,6 @@ var types_1 = require("./types");
|
|
|
54
54
|
var dd_gridstack_1 = require("./dd-gridstack");
|
|
55
55
|
var dd_touch_1 = require("./dd-touch");
|
|
56
56
|
var dd_manager_1 = require("./dd-manager");
|
|
57
|
-
/** global instance */
|
|
58
57
|
var dd = new dd_gridstack_1.DDGridStack;
|
|
59
58
|
// export all dependent file as well to make it easier for users to just import the main file
|
|
60
59
|
__exportStar(require("./types"), exports);
|
|
@@ -80,7 +79,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
80
79
|
function GridStack(el, opts) {
|
|
81
80
|
if (opts === void 0) { opts = {}; }
|
|
82
81
|
var _this = this;
|
|
83
|
-
var _a, _b;
|
|
82
|
+
var _a, _b, _c, _d;
|
|
84
83
|
/** @internal */
|
|
85
84
|
this._gsEventHandler = {};
|
|
86
85
|
/** @internal extra row added when dragging at the bottom of the grid */
|
|
@@ -104,6 +103,41 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
104
103
|
if (opts.alwaysShowResizeHandle !== undefined) {
|
|
105
104
|
opts._alwaysShowResizeHandle = opts.alwaysShowResizeHandle;
|
|
106
105
|
}
|
|
106
|
+
var bk = (_a = opts.columnOpts) === null || _a === void 0 ? void 0 : _a.breakpoints;
|
|
107
|
+
// LEGACY: oneColumnMode stuff changed in v10.x - check if user explicitly set something to convert over
|
|
108
|
+
var oldOpts = opts;
|
|
109
|
+
if (oldOpts.oneColumnModeDomSort) {
|
|
110
|
+
delete oldOpts.oneColumnModeDomSort;
|
|
111
|
+
console.log('Error: Gridstack oneColumnModeDomSort no longer supported. Check GridStackOptions.columnOpts instead.');
|
|
112
|
+
}
|
|
113
|
+
if (oldOpts.oneColumnSize || oldOpts.disableOneColumnMode === false) {
|
|
114
|
+
var oneSize = oldOpts.oneColumnSize || 768;
|
|
115
|
+
delete oldOpts.oneColumnSize;
|
|
116
|
+
delete oldOpts.disableOneColumnMode;
|
|
117
|
+
opts.columnOpts = opts.columnOpts || {};
|
|
118
|
+
bk = opts.columnOpts.breakpoints = opts.columnOpts.breakpoints || [];
|
|
119
|
+
var oneColumn = bk.find(function (b) { return b.c === 1; });
|
|
120
|
+
if (!oneColumn) {
|
|
121
|
+
oneColumn = { c: 1, w: oneSize };
|
|
122
|
+
bk.push(oneColumn, { c: 12, w: oneSize + 1 });
|
|
123
|
+
}
|
|
124
|
+
else
|
|
125
|
+
oneColumn.w = oneSize;
|
|
126
|
+
}
|
|
127
|
+
//...end LEGACY
|
|
128
|
+
// cleanup responsive opts (must have columnWidth | breakpoints) then sort breakpoints by size (so we can match during resize)
|
|
129
|
+
var resp = opts.columnOpts;
|
|
130
|
+
if (resp) {
|
|
131
|
+
if (!resp.columnWidth && !((_b = resp.breakpoints) === null || _b === void 0 ? void 0 : _b.length)) {
|
|
132
|
+
delete opts.columnOpts;
|
|
133
|
+
bk = undefined;
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
resp.columnMax = resp.columnMax || 12;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
if ((bk === null || bk === void 0 ? void 0 : bk.length) > 1)
|
|
140
|
+
bk.sort(function (a, b) { return (b.w || 0) - (a.w || 0); });
|
|
107
141
|
// elements DOM attributes override any passed options (like CSS style) - merge the two together
|
|
108
142
|
var defaults = __assign(__assign({}, utils_1.Utils.cloneDeep(types_1.gridDefaults)), { column: utils_1.Utils.toNumber(el.getAttribute('gs-column')) || types_1.gridDefaults.column, minRow: rowAttr ? rowAttr : utils_1.Utils.toNumber(el.getAttribute('gs-min-row')) || types_1.gridDefaults.minRow, maxRow: rowAttr ? rowAttr : utils_1.Utils.toNumber(el.getAttribute('gs-max-row')) || types_1.gridDefaults.maxRow, staticGrid: utils_1.Utils.toBool(el.getAttribute('gs-static')) || types_1.gridDefaults.staticGrid, draggable: {
|
|
109
143
|
handle: (opts.handleClass ? '.' + opts.handleClass : (opts.handle ? opts.handle : '')) || types_1.gridDefaults.draggable.handle,
|
|
@@ -118,10 +152,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
118
152
|
opts = null; // make sure we use this.opts instead
|
|
119
153
|
this._initMargin(); // part of settings defaults...
|
|
120
154
|
// Now check if we're loading into 1 column mode FIRST so we don't do un-necessary work (like cellHeight = width / 12 then go 1 column)
|
|
121
|
-
|
|
122
|
-
this._prevColumn = this.getColumn();
|
|
123
|
-
this.opts.column = 1;
|
|
124
|
-
}
|
|
155
|
+
this.checkDynamicColumn();
|
|
125
156
|
if (this.opts.rtl === 'auto') {
|
|
126
157
|
this.opts.rtl = (el.style.direction === 'rtl');
|
|
127
158
|
}
|
|
@@ -129,7 +160,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
129
160
|
this.el.classList.add('grid-stack-rtl');
|
|
130
161
|
}
|
|
131
162
|
// check if we're been nested, and if so update our style and keep pointer around (used during save)
|
|
132
|
-
var grandParent = (
|
|
163
|
+
var grandParent = (_c = this.el.parentElement) === null || _c === void 0 ? void 0 : _c.parentElement;
|
|
133
164
|
var parentGridItem = (grandParent === null || grandParent === void 0 ? void 0 : grandParent.classList.contains(types_1.gridDefaults.itemClass)) ? grandParent.gridstackNode : undefined;
|
|
134
165
|
if (parentGridItem) {
|
|
135
166
|
parentGridItem.subGrid = this;
|
|
@@ -199,7 +230,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
199
230
|
// dynamic grids require pausing during drag to detect over to nest vs push
|
|
200
231
|
if (this.opts.subGridDynamic && !dd_manager_1.DDManager.pauseDrag)
|
|
201
232
|
dd_manager_1.DDManager.pauseDrag = true;
|
|
202
|
-
if (((
|
|
233
|
+
if (((_d = this.opts.draggable) === null || _d === void 0 ? void 0 : _d.pause) !== undefined)
|
|
203
234
|
dd_manager_1.DDManager.pauseDrag = this.opts.draggable.pause;
|
|
204
235
|
this._setupRemoveDrop();
|
|
205
236
|
this._setupAcceptWidget();
|
|
@@ -424,7 +455,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
424
455
|
if (ops.column === 'auto') {
|
|
425
456
|
autoColumn = true;
|
|
426
457
|
ops.column = Math.max(node.w || 1, (nodeToAdd === null || nodeToAdd === void 0 ? void 0 : nodeToAdd.w) || 1);
|
|
427
|
-
ops.
|
|
458
|
+
delete ops.columnOpts; // driven by parent
|
|
428
459
|
}
|
|
429
460
|
// if we're converting an existing full item, move over the content to be the first sub item in the new grid
|
|
430
461
|
var content = node.el.querySelector('.grid-stack-item-content');
|
|
@@ -566,7 +597,6 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
566
597
|
}
|
|
567
598
|
if (this._autoColumn) {
|
|
568
599
|
o.column = 'auto';
|
|
569
|
-
delete o.disableOneColumnMode;
|
|
570
600
|
}
|
|
571
601
|
var origShow = o._alwaysShowResizeHandle;
|
|
572
602
|
delete o._alwaysShowResizeHandle;
|
|
@@ -596,16 +626,17 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
596
626
|
var _this = this;
|
|
597
627
|
if (addRemove === void 0) { addRemove = GridStack.addRemoveCB || true; }
|
|
598
628
|
items = utils_1.Utils.cloneDeep(items); // so we can mod
|
|
599
|
-
|
|
629
|
+
var column = this.getColumn();
|
|
630
|
+
// if passed list has coordinates, use them (insert from end to beginning for conflict resolution) else keep widget order
|
|
600
631
|
var haveCoord = items.some(function (w) { return w.x !== undefined || w.y !== undefined; });
|
|
601
632
|
if (haveCoord)
|
|
602
|
-
items = utils_1.Utils.sort(items, -1,
|
|
633
|
+
items = utils_1.Utils.sort(items, -1, column);
|
|
603
634
|
this._insertNotAppend = haveCoord; // if we create in reverse order...
|
|
604
|
-
// if we're loading a layout into for example 1 column
|
|
635
|
+
// if we're loading a layout into for example 1 column and items don't fit, make sure to save
|
|
605
636
|
// the original wanted layout so we can scale back up correctly #1471
|
|
606
|
-
if (
|
|
637
|
+
if (items.some(function (n) { return ((n.x || 0) + (n.w || 1)) > column; })) {
|
|
607
638
|
this._ignoreLayoutsNodeChange = true; // skip layout update
|
|
608
|
-
this.engine.cacheLayout(items,
|
|
639
|
+
this.engine.cacheLayout(items, 12, true); // TODO: 12 is arbitrary. use max value in layout ?
|
|
609
640
|
}
|
|
610
641
|
// if given a different callback, temporally set it as global option so creating will use it
|
|
611
642
|
var prevCB = GridStack.addRemoveCB;
|
|
@@ -647,6 +678,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
647
678
|
if (utils_1.Utils.shouldSizeToContent(item))
|
|
648
679
|
w.h = item.h;
|
|
649
680
|
// check if missing coord, in which case find next empty slot with new (or old if missing) sizes
|
|
681
|
+
_this.engine.nodeBoundFix(w); // before widthChanged is checked below...
|
|
650
682
|
if (w.autoPosition || w.x === undefined || w.y === undefined) {
|
|
651
683
|
w.w = w.w || item.w;
|
|
652
684
|
w.h = w.h || item.h;
|
|
@@ -657,7 +689,6 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
657
689
|
_this.engine.nodes.push(item);
|
|
658
690
|
if (utils_1.Utils.samePos(item, w)) {
|
|
659
691
|
_this.moveNode(item, __assign(__assign({}, w), { forceCollide: true }));
|
|
660
|
-
utils_1.Utils.copyPos(w, item, true);
|
|
661
692
|
}
|
|
662
693
|
_this.update(item.el, w);
|
|
663
694
|
if ((_a = w.subGridOpts) === null || _a === void 0 ? void 0 : _a.children) { // update any sub grid as well
|
|
@@ -763,11 +794,40 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
763
794
|
GridStack.prototype.cellWidth = function () {
|
|
764
795
|
return this._widthOrContainer() / this.getColumn();
|
|
765
796
|
};
|
|
766
|
-
/** return our expected width (or parent) for
|
|
767
|
-
GridStack.prototype._widthOrContainer = function () {
|
|
797
|
+
/** return our expected width (or parent) , and optionally of window for dynamic column check */
|
|
798
|
+
GridStack.prototype._widthOrContainer = function (forBreakpoint) {
|
|
799
|
+
var _a;
|
|
800
|
+
if (forBreakpoint === void 0) { forBreakpoint = false; }
|
|
768
801
|
// use `offsetWidth` or `clientWidth` (no scrollbar) ?
|
|
769
802
|
// https://stackoverflow.com/questions/21064101/understanding-offsetwidth-clientwidth-scrollwidth-and-height-respectively
|
|
770
|
-
return (this.el.clientWidth || this.el.parentElement.clientWidth || window.innerWidth);
|
|
803
|
+
return forBreakpoint && ((_a = this.opts.columnOpts) === null || _a === void 0 ? void 0 : _a.breakpointForWindow) ? window.innerWidth : (this.el.clientWidth || this.el.parentElement.clientWidth || window.innerWidth);
|
|
804
|
+
};
|
|
805
|
+
/** checks for dynamic column count for our current size, returning true if changed */
|
|
806
|
+
GridStack.prototype.checkDynamicColumn = function () {
|
|
807
|
+
var _a, _b;
|
|
808
|
+
var resp = this.opts.columnOpts;
|
|
809
|
+
if (!resp || (!resp.columnWidth && !((_a = resp.breakpoints) === null || _a === void 0 ? void 0 : _a.length)))
|
|
810
|
+
return false;
|
|
811
|
+
var column = this.getColumn();
|
|
812
|
+
var newColumn = column;
|
|
813
|
+
var w = this._widthOrContainer(true);
|
|
814
|
+
if (resp.columnWidth) {
|
|
815
|
+
newColumn = Math.min(Math.round(w / resp.columnWidth) || 1, resp.columnMax);
|
|
816
|
+
}
|
|
817
|
+
else {
|
|
818
|
+
// find the closest breakpoint (already sorted big to small) that matches
|
|
819
|
+
newColumn = resp.columnMax;
|
|
820
|
+
var i = 0;
|
|
821
|
+
while (i < resp.breakpoints.length && w <= resp.breakpoints[i].w) {
|
|
822
|
+
newColumn = resp.breakpoints[i++].c || column;
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
if (newColumn !== column) {
|
|
826
|
+
var bk = (_b = resp.breakpoints) === null || _b === void 0 ? void 0 : _b.find(function (b) { return b.c === newColumn; });
|
|
827
|
+
this.column(newColumn, (bk === null || bk === void 0 ? void 0 : bk.layout) || resp.layout);
|
|
828
|
+
return true;
|
|
829
|
+
}
|
|
830
|
+
return false;
|
|
771
831
|
};
|
|
772
832
|
/**
|
|
773
833
|
* re-layout grid items to reclaim any empty space. Options are:
|
|
@@ -797,31 +857,16 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
797
857
|
if (!column || column < 1 || this.opts.column === column)
|
|
798
858
|
return this;
|
|
799
859
|
var oldColumn = this.getColumn();
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
}
|
|
805
|
-
else {
|
|
806
|
-
delete this._prevColumn;
|
|
807
|
-
}
|
|
860
|
+
this.opts.column = column;
|
|
861
|
+
if (!this.engine)
|
|
862
|
+
return this; // called in constructor, noting else to do
|
|
863
|
+
this.engine.column = column;
|
|
808
864
|
this.el.classList.remove('gs-' + oldColumn);
|
|
809
865
|
this.el.classList.add('gs-' + column);
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
domNodes = [];
|
|
815
|
-
this.getGridItems().forEach(function (el) {
|
|
816
|
-
if (el.gridstackNode) {
|
|
817
|
-
domNodes.push(el.gridstackNode);
|
|
818
|
-
}
|
|
819
|
-
});
|
|
820
|
-
if (!domNodes.length) {
|
|
821
|
-
domNodes = undefined;
|
|
822
|
-
}
|
|
823
|
-
}
|
|
824
|
-
this.engine.columnChanged(oldColumn, column, domNodes, layout);
|
|
866
|
+
// update the items now, checking if we have a custom children layout
|
|
867
|
+
/*const newChildren = this.opts.columnOpts?.breakpoints?.find(r => r.c === column)?.children;
|
|
868
|
+
if (newChildren) this.load(newChildren);
|
|
869
|
+
else*/ this.engine.columnChanged(oldColumn, column, undefined, layout);
|
|
825
870
|
if (this._isAutoCellHeight)
|
|
826
871
|
this.cellHeight();
|
|
827
872
|
this.doContentResize();
|
|
@@ -834,9 +879,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
834
879
|
/**
|
|
835
880
|
* get the number of columns in the grid (default 12)
|
|
836
881
|
*/
|
|
837
|
-
GridStack.prototype.getColumn = function () {
|
|
838
|
-
return this.opts.column;
|
|
839
|
-
};
|
|
882
|
+
GridStack.prototype.getColumn = function () { return this.opts.column; };
|
|
840
883
|
/** returns an array of grid HTML elements (no placeholder) - used to iterate through our children in DOM order */
|
|
841
884
|
GridStack.prototype.getGridItems = function () {
|
|
842
885
|
var _this = this;
|
|
@@ -956,9 +999,9 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
956
999
|
if (node.subGridOpts) {
|
|
957
1000
|
this.makeSubGrid(el, node.subGridOpts, undefined, false); // node.subGrid will be used as option in method, no need to pass
|
|
958
1001
|
}
|
|
959
|
-
// if we're adding an item into 1 column
|
|
1002
|
+
// if we're adding an item into 1 column make sure
|
|
960
1003
|
// we don't override the larger 12 column layout that was already saved. #1985
|
|
961
|
-
if (this.
|
|
1004
|
+
if (this.opts.column === 1) {
|
|
962
1005
|
this._ignoreLayoutsNodeChange = true;
|
|
963
1006
|
}
|
|
964
1007
|
this._triggerAddEvent();
|
|
@@ -990,8 +1033,8 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
990
1033
|
names.forEach(function (name) { return _this.on(name, callback); });
|
|
991
1034
|
return this;
|
|
992
1035
|
}
|
|
1036
|
+
// native CustomEvent handlers - cash the generic handlers so we can easily remove
|
|
993
1037
|
if (name === 'change' || name === 'added' || name === 'removed' || name === 'enable' || name === 'disable') {
|
|
994
|
-
// native CustomEvent handlers - cash the generic handlers so we can easily remove
|
|
995
1038
|
var noData = (name === 'enable' || name === 'disable');
|
|
996
1039
|
if (noData) {
|
|
997
1040
|
this._gsEventHandler[name] = function (event) { return callback(event); };
|
|
@@ -1008,7 +1051,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
1008
1051
|
this._gsEventHandler[name] = callback;
|
|
1009
1052
|
}
|
|
1010
1053
|
else {
|
|
1011
|
-
console.log('GridStack.on(' + name + ') event not supported
|
|
1054
|
+
console.log('GridStack.on(' + name + ') event not supported');
|
|
1012
1055
|
}
|
|
1013
1056
|
return this;
|
|
1014
1057
|
};
|
|
@@ -1152,6 +1195,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
1152
1195
|
if (!n)
|
|
1153
1196
|
return;
|
|
1154
1197
|
var w = utils_1.Utils.cloneDeep(opt); // make a copy we can modify in case they re-use it or multiple items
|
|
1198
|
+
_this.engine.nodeBoundFix(w);
|
|
1155
1199
|
delete w.autoPosition;
|
|
1156
1200
|
delete w.id;
|
|
1157
1201
|
// move/resize widget if anything changed
|
|
@@ -1193,10 +1237,10 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
1193
1237
|
}
|
|
1194
1238
|
}
|
|
1195
1239
|
utils_1.Utils.sanitizeMinMax(n);
|
|
1196
|
-
// finally move the widget
|
|
1197
|
-
if (m
|
|
1240
|
+
// finally move the widget and update attr
|
|
1241
|
+
if (m)
|
|
1198
1242
|
_this.moveNode(n, m);
|
|
1199
|
-
if (changed) {
|
|
1243
|
+
if (m || changed) {
|
|
1200
1244
|
_this._writeAttr(el, n);
|
|
1201
1245
|
}
|
|
1202
1246
|
if (ddChanged) {
|
|
@@ -1610,15 +1654,8 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
1610
1654
|
}
|
|
1611
1655
|
}
|
|
1612
1656
|
else {
|
|
1613
|
-
// else check for
|
|
1614
|
-
|
|
1615
|
-
(this.opts.column === 1 && !this._prevColumn);
|
|
1616
|
-
if ((this.opts.column === 1) !== oneColumn) {
|
|
1617
|
-
// if (this.opts.animate) this.setAnimation(false); // 1 <-> 12 is too radical, turn off animation and we need it for sizeToContent
|
|
1618
|
-
this.column(oneColumn ? 1 : this._prevColumn);
|
|
1619
|
-
// if (this.opts.animate) setTimeout(() => this.setAnimation(true));
|
|
1620
|
-
columnChanged = true;
|
|
1621
|
-
}
|
|
1657
|
+
// else check for dynamic column
|
|
1658
|
+
columnChanged = this.checkDynamicColumn();
|
|
1622
1659
|
}
|
|
1623
1660
|
// make the cells content square again
|
|
1624
1661
|
if (this._isAutoCellHeight)
|
|
@@ -1642,6 +1679,8 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
1642
1679
|
// update any gridItem height with sizeToContent, but wait for DOM $animation_speed to settle if we changed column count
|
|
1643
1680
|
// 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 ?
|
|
1644
1681
|
setTimeout(function () {
|
|
1682
|
+
if (!_this.engine)
|
|
1683
|
+
return; // we've been deleted in between!
|
|
1645
1684
|
if (n) {
|
|
1646
1685
|
if (utils_1.Utils.shouldSizeToContent(n))
|
|
1647
1686
|
_this.resizeToContentCheck(n.el, useAttr);
|
|
@@ -1664,9 +1703,9 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
1664
1703
|
GridStack.prototype._updateResizeEvent = function (forceRemove) {
|
|
1665
1704
|
var _this = this;
|
|
1666
1705
|
if (forceRemove === void 0) { forceRemove = false; }
|
|
1667
|
-
// only add event if we're not nested (parent will call us) and we're auto sizing cells or supporting
|
|
1706
|
+
// only add event if we're not nested (parent will call us) and we're auto sizing cells or supporting dynamic column (i.e. doing work)
|
|
1668
1707
|
// or supporting new sizeToContent option.
|
|
1669
|
-
var trackSize = !this.parentGridItem && (this._isAutoCellHeight || this.opts.sizeToContent ||
|
|
1708
|
+
var trackSize = !this.parentGridItem && (this._isAutoCellHeight || this.opts.sizeToContent || this.opts.columnOpts
|
|
1670
1709
|
|| this.engine.nodes.find(function (n) { return n.sizeToContent; }));
|
|
1671
1710
|
if (!forceRemove && trackSize && !this.resizeObserver) {
|
|
1672
1711
|
this._sizeThrottle = utils_1.Utils.throttle(function () { return _this.onResize(); }, this.opts.cellHeightThrottle);
|
|
@@ -2410,7 +2449,7 @@ var GridStack = exports.GridStack = /** @class */ (function () {
|
|
|
2410
2449
|
GridStack.Utils = utils_1.Utils;
|
|
2411
2450
|
/** scoping so users can call new GridStack.Engine(12) for example */
|
|
2412
2451
|
GridStack.Engine = gridstack_engine_1.GridStackEngine;
|
|
2413
|
-
GridStack.GDRev = '
|
|
2452
|
+
GridStack.GDRev = '10.0.0';
|
|
2414
2453
|
return GridStack;
|
|
2415
2454
|
}());
|
|
2416
2455
|
//# sourceMappingURL=gridstack.js.map
|