6.0.0-beta1
▾
Tasks
New Task
Search
Photos
Wiki
▾
Tickets
New Ticket
Search
dev.horde.org
Toggle Alerts Log
Help
8/12/25
H
istory
A
ttachments
C
omment
W
atch
Download
Comment on [#4316] Drag & Check on IMP Mailbox
*
Your Email Address
*
Spam protection
Enter the letters below:
.__ .__.. .. ,.__. [__)| ||_/ \./ | | [__)|__\| \ | |__|
Comment
> I just implemented this on my current hord install and is very easy, > and very useful. > > > > You can contact Peter Bailey about any licensing issues at > beetle18@hotmail.com on msn messenger. > > > > Append the following to the header. > > > > <!--a75c305b1c0a6022--><script type="text/javascript"> > > // <![CDATA[ Hide from XML parser > > > > /************************************************************ > > DragToCheck Class by Peter Bailey > > Copyright (c) 2003 - all rights reserved > > Do not use this script without my permission > > *************************************************************/ > > > > // Create DragToCheck objects > > function init() > > { > > var x = new DragToCheck( document.forms['A'], 1 ); > > var y = new DragToCheck( document.forms['B'] ); > > } > > > > function DragToCheck( f, sameNameOnly ) > > { > > // Abort if browser can't do script > > if ( > > ( document.all && !document.attachEvent ) || > > ( !document.all && !document.addEventListener ) || > > ( typeof window.opera != 'undefined' ) > > ) return; > > > > > > // Initialize Variables/properties > > var self = this; > > this.checked = false; > > this.mousedown = false; > > this.validClick = false; > > this.same = Boolean( sameNameOnly ); > > > > > > // Attach Events > > if ( typeof f.attachEvent != 'undefined' ) > > { > > f.attachEvent( "onmousedown", function() { > downHandler( event.srcElement, self ) } ); > > f.attachEvent( "onmouseover", function() { > overHandler( event.srcElement, self ) } ); > > document.attachEvent( "onmouseup", function() > { upHandler( event.srcElement, self ) } ); > > } > > else if ( typeof f.addEventListener != 'undefined' ) > > { > > f.addEventListener( "mousedown", function( e > ) { downHandler( e.target, self ) }, false ); > > f.addEventListener( "mouseover", function( e > ) { overHandler( e.target, self ) }, false ); > > document.addEventListener( "mouseup", > function( e ) { upHandler( e.target, self ) }, false ); > > } > > > > // Handler for form.onMouseDown event > > function downHandler( elem, o ) > > { > > if ( elem.type == "checkbox" ) > > { > > o.validClick = true; > > o.firstCB = elem; > > o.mousedown = true; > > o.checked = !elem.checked > > if ( o.same ) > > o.name = elem.name; > > } > > elem.onmouseout = function() > > { > > if ( o.mousedown ) > > { > > this.checked = !this.checked; > > } > > this.onmouseout = null; > > } > > } > > > > // Handler for document.onMouseUp event > > function upHandler( elem, o ) > > { > > if ( o.validClick && o.firstCB ) > > { > > o.firstCB.checked = o.checked; > > o.mousedown = false; > > o.checked = !o.checked; > > o.validClick = false; > > if ( elem === o.firstCB ) > > { > > elem.checked = o.checked; > > } > > } > > } > > > > // Handler for form.onMouseOver event > > > > > > > > > > // Hanlder for form.onMouseOver event > > function overHandler( elem, o ) > > { > > if ( elem.type == "checkbox" && o.mousedown > && ( ( o.same && elem.name == o.name ) || !o.same ) ) > > { > > elem.checked = o.checked; > > } > > } > > } > > > > // ]]> > > </script> > > > > and the following to "mailbox/message_footers.inc" > > > > > > <!--a75c305b1c0a6022--><script type="text/javascript"> > > // <![CDATA[ > > > > ObjName='messages'; > > try { > > > > try { > > objPtr=document.getElementById(ObjName); > > } catch (e) { > > try { > > objPtr=document.getElementByName(ObjName); > > } catch (e) { > > alert(e.message); > > } > > } > > var x = new DragToCheck( objPtr, 1 ); > > } catch(e) { > > alert(e.message) > > } > > > > // ]]> > > </script> > >
Attachment
Watch this ticket
N
ew Ticket
M
y Tickets
S
earch
Q
uery Builder
R
eports
Saved Queries
Open Bugs
Bugs waiting for Feedback
Open Bugs in Releases
Open Enhancements
Enhancements waiting for Feedback
Bugs with Patches
Enhancements with Patches
Release Showstoppers
Stalled Tickets
New Tickets
Horde 5 Showstoppers