'use strict';
var _ = require('libs/underscore'),
- orderExerciseTemplate = require('libs/text!./order.xml');
+ templates = {
+ order: require('libs/text!./order.xml'),
+ choice: require('libs/text!./choice.xml'),
+ 'choice.single': require('libs/text!./choiceSingle.xml'),
+ 'choice.true-or-false': require('libs/text!./choiceTrueOrFalse.xml'),
+ gap: require('libs/text!./gaps.xml'),
+ replace: require('libs/text!./replace.xml'),
+ match: require('libs/text!./match.xml')
+ };
var Item = function(node, exerciseNode) {
Object.defineProperty(this, 'text', {
}}};
var choiceMethods = {
+ isContextRoot: function(node) {
+ return this.object.isChoiceList(node.parent()) || this.sameNode(node);
+ },
getChoiceList: function() {
return this.contents()
.filter(function(n) { return this.object.isChoiceList(n); }.bind(this))[0];
methods: choiceMethods
};
+extension.wlxmlClass['exercise.gap'] = extension.wlxmlClass['exercise.replace'] = extension.wlxmlClass['exercise.match'] = {
+ methods: {
+ isContextRoot: function(node) {
+ return this.sameNode(node);
+ }
+ }
+};
+
extension.document = {
methods: {
edumedCreateExerciseNode: function(klass) {
void(klass);
- return this.createDocumentNode(orderExerciseTemplate);
+ return this.createDocumentNode(templates[klass]);
}
}
};