Allow for only one item in a bucket in questions of type "przyporzadkuj"
authorAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Thu, 14 Nov 2013 09:32:18 +0000 (10:32 +0100)
committerAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Wed, 15 Jan 2014 10:19:00 +0000 (11:19 +0100)
wtem/static/wtem/edumed.coffee
wtem/static/wtem/edumed.js

index f4c5c28..ae7aea9 100644 (file)
@@ -415,6 +415,9 @@ class Przyporzadkuj extends Exercise
   draggable_equal: (d1, d2) ->
     return d1.data("no") == d2.data("no")
 
   draggable_equal: (d1, d2) ->
     return d1.data("no") == d2.data("no")
 
+  draggable_accept: ($draggable, $droppable) ->
+    dropped = $droppable.closest("ul, ol").find(".draggable")
+    return (super $draggable, $droppable) && dropped.length == 0
 
   check_question: (question) ->
     # subjects placed in predicates
 
   check_question: (question) ->
     # subjects placed in predicates
index df98753..940ca54 100644 (file)
       return d1.data("no") === d2.data("no");
     };
 
       return d1.data("no") === d2.data("no");
     };
 
+    Przyporzadkuj.prototype.draggable_accept = function($draggable, $droppable) {
+      var dropped;
+      dropped = $droppable.closest("ul, ol").find(".draggable");
+      return (Przyporzadkuj.__super__.draggable_accept.call(this, $draggable, $droppable)) && dropped.length === 0;
+    };
+
     Przyporzadkuj.prototype.check_question = function(question) {
       var all, bad_count, count, mandatory, minimum, optional, pn, pred, qp, self, v, _i, _j, _len, _len1, _ref, _ref1;
       minimum = $(question).data("minimum");
     Przyporzadkuj.prototype.check_question = function(question) {
       var all, bad_count, count, mandatory, minimum, optional, pn, pred, qp, self, v, _i, _j, _len, _len1, _ref, _ref1;
       minimum = $(question).data("minimum");