]> git.proxmox.com Git - extjs.git/blame - extjs/build/examples/classic/calendar/src/dd/DayDragZone.js
add extjs 6.0.1 sources
[extjs.git] / extjs / build / examples / classic / calendar / src / dd / DayDragZone.js
CommitLineData
6527f429
DM
1/*\r
2 * Internal drag zone implementation for the calendar day and week views.\r
3 */\r
4Ext.define('Ext.calendar.dd.DayDragZone', {\r
5 extend: 'Ext.calendar.dd.DragZone',\r
6 requires: [\r
7 'Ext.calendar.data.EventMappings'\r
8 ],\r
9\r
10 ddGroup: 'DayViewDD',\r
11 resizeSelector: '.ext-evt-rsz',\r
12\r
13 getDragData: function(e) {\r
14 var startDateName = Ext.calendar.data.EventMappings.StartDate.name,\r
15 endDateName = Ext.calendar.data.EventMappings.EndDate.name,\r
16 t, p, rec;\r
17 \r
18 t = e.getTarget(this.resizeSelector, 2, true);\r
19 \r
20 if (t) {\r
21 p = t.parent(this.eventSelector);\r
22 rec = this.view.getEventRecordFromEl(p);\r
23\r
24 return {\r
25 type: 'eventresize',\r
26 ddel: p.dom,\r
27 eventStart: rec.get(startDateName),\r
28 eventEnd: rec.get(endDateName),\r
29 proxy: this.proxy\r
30 };\r
31 }\r
32 \r
33 t = e.getTarget(this.eventSelector, 3);\r
34 if (t) {\r
35 rec = this.view.getEventRecordFromEl(t);\r
36 return {\r
37 type: 'eventdrag',\r
38 ddel: t,\r
39 eventStart: rec.get(startDateName),\r
40 eventEnd: rec.get(endDateName),\r
41 proxy: this.proxy\r
42 };\r
43 }\r
44\r
45 // If not dragging/resizing an event then we are dragging on\r
46 // the calendar to add a new event\r
47 t = this.view.getDayAt(e.getX(), e.getY());\r
48 if (t.el) {\r
49 return {\r
50 type: 'caldrag',\r
51 dayInfo: t,\r
52 proxy: this.proxy\r
53 };\r
54 }\r
55 return null;\r
56 }\r
57});