wip: experiments with Canvas support for exercise.assign
[fnpeditor.git] / src / editor / plugins / core / edumed / actions.js
index 6d8051e..4db4bc9 100644 (file)
@@ -50,6 +50,11 @@ var createAction = function(actionConfig) {
                         if(cursorTarget) {
                             cursorTarget = cursorTarget.append({text: ''});
                         }
+                    } else if(actionConfig.exercise === 'assign') {
+                        cursorTarget = _.first(exerciseNode.contents('.p'));
+                        if(cursorTarget) {
+                            cursorTarget = cursorTarget.append({text: descriptionText});
+                        }
                     }
                     if(cursorTarget) {
                         callback(doc.createFragment(doc.CaretFragment, {node: cursorTarget, offset: cursorTarget.getText().length}));
@@ -61,7 +66,7 @@ var createAction = function(actionConfig) {
         getState: function(params) {
             return {
                 allowed: params.fragment && params.fragment.isValid() && params.fragment instanceof params.fragment.NodeFragment,
-                description: gettext('Insert exercise: ' + actionConfig.exerciseTitle)
+                description: gettext('Insert exercise') + ': ' + actionConfig.exerciseTitle
             };
         }
     };
@@ -69,9 +74,10 @@ var createAction = function(actionConfig) {
 };
 
 return [
+    createAction({name: 'insertAssignExercise', icon: 'resize-horizontal', exercise: 'assign', exerciseTitle: gettext('Assign')}),
     createAction({name: 'insertOrderExercise', icon: 'random', exercise: 'order', exerciseTitle: gettext('Order')}),
-    createAction({name: 'insertChoiceSingleExercise', icon: 'ok-circle', exercise: 'choice.single', exerciseTitle: gettext('Single choice')}),
-    createAction({name: 'insertChoiceMultiExercise', icon: 'check', exercise: 'choice', exerciseTitle: gettext('Mutiple Choice')}),
+    createAction({name: 'insertChoiceSingleExercise', icon: 'ok-circle', exercise: 'choice.single', exerciseTitle: gettext('Single Choice')}),
+    createAction({name: 'insertChoiceMultiExercise', icon: 'check', exercise: 'choice', exerciseTitle: gettext('Multiple Choice')}),
     createAction({name: 'insertChoiceTrueOrFalseExercise', icon: 'adjust', exercise: 'choice.true-or-false', exerciseTitle: gettext('True or False')}),
     createAction({name: 'insertGapsExercise', icon: 'question-sign', exercise: 'gap', exerciseTitle: gettext('Gaps')}),
     createAction({name: 'insertReplaceExercise', icon: 'thumbs-down', exercise: 'replace', exerciseTitle: gettext('Replace')})