src/widgets/QuizCreator.js
author ymh <ymh.work@gmail.com>
Sun, 12 Nov 2017 22:07:33 +0100
changeset 1071 02c04d2c8fd8
parent 1068 7623f9af9272
child 1072 ac1eacb3aa33
permissions -rw-r--r--
Various changes from git version and make autoplayer determine video type on lowercase url
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1068
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
/* TODO: Add Social Network Sharing */
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
IriSP.Widgets.QuizCreator = function(player, config) {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
    var _this = this;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
    IriSP.Widgets.Widget.call(this, player, config);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
};
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
IriSP.Widgets.QuizCreator.prototype = new IriSP.Widgets.Widget();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
IriSP.Widgets.QuizCreator.prototype.defaults = {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
    creator_name : "",
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
    tags : false,
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
    tag_titles : false,
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
    pause_on_write : true,
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
    annotation_type: "Quiz",
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
    api_serializer: "ldt_annotate",
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
    api_endpoint_template: "",
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
    api_method: "POST"
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
};
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
IriSP.Widgets.QuizCreator.prototype.messages = {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
    en: {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
    },
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
    fr: {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    }
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
};
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
IriSP.Widgets.QuizCreator.prototype.template =
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
	  '<div class="Ldt-QuizCreator-Ui Ldt-TraceMe">'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
	+	'<div class="Ldt-QuizCreator-Question-Form">'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
	+		'<textarea class="Ldt-QuizCreator-Question-Area" placeholder="Votre question"></textarea><br />'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
	+		'<textarea class="Ldt-QuizCreator-Resource-Area" placeholder="Ressources (lien vers une image, etc.)"></textarea><br />'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
	+	'</div>'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
	+		'<p>Type de question  '
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
	+ 		'<select name="type" class="Ldt-QuizCreator-Question-Type">'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
	+			'<option value="unique_choice">Choix unique</option>'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
	+			'<option value="multiple_choice">Choix multiple</option>'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
	+		'</select>'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
	+		' à <input type="text" placeholder="hh:mm:ss" size="6" class="Ldt-QuizCreator-Time" />'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
	+ 	'<div class="Ldt-QuizCreator-Questions-Block">'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
	+ 	'</div>'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
	+	'<div>'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
    +   '  <button class="Ldt-QuizCreator-Question-Add">Ajouter une réponse</button><hr>'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
    +   '  <button class="Ldt-QuizCreator-Question-Save">Sauvegarder</button>'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
    +   '</div>'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
	+ '</div>';
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
/* Hide and clear the interface is case of someone skipped or answer the current question in the Quiz panel*/
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
IriSP.Widgets.QuizCreator.prototype.skip = function() {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
	this.$.find(".Ldt-QuizCreator-Time").val("");
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
	this.$.find(".Ldt-QuizCreator-Question-Area").val("");
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
	this.$.find(".Ldt-QuizCreator-Resource-Area").val("");
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
	this.$.find(".Ldt-QuizCreator-Questions-Block").html("");
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
    this.current_annotation = undefined;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
};
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
IriSP.Widgets.QuizCreator.prototype.nbAnswers = function(){
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
	var numItems = this.$.find('.Ldt-QuizCreator-Questions-Answer').length;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
	return numItems;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
};
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
IriSP.Widgets.QuizCreator.prototype.draw = function() {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
	var _this = this;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
    this.onMediaEvent("timeupdate", function(_time) {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
    	_this.setBegin(_time);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
    });
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
	this.onMdpEvent("QuizCreator.show", function() {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
		_this.setBegin(_this.media.currentTime);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
    });
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
	this.onMdpEvent("QuizCreator.create", function() {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
		_this.skip();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
		_this.setBegin(_this.media.currentTime);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
    });
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
    this.onMdpEvent("QuizCreator.skip", function() {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
		_this.skip();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
    });
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
    this.onMdpEvent("QuizCreator.edit", function (_annotation) {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
		_this.skip();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
        _this.addQuestion(_annotation);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
    });
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
	this.$.on("click", ".Ldt-QuizCreator-Remove", function() {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
        $(this).parents(".Ldt-QuizCreator-Questions-Answer").remove();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
	});
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
    this.begin = new IriSP.Model.Time();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
    this.end = this.source.getDuration();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
	this.answers = [];
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
    this.renderTemplate();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
	/* Quiz creator */
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
	this.question = new IriSP.Widgets.UniqueChoiceQuestion();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
	this.$.find(".Ldt-QuizCreator-Question-Type").bind("change", this.functionWrapper("onQuestionTypeChange"));
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
	this.$.find(".Ldt-QuizCreator-Question-Add").bind("click", this.functionWrapper("onQuestionAdd"));
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
	this.$.find(".Ldt-QuizCreator-Question-Save").bind("click", this.functionWrapper("onSave"));
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
	this.$.find(".Ldt-QuizCreator-Time").keyup(function() {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
		var str = _this.$.find(".Ldt-QuizCreator-Time").val();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
		_this.begin = IriSP.timestamp2ms(str);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
		_this.end = _this.begin + 1000;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
	});
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
    this.onMediaEvent("timeupdate", function(_time) {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
        // Do not update timecode if description is not empty
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
        if (_this.getDescription()) {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
            _this.setBegin(_time);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
        };
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
    });
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
};
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
IriSP.Widgets.QuizCreator.prototype.getDescription = function() {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
    return this.$.find(".Ldt-QuizCreator-Question-Area").val().trim();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
};
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
IriSP.Widgets.QuizCreator.prototype.addQuestion = function(annotation, number) {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
    var _this = this;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
	if (annotation.content.data.type == "multiple_choice") {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
		this.question = new IriSP.Widgets.MultipleChoiceQuestion(annotation);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
	}
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
	else if (annotation.content.data.type == "unique_choice") {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
		this.question = new IriSP.Widgets.UniqueChoiceQuestion(annotation);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
	}
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
	var answers = annotation.content.data.answers;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
	this.answers = [];
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
	this.$.find(".Ldt-QuizCreator-Time").val(annotation.begin);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
	this.$.find(".Ldt-QuizCreator-Question-Area").val(annotation.content.data.question);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
	this.$.find(".Ldt-QuizCreator-Resource-Area").val(annotation.content.data.resource);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
	this.$.find(".Ldt-QuizCreator-Questions-Block").html('');
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
    answers.forEach( function (ans) {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
        _this.onQuestionAdd(null, ans);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
    });
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
    _this.current_annotation = annotation;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
};
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
IriSP.Widgets.QuizCreator.prototype.onQuestionTypeChange = function(e) {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
    var _field = this.$.find(".Ldt-QuizCreator-Question-Type");
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
    var _contents = _field.val();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
	var _this = this;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
	switch(_contents) {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
		case "unique_choice":
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
			this.question = new IriSP.Widgets.UniqueChoiceQuestion();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
		break;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
		case "multiple_choice":
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
			this.question = new IriSP.Widgets.MultipleChoiceQuestion();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
		break;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
	}
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
	var output = "";
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
	_this.$.find(".Ldt-QuizCreator-Questions-Block").html(output);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
    this.pauseOnWrite();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
};
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
// Either e !== undefined, then it has been called by the interface and answer === undefined, generate an empty form.
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
// Or e === null && answer !== undefined, an existing answer is provided.
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
IriSP.Widgets.QuizCreator.prototype.onQuestionAdd = function(e, answer) {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
	var output = '<div class="Ldt-QuizCreator-Questions-Answer">'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
		+	'Réponse <div class="Ldt-QuizCreator-Questions-Answer-Correct">'+ this.question.renderFullTemplate(answer, this.nbAnswers()) +'</div><br />'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
		+ 	'<div class="Ldt-QuizCreator-Questions-Answer-Content">'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
		+		'<input type="text" class="Ldt-QuizCreator-Answer-Content" data-question="'+ this.nbAnswers() +'" id="question'+ this.nbAnswers() + '"' +  (answer ? ' value="'+ answer.content + '"' : "") + '/><br />'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
		+		'Commentaire <br/><textarea class="Ldt-QuizCreator-Answer-Feedback" data-question="'+ this.nbAnswers() +'" id="feedback'+ this.nbAnswers() +'">' + (answer ? answer.feedback : "") + '</textarea>'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
		+	'</div>'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
		+ 	'<div class="Ldt-QuizCreator-Questions-Answer-Delete"><div class="Ldt-QuizCreator-Remove">&nbsp;</div></div>'
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
		+	'</div>';
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
	this.$.find(".Ldt-QuizCreator-Questions-Block").append(output);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
	this.$.find(".Ldt-QuizCreator-Answer-Content").last().focus();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
    this.pauseOnWrite();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
};
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
IriSP.Widgets.QuizCreator.prototype.pauseOnWrite = function() {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
    if (this.pause_on_write && !this.media.getPaused()) {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
        this.media.pause();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
    }
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
};
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
IriSP.Widgets.QuizCreator.prototype.setBegin = function (t) {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
    this.begin = new IriSP.Model.Time(t || 0);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
	this.end = this.begin + 500;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
    this.$.find(".Ldt-QuizCreator-Time").val(this.begin.toString());
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
};
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
IriSP.Widgets.QuizCreator.prototype.get_local_annotation = function (ident) {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
    return this.player.getLocalAnnotation(ident);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
};
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
IriSP.Widgets.QuizCreator.prototype.save_local_annotations = function() {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
    this.player.saveLocalAnnotations();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
    // Merge modifications into widget source
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
    this.source.merge(this.player.localSource);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
};
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
IriSP.Widgets.QuizCreator.prototype.delete_local_annotation = function(ident) {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
    this.source.getAnnotations().removeId(ident);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
    this.player.deleteLocalAnnotation(ident);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
    this.current_annotation = undefined;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
    this.refresh(true);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
};
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
IriSP.Widgets.QuizCreator.prototype.show = function() {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
	this.$.find(".Ldt-QuizCreator-Question-Area").focus();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
};
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
IriSP.Widgets.QuizCreator.prototype.hide = function() {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
	this.$.find(".Ldt-QuizCreator-Questions-Block").html("");
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
	this.$.find(".Ldt-QuizCreator-Question-Area").val("");
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
	this.$.find(".Ldt-QuizCreator-Resource-Area").val("");
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
	this.$.find(".Ldt-QuizCreator-Time").val("");
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
};
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
/* Save a local annotation */
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
IriSP.Widgets.QuizCreator.prototype.onSave = function(event, should_publish) {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
    // Either the annotation already exists (then we overwrite its
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
    // content) or it must be created.
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
    var is_created = false;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
	if (this.nbAnswers() <= 0) {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
		alert("Vous devez spécifier au moins une réponse à votre question !");
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
		return false;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
	};
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
    // Check that there is at least 1 valid answer
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
    if (! this.$.find(".quiz-question-edition:checked").length) {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
        alert("Vous n'avez pas indiqué de bonne réponse.");
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
        return false;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
    };
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
    var _annotation;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
    if (this.current_annotation) {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   245
        is_created = false;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   246
        _annotation = this.current_annotation;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   247
    } else {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   248
        is_created = true;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   249
        var _annotationTypes = this.source.getAnnotationTypes().searchByTitle(this.annotation_type, true), /* Récupération du type d'annotation dans lequel l'annotation doit être ajoutée */
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   250
        _annotationType = (_annotationTypes.length ? _annotationTypes[0] : new IriSP.Model.AnnotationType(false, this.player.localSource)); /* Si le Type d'Annotation n'existe pas, il est créé à la volée */
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   251
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   252
        /* Si nous avons dû générer un ID d'annotationType à la volée... */
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   253
        if (!_annotationTypes.length) {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   254
            /* Il ne faudra pas envoyer l'ID généré au serveur */
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   255
            _annotationType.dont_send_id = true;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   256
            /* Il faut inclure le titre dans le type d'annotation */
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   257
            _annotationType.title = this.annotation_type;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   258
        }
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   259
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   260
        _annotation = new IriSP.Model.Annotation(false, this.player.localSource); /* Création d'une annotation dans cette source avec un ID généré à la volée (param. false) */
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   261
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   262
        // Initialize some fields in case of creation
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   263
        _annotation.created = new Date(); /* Date de création de l'annotation */
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   264
        _annotation.creator = this.creator_name;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   265
        _annotation.setAnnotationType(_annotationType.id); /* Id du type d'annotation */
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   266
        this.player.localSource.getMedias().push(this.source.currentMedia);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   267
        _annotation.setMedia(this.source.currentMedia.id); /* Id du média annoté */
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   268
    }
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   269
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   270
    /*
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   271
     * Nous remplissons les données de l'annotation
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   272
     * */
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   273
    _annotation.setBeginEnd(this.begin, this.end);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   274
    _annotation.modified = new Date(); /* Date de modification de l'annotation */
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   275
    _annotation.contributor = this.creator_name;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   276
    _annotation.description = this.getDescription();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   277
    _annotation.title = _annotation.description;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   278
	_annotation.content = {};
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   279
	_annotation.content.data = {};
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   280
	_annotation.content.data.type = this.$.find(".Ldt-QuizCreator-Question-Type").val();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   281
	_annotation.content.data.question = _annotation.description;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   282
	_annotation.content.data.resource = this.$.find(".Ldt-QuizCreator-Resource-Area").val();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   283
    _annotation.content.data.answers = $.makeArray($(".Ldt-QuizCreator-Questions-Answer")
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   284
                                                   .map(function (ans)
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   285
                                                        {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   286
                                                            return {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   287
                                                                content: $(this).find(".Ldt-QuizCreator-Answer-Content").val(),
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   288
                                                                feedback: $(this).find(".Ldt-QuizCreator-Answer-Feedback").val(),
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   289
                                                                correct: $(this).find(".Ldt-Quiz-Question-Check").is(':checked')
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   290
                                                            };
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   291
                                                        }));
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   292
    this.current_annotation = _annotation;
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   293
    if (is_created) {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   294
        // Add the annotation to the localSource
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   295
        this.player.addLocalAnnotation(_annotation);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   296
        // Update also the remote source
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   297
        this.source.merge([ _annotation ]);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   298
        this.player.trigger("Annotation.create", _annotation);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   299
    } else {
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   300
        // Update the annotation
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   301
        this.player.saveLocalAnnotations();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   302
        this.player.trigger("Annotation.update", _annotation);
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   303
    };
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   304
    this.player.trigger("AnnotationsList.update"); /* On force le rafraîchissement des widgets AnnotationsList */
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   305
    this.player.trigger("Quiz.refresh"); /* On force le rafraîchissement des widgets Quiz */
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents:
diff changeset
   306
};