gridstack 11.4.0 → 11.5.1
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/dist/angular/esm2020/lib/base-widget.mjs +2 -2
- package/dist/angular/esm2020/lib/gridstack-item.component.mjs +8 -8
- package/dist/angular/esm2020/lib/gridstack.component.mjs +13 -13
- 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 +21 -21
- package/dist/angular/fesm2015/gridstack-angular.mjs.map +1 -1
- package/dist/angular/fesm2020/gridstack-angular.mjs +22 -22
- 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 +5 -5
- 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 +4 -4
- package/dist/angular/src/gridstack.component.ts +13 -14
- 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 +2 -2
- 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 +1 -1
- 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 +4 -4
- 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 +1 -1
- package/dist/es5/gridstack-engine.js.map +1 -1
- package/dist/es5/gridstack-poly.js +1 -1
- package/dist/es5/gridstack.d.ts +13 -3
- package/dist/es5/gridstack.js +90 -13
- package/dist/es5/gridstack.js.map +1 -1
- package/dist/es5/types.d.ts +2 -2
- package/dist/es5/types.js +1 -1
- 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 +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 +13 -3
- package/dist/gridstack.js +88 -13
- package/dist/gridstack.js.map +1 -1
- package/dist/src/gridstack.scss +1 -1
- package/dist/types.d.ts +2 -2
- 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 +12 -0
- package/doc/README.md +6 -0
- package/package.json +1 -1
package/dist/gridstack.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* GridStack 11.
|
|
2
|
+
* GridStack 11.5.1
|
|
3
3
|
* https://gridstackjs.com/
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2021-2024 Alain Dumesny
|
|
@@ -1147,6 +1147,53 @@ class GridStack {
|
|
|
1147
1147
|
}
|
|
1148
1148
|
return this;
|
|
1149
1149
|
}
|
|
1150
|
+
/**
|
|
1151
|
+
* Updates the passed in options on the grid (similar to update(widget) for for the grid options).
|
|
1152
|
+
* @param options PARTIAL grid options to update - only items specified will be updated.
|
|
1153
|
+
* NOTE: not all options updating are currently supported (lot of code, unlikely to change)
|
|
1154
|
+
*/
|
|
1155
|
+
updateOptions(o) {
|
|
1156
|
+
const opts = this.opts;
|
|
1157
|
+
if (o.acceptWidgets !== undefined)
|
|
1158
|
+
this._setupAcceptWidget();
|
|
1159
|
+
if (o.animate !== undefined)
|
|
1160
|
+
this.setAnimation();
|
|
1161
|
+
if (o.cellHeight) {
|
|
1162
|
+
this.cellHeight(o.cellHeight, true);
|
|
1163
|
+
delete o.cellHeight;
|
|
1164
|
+
}
|
|
1165
|
+
if (o.class && o.class !== opts.class) {
|
|
1166
|
+
if (opts.class)
|
|
1167
|
+
this.el.classList.remove(opts.class);
|
|
1168
|
+
this.el.classList.add(o.class);
|
|
1169
|
+
}
|
|
1170
|
+
if (typeof (o.column) === 'number' && !o.columnOpts) {
|
|
1171
|
+
this.column(o.column);
|
|
1172
|
+
delete o.column;
|
|
1173
|
+
} // responsive column take over actual count
|
|
1174
|
+
if (o.margin !== undefined)
|
|
1175
|
+
this.margin(o.margin);
|
|
1176
|
+
if (o.staticGrid !== undefined)
|
|
1177
|
+
this.setStatic(o.staticGrid);
|
|
1178
|
+
if (o.disableDrag !== undefined && !o.staticGrid)
|
|
1179
|
+
this.enableMove(!o.disableDrag);
|
|
1180
|
+
if (o.disableResize !== undefined && !o.staticGrid)
|
|
1181
|
+
this.enableResize(!o.disableResize);
|
|
1182
|
+
if (o.float !== undefined)
|
|
1183
|
+
this.float(o.float);
|
|
1184
|
+
if (o.row !== undefined) {
|
|
1185
|
+
opts.minRow = opts.maxRow = o.row;
|
|
1186
|
+
}
|
|
1187
|
+
if (o.children?.length) {
|
|
1188
|
+
this.load(o.children);
|
|
1189
|
+
delete o.children;
|
|
1190
|
+
}
|
|
1191
|
+
// TBD if we have a real need for these (more complex code)
|
|
1192
|
+
// alwaysShowResizeHandle, draggable, handle, handleClass, itemClass, layout, placeholderClass, placeholderText, resizable, removable, row,...
|
|
1193
|
+
// rest are just copied over...
|
|
1194
|
+
this.opts = { ...this.opts, ...o };
|
|
1195
|
+
return this;
|
|
1196
|
+
}
|
|
1150
1197
|
/**
|
|
1151
1198
|
* Updates widget position/size and other info. Note: if you need to call this on all nodes, use load() instead which will update what changed.
|
|
1152
1199
|
* @param els widget or selector of objects to modify (note: setting the same x,y for multiple items will be indeterministic and likely unwanted)
|
|
@@ -1593,7 +1640,13 @@ class GridStack {
|
|
|
1593
1640
|
n.noResize = Utils.toBool(el.getAttribute('gs-no-resize'));
|
|
1594
1641
|
n.noMove = Utils.toBool(el.getAttribute('gs-no-move'));
|
|
1595
1642
|
n.locked = Utils.toBool(el.getAttribute('gs-locked'));
|
|
1596
|
-
|
|
1643
|
+
const attr = el.getAttribute('gs-size-to-content');
|
|
1644
|
+
if (attr) {
|
|
1645
|
+
if (attr === 'true' || attr === 'false')
|
|
1646
|
+
n.sizeToContent = Utils.toBool(attr);
|
|
1647
|
+
else
|
|
1648
|
+
n.sizeToContent = parseInt(attr, 10);
|
|
1649
|
+
}
|
|
1597
1650
|
n.id = el.getAttribute('gs-id');
|
|
1598
1651
|
// read but never written out
|
|
1599
1652
|
n.maxW = Utils.toNumber(el.getAttribute('gs-max-w'));
|
|
@@ -1615,11 +1668,11 @@ class GridStack {
|
|
|
1615
1668
|
if (n.minH)
|
|
1616
1669
|
el.removeAttribute('gs-min-h');
|
|
1617
1670
|
}
|
|
1618
|
-
// remove any key not found (null or false which is default)
|
|
1671
|
+
// remove any key not found (null or false which is default, unless sizeToContent=false override)
|
|
1619
1672
|
for (const key in n) {
|
|
1620
1673
|
if (!n.hasOwnProperty(key))
|
|
1621
1674
|
return;
|
|
1622
|
-
if (!n[key] && n[key] !== 0) { // 0 can be valid value (x,y only really)
|
|
1675
|
+
if (!n[key] && n[key] !== 0 && key !== 'gs-size-to-content') { // 0 can be valid value (x,y only really)
|
|
1623
1676
|
delete n[key];
|
|
1624
1677
|
}
|
|
1625
1678
|
}
|
|
@@ -2045,6 +2098,11 @@ class GridStack {
|
|
|
2045
2098
|
// delete node._added; // reset this to track placeholder again in case we were over other grid #1484 (dropout doesn't always clear)
|
|
2046
2099
|
return false; // prevent parent from receiving msg (which may be a grid as well)
|
|
2047
2100
|
}
|
|
2101
|
+
// If sidebar item, restore the sidebar node size to ensure consistent behavior when dragging between grids
|
|
2102
|
+
if (node?._sidebarOrig) {
|
|
2103
|
+
node.w = node._sidebarOrig.w;
|
|
2104
|
+
node.h = node._sidebarOrig.h;
|
|
2105
|
+
}
|
|
2048
2106
|
// fix #1578 when dragging fast, we may not get a leave on the previous grid so force one now
|
|
2049
2107
|
if (node?.grid && node.grid !== this && !node._temporaryRemoved) {
|
|
2050
2108
|
// console.log('dropover without leave'); // TEST
|
|
@@ -2055,7 +2113,7 @@ class GridStack {
|
|
|
2055
2113
|
// cache cell dimensions (which don't change), position can animate if we removed an item in otherGrid that affects us...
|
|
2056
2114
|
cellWidth = this.cellWidth();
|
|
2057
2115
|
cellHeight = this.getCellHeight(true);
|
|
2058
|
-
// sidebar items: load any element attributes if we don't have a node
|
|
2116
|
+
// sidebar items: load any element attributes if we don't have a node on first enter from the sidebar
|
|
2059
2117
|
if (!node) {
|
|
2060
2118
|
const attr = helper.getAttribute('data-gs-widget') || helper.getAttribute('gridstacknode'); // TBD: temp support for old V11.0.0 attribute
|
|
2061
2119
|
if (attr) {
|
|
@@ -2070,6 +2128,8 @@ class GridStack {
|
|
|
2070
2128
|
}
|
|
2071
2129
|
if (!node)
|
|
2072
2130
|
node = this._readAttr(helper); // used to pass false for #2354, but now we clone top level node
|
|
2131
|
+
// On first grid enter from sidebar, set the initial sidebar item size properties for the node
|
|
2132
|
+
node._sidebarOrig = { w: node.w, h: node.h };
|
|
2073
2133
|
}
|
|
2074
2134
|
if (!node.grid) { // sidebar item
|
|
2075
2135
|
if (!node.el)
|
|
@@ -2238,19 +2298,28 @@ class GridStack {
|
|
|
2238
2298
|
}
|
|
2239
2299
|
return this;
|
|
2240
2300
|
}
|
|
2241
|
-
/**
|
|
2242
|
-
|
|
2243
|
-
|
|
2301
|
+
/**
|
|
2302
|
+
* prepares the element for drag&drop - this is normally called by makeWidget() unless are are delay loading
|
|
2303
|
+
* @param el GridItemHTMLElement of the widget
|
|
2304
|
+
* @param [force=false]
|
|
2305
|
+
* */
|
|
2306
|
+
prepareDragDrop(el, force = false) {
|
|
2307
|
+
const node = el?.gridstackNode;
|
|
2308
|
+
if (!node)
|
|
2309
|
+
return;
|
|
2244
2310
|
const noMove = node.noMove || this.opts.disableDrag;
|
|
2245
2311
|
const noResize = node.noResize || this.opts.disableResize;
|
|
2246
2312
|
// check for disabled grid first
|
|
2247
|
-
|
|
2313
|
+
const disable = this.opts.staticGrid || (noMove && noResize);
|
|
2314
|
+
if (force || disable) {
|
|
2248
2315
|
if (node._initDD) {
|
|
2249
2316
|
this._removeDD(el); // nukes everything instead of just disable, will add some styles back next
|
|
2250
2317
|
delete node._initDD;
|
|
2251
2318
|
}
|
|
2252
|
-
|
|
2253
|
-
|
|
2319
|
+
if (disable)
|
|
2320
|
+
el.classList.add('ui-draggable-disabled', 'ui-resizable-disabled'); // add styles one might depend on #1435
|
|
2321
|
+
if (!force)
|
|
2322
|
+
return this;
|
|
2254
2323
|
}
|
|
2255
2324
|
if (!node._initDD) {
|
|
2256
2325
|
// variables used/cashed between the 3 start/move/end methods, in addition to node passed above
|
|
@@ -2465,7 +2534,10 @@ class GridStack {
|
|
|
2465
2534
|
this._extraDragRow = 0; // @ts-ignore
|
|
2466
2535
|
this._updateContainerHeight();
|
|
2467
2536
|
const target = event.target; // @ts-ignore
|
|
2468
|
-
|
|
2537
|
+
// Do not write sidebar item attributes back to the original sidebar el
|
|
2538
|
+
if (!node._sidebarOrig) {
|
|
2539
|
+
this._writePosAttr(target, node);
|
|
2540
|
+
}
|
|
2469
2541
|
if (this._gsEventHandler[event.type]) {
|
|
2470
2542
|
this._gsEventHandler[event.type](event, target);
|
|
2471
2543
|
}
|
|
@@ -2489,8 +2561,11 @@ class GridStack {
|
|
|
2489
2561
|
node._temporaryRemoved = true;
|
|
2490
2562
|
this.engine.removeNode(node); // remove placeholder as well, otherwise it's a sign node is not in our list, which is a bigger issue
|
|
2491
2563
|
node.el = node._isExternal && helper ? helper : el; // point back to real item being dragged
|
|
2564
|
+
const sidebarOrig = node._sidebarOrig;
|
|
2492
2565
|
if (node._isExternal)
|
|
2493
2566
|
this.engine.cleanupNode(node);
|
|
2567
|
+
// Restore sidebar item initial size info to stay consistent when dragging between multiple grids
|
|
2568
|
+
node._sidebarOrig = sidebarOrig;
|
|
2494
2569
|
if (this.opts.removable === true) { // boolean vs a class string
|
|
2495
2570
|
// item leaving us and we are supposed to remove on leave (no need to drag onto trash) mark it so
|
|
2496
2571
|
GridStack._itemRemoving(el, true);
|
|
@@ -2521,6 +2596,6 @@ GridStack.resizeToContentParent = '.grid-stack-item-content';
|
|
|
2521
2596
|
GridStack.Utils = Utils;
|
|
2522
2597
|
/** scoping so users can call new GridStack.Engine(12) for example */
|
|
2523
2598
|
GridStack.Engine = GridStackEngine;
|
|
2524
|
-
GridStack.GDRev = '11.
|
|
2599
|
+
GridStack.GDRev = '11.5.1';
|
|
2525
2600
|
export { GridStack };
|
|
2526
2601
|
//# sourceMappingURL=gridstack.js.map
|