summaryrefslogtreecommitdiffstats
path: root/codebase/sources/ext/dhtmlxscheduler_outerdrag.js
diff options
context:
space:
mode:
authorAlexKlimenkov <shurick.klimenkov@gmail.com>2017-01-31 18:38:36 +0300
committerAlexKlimenkov <shurick.klimenkov@gmail.com>2017-01-31 18:38:36 +0300
commitae92cf850550a9be965db867ba4bfb5651a18e5f (patch)
treebbf70ce45cc6e608def6e9a81570febe4528208b /codebase/sources/ext/dhtmlxscheduler_outerdrag.js
parent2e509c1f562c4f471d766c9b3532370f847f0839 (diff)
downloadscheduler-ae92cf850550a9be965db867ba4bfb5651a18e5f.zip
scheduler-ae92cf850550a9be965db867ba4bfb5651a18e5f.tar.gz
scheduler-ae92cf850550a9be965db867ba4bfb5651a18e5f.tar.bz2
[update] version 4.4.0
Diffstat (limited to 'codebase/sources/ext/dhtmlxscheduler_outerdrag.js')
-rw-r--r--codebase/sources/ext/dhtmlxscheduler_outerdrag.js80
1 files changed, 49 insertions, 31 deletions
diff --git a/codebase/sources/ext/dhtmlxscheduler_outerdrag.js b/codebase/sources/ext/dhtmlxscheduler_outerdrag.js
index 65296b2..61c2bc7 100644
--- a/codebase/sources/ext/dhtmlxscheduler_outerdrag.js
+++ b/codebase/sources/ext/dhtmlxscheduler_outerdrag.js
@@ -1,6 +1,6 @@
/*
@license
-dhtmlxScheduler v.4.3.1
+dhtmlxScheduler v.4.4.0 Stardard
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.
@@ -15,41 +15,45 @@ scheduler.attachEvent("onTemplatesReady", function() {
last_event = e || event;
return old.apply(this, arguments);
};
- dragger.addDragLanding(scheduler._els["dhx_cal_data"][0], {
- _drag: function(sourceHtmlObject, dhtmlObject, targetHtmlObject, targetHtml) {
- if (scheduler.checkEvent("onBeforeExternalDragIn") && !scheduler.callEvent("onBeforeExternalDragIn", [sourceHtmlObject, dhtmlObject, targetHtmlObject, targetHtml, last_event]))
- return;
-
- var temp = scheduler.attachEvent("onEventCreated", function(id) {
- if (!scheduler.callEvent("onExternalDragIn", [id, sourceHtmlObject, last_event])) {
- this._drag_mode = this._drag_id = null;
- this.deleteEvent(id);
- }
- });
-
- var action_data = scheduler.getActionData(last_event);
- var event_data = {
- start_date: new Date(action_data.date)
- };
-
- // custom views, need to assign section id, fix dates
- if (scheduler.matrix && scheduler.matrix[scheduler._mode]) {
- var view_options = scheduler.matrix[scheduler._mode];
- event_data[view_options.y_property] = action_data.section;
-
- var pos = scheduler._locate_cell_timeline(last_event);
- event_data.start_date = view_options._trace_x[pos.x];
- event_data.end_date = scheduler.date.add(event_data.start_date, view_options.x_step, view_options.x_unit);
- }
- if (scheduler._props && scheduler._props[scheduler._mode]) {
- event_data[scheduler._props[scheduler._mode].map_to] = action_data.section;
+ function on_drop(sourceHtmlObject, dhtmlObject, targetHtmlObject, targetHtml) {
+
+ if (scheduler.checkEvent("onBeforeExternalDragIn") && !scheduler.callEvent("onBeforeExternalDragIn", [sourceHtmlObject, dhtmlObject, targetHtmlObject, targetHtml, last_event]))
+ return;
+
+ var temp = scheduler.attachEvent("onEventCreated", function (id) {
+ if (!scheduler.callEvent("onExternalDragIn", [id, sourceHtmlObject, last_event])) {
+ this._drag_mode = this._drag_id = null;
+ this.deleteEvent(id);
}
+ });
+
+ var action_data = scheduler.getActionData(last_event);
+ var event_data = {
+ start_date: new Date(action_data.date)
+ };
- scheduler.addEventNow(event_data);
+ // custom views, need to assign section id, fix dates
+ if (scheduler.matrix && scheduler.matrix[scheduler._mode]) {
+ var view_options = scheduler.matrix[scheduler._mode];
+ event_data[view_options.y_property] = action_data.section;
- scheduler.detachEvent(temp);
+ var pos = scheduler._locate_cell_timeline(last_event);
+ event_data.start_date = view_options._trace_x[pos.x];
+ event_data.end_date = scheduler.date.add(event_data.start_date, view_options.x_step, view_options.x_unit);
+ }
+ if (scheduler._props && scheduler._props[scheduler._mode]) {
+ event_data[scheduler._props[scheduler._mode].map_to] = action_data.section;
+ }
+ scheduler.addEventNow(event_data);
+
+ scheduler.detachEvent(temp);
+ }
+
+ dragger.addDragLanding(scheduler._els["dhx_cal_data"][0], {
+ _drag: function(sourceHtmlObject, dhtmlObject, targetHtmlObject, targetHtml) {
+ on_drop(sourceHtmlObject, dhtmlObject, targetHtmlObject, targetHtml);
},
_dragIn: function(htmlObject, shtmlObject) {
return htmlObject;
@@ -58,4 +62,18 @@ scheduler.attachEvent("onTemplatesReady", function() {
return this;
}
});
+
+ if(dhtmlx.DragControl) {
+ dhtmlx.DragControl.addDrop(scheduler._els["dhx_cal_data"][0], {
+ onDrop: function (source, target, d, e) {
+ var sourceDhtmlx = dhtmlx.DragControl.getMaster(source);
+ last_event = e;
+ on_drop(source, sourceDhtmlx, target, e.target || e.srcElement);
+ },
+
+ onDragIn: function (source, target, e) {
+ return target;
+ }
+ }, true);
+ }
});