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:
parent
1cb6b87047
commit
11b4af7568
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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 ) {
|
||||||
|
|
Reference in New Issue