gridstack 7.3.0 → 8.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.
Files changed (196) hide show
  1. package/README.md +8 -2
  2. package/dist/dd-base-impl.d.ts +20 -20
  3. package/dist/dd-base-impl.js +31 -35
  4. package/dist/dd-base-impl.js.map +1 -1
  5. package/dist/dd-draggable.d.ts +28 -28
  6. package/dist/dd-draggable.js +336 -344
  7. package/dist/dd-draggable.js.map +1 -1
  8. package/dist/dd-droppable.d.ts +26 -26
  9. package/dist/dd-droppable.js +146 -148
  10. package/dist/dd-droppable.js.map +1 -1
  11. package/dist/dd-element.d.ts +27 -27
  12. package/dist/dd-element.js +90 -94
  13. package/dist/dd-element.js.map +1 -1
  14. package/dist/dd-gridstack.d.ts +34 -34
  15. package/dist/dd-gridstack.js +127 -124
  16. package/dist/dd-gridstack.js.map +1 -1
  17. package/dist/dd-manager.d.ts +22 -22
  18. package/dist/dd-manager.js +9 -13
  19. package/dist/dd-manager.js.map +1 -1
  20. package/dist/dd-resizable-handle.d.ts +14 -14
  21. package/dist/dd-resizable-handle.js +102 -105
  22. package/dist/dd-resizable-handle.js.map +1 -1
  23. package/dist/dd-resizable.d.ts +28 -28
  24. package/dist/dd-resizable.js +290 -296
  25. package/dist/dd-resizable.js.map +1 -1
  26. package/dist/dd-touch.d.ts +33 -33
  27. package/dist/dd-touch.js +173 -182
  28. package/dist/dd-touch.js.map +1 -1
  29. package/dist/es5/dd-base-impl.d.ts +20 -20
  30. package/dist/es5/dd-base-impl.js +40 -40
  31. package/dist/es5/dd-base-impl.js.map +1 -1
  32. package/dist/es5/dd-draggable.d.ts +28 -28
  33. package/dist/es5/dd-draggable.js +366 -367
  34. package/dist/es5/dd-draggable.js.map +1 -1
  35. package/dist/es5/dd-droppable.d.ts +26 -26
  36. package/dist/es5/dd-droppable.js +181 -179
  37. package/dist/es5/dd-droppable.js.map +1 -1
  38. package/dist/es5/dd-element.d.ts +27 -27
  39. package/dist/es5/dd-element.js +95 -95
  40. package/dist/es5/dd-element.js.map +1 -1
  41. package/dist/es5/dd-gridstack.d.ts +34 -34
  42. package/dist/es5/dd-gridstack.js +144 -144
  43. package/dist/es5/dd-gridstack.js.map +1 -1
  44. package/dist/es5/dd-manager.d.ts +22 -22
  45. package/dist/es5/dd-manager.js +16 -16
  46. package/dist/es5/dd-manager.js.map +1 -1
  47. package/dist/es5/dd-resizable-handle.d.ts +14 -14
  48. package/dist/es5/dd-resizable-handle.js +105 -106
  49. package/dist/es5/dd-resizable-handle.js.map +1 -1
  50. package/dist/es5/dd-resizable.d.ts +28 -28
  51. package/dist/es5/dd-resizable.js +317 -318
  52. package/dist/es5/dd-resizable.js.map +1 -1
  53. package/dist/es5/dd-touch.d.ts +33 -33
  54. package/dist/es5/dd-touch.js +185 -185
  55. package/dist/es5/dd-touch.js.map +1 -1
  56. package/dist/es5/gridstack-all.js +1 -1
  57. package/dist/es5/gridstack-all.js.LICENSE.txt +1 -1
  58. package/dist/es5/gridstack-all.js.map +1 -1
  59. package/dist/es5/gridstack-engine.d.ts +102 -102
  60. package/dist/es5/gridstack-engine.js +1000 -995
  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 +389 -376
  64. package/dist/es5/gridstack.js +2252 -2233
  65. package/dist/es5/gridstack.js.map +1 -1
  66. package/dist/es5/types.d.ts +279 -284
  67. package/dist/es5/types.js +47 -35
  68. package/dist/es5/types.js.map +1 -1
  69. package/dist/es5/utils.d.ts +95 -93
  70. package/dist/es5/utils.js +591 -569
  71. package/dist/es5/utils.js.map +1 -1
  72. package/dist/gridstack-all.js +1 -1
  73. package/dist/gridstack-all.js.LICENSE.txt +1 -1
  74. package/dist/gridstack-all.js.map +1 -1
  75. package/dist/gridstack-engine.d.ts +102 -102
  76. package/dist/gridstack-engine.js +950 -954
  77. package/dist/gridstack-engine.js.map +1 -1
  78. package/dist/gridstack-extra.css +0 -390
  79. package/dist/gridstack-extra.min.css +1 -1
  80. package/dist/gridstack.css +3 -97
  81. package/dist/gridstack.d.ts +389 -376
  82. package/dist/gridstack.js +2155 -2157
  83. package/dist/gridstack.js.map +1 -1
  84. package/dist/gridstack.min.css +1 -1
  85. package/dist/ng/README.md +154 -0
  86. package/dist/ng/gridstack-item.component.d.ts +29 -0
  87. package/dist/ng/gridstack-item.component.js +65 -0
  88. package/dist/ng/gridstack-item.component.js.map +1 -0
  89. package/dist/ng/gridstack.component.d.ts +118 -0
  90. package/dist/ng/gridstack.component.js +245 -0
  91. package/dist/ng/gridstack.component.js.map +1 -0
  92. package/dist/src/gridstack-extra.scss +0 -2
  93. package/dist/src/gridstack.scss +6 -9
  94. package/dist/types.d.ts +279 -284
  95. package/dist/types.js +44 -35
  96. package/dist/types.js.map +1 -1
  97. package/dist/utils.d.ts +95 -93
  98. package/dist/utils.js +539 -527
  99. package/dist/utils.js.map +1 -1
  100. package/{dist → dist_save}/angular/gridstack-item.component.ts +5 -3
  101. package/{dist → dist_save}/angular/gridstack.component.ts +32 -18
  102. package/dist_save/dd-base-impl.d.ts +20 -0
  103. package/dist_save/dd-base-impl.js +36 -0
  104. package/dist_save/dd-base-impl.js.map +1 -0
  105. package/dist_save/dd-draggable.d.ts +28 -0
  106. package/dist_save/dd-draggable.js +343 -0
  107. package/dist_save/dd-draggable.js.map +1 -0
  108. package/dist_save/dd-droppable.d.ts +26 -0
  109. package/dist_save/dd-droppable.js +149 -0
  110. package/dist_save/dd-droppable.js.map +1 -0
  111. package/dist_save/dd-element.d.ts +27 -0
  112. package/dist_save/dd-element.js +95 -0
  113. package/dist_save/dd-element.js.map +1 -0
  114. package/dist_save/dd-gridstack.d.ts +34 -0
  115. package/dist_save/dd-gridstack.js +125 -0
  116. package/dist_save/dd-gridstack.js.map +1 -0
  117. package/dist_save/dd-manager.d.ts +22 -0
  118. package/dist_save/dd-manager.js +14 -0
  119. package/dist_save/dd-manager.js.map +1 -0
  120. package/dist_save/dd-resizable-handle.d.ts +14 -0
  121. package/dist_save/dd-resizable-handle.js +106 -0
  122. package/dist_save/dd-resizable-handle.js.map +1 -0
  123. package/dist_save/dd-resizable.d.ts +28 -0
  124. package/dist_save/dd-resizable.js +294 -0
  125. package/dist_save/dd-resizable.js.map +1 -0
  126. package/dist_save/dd-touch.d.ts +33 -0
  127. package/dist_save/dd-touch.js +183 -0
  128. package/dist_save/dd-touch.js.map +1 -0
  129. package/dist_save/es5/dd-base-impl.d.ts +20 -0
  130. package/dist_save/es5/dd-base-impl.js +41 -0
  131. package/dist_save/es5/dd-base-impl.js.map +1 -0
  132. package/dist_save/es5/dd-draggable.d.ts +28 -0
  133. package/dist_save/es5/dd-draggable.js +366 -0
  134. package/dist_save/es5/dd-draggable.js.map +1 -0
  135. package/dist_save/es5/dd-droppable.d.ts +26 -0
  136. package/dist_save/es5/dd-droppable.js +180 -0
  137. package/dist_save/es5/dd-droppable.js.map +1 -0
  138. package/dist_save/es5/dd-element.d.ts +27 -0
  139. package/dist_save/es5/dd-element.js +96 -0
  140. package/dist_save/es5/dd-element.js.map +1 -0
  141. package/dist_save/es5/dd-gridstack.d.ts +34 -0
  142. package/dist_save/es5/dd-gridstack.js +145 -0
  143. package/dist_save/es5/dd-gridstack.js.map +1 -0
  144. package/dist_save/es5/dd-manager.d.ts +22 -0
  145. package/dist_save/es5/dd-manager.js +17 -0
  146. package/dist_save/es5/dd-manager.js.map +1 -0
  147. package/dist_save/es5/dd-resizable-handle.d.ts +14 -0
  148. package/dist_save/es5/dd-resizable-handle.js +107 -0
  149. package/dist_save/es5/dd-resizable-handle.js.map +1 -0
  150. package/dist_save/es5/dd-resizable.d.ts +28 -0
  151. package/dist_save/es5/dd-resizable.js +316 -0
  152. package/dist_save/es5/dd-resizable.js.map +1 -0
  153. package/dist_save/es5/dd-touch.d.ts +33 -0
  154. package/dist_save/es5/dd-touch.js +186 -0
  155. package/dist_save/es5/dd-touch.js.map +1 -0
  156. package/dist_save/es5/gridstack-all.js +3 -0
  157. package/dist_save/es5/gridstack-all.js.LICENSE.txt +7 -0
  158. package/dist_save/es5/gridstack-all.js.map +1 -0
  159. package/dist_save/es5/gridstack-engine.d.ts +102 -0
  160. package/dist_save/es5/gridstack-engine.js +997 -0
  161. package/dist_save/es5/gridstack-engine.js.map +1 -0
  162. package/dist_save/es5/gridstack-poly.js +356 -0
  163. package/dist_save/es5/gridstack.d.ts +376 -0
  164. package/dist_save/es5/gridstack.js +2238 -0
  165. package/dist_save/es5/gridstack.js.map +1 -0
  166. package/dist_save/es5/types.d.ts +284 -0
  167. package/dist_save/es5/types.js +36 -0
  168. package/dist_save/es5/types.js.map +1 -0
  169. package/dist_save/es5/utils.d.ts +95 -0
  170. package/dist_save/es5/utils.js +590 -0
  171. package/dist_save/es5/utils.js.map +1 -0
  172. package/dist_save/gridstack-all.js +3 -0
  173. package/dist_save/gridstack-all.js.LICENSE.txt +7 -0
  174. package/dist_save/gridstack-all.js.map +1 -0
  175. package/dist_save/gridstack-engine.d.ts +102 -0
  176. package/dist_save/gridstack-engine.js +956 -0
  177. package/dist_save/gridstack-engine.js.map +1 -0
  178. package/dist_save/gridstack-extra.css +433 -0
  179. package/dist_save/gridstack-extra.min.css +1 -0
  180. package/dist_save/gridstack.css +226 -0
  181. package/dist_save/gridstack.d.ts +376 -0
  182. package/dist_save/gridstack.js +2162 -0
  183. package/dist_save/gridstack.js.map +1 -0
  184. package/dist_save/gridstack.min.css +1 -0
  185. package/dist_save/src/gridstack-extra.scss +27 -0
  186. package/dist_save/src/gridstack.scss +131 -0
  187. package/dist_save/types.d.ts +284 -0
  188. package/dist_save/types.js +36 -0
  189. package/dist_save/types.js.map +1 -0
  190. package/dist_save/utils.d.ts +95 -0
  191. package/dist_save/utils.js +548 -0
  192. package/dist_save/utils.js.map +1 -0
  193. package/doc/CHANGES.md +12 -0
  194. package/doc/README.md +15 -1
  195. package/package.json +25 -24
  196. /package/{dist → dist_save}/angular/README.md +0 -0
@@ -0,0 +1,102 @@
1
+ /**
2
+ * gridstack-engine.ts 7.3.0-dev
3
+ * Copyright (c) 2021-2022 Alain Dumesny - see GridStack root license
4
+ */
5
+ import { GridStackNode, GridStackPosition, GridStackMoveOpts } from './types';
6
+ /** callback to update the DOM attributes since this class is generic (no HTML or other info) for items that changed - see _notify() */
7
+ declare type OnChangeCB = (nodes: GridStackNode[]) => void;
8
+ /** options used during creation - similar to GridStackOptions */
9
+ export interface GridStackEngineOptions {
10
+ column?: number;
11
+ maxRow?: number;
12
+ float?: boolean;
13
+ nodes?: GridStackNode[];
14
+ onChange?: OnChangeCB;
15
+ }
16
+ /**
17
+ * Defines the GridStack engine that does most no DOM grid manipulation.
18
+ * See GridStack methods and vars for descriptions.
19
+ *
20
+ * NOTE: values should not be modified directly - call the main GridStack API instead
21
+ */
22
+ export declare class GridStackEngine {
23
+ column: number;
24
+ maxRow: number;
25
+ nodes: GridStackNode[];
26
+ addedNodes: GridStackNode[];
27
+ removedNodes: GridStackNode[];
28
+ batchMode: boolean;
29
+ constructor(opts?: GridStackEngineOptions);
30
+ batchUpdate(flag?: boolean): GridStackEngine;
31
+ protected _useEntireRowArea(node: GridStackNode, nn: GridStackPosition): boolean;
32
+ /** return the nodes that intercept the given node. Optionally a different area can be used, as well as a second node to skip */
33
+ collide(skip: GridStackNode, area?: GridStackNode, skip2?: GridStackNode): GridStackNode;
34
+ collideAll(skip: GridStackNode, area?: GridStackNode, skip2?: GridStackNode): GridStackNode[];
35
+ /** does a pixel coverage collision based on where we started, returning the node that has the most coverage that is >50% mid line */
36
+ protected directionCollideCoverage(node: GridStackNode, o: GridStackMoveOpts, collides: GridStackNode[]): GridStackNode;
37
+ /** does a pixel coverage returning the node that has the most coverage by area */
38
+ /** called to cache the nodes pixel rectangles used for collision detection during drag */
39
+ cacheRects(w: number, h: number, top: number, right: number, bottom: number, left: number): GridStackEngine;
40
+ /** called to possibly swap between 2 nodes (same size or column, not locked, touching), returning true if successful */
41
+ swap(a: GridStackNode, b: GridStackNode): boolean;
42
+ isAreaEmpty(x: number, y: number, w: number, h: number): boolean;
43
+ /** re-layout grid items to reclaim any empty space */
44
+ compact(): GridStackEngine;
45
+ /** enable/disable floating widgets (default: `false`) See [example](http://gridstackjs.com/demo/float.html) */
46
+ set float(val: boolean);
47
+ /** float getter method */
48
+ get float(): boolean;
49
+ /** sort the nodes array from first to last, or reverse. Called during collision/placement to force an order */
50
+ sortNodes(dir?: -1 | 1): GridStackEngine;
51
+ /**
52
+ * given a random node, makes sure it's coordinates/values are valid in the current grid
53
+ * @param node to adjust
54
+ * @param resizing if out of bound, resize down or move into the grid to fit ?
55
+ */
56
+ prepareNode(node: GridStackNode, resizing?: boolean): GridStackNode;
57
+ /** part2 of preparing a node to fit inside our grid - checks for x,y,w from grid dimensions */
58
+ nodeBoundFix(node: GridStackNode, resizing?: boolean): GridStackNode;
59
+ /** returns a list of modified nodes from their original values */
60
+ getDirtyNodes(verify?: boolean): GridStackNode[];
61
+ /** find the first available empty spot for the given node width/height, updating the x,y attributes. return true if found.
62
+ * optionally you can pass your own existing node list and column count, otherwise defaults to that engine data.
63
+ */
64
+ findEmptyPosition(node: GridStackNode, nodeList?: GridStackNode[], column?: number): boolean;
65
+ /** call to add the given node to our list, fixing collision and re-packing */
66
+ addNode(node: GridStackNode, triggerAddEvent?: boolean): GridStackNode;
67
+ removeNode(node: GridStackNode, removeDOM?: boolean, triggerEvent?: boolean): GridStackEngine;
68
+ removeAll(removeDOM?: boolean): GridStackEngine;
69
+ /** checks if item can be moved (layout constrain) vs moveNode(), returning true if was able to move.
70
+ * In more complicated cases (maxRow) it will attempt at moving the item and fixing
71
+ * others in a clone first, then apply those changes if still within specs. */
72
+ moveNodeCheck(node: GridStackNode, o: GridStackMoveOpts): boolean;
73
+ /** return true if can fit in grid height constrain only (always true if no maxRow) */
74
+ willItFit(node: GridStackNode): boolean;
75
+ /** true if x,y or w,h are different after clamping to min/max */
76
+ changedPosConstrain(node: GridStackNode, p: GridStackPosition): boolean;
77
+ /** return true if the passed in node was actually moved (checks for no-op and locked) */
78
+ moveNode(node: GridStackNode, o: GridStackMoveOpts): boolean;
79
+ getRow(): number;
80
+ beginUpdate(node: GridStackNode): GridStackEngine;
81
+ endUpdate(): GridStackEngine;
82
+ /** saves a copy of the largest column layout (eg 12 even when rendering oneColumnMode) so we don't loose orig layout,
83
+ * returning a list of widgets for serialization */
84
+ save(saveElement?: boolean): GridStackNode[];
85
+ /**
86
+ * call to cache the given layout internally to the given location so we can restore back when column changes size
87
+ * @param nodes list of nodes
88
+ * @param column corresponding column index to save it under
89
+ * @param clear if true, will force other caches to be removed (default false)
90
+ */
91
+ cacheLayout(nodes: GridStackNode[], column: number, clear?: boolean): GridStackEngine;
92
+ /**
93
+ * call to cache the given node layout internally to the given location so we can restore back when column changes size
94
+ * @param node single node to cache
95
+ * @param column corresponding column index to save it under
96
+ */
97
+ cacheOneLayout(n: GridStackNode, column: number): GridStackEngine;
98
+ protected findCacheLayout(n: GridStackNode, column: number): number;
99
+ /** called to remove all internal values but the _id */
100
+ cleanupNode(node: GridStackNode): GridStackEngine;
101
+ }
102
+ export {};