# Difference between revisions of "DraggableProofs"

## Using Draggable Statements

This PG code shows how to apply a javascript-enabled collection of drag and drop statements.

PG problem file Explanation
DOCUMENT();
"PGstandard.pl",
"MathObjects.pl",
"draggableProof.pl",
);



The draggableProof.pl macro can be found in [OpenProblemLibrary/macros/MC/draggableProof.pl]. It is not yet part of the standard WeBWorK macros, so you have to place the file in your local macros directory for this to work.

TEXT(beginproblem());

$CorrectProof = DraggableProof([ "Jason Aubrey", "Someone better than Jason but less than everyone else", "John Travis" ], [ "Don't complain about it", "$$x^2$$" ], SourceLabel => "Choose from these", TargetLabel => "Place the people in order of increasing usefulness.", );  Notice the format is: [ list of correct statements in order], [ list of incorrect statements in order], options Context()->texStrings; BEGIN_TEXT Select \{$CorrectProof->numNeeded \} of the following.

$PAR \{$CorrectProof->Print \}

END_TEXT
Context()->normalStrings;

ANS($CorrectProof->cmp); ENDDOCUMENT();  Notice,$CorrectProof->numNeeded returns the actual number of correct statements provided in the first list from above.