gridstack 12.0.0 → 12.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.
- package/README.md +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/esm2020/lib/types.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 +5 -5
- 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/lib/types.d.ts +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/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 +1 -1
- package/dist/gridstack-engine.js.map +1 -1
- package/dist/gridstack.css +1 -1
- package/dist/gridstack.d.ts +3 -1
- package/dist/gridstack.js +57 -55
- package/dist/gridstack.js.map +1 -1
- package/dist/src/gridstack.scss +1 -1
- package/dist/types.d.ts +1 -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 +10 -0
- package/package.json +2 -4
- package/dist/es5/dd-base-impl.d.ts +0 -20
- package/dist/es5/dd-base-impl.js +0 -41
- package/dist/es5/dd-base-impl.js.map +0 -1
- package/dist/es5/dd-draggable.d.ts +0 -20
- package/dist/es5/dd-draggable.js +0 -408
- package/dist/es5/dd-draggable.js.map +0 -1
- package/dist/es5/dd-droppable.d.ts +0 -26
- package/dist/es5/dd-droppable.js +0 -185
- package/dist/es5/dd-droppable.js.map +0 -1
- package/dist/es5/dd-element.d.ts +0 -27
- package/dist/es5/dd-element.js +0 -96
- package/dist/es5/dd-element.js.map +0 -1
- package/dist/es5/dd-gridstack.d.ts +0 -34
- package/dist/es5/dd-gridstack.js +0 -154
- package/dist/es5/dd-gridstack.js.map +0 -1
- package/dist/es5/dd-manager.d.ts +0 -22
- package/dist/es5/dd-manager.js +0 -17
- package/dist/es5/dd-manager.js.map +0 -1
- package/dist/es5/dd-resizable-handle.d.ts +0 -18
- package/dist/es5/dd-resizable-handle.js +0 -117
- package/dist/es5/dd-resizable-handle.js.map +0 -1
- package/dist/es5/dd-resizable.d.ts +0 -30
- package/dist/es5/dd-resizable.js +0 -331
- package/dist/es5/dd-resizable.js.map +0 -1
- package/dist/es5/dd-touch.d.ts +0 -33
- package/dist/es5/dd-touch.js +0 -157
- package/dist/es5/dd-touch.js.map +0 -1
- package/dist/es5/gridstack-all.js +0 -3
- package/dist/es5/gridstack-all.js.LICENSE.txt +0 -7
- package/dist/es5/gridstack-all.js.map +0 -1
- package/dist/es5/gridstack-engine.d.ts +0 -107
- package/dist/es5/gridstack-engine.js +0 -1070
- package/dist/es5/gridstack-engine.js.map +0 -1
- package/dist/es5/gridstack-poly.js +0 -356
- package/dist/es5/gridstack.d.ts +0 -452
- package/dist/es5/gridstack.js +0 -2644
- package/dist/es5/gridstack.js.map +0 -1
- package/dist/es5/types.d.ts +0 -326
- package/dist/es5/types.js +0 -38
- package/dist/es5/types.js.map +0 -1
- package/dist/es5/utils.d.ts +0 -104
- package/dist/es5/utils.js +0 -633
- package/dist/es5/utils.js.map +0 -1
package/dist/gridstack.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* GridStack 12.
|
|
2
|
+
* GridStack 12.1.0
|
|
3
3
|
* https://gridstackjs.com/
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2021-2024 Alain Dumesny
|
|
@@ -178,41 +178,19 @@ class GridStack {
|
|
|
178
178
|
if (opts.alwaysShowResizeHandle !== undefined) {
|
|
179
179
|
opts._alwaysShowResizeHandle = opts.alwaysShowResizeHandle;
|
|
180
180
|
}
|
|
181
|
-
let bk = opts.columnOpts?.breakpoints;
|
|
182
|
-
// LEGACY: oneColumnMode stuff changed in v10.x - check if user explicitly set something to convert over
|
|
183
|
-
const oldOpts = opts;
|
|
184
|
-
if (oldOpts.oneColumnModeDomSort) {
|
|
185
|
-
delete oldOpts.oneColumnModeDomSort;
|
|
186
|
-
console.log('warning: Gridstack oneColumnModeDomSort no longer supported. Use GridStackOptions.columnOpts instead.');
|
|
187
|
-
}
|
|
188
|
-
if (oldOpts.oneColumnSize || oldOpts.disableOneColumnMode === false) {
|
|
189
|
-
const oneSize = oldOpts.oneColumnSize || 768;
|
|
190
|
-
delete oldOpts.oneColumnSize;
|
|
191
|
-
delete oldOpts.disableOneColumnMode;
|
|
192
|
-
opts.columnOpts = opts.columnOpts || {};
|
|
193
|
-
bk = opts.columnOpts.breakpoints = opts.columnOpts.breakpoints || [];
|
|
194
|
-
let oneColumn = bk.find(b => b.c === 1);
|
|
195
|
-
if (!oneColumn) {
|
|
196
|
-
oneColumn = { c: 1, w: oneSize };
|
|
197
|
-
bk.push(oneColumn, { c: 12, w: oneSize + 1 });
|
|
198
|
-
}
|
|
199
|
-
else
|
|
200
|
-
oneColumn.w = oneSize;
|
|
201
|
-
}
|
|
202
|
-
//...end LEGACY
|
|
203
181
|
// cleanup responsive opts (must have columnWidth | breakpoints) then sort breakpoints by size (so we can match during resize)
|
|
204
182
|
const resp = opts.columnOpts;
|
|
205
183
|
if (resp) {
|
|
206
|
-
|
|
184
|
+
const bk = resp.breakpoints;
|
|
185
|
+
if (!resp.columnWidth && !bk?.length) {
|
|
207
186
|
delete opts.columnOpts;
|
|
208
|
-
bk = undefined;
|
|
209
187
|
}
|
|
210
188
|
else {
|
|
211
189
|
resp.columnMax = resp.columnMax || 12;
|
|
190
|
+
if (bk?.length > 1)
|
|
191
|
+
bk.sort((a, b) => (b.w || 0) - (a.w || 0));
|
|
212
192
|
}
|
|
213
193
|
}
|
|
214
|
-
if (bk?.length > 1)
|
|
215
|
-
bk.sort((a, b) => (b.w || 0) - (a.w || 0));
|
|
216
194
|
// elements DOM attributes override any passed options (like CSS style) - merge the two together
|
|
217
195
|
const defaults = {
|
|
218
196
|
...Utils.cloneDeep(gridDefaults),
|
|
@@ -1127,6 +1105,7 @@ class GridStack {
|
|
|
1127
1105
|
else {
|
|
1128
1106
|
this.el.classList.remove('grid-stack-animate');
|
|
1129
1107
|
}
|
|
1108
|
+
this.opts.animate = doAnimate;
|
|
1130
1109
|
return this;
|
|
1131
1110
|
}
|
|
1132
1111
|
/** @internal */
|
|
@@ -1161,23 +1140,33 @@ class GridStack {
|
|
|
1161
1140
|
*/
|
|
1162
1141
|
updateOptions(o) {
|
|
1163
1142
|
const opts = this.opts;
|
|
1164
|
-
if (o
|
|
1143
|
+
if (o === opts)
|
|
1144
|
+
return this; // nothing to do
|
|
1145
|
+
if (o.acceptWidgets !== undefined) {
|
|
1146
|
+
opts.acceptWidgets = o.acceptWidgets;
|
|
1165
1147
|
this._setupAcceptWidget();
|
|
1148
|
+
}
|
|
1166
1149
|
if (o.animate !== undefined)
|
|
1167
|
-
this.setAnimation();
|
|
1168
|
-
if (o.cellHeight)
|
|
1150
|
+
this.setAnimation(o.animate);
|
|
1151
|
+
if (o.cellHeight)
|
|
1169
1152
|
this.cellHeight(o.cellHeight);
|
|
1170
|
-
|
|
1171
|
-
}
|
|
1172
|
-
if (o.class && o.class !== opts.class) {
|
|
1153
|
+
if (o.class !== undefined && o.class !== opts.class) {
|
|
1173
1154
|
if (opts.class)
|
|
1174
1155
|
this.el.classList.remove(opts.class);
|
|
1175
|
-
|
|
1156
|
+
if (o.class)
|
|
1157
|
+
this.el.classList.add(o.class);
|
|
1176
1158
|
}
|
|
1177
|
-
|
|
1159
|
+
// responsive column take over actual count (keep what we have now)
|
|
1160
|
+
if (o.columnOpts) {
|
|
1161
|
+
this.opts.columnOpts = o.columnOpts;
|
|
1162
|
+
this.checkDynamicColumn();
|
|
1163
|
+
}
|
|
1164
|
+
else if (o.columnOpts === null && this.opts.columnOpts) {
|
|
1165
|
+
delete this.opts.columnOpts;
|
|
1166
|
+
this._updateResizeEvent();
|
|
1167
|
+
}
|
|
1168
|
+
else if (typeof (o.column) === 'number')
|
|
1178
1169
|
this.column(o.column);
|
|
1179
|
-
delete o.column;
|
|
1180
|
-
} // responsive column take over actual count
|
|
1181
1170
|
if (o.margin !== undefined)
|
|
1182
1171
|
this.margin(o.margin);
|
|
1183
1172
|
if (o.staticGrid !== undefined)
|
|
@@ -1189,16 +1178,18 @@ class GridStack {
|
|
|
1189
1178
|
if (o.float !== undefined)
|
|
1190
1179
|
this.float(o.float);
|
|
1191
1180
|
if (o.row !== undefined) {
|
|
1192
|
-
opts.minRow = opts.maxRow = o.row;
|
|
1181
|
+
opts.minRow = opts.maxRow = opts.row = o.row;
|
|
1193
1182
|
}
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1183
|
+
else {
|
|
1184
|
+
if (opts.minRow !== undefined)
|
|
1185
|
+
opts.minRow = o.minRow;
|
|
1186
|
+
if (opts.maxRow !== undefined)
|
|
1187
|
+
opts.maxRow = o.maxRow;
|
|
1197
1188
|
}
|
|
1189
|
+
if (o.children?.length)
|
|
1190
|
+
this.load(o.children);
|
|
1198
1191
|
// TBD if we have a real need for these (more complex code)
|
|
1199
1192
|
// alwaysShowResizeHandle, draggable, handle, handleClass, itemClass, layout, placeholderClass, placeholderText, resizable, removable, row,...
|
|
1200
|
-
// rest are just copied over...
|
|
1201
|
-
this.opts = { ...this.opts, ...o };
|
|
1202
1193
|
return this;
|
|
1203
1194
|
}
|
|
1204
1195
|
/**
|
|
@@ -1322,7 +1313,7 @@ class GridStack {
|
|
|
1322
1313
|
// sub-grid - use their actual row count * their cell height, BUT append any content outside of the grid (eg: above text)
|
|
1323
1314
|
wantedH = n.subGrid.getRow() * n.subGrid.getCellHeight(true);
|
|
1324
1315
|
const subRec = n.subGrid.el.getBoundingClientRect();
|
|
1325
|
-
const parentRec =
|
|
1316
|
+
const parentRec = el.getBoundingClientRect();
|
|
1326
1317
|
wantedH += subRec.top - parentRec.top;
|
|
1327
1318
|
}
|
|
1328
1319
|
else if (n.subGridOpts?.children?.length) {
|
|
@@ -1477,7 +1468,12 @@ class GridStack {
|
|
|
1477
1468
|
/** @internal */
|
|
1478
1469
|
_triggerEvent(type, data) {
|
|
1479
1470
|
const event = data ? new CustomEvent(type, { bubbles: false, detail: data }) : new Event(type);
|
|
1480
|
-
|
|
1471
|
+
// check if we're nested, and if so call the outermost grid to trigger the event
|
|
1472
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
1473
|
+
let grid = this;
|
|
1474
|
+
while (grid.parentGridNode)
|
|
1475
|
+
grid = grid.parentGridNode.grid;
|
|
1476
|
+
grid.el.dispatchEvent(event);
|
|
1481
1477
|
return this;
|
|
1482
1478
|
}
|
|
1483
1479
|
/** @internal */
|
|
@@ -1691,7 +1687,9 @@ class GridStack {
|
|
|
1691
1687
|
if (Utils.shouldSizeToContent(n))
|
|
1692
1688
|
this.resizeToContentCBCheck(n.el);
|
|
1693
1689
|
});
|
|
1690
|
+
this._ignoreLayoutsNodeChange = true; // loop through each node will set/reset around each move, so set it here again
|
|
1694
1691
|
this.batchUpdate(false);
|
|
1692
|
+
this._ignoreLayoutsNodeChange = false;
|
|
1695
1693
|
}
|
|
1696
1694
|
// call this regardless of shouldSizeToContent because widget might need to stretch to take available space after a resize
|
|
1697
1695
|
if (this._gsEventHandler['resizecontent'])
|
|
@@ -2253,9 +2251,7 @@ class GridStack {
|
|
|
2253
2251
|
/** called when item starts moving/resizing */
|
|
2254
2252
|
const onStartMoving = (event, ui) => {
|
|
2255
2253
|
// trigger any 'dragstart' / 'resizestart' manually
|
|
2256
|
-
|
|
2257
|
-
this._gsEventHandler[event.type](event, event.target);
|
|
2258
|
-
}
|
|
2254
|
+
this.triggerEvent(event, event.target);
|
|
2259
2255
|
cellWidth = this.cellWidth();
|
|
2260
2256
|
cellHeight = this.getCellHeight(true); // force pixels for calculations
|
|
2261
2257
|
this._onStartMoving(el, event, ui, node, cellWidth, cellHeight);
|
|
@@ -2298,9 +2294,7 @@ class GridStack {
|
|
|
2298
2294
|
// move to new placeholder location
|
|
2299
2295
|
this._writePosAttr(target, node);
|
|
2300
2296
|
}
|
|
2301
|
-
|
|
2302
|
-
this._gsEventHandler[event.type](event, target);
|
|
2303
|
-
}
|
|
2297
|
+
this.triggerEvent(event, target);
|
|
2304
2298
|
}
|
|
2305
2299
|
// @ts-ignore
|
|
2306
2300
|
this._extraDragRow = 0; // @ts-ignore
|
|
@@ -2465,9 +2459,17 @@ class GridStack {
|
|
|
2465
2459
|
if (!node._sidebarOrig) {
|
|
2466
2460
|
this._writePosAttr(target, node);
|
|
2467
2461
|
}
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
2462
|
+
this.triggerEvent(event, target);
|
|
2463
|
+
}
|
|
2464
|
+
}
|
|
2465
|
+
/** call given event callback on our main top-most grid (if we're nested) */
|
|
2466
|
+
triggerEvent(event, target) {
|
|
2467
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
2468
|
+
let grid = this;
|
|
2469
|
+
while (grid.parentGridNode)
|
|
2470
|
+
grid = grid.parentGridNode.grid;
|
|
2471
|
+
if (grid._gsEventHandler[event.type]) {
|
|
2472
|
+
grid._gsEventHandler[event.type](event, target);
|
|
2471
2473
|
}
|
|
2472
2474
|
}
|
|
2473
2475
|
/** @internal called when item leaving our area by either cursor dropout event
|
|
@@ -2523,6 +2525,6 @@ GridStack.resizeToContentParent = '.grid-stack-item-content';
|
|
|
2523
2525
|
GridStack.Utils = Utils;
|
|
2524
2526
|
/** scoping so users can call new GridStack.Engine(12) for example */
|
|
2525
2527
|
GridStack.Engine = GridStackEngine;
|
|
2526
|
-
GridStack.GDRev = '12.
|
|
2528
|
+
GridStack.GDRev = '12.1.0';
|
|
2527
2529
|
export { GridStack };
|
|
2528
2530
|
//# sourceMappingURL=gridstack.js.map
|