From 6e59ac909d16fa0a02c7062881695a88f1687047 Mon Sep 17 00:00:00 2001 From: yotamberk Date: Wed, 12 Apr 2017 12:00:06 +0300 Subject: [PATCH 1/4] Drop control - fix #2834 (#2974) * Fix redraw order * Fix error when option is not defined * Allow template labels * Add .travis.yml file * Add experiment travis code * Fix react example * Add drop event info --- docs/timeline/index.html | 10 ++++++++++ lib/timeline/Core.js | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/docs/timeline/index.html b/docs/timeline/index.html index 4fb318ec..81e40f97 100644 --- a/docs/timeline/index.html +++ b/docs/timeline/index.html @@ -1562,6 +1562,16 @@ timeline.off('select', onSelect); + + drop + + Passes a properties object as returned by the method Timeline.getEventProperties(event). + + Fired when dropping inside the Timeline. + + + + mouseOver diff --git a/lib/timeline/Core.js b/lib/timeline/Core.js index 4a6533f7..386cd986 100644 --- a/lib/timeline/Core.js +++ b/lib/timeline/Core.js @@ -262,7 +262,7 @@ Core.prototype._create = function (container) { y: event.clientY } me.itemSet._onAddItem(event); - + me.emit('drop', me.getEventProperties(event)) return false; } From 03c6e9b6274c97d5494cccb2e3835e0d357bcd86 Mon Sep 17 00:00:00 2001 From: wimrijnders Date: Thu, 13 Apr 2017 08:41:04 +0200 Subject: [PATCH 2/4] Fix #2914: Use option edges.chosen if present in global options (#2917) --- lib/network/modules/components/Edge.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/network/modules/components/Edge.js b/lib/network/modules/components/Edge.js index 80343f0c..f84a9189 100644 --- a/lib/network/modules/components/Edge.js +++ b/lib/network/modules/components/Edge.js @@ -209,7 +209,7 @@ class Edge { choosify(options) { this.chooser = true; - let pile = [options, this.options, this.defaultOptions]; + let pile = [options, this.options, this.edgeOptions, this.defaultOptions]; let chosen = util.topMost(pile, 'chosen'); if (typeof chosen === 'boolean') { From bcbce0a2bcf3b85141bf506acc7b8c8aa39bebac Mon Sep 17 00:00:00 2001 From: yotamberk Date: Thu, 13 Apr 2017 15:46:04 +0300 Subject: [PATCH 3/4] Drag and drop custom fields (#2872) * Fix redraw order * Fix error when option is not defined * Allow template labels * Add .travis.yml file * Add experiment travis code * Fix react example * Fix drop event item properties * Fix review comments --- lib/timeline/component/ItemSet.js | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/lib/timeline/component/ItemSet.js b/lib/timeline/component/ItemSet.js index 23798ecf..76f89e4b 100644 --- a/lib/timeline/component/ItemSet.js +++ b/lib/timeline/component/ItemSet.js @@ -2031,25 +2031,17 @@ ItemSet.prototype._onAddItem = function (event) { var scale = this.body.util.getScale(); var step = this.body.util.getStep(); - var newItemData = { - start: snap ? snap(start, scale, step) : start, - content: 'new item' - }; - + var newItemData; if (event.type == 'drop') { - var itemData = JSON.parse(event.dataTransfer.getData("text")) - newItemData.content = itemData.content; // content is required - newItemData.type = itemData.type || 'box'; - newItemData[this.itemsData._fieldId] = itemData.id || util.randomUUID(); - - if (itemData.type == 'range' || (itemData.end && itemData.start)) { - if (!itemData.end) { - var end = this.body.util.toTime(x + this.props.width / 5); - newItemData.end = snap ? snap(end, scale, step) : end; - } else { - newItemData.end = itemData.end; - newItemData.start = itemData.start; - } + newItemData = JSON.parse(event.dataTransfer.getData("text")) + newItemData.content = newItemData.content ? newItemData.content : 'new item' + newItemData.start = newItemData.start ? newItemData.start : (snap ? snap(start, scale, step) : start) + newItemData.type = newItemData.type || 'box'; + newItemData[this.itemsData._fieldId] = newItemData.id || util.randomUUID(); + + if (newItemData.type == 'range' && !newItemData.end) { + var end = this.body.util.toTime(x + this.props.width / 5); + newItemData.end = snap ? snap(end, scale, step) : end; } } else { newItemData[this.itemsData._fieldId] = util.randomUUID(); From 1ae1e15a5009d81cb27e1f7297cedc8caf5bd57a Mon Sep 17 00:00:00 2001 From: wimrijnders Date: Fri, 14 Apr 2017 11:00:58 +0200 Subject: [PATCH 4/4] =?UTF-8?q?Network:=20use=20separate=20refresh=20indic?= =?UTF-8?q?ator=20in=20NodeBase,=20instead=20of=20width=E2=80=A6=20(#2885)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Network: use separate refresh indicator in NodeBase, instead of width parameter * Added usage of iBaseNode.doRefresh to image shapes. * Rearranged code in NodeBase.needRefresh() * Fixes for review * Removed strange link * Added 's' in needsRefresh(); typo fix * Fixes for review, code cleanup * Modified ratio calc to original working. * Made code in CircularImage.resize() more sensible. --- .../network/events/interactionEvents.html | 2 + lib/network/modules/NodesHandler.js | 6 +- lib/network/modules/components/Node.js | 12 ++- .../modules/components/nodes/shapes/Box.js | 2 +- .../modules/components/nodes/shapes/Circle.js | 7 +- .../components/nodes/shapes/CircularImage.js | 31 ++++---- .../components/nodes/shapes/Database.js | 2 +- .../components/nodes/shapes/Ellipse.js | 2 +- .../modules/components/nodes/shapes/Icon.js | 2 +- .../modules/components/nodes/shapes/Image.js | 8 +- .../modules/components/nodes/shapes/Text.js | 2 +- .../components/nodes/util/CircleImageBase.js | 78 +++++++++---------- .../modules/components/nodes/util/NodeBase.js | 18 +++++ .../components/nodes/util/ShapeBase.js | 2 +- 14 files changed, 96 insertions(+), 78 deletions(-) diff --git a/examples/network/events/interactionEvents.html b/examples/network/events/interactionEvents.html index f9ba9c1e..538fbfad 100644 --- a/examples/network/events/interactionEvents.html +++ b/examples/network/events/interactionEvents.html @@ -24,6 +24,7 @@