gridstack 11.1.2 → 11.3.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/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/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 +5 -7
- 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 +6 -7
- 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 +3 -1
- package/dist/es5/gridstack-engine.js +4 -7
- package/dist/es5/gridstack-engine.js.map +1 -1
- package/dist/es5/gridstack-poly.js +1 -1
- package/dist/es5/gridstack.d.ts +3 -2
- package/dist/es5/gridstack.js +41 -19
- package/dist/es5/gridstack.js.map +1 -1
- package/dist/es5/types.d.ts +1 -1
- package/dist/es5/types.js +1 -1
- package/dist/es5/types.js.map +1 -1
- package/dist/es5/utils.d.ts +3 -3
- package/dist/es5/utils.js +5 -8
- 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 +3 -1
- package/dist/gridstack-engine.js +4 -7
- package/dist/gridstack-engine.js.map +1 -1
- package/dist/gridstack.css +1 -1
- package/dist/gridstack.d.ts +3 -2
- package/dist/gridstack.js +39 -19
- 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 +3 -3
- package/dist/utils.js +5 -8
- package/dist/utils.js.map +1 -1
- package/doc/CHANGES.md +14 -2
- package/doc/README.md +1 -0
- package/package.json +1 -1
package/dist/gridstack.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* GridStack 11.
|
|
2
|
+
* GridStack 11.3.0
|
|
3
3
|
* https://gridstackjs.com/
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2021-2024 Alain Dumesny
|
|
@@ -135,14 +135,11 @@ class GridStack {
|
|
|
135
135
|
/** @internal create placeholder DIV as needed */
|
|
136
136
|
get placeholder() {
|
|
137
137
|
if (!this._placeholder) {
|
|
138
|
-
|
|
139
|
-
placeholderChild
|
|
138
|
+
this._placeholder = Utils.createDiv([this.opts.placeholderClass, gridDefaults.itemClass, this.opts.itemClass]);
|
|
139
|
+
const placeholderChild = Utils.createDiv(['placeholder-content'], this._placeholder);
|
|
140
140
|
if (this.opts.placeholderText) {
|
|
141
141
|
placeholderChild.textContent = this.opts.placeholderText;
|
|
142
142
|
}
|
|
143
|
-
this._placeholder = document.createElement('div');
|
|
144
|
-
this._placeholder.classList.add(this.opts.placeholderClass, gridDefaults.itemClass, this.opts.itemClass);
|
|
145
|
-
this.placeholder.appendChild(placeholderChild);
|
|
146
143
|
}
|
|
147
144
|
return this._placeholder;
|
|
148
145
|
}
|
|
@@ -338,7 +335,6 @@ class GridStack {
|
|
|
338
335
|
* grid.addWidget({w: 3, content: 'hello'});
|
|
339
336
|
*
|
|
340
337
|
* @param w GridStackWidget definition. used MakeWidget(el) if you have dom element instead.
|
|
341
|
-
* @param options widget position/size options (optional, and ignore if first param is already option) - see GridStackWidget
|
|
342
338
|
*/
|
|
343
339
|
addWidget(w) {
|
|
344
340
|
if (typeof w === 'string') {
|
|
@@ -580,16 +576,15 @@ class GridStack {
|
|
|
580
576
|
items.forEach(n => { n.w = n.w || 1; n.h = n.h || 1; });
|
|
581
577
|
// sort items. those without coord will be appended last
|
|
582
578
|
items = Utils.sort(items);
|
|
579
|
+
this.engine.skipCacheUpdate = this._ignoreLayoutsNodeChange = true; // skip layout update
|
|
583
580
|
// if we're loading a layout into for example 1 column and items don't fit, make sure to save
|
|
584
581
|
// the original wanted layout so we can scale back up correctly #1471
|
|
585
582
|
let maxColumn = 0;
|
|
586
583
|
items.forEach(n => { maxColumn = Math.max(maxColumn, (n.x || 0) + n.w); });
|
|
587
584
|
if (maxColumn > this.engine.defaultColumn)
|
|
588
585
|
this.engine.defaultColumn = maxColumn;
|
|
589
|
-
if (maxColumn > column)
|
|
590
|
-
this._ignoreLayoutsNodeChange = true; // skip layout update
|
|
586
|
+
if (maxColumn > column)
|
|
591
587
|
this.engine.cacheLayout(items, maxColumn, true);
|
|
592
|
-
}
|
|
593
588
|
// if given a different callback, temporally set it as global option so creating will use it
|
|
594
589
|
const prevCB = GridStack.addRemoveCB;
|
|
595
590
|
if (typeof (addRemove) === 'function')
|
|
@@ -662,6 +657,7 @@ class GridStack {
|
|
|
662
657
|
this.batchUpdate(false);
|
|
663
658
|
// after commit, clear that flag
|
|
664
659
|
delete this._ignoreLayoutsNodeChange;
|
|
660
|
+
delete this.engine.skipCacheUpdate;
|
|
665
661
|
prevCB ? GridStack.addRemoveCB = prevCB : delete GridStack.addRemoveCB;
|
|
666
662
|
// delay adding animation back
|
|
667
663
|
if (blank && this.opts?.animate)
|
|
@@ -846,6 +842,8 @@ class GridStack {
|
|
|
846
842
|
return Array.from(this.el.children)
|
|
847
843
|
.filter((el) => el.matches('.' + this.opts.itemClass) && !el.matches('.' + this.opts.placeholderClass));
|
|
848
844
|
}
|
|
845
|
+
/** true if changeCB should be ignored due to column change, sizeToContent, loading, etc... which caller can ignore for dirty flag case */
|
|
846
|
+
isIgnoreChangeCB() { return this._ignoreLayoutsNodeChange; }
|
|
849
847
|
/**
|
|
850
848
|
* Destroys a grid instance. DO NOT CALL any methods or access any vars after this as it will free up members.
|
|
851
849
|
* @param removeDOM if `false` grid and items HTML elements will not be removed from the DOM (Optional. Default `true`).
|
|
@@ -866,10 +864,10 @@ class GridStack {
|
|
|
866
864
|
this.el.parentNode.removeChild(this.el);
|
|
867
865
|
}
|
|
868
866
|
this._removeStylesheet();
|
|
869
|
-
|
|
870
|
-
delete this.parentGridNode.subGrid;
|
|
867
|
+
delete this.parentGridNode?.subGrid;
|
|
871
868
|
delete this.parentGridNode;
|
|
872
869
|
delete this.opts;
|
|
870
|
+
delete this._placeholder?.gridstackNode;
|
|
873
871
|
delete this._placeholder;
|
|
874
872
|
delete this.engine;
|
|
875
873
|
delete this.el.gridstack; // remove circular dependency that would prevent a freeing
|
|
@@ -961,12 +959,14 @@ class GridStack {
|
|
|
961
959
|
}
|
|
962
960
|
// if we're adding an item into 1 column make sure
|
|
963
961
|
// we don't override the larger 12 column layout that was already saved. #1985
|
|
964
|
-
|
|
965
|
-
|
|
962
|
+
let resetIgnoreLayoutsNodeChange;
|
|
963
|
+
if (this.opts.column === 1 && !this._ignoreLayoutsNodeChange) {
|
|
964
|
+
resetIgnoreLayoutsNodeChange = this._ignoreLayoutsNodeChange = true;
|
|
966
965
|
}
|
|
967
966
|
this._triggerAddEvent();
|
|
968
967
|
this._triggerChangeEvent();
|
|
969
|
-
|
|
968
|
+
if (resetIgnoreLayoutsNodeChange)
|
|
969
|
+
delete this._ignoreLayoutsNodeChange;
|
|
970
970
|
return el;
|
|
971
971
|
}
|
|
972
972
|
on(name, callback) {
|
|
@@ -1910,6 +1910,22 @@ class GridStack {
|
|
|
1910
1910
|
});
|
|
1911
1911
|
return this;
|
|
1912
1912
|
}
|
|
1913
|
+
/** @internal call when drag (and drop) needs to be cancelled (Esc key) */
|
|
1914
|
+
cancelDrag() {
|
|
1915
|
+
const n = this._placeholder?.gridstackNode;
|
|
1916
|
+
if (!n)
|
|
1917
|
+
return;
|
|
1918
|
+
if (n._isExternal) {
|
|
1919
|
+
// remove any newly inserted nodes (from outside)
|
|
1920
|
+
n._isAboutToRemove = true;
|
|
1921
|
+
this.engine.removeNode(n);
|
|
1922
|
+
}
|
|
1923
|
+
else if (n._isAboutToRemove) {
|
|
1924
|
+
// restore any temp removed (dragged over trash)
|
|
1925
|
+
GridStack._itemRemoving(n.el, false);
|
|
1926
|
+
}
|
|
1927
|
+
this.engine.restoreInitial();
|
|
1928
|
+
}
|
|
1913
1929
|
/** @internal removes any drag&drop present (called during destroy) */
|
|
1914
1930
|
_removeDD(el) {
|
|
1915
1931
|
dd.draggable(el, 'destroy').resizable(el, 'destroy');
|
|
@@ -2028,13 +2044,15 @@ class GridStack {
|
|
|
2028
2044
|
cellHeight = this.getCellHeight(true);
|
|
2029
2045
|
// sidebar items: load any element attributes if we don't have a node
|
|
2030
2046
|
if (!node) {
|
|
2031
|
-
|
|
2047
|
+
const attr = helper.getAttribute('data-gs-widget') || helper.getAttribute('gridstacknode'); // TBD: temp support for old V11.0.0 attribute
|
|
2048
|
+
if (attr) {
|
|
2032
2049
|
try {
|
|
2033
|
-
node = JSON.parse(
|
|
2050
|
+
node = JSON.parse(attr);
|
|
2034
2051
|
}
|
|
2035
2052
|
catch (error) {
|
|
2036
|
-
console.error("Gridstack dropover: Bad JSON format: ",
|
|
2053
|
+
console.error("Gridstack dropover: Bad JSON format: ", attr);
|
|
2037
2054
|
}
|
|
2055
|
+
helper.removeAttribute('data-gs-widget');
|
|
2038
2056
|
helper.removeAttribute('gridstacknode');
|
|
2039
2057
|
}
|
|
2040
2058
|
if (!node)
|
|
@@ -2107,6 +2125,7 @@ class GridStack {
|
|
|
2107
2125
|
const wasAdded = !!this.placeholder.parentElement; // skip items not actually added to us because of constrains, but do cleanup #1419
|
|
2108
2126
|
const wasSidebar = el !== helper;
|
|
2109
2127
|
this.placeholder.remove();
|
|
2128
|
+
delete this.placeholder.gridstackNode;
|
|
2110
2129
|
// disable animation when replacing a placeholder (already positioned) with actual content
|
|
2111
2130
|
const noAnim = wasAdded && this.opts.animate;
|
|
2112
2131
|
if (noAnim)
|
|
@@ -2241,6 +2260,7 @@ class GridStack {
|
|
|
2241
2260
|
/** called when the item stops moving/resizing */
|
|
2242
2261
|
const onEndMoving = (event) => {
|
|
2243
2262
|
this.placeholder.remove();
|
|
2263
|
+
delete this.placeholder.gridstackNode;
|
|
2244
2264
|
delete node._moving;
|
|
2245
2265
|
delete node._event;
|
|
2246
2266
|
delete node._lastTried;
|
|
@@ -2488,6 +2508,6 @@ GridStack.resizeToContentParent = '.grid-stack-item-content';
|
|
|
2488
2508
|
GridStack.Utils = Utils;
|
|
2489
2509
|
/** scoping so users can call new GridStack.Engine(12) for example */
|
|
2490
2510
|
GridStack.Engine = GridStackEngine;
|
|
2491
|
-
GridStack.GDRev = '11.
|
|
2511
|
+
GridStack.GDRev = '11.3.0';
|
|
2492
2512
|
export { GridStack };
|
|
2493
2513
|
//# sourceMappingURL=gridstack.js.map
|