witten
/
luminotes
Archived
1
0
Fork 0

Changed drop targets from boxes to just lines so as not to screw up drag positioning. Also added drop target before first note.

This commit is contained in:
Dan Helfman 2009-02-09 15:01:44 -08:00
parent 1cb6b87047
commit 11b4af7568
2 changed files with 20 additions and 9 deletions

View File

@ -564,14 +564,19 @@ h1 {
z-index: 2; z-index: 2;
} }
.note_drag_source_area {
margin-bottom: 0.75em;
}
.note_drop_target { .note_drop_target {
-moz-border-radius: 5px; -moz-border-radius: 5px;
height: 2em; position: relative;
margin-bottom: 0.75em; top: -0.5em;
border: 2px dashed #ffcc66; border-top: 2px dashed #999999;
} }
.note_drop_target_hover { .note_drop_target_hover {
height: 2em;
border: 2px dashed #000000; border: 2px dashed #000000;
} }

View File

@ -691,14 +691,20 @@ Editor.prototype.start_drag = function ( event ) {
// add a blank div to the area where the editor is popping out from. this lets the user easily // add a blank div to the area where the editor is popping out from. this lets the user easily
// see where the editor came from // see where the editor came from
var drop_target = createDOM( "div", { "class": "note_drop_target" } ); var drop_target = createDOM( "div", { "class": "note_drag_source_area", "id": "note_drag_source_area" } );
insertSiblingNodesAfter( this.holder, drop_target ); insertSiblingNodesAfter( this.holder, drop_target );
var div_size = getElementDimensions( this.div ); var div_size = getElementDimensions( this.div );
div_size.w -= FRAME_BORDER_WIDTH * 2; div_size.w -= FRAME_BORDER_WIDTH * 2;
setElementDimensions( drop_target, div_size ); setElementDimensions( drop_target, div_size );
// add drop target divs between every note // add drop target divs between every note and before the first note
var holders = getElementsByTagAndClassName( "table", "note_holder" ); var holders = getElementsByTagAndClassName( "table", "note_holder" );
if ( holders[ 0 ] != this.holder ) {
drop_target = createDOM( "div", { "class": "note_drop_target" } );
insertSiblingNodesBefore( holders[ 0 ], drop_target );
setElementDimensions( drop_target, { "w": div_size.w } );
}
for ( var i in holders ) { for ( var i in holders ) {
var holder = holders[ i ]; var holder = holders[ i ];
i = parseInt( i ); i = parseInt( i );
@ -806,12 +812,12 @@ Editor.prototype.drop = function( event ) {
this.drag_mouse_position = null; this.drag_mouse_position = null;
var drop_targets = getElementsByTagAndClassName( "div", "note_drop_target" ); var drop_targets = getElementsByTagAndClassName( "div", "note_drop_target" );
var target_position = getElementPosition( drop_targets[ 0 ] ); for ( var i in drop_targets )
for ( var i in drop_targets ) {
removeElement( drop_targets[ i ] ); removeElement( drop_targets[ i ] );
}
setElementPosition( this.holder, target_position ); var drag_source_area = getElement( "note_drag_source_area" );
setElementPosition( this.holder, getElementPosition( drag_source_area ) );
removeElement( drag_source_area );
} }
Editor.prototype.key_pressed = function ( event ) { Editor.prototype.key_pressed = function ( event ) {