Hi All,
I am trying to implement a Move command and am having some problems,
has anyone got any suggestions about how to make them work better?
Here are the commands:
<button toolTip="Move Up" icon="../icons2/up.gif">
<command name="moveUp" />
</button>
<button toolTip="Move Down" icon="../icons2/down.gif">
<command name="moveDown" />
</button>
<command name="moveUp">
<macro>
<sequence>
<command name="cut" parameter="[implicitElement]" />
<command name="paste" parameter="before[implicitElement]" />
</sequence>
</macro>
</command>
<command name="moveDown">
<macro>
<sequence>
<command name="cut" parameter="[implicitElement]" />
<command name="moveDotTo" parameter="nextElement" />
<command name="paste" parameter="after[implicitElement]" />
</sequence>
</macro>
</command>
Here is some sample XML:
<chapter type="simple" link="st_1" label="story">
<meta>
<title>YOUR TITLE</title>
<desc>YOUR DESCRIPTION</desc>
</meta>
<p>paragraph one</p>
<p>paragraph two etc.</p>
<contact link="co_1" label="contact details">
<desc>For further information please contact:
</desc>
<who>WHO TO CONTACT</who>
<org>Institute of International Visual
Arts</org>
<addr>6-8 Standard Place, Rivington Street,
London EC2A 3BE</addr>
<email>SOMEONE at iniva.org</email>
<tel>020 7729 9616</tel>
</contact>
</chapter>
How they behave:
1) select <org/> click Move Up, and it moves above <who/> : Good!
2) select <org/> click Move Down, and it moves below <addr/> : Good!
3) select <desc/> click Move Up, and it disappears : Bad!
<desc/> is not allowed in <chapter/> so it cannot paste here.
4) select <tel/> click Move Down, and nothing happens : Good!
<tel/> is not allowed in <chapter/> so it cannot paste here.
5) select <p/>[1] click Move Up, and it disappears: Bad!
meta/desc is left with the text selection.
<p/> is not allowed inside <meta/> or outside <chapter/>
6) select <p/>[1] click Move Down, and it moves below <p/>[2]: Good!
7) select <p/>[2] click Move Down, and it disappears: Bad!
the text selection ends up in contact/desc (!?!)
<p/> is not allowed in <contact/> but should go after it
Can anyone suggest how I can refine these commands further so as to get
rid of the glitches in behaviour?
Many Thanks
regards Jeremy