@deephaven/golden-layout 0.22.3-beta.18 → 0.22.3-beta.21

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 (60) hide show
  1. package/dist/LayoutManager.js +60 -260
  2. package/dist/LayoutManager.js.map +1 -1
  3. package/dist/base.js.map +1 -1
  4. package/dist/config/Config.js.map +1 -1
  5. package/dist/config/ItemConfig.js.map +1 -1
  6. package/dist/container/ItemContainer.js +14 -50
  7. package/dist/container/ItemContainer.js.map +1 -1
  8. package/dist/container/index.js.map +1 -1
  9. package/dist/controls/BrowserPopout.js +17 -63
  10. package/dist/controls/BrowserPopout.js.map +1 -1
  11. package/dist/controls/DragProxy.js +13 -73
  12. package/dist/controls/DragProxy.js.map +1 -1
  13. package/dist/controls/DragSource.js +3 -19
  14. package/dist/controls/DragSource.js.map +1 -1
  15. package/dist/controls/DragSourceFromEvent.js +5 -24
  16. package/dist/controls/DragSourceFromEvent.js.map +1 -1
  17. package/dist/controls/DropTargetIndicator.js +0 -7
  18. package/dist/controls/DropTargetIndicator.js.map +1 -1
  19. package/dist/controls/Header.js +89 -233
  20. package/dist/controls/Header.js.map +1 -1
  21. package/dist/controls/HeaderButton.js +0 -9
  22. package/dist/controls/HeaderButton.js.map +1 -1
  23. package/dist/controls/Splitter.js +0 -14
  24. package/dist/controls/Splitter.js.map +1 -1
  25. package/dist/controls/Tab.js +21 -62
  26. package/dist/controls/Tab.js.map +1 -1
  27. package/dist/controls/TransitionIndicator.js +2 -21
  28. package/dist/controls/TransitionIndicator.js.map +1 -1
  29. package/dist/controls/index.js.map +1 -1
  30. package/dist/errors/ConfigurationError.js +0 -5
  31. package/dist/errors/ConfigurationError.js.map +1 -1
  32. package/dist/errors/index.js.map +1 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/items/AbstractContentItem.js +37 -133
  35. package/dist/items/AbstractContentItem.js.map +1 -1
  36. package/dist/items/Component.js +2 -27
  37. package/dist/items/Component.js.map +1 -1
  38. package/dist/items/Root.js +1 -26
  39. package/dist/items/Root.js.map +1 -1
  40. package/dist/items/RowOrColumn.js +32 -128
  41. package/dist/items/RowOrColumn.js.map +1 -1
  42. package/dist/items/Stack.js +27 -115
  43. package/dist/items/Stack.js.map +1 -1
  44. package/dist/items/index.js.map +1 -1
  45. package/dist/utils/BubblingEvent.js +0 -6
  46. package/dist/utils/BubblingEvent.js.map +1 -1
  47. package/dist/utils/ConfigMinifier.js +13 -26
  48. package/dist/utils/ConfigMinifier.js.map +1 -1
  49. package/dist/utils/DragListener.js +8 -47
  50. package/dist/utils/DragListener.js.map +1 -1
  51. package/dist/utils/EventEmitter.js +5 -25
  52. package/dist/utils/EventEmitter.js.map +1 -1
  53. package/dist/utils/EventHub.js +8 -27
  54. package/dist/utils/EventHub.js.map +1 -1
  55. package/dist/utils/ReactComponentHandler.js +6 -35
  56. package/dist/utils/ReactComponentHandler.js.map +1 -1
  57. package/dist/utils/index.js.map +1 -1
  58. package/dist/utils/utils.js +5 -11
  59. package/dist/utils/utils.js.map +1 -1
  60. package/package.json +2 -2
@@ -1,5 +1,4 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  import $ from 'jquery';
4
3
  import { stripTags, EventEmitter } from "../utils/index.js";
5
4
  /**
@@ -14,112 +13,76 @@ import { stripTags, EventEmitter } from "../utils/index.js";
14
13
  * @param contentItem
15
14
  * @param originalParent
16
15
  */
17
-
18
16
  export default class DragProxy extends EventEmitter {
19
17
  constructor(x, y, dragListener, layoutManager, contentItem, originalParent) {
20
18
  var _this$_contentItem$co, _this$_contentItem$co2, _offset$left, _offset$top, _this$_layoutManager$, _this$_layoutManager$2, _this$element$width, _this$element$height;
21
-
22
19
  super();
23
-
24
20
  _defineProperty(this, "_dragListener", void 0);
25
-
26
21
  _defineProperty(this, "_layoutManager", void 0);
27
-
28
22
  _defineProperty(this, "_contentItem", void 0);
29
-
30
23
  _defineProperty(this, "_originalParent", void 0);
31
-
32
24
  _defineProperty(this, "_area", null);
33
-
34
25
  _defineProperty(this, "_lastValidArea", null);
35
-
36
26
  _defineProperty(this, "_minX", void 0);
37
-
38
27
  _defineProperty(this, "_maxX", void 0);
39
-
40
28
  _defineProperty(this, "_minY", void 0);
41
-
42
29
  _defineProperty(this, "_maxY", void 0);
43
-
44
30
  _defineProperty(this, "_width", void 0);
45
-
46
31
  _defineProperty(this, "_height", void 0);
47
-
48
32
  _defineProperty(this, "_sided", void 0);
49
-
50
33
  _defineProperty(this, "element", void 0);
51
-
52
34
  _defineProperty(this, "childElementContainer", void 0);
53
-
54
35
  _defineProperty(this, "_proxyTab", void 0);
55
-
56
36
  this._dragListener = dragListener;
57
37
  this._layoutManager = layoutManager;
58
38
  this._contentItem = contentItem;
59
39
  this._originalParent = originalParent;
60
-
61
40
  this._dragListener.on('drag', this._onDrag, this);
41
+ this._dragListener.on('dragStop', this._onDrop, this);
62
42
 
63
- this._dragListener.on('dragStop', this._onDrop, this); // set the inserted drag placeholder to be the size of the tab removed, before its removed
64
-
65
-
43
+ // set the inserted drag placeholder to be the size of the tab removed, before its removed
66
44
  if (this._contentItem.tab && this._contentItem.tab.element) {
67
45
  var _this$_contentItem$ta, _this$_contentItem$ta2;
68
-
69
46
  this._layoutManager.tabDropPlaceholder.width((_this$_contentItem$ta = this._contentItem.tab.element.outerWidth(true)) !== null && _this$_contentItem$ta !== void 0 ? _this$_contentItem$ta : 0);
70
-
71
47
  this._layoutManager.tabDropPlaceholder.height((_this$_contentItem$ta2 = this._contentItem.tab.element.outerHeight(true)) !== null && _this$_contentItem$ta2 !== void 0 ? _this$_contentItem$ta2 : 0);
72
48
  }
73
-
74
49
  this.element = $(DragProxy._template);
75
-
76
50
  if (originalParent && originalParent._side) {
77
51
  this._sided = originalParent._sided;
78
52
  this.element.addClass('lm_' + originalParent._side);
79
53
  if (['right', 'bottom'].indexOf(originalParent._side.toString()) >= 0) this.element.find('.lm_content').after(this.element.find('.lm_header'));
80
54
  }
81
-
82
55
  this.element.css({
83
56
  left: x,
84
57
  top: y
85
58
  });
86
59
  this._proxyTab = this.element.find('.lm_tab');
87
-
88
60
  this._proxyTab.attr('title', stripTags((_this$_contentItem$co = this._contentItem.config.title) !== null && _this$_contentItem$co !== void 0 ? _this$_contentItem$co : ''));
89
-
90
61
  this.element.find('.lm_title').html((_this$_contentItem$co2 = this._contentItem.config.title) !== null && _this$_contentItem$co2 !== void 0 ? _this$_contentItem$co2 : '');
91
62
  this.childElementContainer = this.element.find('.lm_content');
92
63
  this.childElementContainer.append(contentItem.element);
93
-
94
64
  this._updateTree();
95
-
96
65
  this._layoutManager._$calculateItemAreas();
97
-
98
66
  this._setDimensions();
67
+ $(document.body).append(this.element);
99
68
 
100
- $(document.body).append(this.element); // there's no content tab to use yet, use the proxy tab size for placeholder sizing, after it's created
101
-
69
+ // there's no content tab to use yet, use the proxy tab size for placeholder sizing, after it's created
102
70
  if (!this._contentItem.tab && this._proxyTab.length) {
103
71
  var _this$_proxyTab$outer, _this$_proxyTab$outer2;
104
-
105
72
  this._layoutManager.tabDropPlaceholder.width((_this$_proxyTab$outer = this._proxyTab.outerWidth(true)) !== null && _this$_proxyTab$outer !== void 0 ? _this$_proxyTab$outer : 0);
106
-
107
73
  this._layoutManager.tabDropPlaceholder.height((_this$_proxyTab$outer2 = this._proxyTab.outerHeight(true)) !== null && _this$_proxyTab$outer2 !== void 0 ? _this$_proxyTab$outer2 : 0);
108
74
  }
109
-
110
75
  var offset = this._layoutManager.container.offset();
111
-
112
76
  this._minX = (_offset$left = offset === null || offset === void 0 ? void 0 : offset.left) !== null && _offset$left !== void 0 ? _offset$left : 0;
113
77
  this._minY = (_offset$top = offset === null || offset === void 0 ? void 0 : offset.top) !== null && _offset$top !== void 0 ? _offset$top : 0;
114
78
  this._maxX = ((_this$_layoutManager$ = this._layoutManager.container.width()) !== null && _this$_layoutManager$ !== void 0 ? _this$_layoutManager$ : 0) + this._minX;
115
79
  this._maxY = ((_this$_layoutManager$2 = this._layoutManager.container.height()) !== null && _this$_layoutManager$2 !== void 0 ? _this$_layoutManager$2 : 0) + this._minY;
116
80
  this._width = (_this$element$width = this.element.width()) !== null && _this$element$width !== void 0 ? _this$element$width : 0;
117
81
  this._height = (_this$element$height = this.element.height()) !== null && _this$element$height !== void 0 ? _this$element$height : 0;
118
-
119
82
  this._setDropPosition(x, y);
120
-
121
83
  this._layoutManager.emit('itemPickedUp', this._contentItem);
122
84
  }
85
+
123
86
  /**
124
87
  * Callback on every mouseMove event during a drag. Determines if the drag is
125
88
  * still within the valid drag area and calls the layoutManager to highlight the
@@ -129,96 +92,81 @@ export default class DragProxy extends EventEmitter {
129
92
  * @param offsetY The difference from the original y position in px
130
93
  * @param event
131
94
  */
132
-
133
-
134
95
  _onDrag(offsetX, offsetY, event) {
135
96
  var _event$pageX, _event$pageY;
136
-
137
97
  var x = (_event$pageX = event.pageX) !== null && _event$pageX !== void 0 ? _event$pageX : 0;
138
98
  var y = (_event$pageY = event.pageY) !== null && _event$pageY !== void 0 ? _event$pageY : 0;
139
99
  var isWithinContainer = x > this._minX && x < this._maxX && y > this._minY && y < this._maxY;
140
-
141
100
  if (!isWithinContainer && this._layoutManager.config.settings.constrainDragToContainer === true) {
142
101
  return;
143
102
  }
144
-
145
103
  this._setDropPosition(x, y);
146
104
  }
105
+
147
106
  /**
148
107
  * Sets the target position, highlighting the appropriate area
149
108
  *
150
109
  * @param x The x position in px
151
110
  * @param y The y position in px
152
111
  */
153
-
154
-
155
112
  _setDropPosition(x, y) {
156
113
  this.element.css({
157
114
  left: x,
158
115
  top: y
159
116
  });
160
117
  this._area = this._layoutManager._$getArea(x, y);
161
-
162
118
  if (this._area !== null) {
163
119
  this._lastValidArea = this._area;
164
-
165
120
  this._area.contentItem._$highlightDropZone(x, y, this._area);
166
121
  }
167
122
  }
123
+
168
124
  /**
169
125
  * Callback when the drag has finished. Determines the drop area
170
126
  * and adds the child to it
171
127
  */
172
-
173
-
174
128
  _onDrop() {
175
129
  var _this$_layoutManager$3;
176
-
177
130
  (_this$_layoutManager$3 = this._layoutManager.dropTargetIndicator) === null || _this$_layoutManager$3 === void 0 ? void 0 : _this$_layoutManager$3.hide();
131
+
178
132
  /*
179
133
  * Valid drop area found
180
134
  */
181
-
182
135
  if (this._area !== null) {
183
136
  this._area.contentItem._$onDrop(this._contentItem, this._area);
137
+
184
138
  /**
185
139
  * No valid drop area available at present, but one has been found before.
186
140
  * Use it
187
141
  */
188
-
189
142
  } else if (this._lastValidArea !== null) {
190
143
  this._lastValidArea.contentItem._$onDrop(this._contentItem, this._lastValidArea);
144
+
191
145
  /**
192
146
  * No valid drop area found during the duration of the drag. Return
193
147
  * content item to its original position if a original parent is provided.
194
148
  * (Which is not the case if the drag had been initiated by createDragSource)
195
149
  */
196
-
197
150
  } else if (this._originalParent) {
198
151
  this._originalParent.addChild(this._contentItem);
152
+
199
153
  /**
200
154
  * The drag didn't ultimately end up with adding the content item to
201
155
  * any container. In order to ensure clean up happens, destroy the
202
156
  * content item.
203
157
  */
204
-
205
158
  } else {
206
159
  this._contentItem._$destroy();
207
160
  }
208
-
209
161
  this._dragListener.off('drag', this._onDrag, this);
210
-
211
162
  this._dragListener.off('dragStop', this._onDrop, this);
212
-
213
163
  this.element.remove();
214
-
215
164
  this._layoutManager.emit('itemDropped', this._contentItem);
216
165
  }
166
+
217
167
  /**
218
168
  * Removes the item from its original position within the tree
219
169
  */
220
-
221
-
222
170
  _updateTree() {
223
171
  /**
224
172
  * parent is null if the drag had been initiated by a external drag source
@@ -226,14 +174,12 @@ export default class DragProxy extends EventEmitter {
226
174
  if (this._contentItem.parent) {
227
175
  this._contentItem.parent.removeChild(this._contentItem, true);
228
176
  }
229
-
230
177
  this._contentItem._$setParent(null);
231
178
  }
179
+
232
180
  /**
233
181
  * Updates the DragProxy's dimensions
234
182
  */
235
-
236
-
237
183
  _setDimensions() {
238
184
  var dimensions = this._layoutManager.config.dimensions;
239
185
  var width = dimensions.dragProxyWidth;
@@ -244,17 +190,11 @@ export default class DragProxy extends EventEmitter {
244
190
  height -= !this._sided ? dimensions.headerHeight : 0;
245
191
  this.childElementContainer.width(width);
246
192
  this.childElementContainer.height(height);
247
-
248
193
  this._contentItem.element.width(width);
249
-
250
194
  this._contentItem.element.height(height);
251
-
252
195
  this._contentItem.callDownwards('_$show');
253
-
254
196
  this._contentItem.callDownwards('setSize');
255
197
  }
256
-
257
198
  }
258
-
259
199
  _defineProperty(DragProxy, "_template", '<div class="lm_dragProxy">' + '<div class="lm_header">' + '<ul class="lm_tabs">' + '<li class="lm_tab lm_active"><i class="lm_left"></i>' + '<span class="lm_title"></span>' + '<i class="lm_right"></i></li>' + '</ul>' + '</div>' + '<div class="lm_content"></div>' + '</div>');
260
200
  //# sourceMappingURL=DragProxy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DragProxy.js","names":["$","stripTags","EventEmitter","DragProxy","constructor","x","y","dragListener","layoutManager","contentItem","originalParent","_dragListener","_layoutManager","_contentItem","_originalParent","on","_onDrag","_onDrop","tab","element","tabDropPlaceholder","width","outerWidth","height","outerHeight","_template","_side","_sided","addClass","indexOf","toString","find","after","css","left","top","_proxyTab","attr","config","title","html","childElementContainer","append","_updateTree","_$calculateItemAreas","_setDimensions","document","body","length","offset","container","_minX","_minY","_maxX","_maxY","_width","_height","_setDropPosition","emit","offsetX","offsetY","event","pageX","pageY","isWithinContainer","settings","constrainDragToContainer","_area","_$getArea","_lastValidArea","_$highlightDropZone","dropTargetIndicator","hide","_$onDrop","addChild","_$destroy","off","remove","parent","removeChild","_$setParent","dimensions","dragProxyWidth","dragProxyHeight","headerHeight","callDownwards"],"sources":["../../src/controls/DragProxy.ts"],"sourcesContent":["import $ from 'jquery';\nimport type { AbstractContentItem, ItemArea, Stack } from '../items';\nimport type LayoutManager from '../LayoutManager';\nimport type { DragListener } from '../utils';\nimport { stripTags, EventEmitter } from '../utils';\n\n/**\n * This class creates a temporary container\n * for the component whilst it is being dragged\n * and handles drag events\n *\n * @param x The initial x position\n * @param y The initial y position\n * @param dragListener\n * @param layoutManager\n * @param contentItem\n * @param originalParent\n */\nexport default class DragProxy extends EventEmitter {\n private static _template =\n '<div class=\"lm_dragProxy\">' +\n '<div class=\"lm_header\">' +\n '<ul class=\"lm_tabs\">' +\n '<li class=\"lm_tab lm_active\"><i class=\"lm_left\"></i>' +\n '<span class=\"lm_title\"></span>' +\n '<i class=\"lm_right\"></i></li>' +\n '</ul>' +\n '</div>' +\n '<div class=\"lm_content\"></div>' +\n '</div>';\n\n private _dragListener: DragListener;\n private _layoutManager: LayoutManager;\n private _contentItem: AbstractContentItem;\n private _originalParent: Stack | null;\n\n private _area: ItemArea | null = null;\n private _lastValidArea: ItemArea | null = null;\n\n private _minX: number;\n private _maxX: number;\n private _minY: number;\n private _maxY: number;\n private _width: number;\n private _height: number;\n private _sided?: boolean;\n\n element: JQuery<HTMLElement>;\n childElementContainer: JQuery<HTMLElement>;\n private _proxyTab: JQuery<HTMLElement>;\n\n constructor(\n x: number,\n y: number,\n dragListener: DragListener,\n layoutManager: LayoutManager,\n contentItem: AbstractContentItem,\n originalParent: Stack | null\n ) {\n super();\n\n this._dragListener = dragListener;\n this._layoutManager = layoutManager;\n this._contentItem = contentItem;\n this._originalParent = originalParent;\n\n this._dragListener.on('drag', this._onDrag, this);\n this._dragListener.on('dragStop', this._onDrop, this);\n\n // set the inserted drag placeholder to be the size of the tab removed, before its removed\n if (this._contentItem.tab && this._contentItem.tab.element) {\n this._layoutManager.tabDropPlaceholder.width(\n this._contentItem.tab.element.outerWidth(true) ?? 0\n );\n this._layoutManager.tabDropPlaceholder.height(\n this._contentItem.tab.element.outerHeight(true) ?? 0\n );\n }\n\n this.element = $(DragProxy._template);\n if (originalParent && originalParent._side) {\n this._sided = originalParent._sided;\n this.element.addClass('lm_' + originalParent._side);\n if (['right', 'bottom'].indexOf(originalParent._side.toString()) >= 0)\n this.element.find('.lm_content').after(this.element.find('.lm_header'));\n }\n this.element.css({ left: x, top: y });\n this._proxyTab = this.element.find('.lm_tab');\n this._proxyTab.attr(\n 'title',\n stripTags(this._contentItem.config.title ?? '')\n );\n this.element.find('.lm_title').html(this._contentItem.config.title ?? '');\n this.childElementContainer = this.element.find('.lm_content');\n this.childElementContainer.append(contentItem.element);\n\n this._updateTree();\n this._layoutManager._$calculateItemAreas();\n this._setDimensions();\n\n $(document.body).append(this.element);\n\n // there's no content tab to use yet, use the proxy tab size for placeholder sizing, after it's created\n if (!this._contentItem.tab && this._proxyTab.length) {\n this._layoutManager.tabDropPlaceholder.width(\n this._proxyTab.outerWidth(true) ?? 0\n );\n this._layoutManager.tabDropPlaceholder.height(\n this._proxyTab.outerHeight(true) ?? 0\n );\n }\n\n var offset = this._layoutManager.container.offset();\n\n this._minX = offset?.left ?? 0;\n this._minY = offset?.top ?? 0;\n this._maxX = (this._layoutManager.container.width() ?? 0) + this._minX;\n this._maxY = (this._layoutManager.container.height() ?? 0) + this._minY;\n this._width = this.element.width() ?? 0;\n this._height = this.element.height() ?? 0;\n\n this._setDropPosition(x, y);\n\n this._layoutManager.emit('itemPickedUp', this._contentItem);\n }\n\n /**\n * Callback on every mouseMove event during a drag. Determines if the drag is\n * still within the valid drag area and calls the layoutManager to highlight the\n * current drop area\n *\n * @param offsetX The difference from the original x position in px\n * @param offsetY The difference from the original y position in px\n * @param event\n */\n _onDrag(offsetX: number, offsetY: number, event: JQuery.TriggeredEvent) {\n const x = event.pageX ?? 0;\n const y = event.pageY ?? 0;\n const isWithinContainer =\n x > this._minX && x < this._maxX && y > this._minY && y < this._maxY;\n\n if (\n !isWithinContainer &&\n this._layoutManager.config.settings.constrainDragToContainer === true\n ) {\n return;\n }\n\n this._setDropPosition(x, y);\n }\n\n /**\n * Sets the target position, highlighting the appropriate area\n *\n * @param x The x position in px\n * @param y The y position in px\n */\n _setDropPosition(x: number, y: number) {\n this.element.css({ left: x, top: y });\n this._area = this._layoutManager._$getArea(x, y);\n\n if (this._area !== null) {\n this._lastValidArea = this._area;\n this._area.contentItem._$highlightDropZone(x, y, this._area);\n }\n }\n\n /**\n * Callback when the drag has finished. Determines the drop area\n * and adds the child to it\n */\n _onDrop() {\n this._layoutManager.dropTargetIndicator?.hide();\n\n /*\n * Valid drop area found\n */\n if (this._area !== null) {\n this._area.contentItem._$onDrop(this._contentItem, this._area);\n\n /**\n * No valid drop area available at present, but one has been found before.\n * Use it\n */\n } else if (this._lastValidArea !== null) {\n this._lastValidArea.contentItem._$onDrop(\n this._contentItem,\n this._lastValidArea\n );\n\n /**\n * No valid drop area found during the duration of the drag. Return\n * content item to its original position if a original parent is provided.\n * (Which is not the case if the drag had been initiated by createDragSource)\n */\n } else if (this._originalParent) {\n this._originalParent.addChild(this._contentItem);\n\n /**\n * The drag didn't ultimately end up with adding the content item to\n * any container. In order to ensure clean up happens, destroy the\n * content item.\n */\n } else {\n this._contentItem._$destroy();\n }\n\n this._dragListener.off('drag', this._onDrag, this);\n this._dragListener.off('dragStop', this._onDrop, this);\n\n this.element.remove();\n\n this._layoutManager.emit('itemDropped', this._contentItem);\n }\n\n /**\n * Removes the item from its original position within the tree\n */\n _updateTree() {\n /**\n * parent is null if the drag had been initiated by a external drag source\n */\n if (this._contentItem.parent) {\n this._contentItem.parent.removeChild(this._contentItem, true);\n }\n\n this._contentItem._$setParent(null);\n }\n\n /**\n * Updates the DragProxy's dimensions\n */\n _setDimensions() {\n const dimensions = this._layoutManager.config.dimensions;\n let width = dimensions.dragProxyWidth;\n let height = dimensions.dragProxyHeight;\n\n this.element.width(width);\n this.element.height(height);\n width -= this._sided ? dimensions.headerHeight : 0;\n height -= !this._sided ? dimensions.headerHeight : 0;\n this.childElementContainer.width(width);\n this.childElementContainer.height(height);\n this._contentItem.element.width(width);\n this._contentItem.element.height(height);\n this._contentItem.callDownwards('_$show');\n this._contentItem.callDownwards('setSize');\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DragProxy.js","names":["$","stripTags","EventEmitter","DragProxy","constructor","x","y","dragListener","layoutManager","contentItem","originalParent","_dragListener","_layoutManager","_contentItem","_originalParent","on","_onDrag","_onDrop","tab","element","tabDropPlaceholder","width","outerWidth","height","outerHeight","_template","_side","_sided","addClass","indexOf","toString","find","after","css","left","top","_proxyTab","attr","config","title","html","childElementContainer","append","_updateTree","_$calculateItemAreas","_setDimensions","document","body","length","offset","container","_minX","_minY","_maxX","_maxY","_width","_height","_setDropPosition","emit","offsetX","offsetY","event","pageX","pageY","isWithinContainer","settings","constrainDragToContainer","_area","_$getArea","_lastValidArea","_$highlightDropZone","dropTargetIndicator","hide","_$onDrop","addChild","_$destroy","off","remove","parent","removeChild","_$setParent","dimensions","dragProxyWidth","dragProxyHeight","headerHeight","callDownwards"],"sources":["../../src/controls/DragProxy.ts"],"sourcesContent":["import $ from 'jquery';\nimport type { AbstractContentItem, ItemArea, Stack } from '../items';\nimport type LayoutManager from '../LayoutManager';\nimport type { DragListener } from '../utils';\nimport { stripTags, EventEmitter } from '../utils';\n\n/**\n * This class creates a temporary container\n * for the component whilst it is being dragged\n * and handles drag events\n *\n * @param x The initial x position\n * @param y The initial y position\n * @param dragListener\n * @param layoutManager\n * @param contentItem\n * @param originalParent\n */\nexport default class DragProxy extends EventEmitter {\n private static _template =\n '<div class=\"lm_dragProxy\">' +\n '<div class=\"lm_header\">' +\n '<ul class=\"lm_tabs\">' +\n '<li class=\"lm_tab lm_active\"><i class=\"lm_left\"></i>' +\n '<span class=\"lm_title\"></span>' +\n '<i class=\"lm_right\"></i></li>' +\n '</ul>' +\n '</div>' +\n '<div class=\"lm_content\"></div>' +\n '</div>';\n\n private _dragListener: DragListener;\n private _layoutManager: LayoutManager;\n private _contentItem: AbstractContentItem;\n private _originalParent: Stack | null;\n\n private _area: ItemArea | null = null;\n private _lastValidArea: ItemArea | null = null;\n\n private _minX: number;\n private _maxX: number;\n private _minY: number;\n private _maxY: number;\n private _width: number;\n private _height: number;\n private _sided?: boolean;\n\n element: JQuery<HTMLElement>;\n childElementContainer: JQuery<HTMLElement>;\n private _proxyTab: JQuery<HTMLElement>;\n\n constructor(\n x: number,\n y: number,\n dragListener: DragListener,\n layoutManager: LayoutManager,\n contentItem: AbstractContentItem,\n originalParent: Stack | null\n ) {\n super();\n\n this._dragListener = dragListener;\n this._layoutManager = layoutManager;\n this._contentItem = contentItem;\n this._originalParent = originalParent;\n\n this._dragListener.on('drag', this._onDrag, this);\n this._dragListener.on('dragStop', this._onDrop, this);\n\n // set the inserted drag placeholder to be the size of the tab removed, before its removed\n if (this._contentItem.tab && this._contentItem.tab.element) {\n this._layoutManager.tabDropPlaceholder.width(\n this._contentItem.tab.element.outerWidth(true) ?? 0\n );\n this._layoutManager.tabDropPlaceholder.height(\n this._contentItem.tab.element.outerHeight(true) ?? 0\n );\n }\n\n this.element = $(DragProxy._template);\n if (originalParent && originalParent._side) {\n this._sided = originalParent._sided;\n this.element.addClass('lm_' + originalParent._side);\n if (['right', 'bottom'].indexOf(originalParent._side.toString()) >= 0)\n this.element.find('.lm_content').after(this.element.find('.lm_header'));\n }\n this.element.css({ left: x, top: y });\n this._proxyTab = this.element.find('.lm_tab');\n this._proxyTab.attr(\n 'title',\n stripTags(this._contentItem.config.title ?? '')\n );\n this.element.find('.lm_title').html(this._contentItem.config.title ?? '');\n this.childElementContainer = this.element.find('.lm_content');\n this.childElementContainer.append(contentItem.element);\n\n this._updateTree();\n this._layoutManager._$calculateItemAreas();\n this._setDimensions();\n\n $(document.body).append(this.element);\n\n // there's no content tab to use yet, use the proxy tab size for placeholder sizing, after it's created\n if (!this._contentItem.tab && this._proxyTab.length) {\n this._layoutManager.tabDropPlaceholder.width(\n this._proxyTab.outerWidth(true) ?? 0\n );\n this._layoutManager.tabDropPlaceholder.height(\n this._proxyTab.outerHeight(true) ?? 0\n );\n }\n\n var offset = this._layoutManager.container.offset();\n\n this._minX = offset?.left ?? 0;\n this._minY = offset?.top ?? 0;\n this._maxX = (this._layoutManager.container.width() ?? 0) + this._minX;\n this._maxY = (this._layoutManager.container.height() ?? 0) + this._minY;\n this._width = this.element.width() ?? 0;\n this._height = this.element.height() ?? 0;\n\n this._setDropPosition(x, y);\n\n this._layoutManager.emit('itemPickedUp', this._contentItem);\n }\n\n /**\n * Callback on every mouseMove event during a drag. Determines if the drag is\n * still within the valid drag area and calls the layoutManager to highlight the\n * current drop area\n *\n * @param offsetX The difference from the original x position in px\n * @param offsetY The difference from the original y position in px\n * @param event\n */\n _onDrag(offsetX: number, offsetY: number, event: JQuery.TriggeredEvent) {\n const x = event.pageX ?? 0;\n const y = event.pageY ?? 0;\n const isWithinContainer =\n x > this._minX && x < this._maxX && y > this._minY && y < this._maxY;\n\n if (\n !isWithinContainer &&\n this._layoutManager.config.settings.constrainDragToContainer === true\n ) {\n return;\n }\n\n this._setDropPosition(x, y);\n }\n\n /**\n * Sets the target position, highlighting the appropriate area\n *\n * @param x The x position in px\n * @param y The y position in px\n */\n _setDropPosition(x: number, y: number) {\n this.element.css({ left: x, top: y });\n this._area = this._layoutManager._$getArea(x, y);\n\n if (this._area !== null) {\n this._lastValidArea = this._area;\n this._area.contentItem._$highlightDropZone(x, y, this._area);\n }\n }\n\n /**\n * Callback when the drag has finished. Determines the drop area\n * and adds the child to it\n */\n _onDrop() {\n this._layoutManager.dropTargetIndicator?.hide();\n\n /*\n * Valid drop area found\n */\n if (this._area !== null) {\n this._area.contentItem._$onDrop(this._contentItem, this._area);\n\n /**\n * No valid drop area available at present, but one has been found before.\n * Use it\n */\n } else if (this._lastValidArea !== null) {\n this._lastValidArea.contentItem._$onDrop(\n this._contentItem,\n this._lastValidArea\n );\n\n /**\n * No valid drop area found during the duration of the drag. Return\n * content item to its original position if a original parent is provided.\n * (Which is not the case if the drag had been initiated by createDragSource)\n */\n } else if (this._originalParent) {\n this._originalParent.addChild(this._contentItem);\n\n /**\n * The drag didn't ultimately end up with adding the content item to\n * any container. In order to ensure clean up happens, destroy the\n * content item.\n */\n } else {\n this._contentItem._$destroy();\n }\n\n this._dragListener.off('drag', this._onDrag, this);\n this._dragListener.off('dragStop', this._onDrop, this);\n\n this.element.remove();\n\n this._layoutManager.emit('itemDropped', this._contentItem);\n }\n\n /**\n * Removes the item from its original position within the tree\n */\n _updateTree() {\n /**\n * parent is null if the drag had been initiated by a external drag source\n */\n if (this._contentItem.parent) {\n this._contentItem.parent.removeChild(this._contentItem, true);\n }\n\n this._contentItem._$setParent(null);\n }\n\n /**\n * Updates the DragProxy's dimensions\n */\n _setDimensions() {\n const dimensions = this._layoutManager.config.dimensions;\n let width = dimensions.dragProxyWidth;\n let height = dimensions.dragProxyHeight;\n\n this.element.width(width);\n this.element.height(height);\n width -= this._sided ? dimensions.headerHeight : 0;\n height -= !this._sided ? dimensions.headerHeight : 0;\n this.childElementContainer.width(width);\n this.childElementContainer.height(height);\n this._contentItem.element.width(width);\n this._contentItem.element.height(height);\n this._contentItem.callDownwards('_$show');\n this._contentItem.callDownwards('setSize');\n }\n}\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  import $ from 'jquery';
4
3
  import { DragListener } from "../utils/index.js";
5
4
  import DragProxy from "./DragProxy.js";
@@ -11,58 +10,43 @@ import DragProxy from "./DragProxy.js";
11
10
  * @param itemConfig the configuration for the contentItem that will be created
12
11
  * @param layoutManager
13
12
  */
14
-
15
13
  export default class DragSource {
16
14
  constructor(element, itemConfig, layoutManager) {
17
15
  _defineProperty(this, "_element", void 0);
18
-
19
16
  _defineProperty(this, "_itemConfig", void 0);
20
-
21
17
  _defineProperty(this, "_layoutManager", void 0);
22
-
23
18
  _defineProperty(this, "_dragListener", void 0);
24
-
25
19
  this._element = element;
26
20
  this._itemConfig = itemConfig;
27
21
  this._layoutManager = layoutManager;
28
22
  this._dragListener = this._createDragListener();
29
23
  }
24
+
30
25
  /**
31
26
  * Called initially and after every drag
32
27
  */
33
-
34
-
35
28
  _createDragListener() {
36
29
  this._dragListener = new DragListener(this._element, true);
37
-
38
30
  this._dragListener.on('dragStart', this._onDragStart, this);
39
-
40
31
  this._dragListener.on('dragStop', this._createDragListener, this);
41
-
42
32
  return this._dragListener;
43
33
  }
34
+
44
35
  /**
45
36
  * Callback for the DragListener's dragStart event
46
37
  *
47
38
  * @param x the x position of the mouse on dragStart
48
39
  * @param y the x position of the mouse on dragStart
49
40
  */
50
-
51
-
52
41
  _onDragStart(x, y) {
53
42
  var _this$_layoutManager$;
54
-
55
43
  var itemConfig = this._itemConfig;
56
-
57
44
  if (typeof itemConfig === 'function') {
58
45
  itemConfig = itemConfig();
59
46
  }
60
-
61
47
  var contentItem = this._layoutManager._$normalizeContentItem($.extend(true, {}, itemConfig)),
62
- dragProxy = new DragProxy(x, y, this._dragListener, this._layoutManager, contentItem, null);
63
-
48
+ dragProxy = new DragProxy(x, y, this._dragListener, this._layoutManager, contentItem, null);
64
49
  (_this$_layoutManager$ = this._layoutManager.transitionIndicator) === null || _this$_layoutManager$ === void 0 ? void 0 : _this$_layoutManager$.transitionElements(this._element, dragProxy.element);
65
50
  }
66
-
67
51
  }
68
52
  //# sourceMappingURL=DragSource.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DragSource.js","names":["$","DragListener","DragProxy","DragSource","constructor","element","itemConfig","layoutManager","_element","_itemConfig","_layoutManager","_dragListener","_createDragListener","on","_onDragStart","x","y","contentItem","_$normalizeContentItem","extend","dragProxy","transitionIndicator","transitionElements"],"sources":["../../src/controls/DragSource.ts"],"sourcesContent":["import $ from 'jquery';\nimport type { ItemConfigType } from '../config';\nimport type LayoutManager from '../LayoutManager';\nimport { DragListener } from '../utils';\nimport DragProxy from './DragProxy';\n\n/**\n * Allows for any DOM item to create a component on drag\n * start tobe dragged into the Layout\n *\n * @param element\n * @param itemConfig the configuration for the contentItem that will be created\n * @param layoutManager\n */\nexport default class DragSource {\n _element: JQuery<HTMLElement>;\n _itemConfig: ItemConfigType | (() => ItemConfigType);\n _layoutManager: LayoutManager;\n _dragListener: DragListener;\n\n constructor(\n element: JQuery<HTMLElement>,\n itemConfig: ItemConfigType | (() => ItemConfigType),\n layoutManager: LayoutManager\n ) {\n this._element = element;\n this._itemConfig = itemConfig;\n this._layoutManager = layoutManager;\n\n this._dragListener = this._createDragListener();\n }\n\n /**\n * Called initially and after every drag\n */\n _createDragListener() {\n this._dragListener = new DragListener(this._element, true);\n this._dragListener.on('dragStart', this._onDragStart, this);\n this._dragListener.on('dragStop', this._createDragListener, this);\n return this._dragListener;\n }\n\n /**\n * Callback for the DragListener's dragStart event\n *\n * @param x the x position of the mouse on dragStart\n * @param y the x position of the mouse on dragStart\n */\n _onDragStart(x: number, y: number) {\n let itemConfig = this._itemConfig;\n if (typeof itemConfig === 'function') {\n itemConfig = itemConfig();\n }\n const contentItem = this._layoutManager._$normalizeContentItem(\n $.extend(true, {}, itemConfig)\n ),\n dragProxy = new DragProxy(\n x,\n y,\n this._dragListener,\n this._layoutManager,\n contentItem,\n null\n );\n\n this._layoutManager.transitionIndicator?.transitionElements(\n this._element,\n dragProxy.element\n );\n }\n}\n"],"mappings":";;AAAA,OAAOA,CAAP,MAAc,QAAd;SAGSC,Y;OACFC,S;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,MAAMC,UAAN,CAAiB;EAM9BC,WAAW,CACTC,OADS,EAETC,UAFS,EAGTC,aAHS,EAIT;IAAA;;IAAA;;IAAA;;IAAA;;IACA,KAAKC,QAAL,GAAgBH,OAAhB;IACA,KAAKI,WAAL,GAAmBH,UAAnB;IACA,KAAKI,cAAL,GAAsBH,aAAtB;IAEA,KAAKI,aAAL,GAAqB,KAAKC,mBAAL,EAArB;EACD;EAED;AACF;AACA;;;EACEA,mBAAmB,GAAG;IACpB,KAAKD,aAAL,GAAqB,IAAIV,YAAJ,CAAiB,KAAKO,QAAtB,EAAgC,IAAhC,CAArB;;IACA,KAAKG,aAAL,CAAmBE,EAAnB,CAAsB,WAAtB,EAAmC,KAAKC,YAAxC,EAAsD,IAAtD;;IACA,KAAKH,aAAL,CAAmBE,EAAnB,CAAsB,UAAtB,EAAkC,KAAKD,mBAAvC,EAA4D,IAA5D;;IACA,OAAO,KAAKD,aAAZ;EACD;EAED;AACF;AACA;AACA;AACA;AACA;;;EACEG,YAAY,CAACC,CAAD,EAAYC,CAAZ,EAAuB;IAAA;;IACjC,IAAIV,UAAU,GAAG,KAAKG,WAAtB;;IACA,IAAI,OAAOH,UAAP,KAAsB,UAA1B,EAAsC;MACpCA,UAAU,GAAGA,UAAU,EAAvB;IACD;;IACD,IAAMW,WAAW,GAAG,KAAKP,cAAL,CAAoBQ,sBAApB,CAChBlB,CAAC,CAACmB,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmBb,UAAnB,CADgB,CAApB;IAAA,IAGEc,SAAS,GAAG,IAAIlB,SAAJ,CACVa,CADU,EAEVC,CAFU,EAGV,KAAKL,aAHK,EAIV,KAAKD,cAJK,EAKVO,WALU,EAMV,IANU,CAHd;;IAYA,8BAAKP,cAAL,CAAoBW,mBAApB,gFAAyCC,kBAAzC,CACE,KAAKd,QADP,EAEEY,SAAS,CAACf,OAFZ;EAID;;AAvD6B"}
1
+ {"version":3,"file":"DragSource.js","names":["$","DragListener","DragProxy","DragSource","constructor","element","itemConfig","layoutManager","_element","_itemConfig","_layoutManager","_dragListener","_createDragListener","on","_onDragStart","x","y","contentItem","_$normalizeContentItem","extend","dragProxy","transitionIndicator","transitionElements"],"sources":["../../src/controls/DragSource.ts"],"sourcesContent":["import $ from 'jquery';\nimport type { ItemConfigType } from '../config';\nimport type LayoutManager from '../LayoutManager';\nimport { DragListener } from '../utils';\nimport DragProxy from './DragProxy';\n\n/**\n * Allows for any DOM item to create a component on drag\n * start tobe dragged into the Layout\n *\n * @param element\n * @param itemConfig the configuration for the contentItem that will be created\n * @param layoutManager\n */\nexport default class DragSource {\n _element: JQuery<HTMLElement>;\n _itemConfig: ItemConfigType | (() => ItemConfigType);\n _layoutManager: LayoutManager;\n _dragListener: DragListener;\n\n constructor(\n element: JQuery<HTMLElement>,\n itemConfig: ItemConfigType | (() => ItemConfigType),\n layoutManager: LayoutManager\n ) {\n this._element = element;\n this._itemConfig = itemConfig;\n this._layoutManager = layoutManager;\n\n this._dragListener = this._createDragListener();\n }\n\n /**\n * Called initially and after every drag\n */\n _createDragListener() {\n this._dragListener = new DragListener(this._element, true);\n this._dragListener.on('dragStart', this._onDragStart, this);\n this._dragListener.on('dragStop', this._createDragListener, this);\n return this._dragListener;\n }\n\n /**\n * Callback for the DragListener's dragStart event\n *\n * @param x the x position of the mouse on dragStart\n * @param y the x position of the mouse on dragStart\n */\n _onDragStart(x: number, y: number) {\n let itemConfig = this._itemConfig;\n if (typeof itemConfig === 'function') {\n itemConfig = itemConfig();\n }\n const contentItem = this._layoutManager._$normalizeContentItem(\n $.extend(true, {}, itemConfig)\n ),\n dragProxy = new DragProxy(\n x,\n y,\n this._dragListener,\n this._layoutManager,\n contentItem,\n null\n );\n\n this._layoutManager.transitionIndicator?.transitionElements(\n this._element,\n dragProxy.element\n );\n }\n}\n"],"mappings":";AAAA,OAAOA,CAAC,MAAM,QAAQ;AAAC,SAGdC,YAAY;AAAA,OACdC,SAAS;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAMC,UAAU,CAAC;EAM9BC,WAAW,CACTC,OAA4B,EAC5BC,UAAmD,EACnDC,aAA4B,EAC5B;IAAA;IAAA;IAAA;IAAA;IACA,IAAI,CAACC,QAAQ,GAAGH,OAAO;IACvB,IAAI,CAACI,WAAW,GAAGH,UAAU;IAC7B,IAAI,CAACI,cAAc,GAAGH,aAAa;IAEnC,IAAI,CAACI,aAAa,GAAG,IAAI,CAACC,mBAAmB,EAAE;EACjD;;EAEA;AACF;AACA;EACEA,mBAAmB,GAAG;IACpB,IAAI,CAACD,aAAa,GAAG,IAAIV,YAAY,CAAC,IAAI,CAACO,QAAQ,EAAE,IAAI,CAAC;IAC1D,IAAI,CAACG,aAAa,CAACE,EAAE,CAAC,WAAW,EAAE,IAAI,CAACC,YAAY,EAAE,IAAI,CAAC;IAC3D,IAAI,CAACH,aAAa,CAACE,EAAE,CAAC,UAAU,EAAE,IAAI,CAACD,mBAAmB,EAAE,IAAI,CAAC;IACjE,OAAO,IAAI,CAACD,aAAa;EAC3B;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEG,YAAY,CAACC,CAAS,EAAEC,CAAS,EAAE;IAAA;IACjC,IAAIV,UAAU,GAAG,IAAI,CAACG,WAAW;IACjC,IAAI,OAAOH,UAAU,KAAK,UAAU,EAAE;MACpCA,UAAU,GAAGA,UAAU,EAAE;IAC3B;IACA,IAAMW,WAAW,GAAG,IAAI,CAACP,cAAc,CAACQ,sBAAsB,CAC1DlB,CAAC,CAACmB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAEb,UAAU,CAAC,CAC/B;MACDc,SAAS,GAAG,IAAIlB,SAAS,CACvBa,CAAC,EACDC,CAAC,EACD,IAAI,CAACL,aAAa,EAClB,IAAI,CAACD,cAAc,EACnBO,WAAW,EACX,IAAI,CACL;IAEH,6BAAI,CAACP,cAAc,CAACW,mBAAmB,0DAAvC,sBAAyCC,kBAAkB,CACzD,IAAI,CAACd,QAAQ,EACbY,SAAS,CAACf,OAAO,CAClB;EACH;AACF"}
@@ -1,5 +1,4 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  import $ from 'jquery';
4
3
  import { DragListener } from "../utils/index.js";
5
4
  import DragProxy from "./DragProxy.js";
@@ -11,78 +10,60 @@ import DragProxy from "./DragProxy.js";
11
10
  * @param layoutManager
12
11
  * @param event used to get the starting position
13
12
  */
14
-
15
13
  export default class DragSourceFromEvent {
16
14
  // we need something to listen for mousemoves against
15
+
17
16
  constructor(itemConfig, layoutManager, event) {
18
17
  _defineProperty(this, "_element", $(window));
19
-
20
18
  _defineProperty(this, "_itemConfig", void 0);
21
-
22
19
  _defineProperty(this, "_layoutManager", void 0);
23
-
24
20
  _defineProperty(this, "_dragListener", void 0);
25
-
26
21
  this._itemConfig = itemConfig;
27
22
  this._layoutManager = layoutManager;
28
-
29
23
  this._createDragListener(event);
30
24
  }
25
+
31
26
  /**
32
27
  * Called initially and after every drag
33
28
  */
34
-
35
-
36
29
  _createDragListener(event) {
37
30
  if (this._dragListener) {
38
31
  this._dragListener.destroy();
39
32
  }
40
-
41
33
  if (!this._element) {
42
34
  return;
43
35
  }
44
-
45
36
  this._dragListener = new DragListener(this._element, true);
46
-
47
37
  this._dragListener.on('dragStart', this._onDragStart, this);
38
+ this._dragListener.on('dragStop', this._destroy, this);
48
39
 
49
- this._dragListener.on('dragStop', this._destroy, this); // manaully pass in an event as mousedow, that already happened to start the dragListener
50
-
51
-
40
+ // manaully pass in an event as mousedow, that already happened to start the dragListener
52
41
  this._dragListener.onMouseDown(event);
53
-
54
42
  this._dragListener._startDrag();
55
43
  }
56
-
57
44
  _destroy() {
58
45
  this._dragListener = undefined;
59
46
  this._element = undefined;
60
47
  this._itemConfig = undefined;
61
48
  this._layoutManager = undefined;
62
49
  }
50
+
63
51
  /**
64
52
  * Callback for the DragListener's dragStart event
65
53
  *
66
54
  * @param x the x position of the mouse on dragStart
67
55
  * @param y the x position of the mouse on dragStart
68
56
  */
69
-
70
-
71
57
  _onDragStart(x, y) {
72
58
  if (!this._dragListener || !this._layoutManager) {
73
59
  return;
74
60
  }
75
-
76
61
  var itemConfig = this._itemConfig;
77
-
78
62
  if (typeof itemConfig === 'function') {
79
63
  itemConfig = itemConfig();
80
64
  }
81
-
82
65
  var contentItem = this._layoutManager._$normalizeContentItem($.extend(true, {}, itemConfig));
83
-
84
66
  new DragProxy(x, y, this._dragListener, this._layoutManager, contentItem, null);
85
67
  }
86
-
87
68
  }
88
69
  //# sourceMappingURL=DragSourceFromEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DragSourceFromEvent.js","names":["$","DragListener","DragProxy","DragSourceFromEvent","constructor","itemConfig","layoutManager","event","window","_itemConfig","_layoutManager","_createDragListener","_dragListener","destroy","_element","on","_onDragStart","_destroy","onMouseDown","_startDrag","undefined","x","y","contentItem","_$normalizeContentItem","extend"],"sources":["../../src/controls/DragSourceFromEvent.ts"],"sourcesContent":["import $ from 'jquery';\nimport type { ItemConfig } from '../config';\nimport type LayoutManager from '../LayoutManager';\nimport { DragListener } from '../utils';\nimport DragProxy from './DragProxy';\n\n/**\n * Creates a drag item given a starting mouseevent\n * that can then be dragged into the Layout\n *\n * @param itemConfig the configuration for the contentItem that will be created\n * @param layoutManager\n * @param event used to get the starting position\n */\nexport default class DragSourceFromEvent {\n private _element? = ($(window) as unknown) as JQuery<HTMLElement>; // we need something to listen for mousemoves against\n private _itemConfig?: ItemConfig | (() => ItemConfig);\n private _layoutManager?: LayoutManager;\n private _dragListener?: DragListener;\n\n constructor(\n itemConfig: ItemConfig | (() => ItemConfig),\n layoutManager: LayoutManager,\n event: JQuery.TriggeredEvent\n ) {\n this._itemConfig = itemConfig;\n this._layoutManager = layoutManager;\n\n this._createDragListener(event);\n }\n\n /**\n * Called initially and after every drag\n */\n _createDragListener(event: JQuery.TriggeredEvent) {\n if (this._dragListener) {\n this._dragListener.destroy();\n }\n\n if (!this._element) {\n return;\n }\n\n this._dragListener = new DragListener(this._element, true);\n this._dragListener.on('dragStart', this._onDragStart, this);\n this._dragListener.on('dragStop', this._destroy, this);\n\n // manaully pass in an event as mousedow, that already happened to start the dragListener\n this._dragListener.onMouseDown(event);\n this._dragListener._startDrag();\n }\n\n _destroy() {\n this._dragListener = undefined;\n this._element = undefined;\n this._itemConfig = undefined;\n this._layoutManager = undefined;\n }\n\n /**\n * Callback for the DragListener's dragStart event\n *\n * @param x the x position of the mouse on dragStart\n * @param y the x position of the mouse on dragStart\n */\n _onDragStart(x: number, y: number) {\n if (!this._dragListener || !this._layoutManager) {\n return;\n }\n\n var itemConfig = this._itemConfig;\n if (typeof itemConfig === 'function') {\n itemConfig = itemConfig();\n }\n var contentItem = this._layoutManager._$normalizeContentItem(\n $.extend(true, {}, itemConfig)\n );\n new DragProxy(\n x,\n y,\n this._dragListener,\n this._layoutManager,\n contentItem,\n null\n );\n }\n}\n"],"mappings":";;AAAA,OAAOA,CAAP,MAAc,QAAd;SAGSC,Y;OACFC,S;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,MAAMC,mBAAN,CAA0B;EAC4B;EAKnEC,WAAW,CACTC,UADS,EAETC,aAFS,EAGTC,KAHS,EAIT;IAAA,kCATmBP,CAAC,CAACQ,MAAD,CASpB;;IAAA;;IAAA;;IAAA;;IACA,KAAKC,WAAL,GAAmBJ,UAAnB;IACA,KAAKK,cAAL,GAAsBJ,aAAtB;;IAEA,KAAKK,mBAAL,CAAyBJ,KAAzB;EACD;EAED;AACF;AACA;;;EACEI,mBAAmB,CAACJ,KAAD,EAA+B;IAChD,IAAI,KAAKK,aAAT,EAAwB;MACtB,KAAKA,aAAL,CAAmBC,OAAnB;IACD;;IAED,IAAI,CAAC,KAAKC,QAAV,EAAoB;MAClB;IACD;;IAED,KAAKF,aAAL,GAAqB,IAAIX,YAAJ,CAAiB,KAAKa,QAAtB,EAAgC,IAAhC,CAArB;;IACA,KAAKF,aAAL,CAAmBG,EAAnB,CAAsB,WAAtB,EAAmC,KAAKC,YAAxC,EAAsD,IAAtD;;IACA,KAAKJ,aAAL,CAAmBG,EAAnB,CAAsB,UAAtB,EAAkC,KAAKE,QAAvC,EAAiD,IAAjD,EAXgD,CAahD;;;IACA,KAAKL,aAAL,CAAmBM,WAAnB,CAA+BX,KAA/B;;IACA,KAAKK,aAAL,CAAmBO,UAAnB;EACD;;EAEDF,QAAQ,GAAG;IACT,KAAKL,aAAL,GAAqBQ,SAArB;IACA,KAAKN,QAAL,GAAgBM,SAAhB;IACA,KAAKX,WAAL,GAAmBW,SAAnB;IACA,KAAKV,cAAL,GAAsBU,SAAtB;EACD;EAED;AACF;AACA;AACA;AACA;AACA;;;EACEJ,YAAY,CAACK,CAAD,EAAYC,CAAZ,EAAuB;IACjC,IAAI,CAAC,KAAKV,aAAN,IAAuB,CAAC,KAAKF,cAAjC,EAAiD;MAC/C;IACD;;IAED,IAAIL,UAAU,GAAG,KAAKI,WAAtB;;IACA,IAAI,OAAOJ,UAAP,KAAsB,UAA1B,EAAsC;MACpCA,UAAU,GAAGA,UAAU,EAAvB;IACD;;IACD,IAAIkB,WAAW,GAAG,KAAKb,cAAL,CAAoBc,sBAApB,CAChBxB,CAAC,CAACyB,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmBpB,UAAnB,CADgB,CAAlB;;IAGA,IAAIH,SAAJ,CACEmB,CADF,EAEEC,CAFF,EAGE,KAAKV,aAHP,EAIE,KAAKF,cAJP,EAKEa,WALF,EAME,IANF;EAQD;;AAvEsC"}
1
+ {"version":3,"file":"DragSourceFromEvent.js","names":["$","DragListener","DragProxy","DragSourceFromEvent","constructor","itemConfig","layoutManager","event","window","_itemConfig","_layoutManager","_createDragListener","_dragListener","destroy","_element","on","_onDragStart","_destroy","onMouseDown","_startDrag","undefined","x","y","contentItem","_$normalizeContentItem","extend"],"sources":["../../src/controls/DragSourceFromEvent.ts"],"sourcesContent":["import $ from 'jquery';\nimport type { ItemConfig } from '../config';\nimport type LayoutManager from '../LayoutManager';\nimport { DragListener } from '../utils';\nimport DragProxy from './DragProxy';\n\n/**\n * Creates a drag item given a starting mouseevent\n * that can then be dragged into the Layout\n *\n * @param itemConfig the configuration for the contentItem that will be created\n * @param layoutManager\n * @param event used to get the starting position\n */\nexport default class DragSourceFromEvent {\n private _element? = ($(window) as unknown) as JQuery<HTMLElement>; // we need something to listen for mousemoves against\n private _itemConfig?: ItemConfig | (() => ItemConfig);\n private _layoutManager?: LayoutManager;\n private _dragListener?: DragListener;\n\n constructor(\n itemConfig: ItemConfig | (() => ItemConfig),\n layoutManager: LayoutManager,\n event: JQuery.TriggeredEvent\n ) {\n this._itemConfig = itemConfig;\n this._layoutManager = layoutManager;\n\n this._createDragListener(event);\n }\n\n /**\n * Called initially and after every drag\n */\n _createDragListener(event: JQuery.TriggeredEvent) {\n if (this._dragListener) {\n this._dragListener.destroy();\n }\n\n if (!this._element) {\n return;\n }\n\n this._dragListener = new DragListener(this._element, true);\n this._dragListener.on('dragStart', this._onDragStart, this);\n this._dragListener.on('dragStop', this._destroy, this);\n\n // manaully pass in an event as mousedow, that already happened to start the dragListener\n this._dragListener.onMouseDown(event);\n this._dragListener._startDrag();\n }\n\n _destroy() {\n this._dragListener = undefined;\n this._element = undefined;\n this._itemConfig = undefined;\n this._layoutManager = undefined;\n }\n\n /**\n * Callback for the DragListener's dragStart event\n *\n * @param x the x position of the mouse on dragStart\n * @param y the x position of the mouse on dragStart\n */\n _onDragStart(x: number, y: number) {\n if (!this._dragListener || !this._layoutManager) {\n return;\n }\n\n var itemConfig = this._itemConfig;\n if (typeof itemConfig === 'function') {\n itemConfig = itemConfig();\n }\n var contentItem = this._layoutManager._$normalizeContentItem(\n $.extend(true, {}, itemConfig)\n );\n new DragProxy(\n x,\n y,\n this._dragListener,\n this._layoutManager,\n contentItem,\n null\n );\n }\n}\n"],"mappings":";AAAA,OAAOA,CAAC,MAAM,QAAQ;AAAC,SAGdC,YAAY;AAAA,OACdC,SAAS;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAMC,mBAAmB,CAAC;EAC4B;;EAKnEC,WAAW,CACTC,UAA2C,EAC3CC,aAA4B,EAC5BC,KAA4B,EAC5B;IAAA,kCATmBP,CAAC,CAACQ,MAAM,CAAC;IAAA;IAAA;IAAA;IAU5B,IAAI,CAACC,WAAW,GAAGJ,UAAU;IAC7B,IAAI,CAACK,cAAc,GAAGJ,aAAa;IAEnC,IAAI,CAACK,mBAAmB,CAACJ,KAAK,CAAC;EACjC;;EAEA;AACF;AACA;EACEI,mBAAmB,CAACJ,KAA4B,EAAE;IAChD,IAAI,IAAI,CAACK,aAAa,EAAE;MACtB,IAAI,CAACA,aAAa,CAACC,OAAO,EAAE;IAC9B;IAEA,IAAI,CAAC,IAAI,CAACC,QAAQ,EAAE;MAClB;IACF;IAEA,IAAI,CAACF,aAAa,GAAG,IAAIX,YAAY,CAAC,IAAI,CAACa,QAAQ,EAAE,IAAI,CAAC;IAC1D,IAAI,CAACF,aAAa,CAACG,EAAE,CAAC,WAAW,EAAE,IAAI,CAACC,YAAY,EAAE,IAAI,CAAC;IAC3D,IAAI,CAACJ,aAAa,CAACG,EAAE,CAAC,UAAU,EAAE,IAAI,CAACE,QAAQ,EAAE,IAAI,CAAC;;IAEtD;IACA,IAAI,CAACL,aAAa,CAACM,WAAW,CAACX,KAAK,CAAC;IACrC,IAAI,CAACK,aAAa,CAACO,UAAU,EAAE;EACjC;EAEAF,QAAQ,GAAG;IACT,IAAI,CAACL,aAAa,GAAGQ,SAAS;IAC9B,IAAI,CAACN,QAAQ,GAAGM,SAAS;IACzB,IAAI,CAACX,WAAW,GAAGW,SAAS;IAC5B,IAAI,CAACV,cAAc,GAAGU,SAAS;EACjC;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEJ,YAAY,CAACK,CAAS,EAAEC,CAAS,EAAE;IACjC,IAAI,CAAC,IAAI,CAACV,aAAa,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE;MAC/C;IACF;IAEA,IAAIL,UAAU,GAAG,IAAI,CAACI,WAAW;IACjC,IAAI,OAAOJ,UAAU,KAAK,UAAU,EAAE;MACpCA,UAAU,GAAGA,UAAU,EAAE;IAC3B;IACA,IAAIkB,WAAW,GAAG,IAAI,CAACb,cAAc,CAACc,sBAAsB,CAC1DxB,CAAC,CAACyB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAEpB,UAAU,CAAC,CAC/B;IACD,IAAIH,SAAS,CACXmB,CAAC,EACDC,CAAC,EACD,IAAI,CAACV,aAAa,EAClB,IAAI,CAACF,cAAc,EACnBa,WAAW,EACX,IAAI,CACL;EACH;AACF"}
@@ -1,17 +1,13 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  import $ from 'jquery';
4
3
  export default class DropTargetIndicator {
5
4
  constructor() {
6
5
  _defineProperty(this, "element", $(DropTargetIndicator._template));
7
-
8
6
  $(document.body).append(this.element);
9
7
  }
10
-
11
8
  destroy() {
12
9
  this.element.remove();
13
10
  }
14
-
15
11
  highlightArea(area) {
16
12
  this.element.css({
17
13
  left: area.x1,
@@ -21,12 +17,9 @@ export default class DropTargetIndicator {
21
17
  height: Math.floor(area.y2 - area.y1)
22
18
  }).show();
23
19
  }
24
-
25
20
  hide() {
26
21
  this.element.hide();
27
22
  }
28
-
29
23
  }
30
-
31
24
  _defineProperty(DropTargetIndicator, "_template", '<div class="lm_dropTargetIndicator"><div class="lm_inner"></div></div>');
32
25
  //# sourceMappingURL=DropTargetIndicator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DropTargetIndicator.js","names":["$","DropTargetIndicator","constructor","_template","document","body","append","element","destroy","remove","highlightArea","area","css","left","x1","top","y1","width","Math","floor","x2","height","y2","show","hide"],"sources":["../../src/controls/DropTargetIndicator.ts"],"sourcesContent":["import $ from 'jquery';\n\nexport default class DropTargetIndicator {\n private static _template =\n '<div class=\"lm_dropTargetIndicator\"><div class=\"lm_inner\"></div></div>';\n\n element = $(DropTargetIndicator._template);\n\n constructor() {\n $(document.body).append(this.element);\n }\n\n destroy() {\n this.element.remove();\n }\n\n highlightArea(area: { x1: number; x2: number; y1: number; y2: number }) {\n this.element\n .css({\n left: area.x1,\n top: area.y1,\n // marching ants were causing rendering artifacts with fractional pixels\n width: Math.floor(area.x2 - area.x1),\n height: Math.floor(area.y2 - area.y1),\n })\n .show();\n }\n\n hide() {\n this.element.hide();\n }\n}\n"],"mappings":";;AAAA,OAAOA,CAAP,MAAc,QAAd;AAEA,eAAe,MAAMC,mBAAN,CAA0B;EAMvCC,WAAW,GAAG;IAAA,iCAFJF,CAAC,CAACC,mBAAmB,CAACE,SAArB,CAEG;;IACZH,CAAC,CAACI,QAAQ,CAACC,IAAV,CAAD,CAAiBC,MAAjB,CAAwB,KAAKC,OAA7B;EACD;;EAEDC,OAAO,GAAG;IACR,KAAKD,OAAL,CAAaE,MAAb;EACD;;EAEDC,aAAa,CAACC,IAAD,EAA2D;IACtE,KAAKJ,OAAL,CACGK,GADH,CACO;MACHC,IAAI,EAAEF,IAAI,CAACG,EADR;MAEHC,GAAG,EAAEJ,IAAI,CAACK,EAFP;MAGH;MACAC,KAAK,EAAEC,IAAI,CAACC,KAAL,CAAWR,IAAI,CAACS,EAAL,GAAUT,IAAI,CAACG,EAA1B,CAJJ;MAKHO,MAAM,EAAEH,IAAI,CAACC,KAAL,CAAWR,IAAI,CAACW,EAAL,GAAUX,IAAI,CAACK,EAA1B;IALL,CADP,EAQGO,IARH;EASD;;EAEDC,IAAI,GAAG;IACL,KAAKjB,OAAL,CAAaiB,IAAb;EACD;;AA5BsC;;gBAApBvB,mB,eAEjB,wE"}
1
+ {"version":3,"file":"DropTargetIndicator.js","names":["$","DropTargetIndicator","constructor","_template","document","body","append","element","destroy","remove","highlightArea","area","css","left","x1","top","y1","width","Math","floor","x2","height","y2","show","hide"],"sources":["../../src/controls/DropTargetIndicator.ts"],"sourcesContent":["import $ from 'jquery';\n\nexport default class DropTargetIndicator {\n private static _template =\n '<div class=\"lm_dropTargetIndicator\"><div class=\"lm_inner\"></div></div>';\n\n element = $(DropTargetIndicator._template);\n\n constructor() {\n $(document.body).append(this.element);\n }\n\n destroy() {\n this.element.remove();\n }\n\n highlightArea(area: { x1: number; x2: number; y1: number; y2: number }) {\n this.element\n .css({\n left: area.x1,\n top: area.y1,\n // marching ants were causing rendering artifacts with fractional pixels\n width: Math.floor(area.x2 - area.x1),\n height: Math.floor(area.y2 - area.y1),\n })\n .show();\n }\n\n hide() {\n this.element.hide();\n }\n}\n"],"mappings":";AAAA,OAAOA,CAAC,MAAM,QAAQ;AAEtB,eAAe,MAAMC,mBAAmB,CAAC;EAMvCC,WAAW,GAAG;IAAA,iCAFJF,CAAC,CAACC,mBAAmB,CAACE,SAAS,CAAC;IAGxCH,CAAC,CAACI,QAAQ,CAACC,IAAI,CAAC,CAACC,MAAM,CAAC,IAAI,CAACC,OAAO,CAAC;EACvC;EAEAC,OAAO,GAAG;IACR,IAAI,CAACD,OAAO,CAACE,MAAM,EAAE;EACvB;EAEAC,aAAa,CAACC,IAAwD,EAAE;IACtE,IAAI,CAACJ,OAAO,CACTK,GAAG,CAAC;MACHC,IAAI,EAAEF,IAAI,CAACG,EAAE;MACbC,GAAG,EAAEJ,IAAI,CAACK,EAAE;MACZ;MACAC,KAAK,EAAEC,IAAI,CAACC,KAAK,CAACR,IAAI,CAACS,EAAE,GAAGT,IAAI,CAACG,EAAE,CAAC;MACpCO,MAAM,EAAEH,IAAI,CAACC,KAAK,CAACR,IAAI,CAACW,EAAE,GAAGX,IAAI,CAACK,EAAE;IACtC,CAAC,CAAC,CACDO,IAAI,EAAE;EACX;EAEAC,IAAI,GAAG;IACL,IAAI,CAACjB,OAAO,CAACiB,IAAI,EAAE;EACrB;AACF;AAAC,gBA7BoBvB,mBAAmB,eAEpC,wEAAwE"}