]>
Commit | Line | Data |
---|---|---|
6527f429 DM |
1 | /*\r |
2 | * Internal drag zone implementation for the calendar day and week views.\r | |
3 | */\r | |
4 | Ext.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 | }); |