From: Jan Schneider Date: Mon, 16 Mar 2009 18:03:12 +0000 (+0100) Subject: Add drag and drop. Doesn't save in the backend yet. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=6c9ce7a70d3082b0bd8c9a67594e8b21263f8859;p=horde.git Add drag and drop. Doesn't save in the backend yet. --- diff --git a/kronolith/js/src/kronolith.js b/kronolith/js/src/kronolith.js index 21fc0a5f7..c9472f927 100644 --- a/kronolith/js/src/kronolith.js +++ b/kronolith/js/src/kronolith.js @@ -395,10 +395,16 @@ KronolithCore = { var cell = row.down().setText(monday.getWeek()).next(); while (cell) { cell.id = 'kronolithMonthDay' + day.dateString(); + cell.writeAttribute('date', day.dateString()); cell.removeClassName('kronolithOtherMonth'); if (typeof month != 'undefined' && day.getMonth() != month) { cell.addClassName('kronolithOtherMonth'); } + new Drop(cell, { onDrop: function(drop) { + var el = DragDrop.Drags.drag.element; + this.doAction('UpdateEvent', { cal: el.readAttribute('calendar'), id: el.readAttribute('eventid'), att: $H({ start: drop.readAttribute('date') }).toJSON() }); + drop.insert(el); + }.bind(this) }); cell.down('.kronolithDay').setText(day.getDate()); cell = cell.next(); day.add(1).day(); @@ -590,6 +596,7 @@ KronolithCore = { .observe('mouseover', div.addClassName.curry('kronolithSelected')) .observe('mouseout', div.removeClassName.curry('kronolithSelected')); $('kronolithMonthDay' + date.key).insert(div); + new Drag('kronolithEventmonth' + r.response.cal + event.key, { ghosting: true, parentElement: function() { return document.body; } }); break; } }, this); diff --git a/kronolith/lib/Kronolith.php b/kronolith/lib/Kronolith.php index 984c462f8..1b1307c62 100644 --- a/kronolith/lib/Kronolith.php +++ b/kronolith/lib/Kronolith.php @@ -73,6 +73,7 @@ class Kronolith // Need to include script files before we start output Horde::addScriptFile('prototype.js', 'horde', true); Horde::addScriptFile('effects.js', 'horde', true); + Horde::addScriptFile('dragdrop.js', 'imp', true); // ContextSensitive must be loaded first. while (list($key, $val) = each($scripts)) { diff --git a/kronolith/themes/screen.css b/kronolith/themes/screen.css index 7701b76ee..fd2657b82 100644 --- a/kronolith/themes/screen.css +++ b/kronolith/themes/screen.css @@ -942,6 +942,10 @@ div.kronolithView div.kronolithViewBody div.kronolithRow { div.kronolithView div.kronolithViewBody div.kronolithRow div { font-size: 95%; } +div.kronolithView div.kronolithViewBody .kronolithEvent { + margin-bottom: 2px; + margin-right: 2px; +} div.kronolithView div.kronolithViewBody div.kronolithRow div.kronolithFirstCol { font-weight: bold; text-align: center; @@ -1013,7 +1017,7 @@ div.kronolithView div.kronolithViewBody div.kronolithRow div div.kronolithMore a } /* Events */ -div.kronolithView div.kronolithViewBody div.kronolithRow div .kronolithEvent { +div.kronolithView div.kronolithViewBody div.kronolithRow div .kronolithEvent, .kronolithEvent { float: none; width: auto; height: 15px;