Question

Par défaut un conteneur dojo.dnd.Source vous permet de tenir la touche Ctrl pour dupliquer / copier un élément traîna plutôt que de se déplacer juste.

Je sais que vous pouvez définir singulier = true pour arrêter les articles multiples traînés, mais comment puis-je arrêter la copie? articles Duplication n'a pas de sens dans le contexte de mes articles (je fais une liste des pages draggable réordonnancement sur un menu site).

Merci

Était-ce utile?

La solution

Je ne suis pas sûr s'il y a une façon plus agréable, mais je l'ai toujours accompli ce par la méthode de démolir copyState sur l'instance source pour toujours revenir false.

Si vous avez plusieurs sources sur la page, vous pouvez également choisir de dojo.declare une sous-classe avec la méthode remplacée ou dojo.extend de dojo.dnd.Source lui-même pour écraserait la méthode dans tous les cas.

Autres conseils

Ou deuxième option

dojo.addOnLoad(function(){

    //Disable the key events Ctrl and Shift
    dojo.extend( dojo.dnd.Source, { copyState: function( keyPressed, self ){ 
        return false; }}
    );

    //Create the dnd source object for data point column bar
    columnBar = new dojo.dnd.Source("viewColumnBar",{ singular: true });

});

Merci à Ken Franquiero, j'ai réussi à résoudre ce problème. Pour d'autres dans le même bateau, voici mon code:

/**
 * Extend dojo.dnd.Source to prevent copying
 */

dojo.require( 'dojo.dnd.Source' );
dojo.addOnLoad( function() {

    dojo.declare
    (
        'EditPosition',
        dojo.dnd.Source,
        {
            copyState: function( keyPressed, self )
            {
                return false;
            }
        }
    );

    oEditPosition = new EditPosition
    ( 
        'position_container', 
        {
            withHandles: 'true'
        } 
    );

} );

HTML:

<div id="position_container">
    <div class="dojoDndItem">
        <div class="dojoDndHandle drag_icon drag_handle"></div> <strong>Short Paragraphs</strong>
    </div>
    <div class="dojoDndItem">
        <div class="drag_icon fixed_handle"></div> About Us
    </div>
    <div class="dojoDndItem">
        <div class="drag_icon fixed_handle"></div> Team Members
    </div>
</div>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top