1 | <html> |
---|
2 | <head> |
---|
3 | <title>Drag & Drop</title> |
---|
4 | |
---|
5 | <style type="text/css"> |
---|
6 | |
---|
7 | td |
---|
8 | { |
---|
9 | width: 10em; |
---|
10 | text-align: center; |
---|
11 | } |
---|
12 | |
---|
13 | table.mytable { |
---|
14 | list-style-type: none; |
---|
15 | padding: 4px 4px 0 4px; |
---|
16 | margin: 0px; |
---|
17 | font-size: 13px; |
---|
18 | font-family: Arial, sans-serif; |
---|
19 | } |
---|
20 | |
---|
21 | table.mytable tr { |
---|
22 | margin-bottom: 4px; |
---|
23 | padding: 2px 2px; |
---|
24 | border: 1px solid #c00; |
---|
25 | background-color: #eee; |
---|
26 | } |
---|
27 | |
---|
28 | div.draggable { |
---|
29 | cursor:move; |
---|
30 | padding:2px; |
---|
31 | background-color: #BBCCDD; |
---|
32 | } |
---|
33 | |
---|
34 | div.dropsite { |
---|
35 | padding:2px; |
---|
36 | background-color: #DDBB99; |
---|
37 | } |
---|
38 | |
---|
39 | div.hoverclass123 |
---|
40 | { |
---|
41 | border:1px solid red; |
---|
42 | } |
---|
43 | |
---|
44 | </style> |
---|
45 | |
---|
46 | <script language="JavaScript" type="text/javascript" src="../../lib/prototype.js"></script> |
---|
47 | <script language="JavaScript" type="text/javascript" src="../../src/scriptaculous.js"></script> |
---|
48 | <script language="JavaScript" type="text/javascript"> |
---|
49 | |
---|
50 | Position.includeScrollOffsets = true; |
---|
51 | |
---|
52 | window.onload = function() |
---|
53 | { |
---|
54 | var t1 = document.getElementById("t1"); |
---|
55 | add_divs(t1, 'td', 'draggable'); |
---|
56 | var trs = t1.getElementsByTagName("tr"); |
---|
57 | for (var i = 0; i < trs.length; i++) |
---|
58 | { |
---|
59 | var divs = document.getElementsByClassName("draggable", trs[i]); |
---|
60 | var drag_text = divs[2].innerHTML; |
---|
61 | for (var j = 0; j < divs.length; ++j) |
---|
62 | { |
---|
63 | new Draggable(divs[j], {ghosting:true, revert:true}); |
---|
64 | } |
---|
65 | } |
---|
66 | |
---|
67 | var t2 = document.getElementById("t2"); |
---|
68 | add_divs(t2, 'td', 'dropsite'); |
---|
69 | var divs = document.getElementsByClassName("dropsite", t2); |
---|
70 | for (var j = 0; j < divs.length; ++j) |
---|
71 | { |
---|
72 | Droppables.add(divs[j], {accept:'draggable', |
---|
73 | hoverclass:'hoverclass123', |
---|
74 | onDrop:function(element, dropon, event) |
---|
75 | { debug("dropped " + element.innerHTML + " on " |
---|
76 | + dropon.innerHTML + "\n")}}); |
---|
77 | } |
---|
78 | }; |
---|
79 | |
---|
80 | function debug(text) |
---|
81 | { |
---|
82 | document.getElementById('debug').innerHTML |
---|
83 | = "<pre>" + text + "</pre>"; |
---|
84 | } |
---|
85 | |
---|
86 | function add_divs(table, tag, classname) |
---|
87 | { |
---|
88 | var items = table.getElementsByTagName(tag); |
---|
89 | for (var i = 0; i < items.length; i++) |
---|
90 | items[i].innerHTML = |
---|
91 | "<div class='" + classname + "'>" + items[i].innerHTML + "</div>"; |
---|
92 | } |
---|
93 | |
---|
94 | |
---|
95 | </script> |
---|
96 | </head> |
---|
97 | <body> |
---|
98 | |
---|
99 | <p>Drag from this table:</p> |
---|
100 | <DIV STYLE="padding-left: 50pt;"> |
---|
101 | <DIV STYLE="overflow: auto; width: 250; height: 100; |
---|
102 | border: 1px gray solid; |
---|
103 | padding:0px; margin: 0px;"> |
---|
104 | <table id="t1" class="sortable mytable"> |
---|
105 | <tr><td>one</td><td>1</td><td>uno</td></tr> |
---|
106 | <tr><td>two</td><td>2</td><td>dos</td></tr> |
---|
107 | <tr><td>three</td><td>3</td><td>tres</td></tr> |
---|
108 | <tr><td>four</td><td>4</td><td>quatro</td></tr> |
---|
109 | <tr><td>five</td><td>5</td><td>cinco</td></tr> |
---|
110 | <tr><td>six</td><td>6</td><td>seis</td></tr> |
---|
111 | <tr><td>seven</td><td>7</td><td>siete</td></tr> |
---|
112 | <tr><td>eight</td><td>8</td><td>ocho</td></tr> |
---|
113 | <tr><td>nine</td><td>9</td><td>nueve</td></tr> |
---|
114 | <tr><td>ten</td><td>10</td><td>diez</td></tr> |
---|
115 | </table> |
---|
116 | </DIV> |
---|
117 | </DIV> |
---|
118 | <p> |
---|
119 | <p>Drop on this table:</p> |
---|
120 | <DIV STYLE="padding-left: 50pt;"> |
---|
121 | <DIV STYLE="overflow: auto; width: 250; height: 100; |
---|
122 | border: 1px gray solid; |
---|
123 | padding:0px; margin: 0px;"> |
---|
124 | <table id="t2" class="sortable mytable"> |
---|
125 | <tr><td>eleven</td><td>11</td><td>once</td></tr> |
---|
126 | <tr><td>twelve</td><td>12</td><td>doce</td></tr> |
---|
127 | <tr><td>thirteen</td><td>13</td><td>trece</td></tr> |
---|
128 | <tr><td>fourteen</td><td>14</td><td>catorce</td></tr> |
---|
129 | <tr><td>fifteen</td><td>15</td><td>quince</td></tr> |
---|
130 | <tr><td>sixteen</td><td>16</td><td>dieciseis</td></tr> |
---|
131 | <tr><td>seventeen</td><td>17</td><td>diecisiete</td></tr> |
---|
132 | <tr><td>eightteen</td><td>18</td><td>dieciocho</td></tr> |
---|
133 | <tr><td>nineteen</td><td>19</td><td>diecinueve</td></tr> |
---|
134 | <tr><td>twenty</td><td>20</td><td>veinte</td></tr> |
---|
135 | </table> |
---|
136 | </DIV> |
---|
137 | </DIV> |
---|
138 | <p> |
---|
139 | <div id="debug"></div> |
---|
140 | </p> |
---|
141 | </body> |
---|
142 | </html> |
---|