@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.
- package/dist/LayoutManager.js +60 -260
- package/dist/LayoutManager.js.map +1 -1
- package/dist/base.js.map +1 -1
- package/dist/config/Config.js.map +1 -1
- package/dist/config/ItemConfig.js.map +1 -1
- package/dist/container/ItemContainer.js +14 -50
- package/dist/container/ItemContainer.js.map +1 -1
- package/dist/container/index.js.map +1 -1
- package/dist/controls/BrowserPopout.js +17 -63
- package/dist/controls/BrowserPopout.js.map +1 -1
- package/dist/controls/DragProxy.js +13 -73
- package/dist/controls/DragProxy.js.map +1 -1
- package/dist/controls/DragSource.js +3 -19
- package/dist/controls/DragSource.js.map +1 -1
- package/dist/controls/DragSourceFromEvent.js +5 -24
- package/dist/controls/DragSourceFromEvent.js.map +1 -1
- package/dist/controls/DropTargetIndicator.js +0 -7
- package/dist/controls/DropTargetIndicator.js.map +1 -1
- package/dist/controls/Header.js +89 -233
- package/dist/controls/Header.js.map +1 -1
- package/dist/controls/HeaderButton.js +0 -9
- package/dist/controls/HeaderButton.js.map +1 -1
- package/dist/controls/Splitter.js +0 -14
- package/dist/controls/Splitter.js.map +1 -1
- package/dist/controls/Tab.js +21 -62
- package/dist/controls/Tab.js.map +1 -1
- package/dist/controls/TransitionIndicator.js +2 -21
- package/dist/controls/TransitionIndicator.js.map +1 -1
- package/dist/controls/index.js.map +1 -1
- package/dist/errors/ConfigurationError.js +0 -5
- package/dist/errors/ConfigurationError.js.map +1 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/items/AbstractContentItem.js +37 -133
- package/dist/items/AbstractContentItem.js.map +1 -1
- package/dist/items/Component.js +2 -27
- package/dist/items/Component.js.map +1 -1
- package/dist/items/Root.js +1 -26
- package/dist/items/Root.js.map +1 -1
- package/dist/items/RowOrColumn.js +32 -128
- package/dist/items/RowOrColumn.js.map +1 -1
- package/dist/items/Stack.js +27 -115
- package/dist/items/Stack.js.map +1 -1
- package/dist/items/index.js.map +1 -1
- package/dist/utils/BubblingEvent.js +0 -6
- package/dist/utils/BubblingEvent.js.map +1 -1
- package/dist/utils/ConfigMinifier.js +13 -26
- package/dist/utils/ConfigMinifier.js.map +1 -1
- package/dist/utils/DragListener.js +8 -47
- package/dist/utils/DragListener.js.map +1 -1
- package/dist/utils/EventEmitter.js +5 -25
- package/dist/utils/EventEmitter.js.map +1 -1
- package/dist/utils/EventHub.js +8 -27
- package/dist/utils/EventHub.js.map +1 -1
- package/dist/utils/ReactComponentHandler.js +6 -35
- package/dist/utils/ReactComponentHandler.js.map +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/utils.js +5 -11
- package/dist/utils/utils.js.map +1 -1
- 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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":"
|
|
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
|
-
|
|
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":"
|
|
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":"
|
|
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"}
|