gridstack 5.1.0 → 6.0.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.
Files changed (168) hide show
  1. package/README.md +54 -42
  2. package/dist/{h5/dd-base-impl.d.ts → dd-base-impl.d.ts} +1 -1
  3. package/dist/{h5/dd-base-impl.js → dd-base-impl.js} +1 -3
  4. package/dist/dd-base-impl.js.map +1 -0
  5. package/dist/{es5/h5/dd-draggable.d.ts → dd-draggable.d.ts} +6 -7
  6. package/dist/dd-draggable.js +313 -0
  7. package/dist/dd-draggable.js.map +1 -0
  8. package/dist/{h5/dd-droppable.d.ts → dd-droppable.d.ts} +3 -2
  9. package/dist/dd-droppable.js +149 -0
  10. package/dist/dd-droppable.js.map +1 -0
  11. package/dist/{h5/dd-element.d.ts → dd-element.d.ts} +2 -2
  12. package/dist/{h5/dd-element.js → dd-element.js} +1 -1
  13. package/dist/dd-element.js.map +1 -0
  14. package/dist/dd-gridstack.d.ts +36 -0
  15. package/dist/{gridstack-dd.js → dd-gridstack.js} +159 -69
  16. package/dist/dd-gridstack.js.map +1 -0
  17. package/dist/dd-manager.d.ts +20 -0
  18. package/dist/{h5/dd-manager.js → dd-manager.js} +4 -1
  19. package/dist/dd-manager.js.map +1 -0
  20. package/dist/{es5/h5/dd-resizable-handle.d.ts → dd-resizable-handle.d.ts} +1 -1
  21. package/dist/{h5/dd-resizable-handle.js → dd-resizable-handle.js} +32 -8
  22. package/dist/dd-resizable-handle.js.map +1 -0
  23. package/dist/{es5/h5/dd-resizable.d.ts → dd-resizable.d.ts} +2 -2
  24. package/dist/{h5/dd-resizable.js → dd-resizable.js} +41 -28
  25. package/dist/dd-resizable.js.map +1 -0
  26. package/dist/dd-touch.d.ts +33 -0
  27. package/dist/dd-touch.js +179 -0
  28. package/dist/dd-touch.js.map +1 -0
  29. package/dist/es5/{h5/dd-base-impl.d.ts → dd-base-impl.d.ts} +1 -1
  30. package/dist/es5/{h5/dd-base-impl.js → dd-base-impl.js} +1 -3
  31. package/dist/es5/dd-base-impl.js.map +1 -0
  32. package/dist/{h5 → es5}/dd-draggable.d.ts +6 -7
  33. package/dist/es5/dd-draggable.js +335 -0
  34. package/dist/es5/dd-draggable.js.map +1 -0
  35. package/dist/es5/{h5/dd-droppable.d.ts → dd-droppable.d.ts} +3 -2
  36. package/dist/es5/dd-droppable.js +180 -0
  37. package/dist/es5/dd-droppable.js.map +1 -0
  38. package/dist/es5/{h5/dd-element.d.ts → dd-element.d.ts} +2 -2
  39. package/dist/es5/{h5/dd-element.js → dd-element.js} +1 -1
  40. package/dist/es5/dd-element.js.map +1 -0
  41. package/dist/es5/dd-gridstack.d.ts +36 -0
  42. package/dist/es5/{gridstack-dd.js → dd-gridstack.js} +169 -88
  43. package/dist/es5/dd-gridstack.js.map +1 -0
  44. package/dist/es5/dd-manager.d.ts +20 -0
  45. package/dist/es5/{h5/dd-manager.js → dd-manager.js} +4 -1
  46. package/dist/es5/dd-manager.js.map +1 -0
  47. package/dist/{h5 → es5}/dd-resizable-handle.d.ts +1 -1
  48. package/dist/es5/{h5/dd-resizable-handle.js → dd-resizable-handle.js} +32 -8
  49. package/dist/es5/dd-resizable-handle.js.map +1 -0
  50. package/dist/{h5 → es5}/dd-resizable.d.ts +2 -2
  51. package/dist/es5/{h5/dd-resizable.js → dd-resizable.js} +41 -28
  52. package/dist/es5/dd-resizable.js.map +1 -0
  53. package/dist/es5/dd-touch.d.ts +33 -0
  54. package/dist/es5/dd-touch.js +182 -0
  55. package/dist/es5/dd-touch.js.map +1 -0
  56. package/dist/es5/gridstack-all.js +3 -0
  57. package/dist/{gridstack-static.js.LICENSE.txt → es5/gridstack-all.js.LICENSE.txt} +1 -1
  58. package/dist/es5/gridstack-all.js.map +1 -0
  59. package/dist/es5/gridstack-engine.d.ts +2 -3
  60. package/dist/es5/gridstack-engine.js +18 -18
  61. package/dist/es5/gridstack-engine.js.map +1 -1
  62. package/dist/es5/gridstack-poly.js +1 -1
  63. package/dist/es5/gridstack.d.ts +8 -9
  64. package/dist/es5/gridstack.js +47 -35
  65. package/dist/es5/gridstack.js.map +1 -1
  66. package/dist/es5/types.d.ts +12 -16
  67. package/dist/es5/types.js +1 -1
  68. package/dist/es5/types.js.map +1 -1
  69. package/dist/es5/utils.d.ts +11 -1
  70. package/dist/es5/utils.js +67 -6
  71. package/dist/es5/utils.js.map +1 -1
  72. package/dist/gridstack-all.js +3 -0
  73. package/dist/{es5/gridstack-h5.js.LICENSE.txt → gridstack-all.js.LICENSE.txt} +1 -1
  74. package/dist/gridstack-all.js.map +1 -0
  75. package/dist/gridstack-engine.d.ts +2 -3
  76. package/dist/gridstack-engine.js +17 -18
  77. package/dist/gridstack-engine.js.map +1 -1
  78. package/dist/gridstack.css +21 -9
  79. package/dist/gridstack.d.ts +8 -9
  80. package/dist/gridstack.js +45 -35
  81. package/dist/gridstack.js.map +1 -1
  82. package/dist/gridstack.min.css +1 -1
  83. package/dist/src/gridstack.scss +19 -12
  84. package/dist/types.d.ts +12 -16
  85. package/dist/types.js +1 -1
  86. package/dist/types.js.map +1 -1
  87. package/dist/utils.d.ts +11 -1
  88. package/dist/utils.js +64 -6
  89. package/dist/utils.js.map +1 -1
  90. package/doc/CHANGES.md +16 -1
  91. package/doc/README.md +19 -20
  92. package/package.json +2 -2
  93. package/dist/es5/gridstack-dd.d.ts +0 -35
  94. package/dist/es5/gridstack-dd.js.map +0 -1
  95. package/dist/es5/gridstack-ddi.d.ts +0 -17
  96. package/dist/es5/gridstack-ddi.js +0 -31
  97. package/dist/es5/gridstack-ddi.js.map +0 -1
  98. package/dist/es5/gridstack-h5.d.ts +0 -10
  99. package/dist/es5/gridstack-h5.js +0 -3
  100. package/dist/es5/gridstack-h5.js.map +0 -1
  101. package/dist/es5/gridstack-jq.d.ts +0 -10
  102. package/dist/es5/gridstack-jq.js +0 -3
  103. package/dist/es5/gridstack-jq.js.LICENSE.txt +0 -99
  104. package/dist/es5/gridstack-jq.js.map +0 -1
  105. package/dist/es5/gridstack-static.d.ts +0 -9
  106. package/dist/es5/gridstack-static.js +0 -3
  107. package/dist/es5/gridstack-static.js.LICENSE.txt +0 -7
  108. package/dist/es5/gridstack-static.js.map +0 -1
  109. package/dist/es5/h5/dd-base-impl.js.map +0 -1
  110. package/dist/es5/h5/dd-draggable.js +0 -326
  111. package/dist/es5/h5/dd-draggable.js.map +0 -1
  112. package/dist/es5/h5/dd-droppable.js +0 -199
  113. package/dist/es5/h5/dd-droppable.js.map +0 -1
  114. package/dist/es5/h5/dd-element.js.map +0 -1
  115. package/dist/es5/h5/dd-manager.d.ts +0 -8
  116. package/dist/es5/h5/dd-manager.js.map +0 -1
  117. package/dist/es5/h5/dd-resizable-handle.js.map +0 -1
  118. package/dist/es5/h5/dd-resizable.js.map +0 -1
  119. package/dist/es5/h5/dd-utils.d.ts +0 -19
  120. package/dist/es5/h5/dd-utils.js +0 -111
  121. package/dist/es5/h5/dd-utils.js.map +0 -1
  122. package/dist/es5/h5/gridstack-dd-native.d.ts +0 -26
  123. package/dist/es5/h5/gridstack-dd-native.js +0 -175
  124. package/dist/es5/h5/gridstack-dd-native.js.map +0 -1
  125. package/dist/es5/jq/gridstack-dd-jqueryui.d.ts +0 -22
  126. package/dist/es5/jq/gridstack-dd-jqueryui.js +0 -162
  127. package/dist/es5/jq/gridstack-dd-jqueryui.js.map +0 -1
  128. package/dist/gridstack-dd.d.ts +0 -35
  129. package/dist/gridstack-dd.js.map +0 -1
  130. package/dist/gridstack-ddi.d.ts +0 -17
  131. package/dist/gridstack-ddi.js +0 -28
  132. package/dist/gridstack-ddi.js.map +0 -1
  133. package/dist/gridstack-h5.d.ts +0 -10
  134. package/dist/gridstack-h5.js +0 -3
  135. package/dist/gridstack-h5.js.LICENSE.txt +0 -7
  136. package/dist/gridstack-h5.js.map +0 -1
  137. package/dist/gridstack-jq.d.ts +0 -10
  138. package/dist/gridstack-jq.js +0 -3
  139. package/dist/gridstack-jq.js.LICENSE.txt +0 -99
  140. package/dist/gridstack-jq.js.map +0 -1
  141. package/dist/gridstack-static.d.ts +0 -9
  142. package/dist/gridstack-static.js +0 -3
  143. package/dist/gridstack-static.js.map +0 -1
  144. package/dist/h5/dd-base-impl.js.map +0 -1
  145. package/dist/h5/dd-draggable.js +0 -302
  146. package/dist/h5/dd-draggable.js.map +0 -1
  147. package/dist/h5/dd-droppable.js +0 -168
  148. package/dist/h5/dd-droppable.js.map +0 -1
  149. package/dist/h5/dd-element.js.map +0 -1
  150. package/dist/h5/dd-manager.d.ts +0 -8
  151. package/dist/h5/dd-manager.js.map +0 -1
  152. package/dist/h5/dd-resizable-handle.js.map +0 -1
  153. package/dist/h5/dd-resizable.js.map +0 -1
  154. package/dist/h5/dd-utils.d.ts +0 -19
  155. package/dist/h5/dd-utils.js +0 -94
  156. package/dist/h5/dd-utils.js.map +0 -1
  157. package/dist/h5/gridstack-dd-native.d.ts +0 -26
  158. package/dist/h5/gridstack-dd-native.js +0 -140
  159. package/dist/h5/gridstack-dd-native.js.map +0 -1
  160. package/dist/jq/gridstack-dd-jqueryui.d.ts +0 -22
  161. package/dist/jq/gridstack-dd-jqueryui.js +0 -133
  162. package/dist/jq/gridstack-dd-jqueryui.js.map +0 -1
  163. package/dist/jq/jquery-ui.js +0 -2
  164. package/dist/jq/jquery-ui.js.map +0 -1
  165. package/dist/jq/jquery.js +0 -2
  166. package/dist/jq/jquery.js.map +0 -1
  167. package/dist/jq/jquery.ui.touch-punch.js +0 -2
  168. package/dist/jq/jquery.ui.touch-punch.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dd-element.js","sourceRoot":"","sources":["../../src/dd-element.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * dd-elements.ts 6.0.1\n * Copyright (c) 2021 Alain Dumesny - see GridStack root license\n */\n\nimport { DDResizable, DDResizableOpt } from './dd-resizable';\nimport { GridItemHTMLElement } from './types';\nimport { DDDraggable, DDDraggableOpt } from './dd-draggable';\nimport { DDDroppable, DDDroppableOpt } from './dd-droppable';\n\nexport interface DDElementHost extends GridItemHTMLElement {\n ddElement?: DDElement;\n}\n\nexport class DDElement {\n\n static init(el: DDElementHost): DDElement {\n if (!el.ddElement) { el.ddElement = new DDElement(el); }\n return el.ddElement;\n }\n\n public el: DDElementHost;\n public ddDraggable?: DDDraggable;\n public ddDroppable?: DDDroppable;\n public ddResizable?: DDResizable;\n\n constructor(el: DDElementHost) {\n this.el = el;\n }\n\n public on(eventName: string, callback: (event: MouseEvent) => void): DDElement {\n if (this.ddDraggable && ['drag', 'dragstart', 'dragstop'].indexOf(eventName) > -1) {\n this.ddDraggable.on(eventName as 'drag' | 'dragstart' | 'dragstop', callback);\n } else if (this.ddDroppable && ['drop', 'dropover', 'dropout'].indexOf(eventName) > -1) {\n this.ddDroppable.on(eventName as 'drop' | 'dropover' | 'dropout', callback);\n } else if (this.ddResizable && ['resizestart', 'resize', 'resizestop'].indexOf(eventName) > -1) {\n this.ddResizable.on(eventName as 'resizestart' | 'resize' | 'resizestop', callback);\n }\n return this;\n }\n\n public off(eventName: string): DDElement {\n if (this.ddDraggable && ['drag', 'dragstart', 'dragstop'].indexOf(eventName) > -1) {\n this.ddDraggable.off(eventName as 'drag' | 'dragstart' | 'dragstop');\n } else if (this.ddDroppable && ['drop', 'dropover', 'dropout'].indexOf(eventName) > -1) {\n this.ddDroppable.off(eventName as 'drop' | 'dropover' | 'dropout');\n } else if (this.ddResizable && ['resizestart', 'resize', 'resizestop'].indexOf(eventName) > -1) {\n this.ddResizable.off(eventName as 'resizestart' | 'resize' | 'resizestop');\n }\n return this;\n }\n\n public setupDraggable(opts: DDDraggableOpt): DDElement {\n if (!this.ddDraggable) {\n this.ddDraggable = new DDDraggable(this.el, opts);\n } else {\n this.ddDraggable.updateOption(opts);\n }\n return this;\n }\n\n public cleanDraggable(): DDElement {\n if (this.ddDraggable) {\n this.ddDraggable.destroy();\n delete this.ddDraggable;\n }\n return this;\n }\n\n public setupResizable(opts: DDResizableOpt): DDElement {\n if (!this.ddResizable) {\n this.ddResizable = new DDResizable(this.el, opts);\n } else {\n this.ddResizable.updateOption(opts);\n }\n return this;\n }\n\n public cleanResizable(): DDElement {\n if (this.ddResizable) {\n this.ddResizable.destroy();\n delete this.ddResizable;\n }\n return this;\n }\n\n public setupDroppable(opts: DDDroppableOpt): DDElement {\n if (!this.ddDroppable) {\n this.ddDroppable = new DDDroppable(this.el, opts);\n } else {\n this.ddDroppable.updateOption(opts);\n }\n return this;\n }\n\n public cleanDroppable(): DDElement {\n if (this.ddDroppable) {\n this.ddDroppable.destroy();\n delete this.ddDroppable;\n }\n return this;\n }\n}\n"]}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * dd-gridstack.ts 6.0.1
3
+ * Copyright (c) 2021 Alain Dumesny - see GridStack root license
4
+ */
5
+ import { GridItemHTMLElement, GridStackElement, DDDragInOpt } from './types';
6
+ import { DDElementHost } from './dd-element';
7
+ /** Drag&Drop drop options */
8
+ export declare type DDDropOpt = {
9
+ /** function or class type that this grid will accept as dropped items (see GridStackOptions.acceptWidgets) */
10
+ accept?: (el: GridItemHTMLElement) => boolean;
11
+ };
12
+ /** drag&drop options currently called from the main code, but others can be passed in grid options */
13
+ export declare type DDOpts = 'enable' | 'disable' | 'destroy' | 'option' | string | any;
14
+ export declare type DDKey = 'minWidth' | 'minHeight' | 'maxWidth' | 'maxHeight';
15
+ export declare type DDValue = number | string;
16
+ /** drag&drop events callbacks */
17
+ export declare type DDCallback = (event: Event, arg2: GridItemHTMLElement, helper?: GridItemHTMLElement) => void;
18
+ /**
19
+ * HTML Native Mouse and Touch Events Drag and Drop functionality.
20
+ */
21
+ export declare class DDGridStack {
22
+ /** get the global (but static to this code) DD implementation */
23
+ static get(): DDGridStack;
24
+ resizable(el: GridItemHTMLElement, opts: DDOpts, key?: DDKey, value?: DDValue): DDGridStack;
25
+ draggable(el: GridItemHTMLElement, opts: DDOpts, key?: DDKey, value?: DDValue): DDGridStack;
26
+ dragIn(el: GridStackElement, opts: DDDragInOpt): DDGridStack;
27
+ droppable(el: GridItemHTMLElement, opts: DDOpts | DDDropOpt, key?: DDKey, value?: DDValue): DDGridStack;
28
+ /** true if element is droppable */
29
+ isDroppable(el: DDElementHost): boolean;
30
+ /** true if element is draggable */
31
+ isDraggable(el: DDElementHost): boolean;
32
+ /** true if element is draggable */
33
+ isResizable(el: DDElementHost): boolean;
34
+ on(el: GridItemHTMLElement, name: string, callback: DDCallback): DDGridStack;
35
+ off(el: GridItemHTMLElement, name: string): DDGridStack;
36
+ }
@@ -1,21 +1,8 @@
1
1
  "use strict";
2
2
  /**
3
- * gridstack-dd.ts 5.1.0
3
+ * dd-gridstack.ts 6.0.1
4
4
  * Copyright (c) 2021 Alain Dumesny - see GridStack root license
5
5
  */
6
- var __extends = (this && this.__extends) || (function () {
7
- var extendStatics = function (d, b) {
8
- extendStatics = Object.setPrototypeOf ||
9
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
10
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
11
- return extendStatics(d, b);
12
- };
13
- return function (d, b) {
14
- extendStatics(d, b);
15
- function __() { this.constructor = d; }
16
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
17
- };
18
- })();
19
6
  var __assign = (this && this.__assign) || function () {
20
7
  __assign = Object.assign || function(t) {
21
8
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -28,38 +15,143 @@ var __assign = (this && this.__assign) || function () {
28
15
  return __assign.apply(this, arguments);
29
16
  };
30
17
  Object.defineProperty(exports, "__esModule", { value: true });
31
- exports.GridStackDD = void 0;
32
- /* eslint-disable @typescript-eslint/no-unused-vars */
33
- var gridstack_ddi_1 = require("./gridstack-ddi");
18
+ exports.DDGridStack = void 0;
34
19
  var gridstack_1 = require("./gridstack");
35
20
  var utils_1 = require("./utils");
36
- // TEST let count = 0;
21
+ var dd_manager_1 = require("./dd-manager");
22
+ var dd_element_1 = require("./dd-element");
23
+ // let count = 0; // TEST
37
24
  /**
38
- * Base class implementing common Grid drag'n'drop functionality, with domain specific subclass (h5 vs jq subclasses)
25
+ * HTML Native Mouse and Touch Events Drag and Drop functionality.
39
26
  */
40
- var GridStackDD = /** @class */ (function (_super) {
41
- __extends(GridStackDD, _super);
42
- function GridStackDD() {
43
- return _super !== null && _super.apply(this, arguments) || this;
27
+ var DDGridStack = /** @class */ (function () {
28
+ function DDGridStack() {
44
29
  }
45
- /** override to cast to correct type */
46
- GridStackDD.get = function () {
47
- return gridstack_ddi_1.GridStackDDI.get();
30
+ /** get the global (but static to this code) DD implementation */
31
+ DDGridStack.get = function () {
32
+ return dd;
33
+ };
34
+ DDGridStack.prototype.resizable = function (el, opts, key, value) {
35
+ this._getDDElements(el).forEach(function (dEl) {
36
+ var _a;
37
+ if (opts === 'disable' || opts === 'enable') {
38
+ dEl.ddResizable && dEl.ddResizable[opts](); // can't create DD as it requires options for setupResizable()
39
+ }
40
+ else if (opts === 'destroy') {
41
+ dEl.ddResizable && dEl.cleanResizable();
42
+ }
43
+ else if (opts === 'option') {
44
+ dEl.setupResizable((_a = {}, _a[key] = value, _a));
45
+ }
46
+ else {
47
+ var grid = dEl.el.gridstackNode.grid;
48
+ var handles = dEl.el.getAttribute('gs-resize-handles') ? dEl.el.getAttribute('gs-resize-handles') : grid.opts.resizable.handles;
49
+ var autoHide = !grid.opts.alwaysShowResizeHandle;
50
+ dEl.setupResizable(__assign(__assign(__assign({}, grid.opts.resizable), { handles: handles, autoHide: autoHide }), {
51
+ start: opts.start,
52
+ stop: opts.stop,
53
+ resize: opts.resize
54
+ }));
55
+ }
56
+ });
57
+ return this;
58
+ };
59
+ DDGridStack.prototype.draggable = function (el, opts, key, value) {
60
+ this._getDDElements(el).forEach(function (dEl) {
61
+ var _a;
62
+ if (opts === 'disable' || opts === 'enable') {
63
+ dEl.ddDraggable && dEl.ddDraggable[opts](); // can't create DD as it requires options for setupDraggable()
64
+ }
65
+ else if (opts === 'destroy') {
66
+ dEl.ddDraggable && dEl.cleanDraggable();
67
+ }
68
+ else if (opts === 'option') {
69
+ dEl.setupDraggable((_a = {}, _a[key] = value, _a));
70
+ }
71
+ else {
72
+ var grid = dEl.el.gridstackNode.grid;
73
+ dEl.setupDraggable(__assign(__assign({}, grid.opts.draggable), {
74
+ // containment: (grid.opts._isNested && !grid.opts.dragOut) ? grid.el.parentElement : (grid.opts.draggable.containment || null),
75
+ start: opts.start,
76
+ stop: opts.stop,
77
+ drag: opts.drag
78
+ }));
79
+ }
80
+ });
81
+ return this;
82
+ };
83
+ DDGridStack.prototype.dragIn = function (el, opts) {
84
+ this._getDDElements(el).forEach(function (dEl) { return dEl.setupDraggable(opts); });
85
+ return this;
48
86
  };
49
- /** removes any drag&drop present (called during destroy) */
50
- GridStackDD.prototype.remove = function (el) {
51
- this.draggable(el, 'destroy').resizable(el, 'destroy');
52
- if (el.gridstackNode) {
53
- delete el.gridstackNode._initDD; // reset our DD init flag
87
+ DDGridStack.prototype.droppable = function (el, opts, key, value) {
88
+ if (typeof opts.accept === 'function' && !opts._accept) {
89
+ opts._accept = opts.accept;
90
+ opts.accept = function (el) { return opts._accept(el); };
54
91
  }
92
+ this._getDDElements(el).forEach(function (dEl) {
93
+ var _a;
94
+ if (opts === 'disable' || opts === 'enable') {
95
+ dEl.ddDroppable && dEl.ddDroppable[opts]();
96
+ }
97
+ else if (opts === 'destroy') {
98
+ if (dEl.ddDroppable) { // error to call destroy if not there
99
+ dEl.cleanDroppable();
100
+ }
101
+ }
102
+ else if (opts === 'option') {
103
+ dEl.setupDroppable((_a = {}, _a[key] = value, _a));
104
+ }
105
+ else {
106
+ dEl.setupDroppable(opts);
107
+ }
108
+ });
109
+ return this;
110
+ };
111
+ /** true if element is droppable */
112
+ DDGridStack.prototype.isDroppable = function (el) {
113
+ return !!(el && el.ddElement && el.ddElement.ddDroppable && !el.ddElement.ddDroppable.disabled);
114
+ };
115
+ /** true if element is draggable */
116
+ DDGridStack.prototype.isDraggable = function (el) {
117
+ return !!(el && el.ddElement && el.ddElement.ddDraggable && !el.ddElement.ddDraggable.disabled);
118
+ };
119
+ /** true if element is draggable */
120
+ DDGridStack.prototype.isResizable = function (el) {
121
+ return !!(el && el.ddElement && el.ddElement.ddResizable && !el.ddElement.ddResizable.disabled);
122
+ };
123
+ DDGridStack.prototype.on = function (el, name, callback) {
124
+ this._getDDElements(el).forEach(function (dEl) {
125
+ return dEl.on(name, function (event) {
126
+ callback(event, dd_manager_1.DDManager.dragElement ? dd_manager_1.DDManager.dragElement.el : event.target, dd_manager_1.DDManager.dragElement ? dd_manager_1.DDManager.dragElement.helper : null);
127
+ });
128
+ });
55
129
  return this;
56
130
  };
57
- return GridStackDD;
58
- }(gridstack_ddi_1.GridStackDDI));
59
- exports.GridStackDD = GridStackDD;
131
+ DDGridStack.prototype.off = function (el, name) {
132
+ this._getDDElements(el).forEach(function (dEl) { return dEl.off(name); });
133
+ return this;
134
+ };
135
+ /** @internal returns a list of DD elements, creating them on the fly by default */
136
+ DDGridStack.prototype._getDDElements = function (els, create) {
137
+ if (create === void 0) { create = true; }
138
+ var hosts = utils_1.Utils.getElements(els);
139
+ if (!hosts.length)
140
+ return [];
141
+ var list = hosts.map(function (e) { return e.ddElement || (create ? dd_element_1.DDElement.init(e) : null); });
142
+ if (!create) {
143
+ list.filter(function (d) { return d; });
144
+ } // remove nulls
145
+ return list;
146
+ };
147
+ return DDGridStack;
148
+ }());
149
+ exports.DDGridStack = DDGridStack;
150
+ /** global instance */
151
+ var dd = new DDGridStack;
60
152
  /********************************************************************************
61
153
  * GridStack code that is doing drag&drop extracted here so main class is smaller
62
- * for static grid that don't do any of this work anyway. Saves about 10k.
154
+ * for static grid that don't do any of this work anyway. Saves about 31k (41k -> 72k)
63
155
  * https://www.typescriptlang.org/docs/handbook/declaration-merging.html
64
156
  * https://www.typescriptlang.org/docs/handbook/mixins.html
65
157
  ********************************************************************************/
@@ -68,7 +160,7 @@ gridstack_1.GridStack.prototype._setupAcceptWidget = function () {
68
160
  var _this = this;
69
161
  // check if we need to disable things
70
162
  if (this.opts.staticGrid || (!this.opts.acceptWidgets && !this.opts.removable)) {
71
- GridStackDD.get().droppable(this.el, 'destroy');
163
+ dd.droppable(this.el, 'destroy');
72
164
  return this;
73
165
  }
74
166
  // vars shared across all methods
@@ -92,7 +184,7 @@ gridstack_1.GridStack.prototype._setupAcceptWidget = function () {
92
184
  if (!_this.engine.willItFit(node)) {
93
185
  node.autoPosition = true; // ignore x,y and try for any slot...
94
186
  if (!_this.engine.willItFit(node)) {
95
- GridStackDD.get().off(el, 'drag'); // stop calling us
187
+ dd.off(el, 'drag'); // stop calling us
96
188
  return; // full grid or can't grow
97
189
  }
98
190
  if (node._willFitPos) {
@@ -109,8 +201,7 @@ gridstack_1.GridStack.prototype._setupAcceptWidget = function () {
109
201
  _this._dragOrResize(helper, event, ui, node, cellWidth, cellHeight);
110
202
  }
111
203
  };
112
- GridStackDD.get()
113
- .droppable(this.el, {
204
+ dd.droppable(this.el, {
114
205
  accept: function (el) {
115
206
  var node = el.gridstackNode;
116
207
  // set accept drop to true on ourself (which we ignore) so we don't get "can't drop" icon in HTML5 mode while moving
@@ -142,7 +233,7 @@ gridstack_1.GridStack.prototype._setupAcceptWidget = function () {
142
233
  * entering our grid area
143
234
  */
144
235
  .on(this.el, 'dropover', function (event, el, helper) {
145
- // TEST console.log(`over ${this.el.gridstack.opts.id} ${count++}`);
236
+ // console.log(`over ${this.el.gridstack.opts.id} ${count++}`); // TEST
146
237
  var node = el.gridstackNode;
147
238
  // ignore drop enter on ourself (unless we temporarily removed) which happens on a simple drag of our item
148
239
  if ((node === null || node === void 0 ? void 0 : node.grid) === _this && !node._temporaryRemoved) {
@@ -151,7 +242,7 @@ gridstack_1.GridStack.prototype._setupAcceptWidget = function () {
151
242
  }
152
243
  // fix #1578 when dragging fast, we may not get a leave on the previous grid so force one now
153
244
  if ((node === null || node === void 0 ? void 0 : node.grid) && node.grid !== _this && !node._temporaryRemoved) {
154
- // TEST console.log('dropover without leave');
245
+ // console.log('dropover without leave'); // TEST
155
246
  var otherGrid = node.grid;
156
247
  otherGrid._leave(el, helper);
157
248
  }
@@ -173,7 +264,7 @@ gridstack_1.GridStack.prototype._setupAcceptWidget = function () {
173
264
  // if the item came from another grid, make a copy and save the original info in case we go back there
174
265
  if (node.grid && node.grid !== _this) {
175
266
  // copy the node original values (min/max/id/etc...) but override width/height/other flags which are this grid specific
176
- // TEST console.log('dropover cloning node');
267
+ // console.log('dropover cloning node'); // TEST
177
268
  if (!el._gridstackNodeOrig)
178
269
  el._gridstackNodeOrig = node; // shouldn't have multiple nested!
179
270
  el.gridstackNode = node = __assign(__assign({}, node), { w: w, h: h, grid: _this });
@@ -191,7 +282,7 @@ gridstack_1.GridStack.prototype._setupAcceptWidget = function () {
191
282
  }
192
283
  // clear any marked for complete removal (Note: don't check _isAboutToRemove as that is cleared above - just do it)
193
284
  _itemRemoving(node.el, false);
194
- GridStackDD.get().on(el, 'drag', onDrag);
285
+ dd.on(el, 'drag', onDrag);
195
286
  // make sure this is called at least once when going fast #1578
196
287
  onDrag(event, el, helper);
197
288
  return false; // prevent parent from receiving msg (which may be a grid as well)
@@ -200,7 +291,7 @@ gridstack_1.GridStack.prototype._setupAcceptWidget = function () {
200
291
  * Leaving our grid area...
201
292
  */
202
293
  .on(this.el, 'dropout', function (event, el, helper) {
203
- // TEST console.log(`out ${this.el.gridstack.opts.id} ${count++}`);
294
+ // console.log(`out ${this.el.gridstack.opts.id} ${count++}`); // TEST
204
295
  var node = el.gridstackNode;
205
296
  if (!node)
206
297
  return false;
@@ -222,7 +313,7 @@ gridstack_1.GridStack.prototype._setupAcceptWidget = function () {
222
313
  var wasAdded = !!_this.placeholder.parentElement; // skip items not actually added to us because of constrains, but do cleanup #1419
223
314
  _this.placeholder.remove();
224
315
  // notify previous grid of removal
225
- // TEST console.log('drop delete _gridstackNodeOrig')
316
+ // console.log('drop delete _gridstackNodeOrig') // TEST
226
317
  var origNode = el._gridstackNodeOrig;
227
318
  delete el._gridstackNodeOrig;
228
319
  if (wasAdded && origNode && origNode.grid && origNode.grid !== _this) {
@@ -237,7 +328,7 @@ gridstack_1.GridStack.prototype._setupAcceptWidget = function () {
237
328
  _this.engine.cleanupNode(node); // removes all internal _xyz values
238
329
  node.grid = _this;
239
330
  }
240
- GridStackDD.get().off(el, 'drag');
331
+ dd.off(el, 'drag');
241
332
  // if we made a copy ('helper' which is temp) of the original node then insert a copy, else we move the original node (#1102)
242
333
  // as the helper will be nuked by jquery-ui otherwise
243
334
  if (helper !== el) {
@@ -249,7 +340,7 @@ gridstack_1.GridStack.prototype._setupAcceptWidget = function () {
249
340
  }
250
341
  else {
251
342
  el.remove(); // reduce flicker as we change depth here, and size further down
252
- GridStackDD.get().remove(el);
343
+ _this._removeDD(el);
253
344
  }
254
345
  if (!wasAdded)
255
346
  return false;
@@ -259,7 +350,7 @@ gridstack_1.GridStack.prototype._setupAcceptWidget = function () {
259
350
  utils_1.Utils.copyPos(node, _this._readAttr(_this.placeholder)); // placeholder values as moving VERY fast can throw things off #1578
260
351
  utils_1.Utils.removePositioningStyles(el); // @ts-ignore
261
352
  _this._writeAttr(el, node);
262
- _this.el.appendChild(el); // @ts-ignore
353
+ _this.el.appendChild(el); // @ts-ignore // TODO: now would be ideal time to _removeHelperStyle() overriding floating styles (native only)
263
354
  _this._updateContainerHeight();
264
355
  _this.engine.addedNodes.push(node); // @ts-ignore
265
356
  _this._triggerAddEvent(); // @ts-ignore
@@ -299,8 +390,8 @@ gridstack_1.GridStack.prototype._setupRemoveDrop = function () {
299
390
  // only register ONE drop-over/dropout callback for the 'trash', and it will
300
391
  // update the passed in item and parent grid because the 'trash' is a shared resource anyway,
301
392
  // and Native DD only has 1 event CB (having a list and technically a per grid removableOptions complicates things greatly)
302
- if (!GridStackDD.get().isDroppable(trashEl)) {
303
- GridStackDD.get().droppable(trashEl, this.opts.removableOptions)
393
+ if (!dd.isDroppable(trashEl)) {
394
+ dd.droppable(trashEl, this.opts.removableOptions)
304
395
  .on(trashEl, 'dropover', function (event, el) { return _itemRemoving(el, true); })
305
396
  .on(trashEl, 'dropout', function (event, el) { return _itemRemoving(el, false); });
306
397
  }
@@ -316,10 +407,8 @@ gridstack_1.GridStack.setupDragIn = function (_dragIn, _dragInOptions) {
316
407
  var dragIn;
317
408
  var dragInOptions;
318
409
  var dragInDefaultOptions = {
319
- revert: 'invalid',
320
410
  handle: '.grid-stack-item-content',
321
- scroll: false,
322
- appendTo: 'body'
411
+ appendTo: 'body',
323
412
  };
324
413
  // cache in the passed in values (form grid init?) so they don't have to resend them each time
325
414
  if (_dragIn) {
@@ -328,7 +417,6 @@ gridstack_1.GridStack.setupDragIn = function (_dragIn, _dragInOptions) {
328
417
  }
329
418
  if (typeof dragIn !== 'string')
330
419
  return;
331
- var dd = GridStackDD.get();
332
420
  utils_1.Utils.getElements(dragIn).forEach(function (el) {
333
421
  if (!dd.isDraggable(el))
334
422
  dd.dragIn(el, dragInOptions);
@@ -338,11 +426,12 @@ gridstack_1.GridStack.setupDragIn = function (_dragIn, _dragInOptions) {
338
426
  gridstack_1.GridStack.prototype._prepareDragDropByNode = function (node) {
339
427
  var _this = this;
340
428
  var el = node.el;
341
- var dd = GridStackDD.get();
429
+ var noMove = node.noMove || this.opts.disableDrag;
430
+ var noResize = node.noResize || this.opts.disableResize;
342
431
  // check for disabled grid first
343
- if (this.opts.staticGrid || ((node.noMove || this.opts.disableDrag) && (node.noResize || this.opts.disableResize))) {
432
+ if (this.opts.staticGrid || (noMove && noResize)) {
344
433
  if (node._initDD) {
345
- dd.remove(el); // nukes everything instead of just disable, will add some styles back next
434
+ this._removeDD(el); // nukes everything instead of just disable, will add some styles back next
346
435
  delete node._initDD;
347
436
  }
348
437
  el.classList.add('ui-draggable-disabled', 'ui-resizable-disabled'); // add styles one might depend on #1435
@@ -381,7 +470,7 @@ gridstack_1.GridStack.prototype._prepareDragDropByNode = function (node) {
381
470
  if (gridToNotify._gsEventHandler[event.type]) {
382
471
  gridToNotify._gsEventHandler[event.type](event, target);
383
472
  }
384
- dd.remove(el);
473
+ _this._removeDD(el);
385
474
  gridToNotify.engine.removedNodes.push(node);
386
475
  gridToNotify._triggerRemoveEvent();
387
476
  // break circular links and remove DOM
@@ -390,18 +479,17 @@ gridstack_1.GridStack.prototype._prepareDragDropByNode = function (node) {
390
479
  el.remove();
391
480
  }
392
481
  else {
393
- if (!node._temporaryRemoved) {
394
- // move to new placeholder location
395
- utils_1.Utils.removePositioningStyles(target); // @ts-ignore
396
- _this._writePosAttr(target, node);
397
- }
398
- else {
482
+ utils_1.Utils.removePositioningStyles(target);
483
+ if (node._temporaryRemoved) {
399
484
  // got removed - restore item back to before dragging position
400
- utils_1.Utils.removePositioningStyles(target);
401
485
  utils_1.Utils.copyPos(node, node._orig); // @ts-ignore
402
486
  _this._writePosAttr(target, node);
403
487
  _this.engine.addNode(node);
404
488
  }
489
+ else {
490
+ // move to new placeholder location
491
+ _this._writePosAttr(target, node);
492
+ }
405
493
  if (_this._gsEventHandler[event.type]) {
406
494
  _this._gsEventHandler[event.type](event, target);
407
495
  }
@@ -424,22 +512,8 @@ gridstack_1.GridStack.prototype._prepareDragDropByNode = function (node) {
424
512
  node._initDD = true; // we've set DD support now
425
513
  }
426
514
  // finally fine tune move vs resize by disabling any part...
427
- if (node.noMove || this.opts.disableDrag) {
428
- dd.draggable(el, 'disable');
429
- el.classList.add('ui-draggable-disabled');
430
- }
431
- else {
432
- dd.draggable(el, 'enable');
433
- el.classList.remove('ui-draggable-disabled');
434
- }
435
- if (node.noResize || this.opts.disableResize) {
436
- dd.resizable(el, 'disable');
437
- el.classList.add('ui-resizable-disabled');
438
- }
439
- else {
440
- dd.resizable(el, 'enable');
441
- el.classList.remove('ui-resizable-disabled');
442
- }
515
+ dd.draggable(el, noMove ? 'disable' : 'enable')
516
+ .resizable(el, noResize ? 'disable' : 'enable');
443
517
  return this;
444
518
  };
445
519
  /** @internal called when item is starting a drag/resize */
@@ -449,22 +523,21 @@ gridstack_1.GridStack.prototype._onStartMoving = function (el, event, ui, node,
449
523
  // @ts-ignore
450
524
  this._writePosAttr(this.placeholder, node);
451
525
  this.el.appendChild(this.placeholder);
452
- // TEST console.log('_onStartMoving placeholder')
526
+ // console.log('_onStartMoving placeholder') // TEST
453
527
  node.el = this.placeholder;
454
528
  node._lastUiPosition = ui.position;
455
529
  node._prevYPix = ui.position.top;
456
530
  node._moving = (event.type === 'dragstart'); // 'dropover' are not initially moving so they can go exactly where they enter (will push stuff out of the way)
457
531
  delete node._lastTried;
458
532
  if (event.type === 'dropover' && node._temporaryRemoved) {
459
- // TEST console.log('engine.addNode x=' + node.x);
533
+ // console.log('engine.addNode x=' + node.x); // TEST
460
534
  this.engine.addNode(node); // will add, fix collisions, update attr and clear _temporaryRemoved
461
535
  node._moving = true; // AFTER, mark as moving object (wanted fix location before)
462
536
  }
463
537
  // set the min/max resize info
464
538
  this.engine.cacheRects(cellWidth, cellHeight, this.opts.marginTop, this.opts.marginRight, this.opts.marginBottom, this.opts.marginLeft);
465
539
  if (event.type === 'resizestart') {
466
- var dd = GridStackDD.get()
467
- .resizable(el, 'option', 'minWidth', cellWidth * (node.minW || 1))
540
+ dd.resizable(el, 'option', 'minWidth', cellWidth * (node.minW || 1))
468
541
  .resizable(el, 'option', 'minHeight', cellHeight * (node.minH || 1));
469
542
  if (node.maxW) {
470
543
  dd.resizable(el, 'option', 'maxWidth', cellWidth * node.maxW);
@@ -482,7 +555,7 @@ gridstack_1.GridStack.prototype._leave = function (el, helper) {
482
555
  var node = el.gridstackNode;
483
556
  if (!node)
484
557
  return;
485
- GridStackDD.get().off(el, 'drag'); // no need to track while being outside
558
+ dd.off(el, 'drag'); // no need to track while being outside
486
559
  // this gets called when cursor leaves and shape is outside, so only do this once
487
560
  if (node._temporaryRemoved)
488
561
  return;
@@ -495,7 +568,7 @@ gridstack_1.GridStack.prototype._leave = function (el, helper) {
495
568
  }
496
569
  // finally if item originally came from another grid, but left us, restore things back to prev info
497
570
  if (el._gridstackNodeOrig) {
498
- // TEST console.log('leave delete _gridstackNodeOrig')
571
+ // console.log('leave delete _gridstackNodeOrig') // TEST
499
572
  el.gridstackNode = el._gridstackNodeOrig;
500
573
  delete el._gridstackNodeOrig;
501
574
  }
@@ -683,4 +756,12 @@ gridstack_1.GridStack.prototype.enableResize = function (doEnable) {
683
756
  this.engine.nodes.forEach(function (n) { return _this.resizable(n.el, doEnable); });
684
757
  return this;
685
758
  };
686
- //# sourceMappingURL=gridstack-dd.js.map
759
+ /** removes any drag&drop present (called during destroy) */
760
+ gridstack_1.GridStack.prototype._removeDD = function (el) {
761
+ dd.draggable(el, 'destroy').resizable(el, 'destroy');
762
+ if (el.gridstackNode) {
763
+ delete el.gridstackNode._initDD; // reset our DD init flag
764
+ }
765
+ return this;
766
+ };
767
+ //# sourceMappingURL=dd-gridstack.js.map