{% include "openassessmentblock/edit/oa_edit_option.html" with option_name=option.name option_points=option.points option_explanation=option.explanation %}
{% include "openassessmentblock/edit/oa_edit_option.html" with option_name=option.name option_label=option.label option_points=option.points option_explanation=option.explanation %}
{% include "openassessmentblock/edit/oa_edit_criterion.html" with criterion_name="" criterion_prompt="" criterion_options=False criterion_feedback="disabled" %}
{% include "openassessmentblock/edit/oa_edit_criterion.html" with criterion_name="" criterion_label="" criterion_prompt="" criterion_options=False criterion_feedback="disabled" %}
{% include "openassessmentblock/edit/oa_edit_option.html" with option_name="" option_points="" option_explanation="" %}
{% include "openassessmentblock/edit/oa_edit_option.html" with option_name="" option_label="" option_points=1 option_explanation="" %}
</div>
<divid="openassessment_rubric_instructions">
...
...
@@ -17,7 +17,7 @@
<ulid="openassessment_criterion_list">
{% for criterion in criteria %}
{% include "openassessmentblock/edit/oa_edit_criterion.html" with criterion_name=criterion.name criterion_prompt=criterion.prompt criterion_options=criterion.options criterion_feedback=criterion.feedback %}
{% include "openassessmentblock/edit/oa_edit_criterion.html" with criterion_name=criterion.name criterion_label=criterion.label criterion_prompt=criterion.prompt criterion_options=criterion.options criterion_feedback=criterion.feedback %}
"prompt":"Lastly, how is its form? Punctuation, grammar, and spelling all count.",
"rubric":1,
"name":"form"
"name":"form",
"label":"form label"
}
},
{
"pk":1,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Neal Stephenson (late)",
"explanation":"\n In \"Cryptonomicon\", Stephenson spent multiple pages talking about breakfast cereal.\n While hilarious, in recent years his work has been anything but 'concise'.\n ",
"label":"Neal Stephenson (late) label",
"points":0,
"criterion":1,
"name":"Neal Stephenson (late)"
"order_num":0
}
},
{
"pk":2,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"HP Lovecraft",
"explanation":"\n If the author wrote something cyclopean that staggers the mind, score it thus.\n ",
"label":"HP Lovecraft label",
"points":1,
"criterion":1,
"name":"HP Lovecraft"
"order_num":1
}
},
{
"pk":3,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"\n Tight prose that conveys a wealth of information about the world in relatively\n few words. Example, \"The door irised open and he stepped inside.\"\n ",
"label":"Robert Heinlein label",
"points":3,
"criterion":1,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":4,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Neal Stephenson (early)",
"explanation":"\n When Stephenson still had an editor, his prose was dense, with anecdotes about\n nitrox abuse implying main characters' whole life stories.\n ",
"label":"Neal Stephenson (early) label",
"points":4,
"criterion":1,
"name":"Neal Stephenson (early)"
"order_num":3
}
},
{
"pk":5,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Earnest Hemingway",
"explanation":"\n Score the work this way if it makes you weep, and the removal of a single\n word would make you sneer.\n ",
"label":"Earnest Hemingway label",
"points":5,
"criterion":1,
"name":"Earnest Hemingway"
"order_num":4
}
},
{
"pk":6,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Yogi Berra",
"explanation":"",
"label":"Yogi Berra label",
"points":0,
"criterion":2,
"name":"Yogi Berra"
"order_num":0
}
},
{
"pk":7,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Hunter S. Thompson",
"explanation":"",
"label":"Hunter S. Thompson label",
"points":1,
"criterion":2,
"name":"Hunter S. Thompson"
"order_num":1
}
},
{
"pk":8,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"",
"label":"Robert Heinlein label",
"points":2,
"criterion":2,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":9,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Isaac Asimov",
"explanation":"",
"label":"Isaac Asimov label",
"points":3,
"criterion":2,
"name":"Isaac Asimov"
"order_num":3
}
},
{
"pk":10,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Spock",
"explanation":"\n Coolly rational, with a firm grasp of the main topics, a crystal-clear train of thought,\n and unemotional examination of the facts. This is the only item explained in this category,\n to show that explained and unexplained items can be mixed.\n ",
"prompt":"Lastly, how is its form? Punctuation, grammar, and spelling all count.",
"rubric":1,
"name":"form"
...
...
@@ -76,6 +79,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":0,
"label":"concise label",
"prompt":"How concise is it?",
"rubric":2,
"name":"concise"
...
...
@@ -86,6 +90,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":1,
"label":"clear-headed label",
"prompt":"How clear is the thinking?",
"rubric":2,
"name":"clear-headed"
...
...
@@ -96,6 +101,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":2,
"label":"form label",
"prompt":"Lastly, how is its form? Punctuation, grammar, and spelling all count.",
"rubric":2,
"name":"form"
...
...
@@ -105,352 +111,384 @@
"pk":1,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Neal Stephenson (late)",
"explanation":"\n In \"Cryptonomicon\", Stephenson spent multiple pages talking about breakfast cereal.\n While hilarious, in recent years his work has been anything but 'concise'.\n ",
"label":"Neal Stephenson (late) label",
"points":0,
"criterion":1,
"name":"Neal Stephenson (late)"
"order_num":0
}
},
{
"pk":2,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"HP Lovecraft",
"explanation":"\n If the author wrote something cyclopean that staggers the mind, score it thus.\n ",
"label":"HP Lovecraft label",
"points":1,
"criterion":1,
"name":"HP Lovecraft"
"order_num":1
}
},
{
"pk":3,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"\n Tight prose that conveys a wealth of information about the world in relatively\n few words. Example, \"The door irised open and he stepped inside.\"\n ",
"label":"Robert Heinlein label",
"points":3,
"criterion":1,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":4,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Neal Stephenson (early)",
"explanation":"\n When Stephenson still had an editor, his prose was dense, with anecdotes about\n nitrox abuse implying main characters' whole life stories.\n ",
"label":"Neal Stephenson (early) label",
"points":4,
"criterion":1,
"name":"Neal Stephenson (early)"
"order_num":3
}
},
{
"pk":5,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Earnest Hemingway",
"explanation":"\n Score the work this way if it makes you weep, and the removal of a single\n word would make you sneer.\n ",
"label":"Earnest Hemingway label",
"points":5,
"criterion":1,
"name":"Earnest Hemingway"
"order_num":4
}
},
{
"pk":6,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Yogi Berra",
"explanation":"",
"label":"Yogi Berra label",
"points":0,
"criterion":2,
"name":"Yogi Berra"
"order_num":0
}
},
{
"pk":7,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Hunter S. Thompson",
"explanation":"",
"label":"Hunter S. Thompson label",
"points":1,
"criterion":2,
"name":"Hunter S. Thompson"
"order_num":1
}
},
{
"pk":8,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"",
"label":"Robert Heinlein label",
"points":2,
"criterion":2,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":9,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Isaac Asimov",
"explanation":"",
"label":"Isaac Asimov label",
"points":3,
"criterion":2,
"name":"Isaac Asimov"
"order_num":3
}
},
{
"pk":10,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Spock",
"explanation":"\n Coolly rational, with a firm grasp of the main topics, a crystal-clear train of thought,\n and unemotional examination of the facts. This is the only item explained in this category,\n to show that explained and unexplained items can be mixed.\n ",
"label":"Spock label",
"points":10,
"criterion":2,
"name":"Spock"
"order_num":4
}
},
{
"pk":11,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"lolcats",
"explanation":"",
"label":"lolcats label",
"points":0,
"criterion":3,
"name":"lolcats"
"order_num":0
}
},
{
"pk":12,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Facebook",
"explanation":"",
"label":"Facebook label",
"points":1,
"criterion":3,
"name":"Facebook"
"order_num":1
}
},
{
"pk":13,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Reddit",
"explanation":"",
"label":"Reddit label",
"points":2,
"criterion":3,
"name":"Reddit"
"order_num":2
}
},
{
"pk":14,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"metafilter",
"explanation":"",
"label":"metafilter label",
"points":3,
"criterion":3,
"name":"metafilter"
"order_num":3
}
},
{
"pk":15,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Usenet, 1996",
"explanation":"",
"label":"Usenet, 1996 label",
"points":4,
"criterion":3,
"name":"Usenet, 1996"
"order_num":4
}
},
{
"pk":16,
"model":"assessment.criterionoption",
"fields":{
"order_num":5,
"name":"The Elements of Style",
"explanation":"",
"label":"The Elements of Style label",
"points":5,
"criterion":3,
"name":"The Elements of Style"
"order_num":5
}
},
{
"pk":17,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Neal Stephenson (late)",
"explanation":"\n In \"Cryptonomicon\", Stephenson spent multiple pages talking about breakfast cereal.\n While hilarious, in recent years his work has been anything but 'concise'.\n ",
"label":"Neal Stephenson (late) label",
"points":0,
"criterion":4,
"name":"Neal Stephenson (late)"
"order_num":0
}
},
{
"pk":18,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"HP Lovecraft",
"explanation":"\n If the author wrote something cyclopean that staggers the mind, score it thus.\n ",
"label":"HP Lovecraft label",
"points":1,
"criterion":4,
"name":"HP Lovecraft"
"order_num":1
}
},
{
"pk":19,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"\n Tight prose that conveys a wealth of information about the world in relatively\n few words. Example, \"The door irised open and he stepped inside.\"\n ",
"label":"Robert Heinlein label",
"points":3,
"criterion":4,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":20,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Neal Stephenson (early)",
"explanation":"\n When Stephenson still had an editor, his prose was dense, with anecdotes about\n nitrox abuse implying main characters' whole life stories.\n ",
"label":"Neal Stephenson (early) label",
"points":4,
"criterion":4,
"name":"Neal Stephenson (early)"
"order_num":3
}
},
{
"pk":21,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Earnest Hemingway",
"explanation":"\n Score the work this way if it makes you weep, and the removal of a single\n word would make you sneer.\n ",
"label":"Earnest Hemingway label",
"points":5,
"criterion":4,
"name":"Earnest Hemingway"
"order_num":4
}
},
{
"pk":22,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Yogi Berra",
"explanation":"",
"label":"Yogi Berra label",
"points":0,
"criterion":5,
"name":"Yogi Berra"
"order_num":0
}
},
{
"pk":23,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Hunter S. Thompson",
"explanation":"",
"label":"Hunter S. Thompson label",
"points":1,
"criterion":5,
"name":"Hunter S. Thompson"
"order_num":1
}
},
{
"pk":24,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"",
"label":"Robert Heinlein label",
"points":2,
"criterion":5,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":25,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Isaac Asimov",
"explanation":"",
"label":"Isaac Asimov label",
"points":3,
"criterion":5,
"name":"Isaac Asimov"
"order_num":3
}
},
{
"pk":26,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Spock",
"explanation":"\n Coolly rational, with a firm grasp of the main topics, a crystal-clear train of thought,\n and unemotional examination of the facts. This is the only item explained in this category,\n to show that explained and unexplained items can be mixed.\n ",
"feedback":"In sed \u00e1ugue int\u00e9gr\u00ea n\u00e9glegentur, n\u00e9c id \u00e7\u00edb\u00f3 d\u00f4ctus. Doming v\u00f5lupt\u00e0t\u00fam compr\u00e9hens\u00e3m mel n\u00f3, an unum script\u00e3 voluptatibus vis. N\u00e9c sint gr\u00e2\u00e9\u00e7\u00f3 eu.",
"prompt":"Lastly, how is its form? Punctuation, grammar, and spelling all count.",
"rubric":1,
"name":"form"
...
...
@@ -90,6 +93,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":0,
"label":"concise label",
"prompt":"How concise is it?",
"rubric":2,
"name":"concise"
...
...
@@ -100,6 +104,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":1,
"label":"clear-headed label",
"prompt":"How clear is the thinking?",
"rubric":2,
"name":"clear-headed"
...
...
@@ -110,6 +115,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":2,
"label":"form label",
"prompt":"Lastly, how is its form? Punctuation, grammar, and spelling all count.",
"rubric":2,
"name":"form"
...
...
@@ -120,6 +126,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":0,
"label":"concise label",
"prompt":"How concise is it?",
"rubric":3,
"name":"concise"
...
...
@@ -130,6 +137,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":0,
"label":"concise label",
"prompt":"How concise is it?",
"rubric":4,
"name":"concise"
...
...
@@ -140,6 +148,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":1,
"label":"clear-headed label",
"prompt":"How clear is the thinking?",
"rubric":4,
"name":"clear-headed"
...
...
@@ -150,6 +159,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":2,
"label":"form label",
"prompt":"Lastly, how is its form? Punctuation, grammar, and spelling all count.",
"rubric":4,
"name":"form"
...
...
@@ -160,6 +170,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":3,
"label":"feedback only label",
"prompt":"Feedback only, no options",
"rubric":4,
"name":"feedback only"
...
...
@@ -169,484 +180,528 @@
"pk":1,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Neal Stephenson (late)",
"explanation":"\n In \"Cryptonomicon\", Stephenson spent multiple pages talking about breakfast cereal.\n While hilarious, in recent years his work has been anything but 'concise'.\n ",
"label":"Neal Stephenson (late) label",
"points":0,
"criterion":1,
"name":"Neal Stephenson (late)"
"order_num":0
}
},
{
"pk":2,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"HP Lovecraft",
"explanation":"\n If the author wrote something cyclopean that staggers the mind, score it thus.\n ",
"label":"HP Lovecraft label",
"points":1,
"criterion":1,
"name":"HP Lovecraft"
"order_num":1
}
},
{
"pk":3,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"\n Tight prose that conveys a wealth of information about the world in relatively\n few words. Example, \"The door irised open and he stepped inside.\"\n ",
"label":"Robert Heinlein label",
"points":3,
"criterion":1,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":4,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Neal Stephenson (early)",
"explanation":"\n When Stephenson still had an editor, his prose was dense, with anecdotes about\n nitrox abuse implying main characters' whole life stories.\n ",
"label":"Neal Stephenson (early) label",
"points":4,
"criterion":1,
"name":"Neal Stephenson (early)"
"order_num":3
}
},
{
"pk":5,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Earnest Hemingway",
"explanation":"\n Score the work this way if it makes you weep, and the removal of a single\n word would make you sneer.\n ",
"label":"Earnest Hemingway label",
"points":5,
"criterion":1,
"name":"Earnest Hemingway"
"order_num":4
}
},
{
"pk":6,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Yogi Berra",
"explanation":"",
"label":"Yogi Berra label",
"points":0,
"criterion":2,
"name":"Yogi Berra"
"order_num":0
}
},
{
"pk":7,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Hunter S. Thompson",
"explanation":"",
"label":"Hunter S. Thompson label",
"points":1,
"criterion":2,
"name":"Hunter S. Thompson"
"order_num":1
}
},
{
"pk":8,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"",
"label":"Robert Heinlein label",
"points":2,
"criterion":2,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":9,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Isaac Asimov",
"explanation":"",
"label":"Isaac Asimov label",
"points":3,
"criterion":2,
"name":"Isaac Asimov"
"order_num":3
}
},
{
"pk":10,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Spock",
"explanation":"\n Coolly rational, with a firm grasp of the main topics, a crystal-clear train of thought,\n and unemotional examination of the facts. This is the only item explained in this category,\n to show that explained and unexplained items can be mixed.\n ",
"label":"Spock label",
"points":10,
"criterion":2,
"name":"Spock"
"order_num":4
}
},
{
"pk":11,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"lolcats",
"explanation":"",
"label":"lolcats label",
"points":0,
"criterion":3,
"name":"lolcats"
"order_num":0
}
},
{
"pk":12,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Facebook",
"explanation":"",
"label":"Facebook label",
"points":1,
"criterion":3,
"name":"Facebook"
"order_num":1
}
},
{
"pk":13,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Reddit",
"explanation":"",
"label":"Reddit label",
"points":2,
"criterion":3,
"name":"Reddit"
"order_num":2
}
},
{
"pk":14,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"metafilter",
"explanation":"",
"label":"metafilter label",
"points":3,
"criterion":3,
"name":"metafilter"
"order_num":3
}
},
{
"pk":15,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Usenet, 1996",
"explanation":"",
"label":"Usenet, 1996 label",
"points":4,
"criterion":3,
"name":"Usenet, 1996"
"order_num":4
}
},
{
"pk":16,
"model":"assessment.criterionoption",
"fields":{
"order_num":5,
"name":"The Elements of Style",
"explanation":"",
"label":"The Elements of Style label",
"points":5,
"criterion":3,
"name":"The Elements of Style"
"order_num":5
}
},
{
"pk":17,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"The Bible",
"explanation":"",
"label":"The Bible label",
"points":0,
"criterion":4,
"name":"The Bible"
"order_num":0
}
},
{
"pk":18,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Earnest Hemingway",
"explanation":"",
"label":"Earnest Hemingway label",
"points":1,
"criterion":4,
"name":"Earnest Hemingway"
"order_num":1
}
},
{
"pk":19,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Matsuo Basho",
"explanation":"",
"label":"Matsuo Basho label",
"points":3,
"criterion":4,
"name":"Matsuo Basho"
"order_num":2
}
},
{
"pk":20,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Eric",
"explanation":"",
"label":"Eric label",
"points":0,
"criterion":5,
"name":"Eric"
"order_num":0
}
},
{
"pk":21,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"John",
"explanation":"",
"label":"John label",
"points":1,
"criterion":5,
"name":"John"
"order_num":1
}
},
{
"pk":22,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Ian",
"explanation":"",
"label":"Ian label",
"points":2,
"criterion":5,
"name":"Ian"
"order_num":2
}
},
{
"pk":23,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"IRC",
"explanation":"",
"label":"IRC label",
"points":0,
"criterion":6,
"name":"IRC"
"order_num":0
}
},
{
"pk":24,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Real Email",
"explanation":"",
"label":"Real Email label",
"points":1,
"criterion":6,
"name":"Real Email"
"order_num":1
}
},
{
"pk":25,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Old-timey letters",
"explanation":"",
"label":"Old-timey letters label",
"points":2,
"criterion":6,
"name":"Old-timey letters"
"order_num":2
}
},
{
"pk":26,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"The Bible",
"explanation":"",
"label":"The Bible label",
"points":0,
"criterion":7,
"name":"The Bible"
"order_num":0
}
},
{
"pk":27,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Earnest Hemingway",
"explanation":"",
"label":"Earnest Hemingway label",
"points":1,
"criterion":7,
"name":"Earnest Hemingway"
"order_num":1
}
},
{
"pk":28,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Matsuo Basho",
"explanation":"",
"label":"Matsuo Basho label",
"points":3,
"criterion":7,
"name":"Matsuo Basho"
"order_num":2
}
},
{
"pk":29,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Neal Stephenson (late)",
"explanation":"\n In \"Cryptonomicon\", Stephenson spent multiple pages talking about breakfast cereal.\n While hilarious, in recent years his work has been anything but 'concise'.\n ",
"label":"Neal Stephenson (late) label",
"points":0,
"criterion":8,
"name":"Neal Stephenson (late)"
"order_num":0
}
},
{
"pk":30,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"HP Lovecraft",
"explanation":"\n If the author wrote something cyclopean that staggers the mind, score it thus.\n ",
"label":"HP Lovecraft label",
"points":1,
"criterion":8,
"name":"HP Lovecraft"
"order_num":1
}
},
{
"pk":31,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"\n Tight prose that conveys a wealth of information about the world in relatively\n few words. Example, \"The door irised open and he stepped inside.\"\n ",
"label":"Robert Heinlein label",
"points":3,
"criterion":8,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":32,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Neal Stephenson (early)",
"explanation":"\n When Stephenson still had an editor, his prose was dense, with anecdotes about\n nitrox abuse implying main characters' whole life stories.\n ",
"label":"Neal Stephenson (early) label",
"points":4,
"criterion":8,
"name":"Neal Stephenson (early)"
"order_num":3
}
},
{
"pk":33,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Earnest Hemingway",
"explanation":"\n Score the work this way if it makes you weep, and the removal of a single\n word would make you sneer.\n ",
"label":"Earnest Hemingway label",
"points":5,
"criterion":8,
"name":"Earnest Hemingway"
"order_num":4
}
},
{
"pk":34,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Yogi Berra",
"explanation":"",
"label":"Yogi Berra label",
"points":0,
"criterion":9,
"name":"Yogi Berra"
"order_num":0
}
},
{
"pk":35,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Hunter S. Thompson",
"explanation":"",
"label":"Hunter S. Thompson label",
"points":1,
"criterion":9,
"name":"Hunter S. Thompson"
"order_num":1
}
},
{
"pk":36,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"",
"label":"Robert Heinlein label",
"points":2,
"criterion":9,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":37,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Isaac Asimov",
"explanation":"",
"label":"Isaac Asimov label",
"points":3,
"criterion":9,
"name":"Isaac Asimov"
"order_num":3
}
},
{
"pk":38,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Spock",
"explanation":"\n Coolly rational, with a firm grasp of the main topics, a crystal-clear train of thought,\n and unemotional examination of the facts. This is the only item explained in this category,\n to show that explained and unexplained items can be mixed.\n ",
"label":"Spock label",
"points":10,
"criterion":9,
"name":"Spock"
"order_num":4
}
},
{
"pk":39,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"lolcats",
"explanation":"",
"label":"lolcats label",
"points":0,
"criterion":10,
"name":"lolcats"
"order_num":0
}
},
{
"pk":40,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Facebook",
"explanation":"",
"label":"Facebook label",
"points":1,
"criterion":10,
"name":"Facebook"
"order_num":1
}
},
{
"pk":41,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Reddit",
"explanation":"",
"label":"Reddit label",
"points":2,
"criterion":10,
"name":"Reddit"
"order_num":2
}
},
{
"pk":42,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"metafilter",
"explanation":"",
"label":"metafilter label",
"points":3,
"criterion":10,
"name":"metafilter"
"order_num":3
}
},
{
"pk":43,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Usenet, 1996",
"explanation":"",
"label":"Usenet, 1996 label",
"points":4,
"criterion":10,
"name":"Usenet, 1996"
"order_num":4
}
},
{
"pk":44,
"model":"assessment.criterionoption",
"fields":{
"order_num":5,
"name":"The Elements of Style",
"explanation":"",
"label":"The Elements of Style label",
"points":5,
"criterion":10,
"name":"The Elements of Style"
"order_num":5
}
},
{
...
...
@@ -656,17 +711,17 @@
"scorer_id":"other",
"feedback":"Donec consequat vitae ante in pellentesque.",
"prompt":"Lastly, how is its form? Punctuation, grammar, and spelling all count.",
"rubric":1,
"name":"form"
...
...
@@ -90,6 +93,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":0,
"label":"concise label",
"prompt":"How concise is it?",
"rubric":2,
"name":"concise"
...
...
@@ -100,6 +104,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":1,
"label":"clear-headed label",
"prompt":"How clear is the thinking?",
"rubric":2,
"name":"clear-headed"
...
...
@@ -110,6 +115,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":2,
"label":"form label",
"prompt":"Lastly, how is its form? Punctuation, grammar, and spelling all count.",
"rubric":2,
"name":"form"
...
...
@@ -120,6 +126,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":0,
"label":"concise label",
"prompt":"How concise is it?",
"rubric":3,
"name":"concise"
...
...
@@ -130,6 +137,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":0,
"label":"concise label",
"prompt":"How concise is it?",
"rubric":4,
"name":"concise"
...
...
@@ -140,6 +148,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":1,
"label":"clear-headed label",
"prompt":"How clear is the thinking?",
"rubric":4,
"name":"clear-headed"
...
...
@@ -150,6 +159,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":2,
"label":"form label",
"prompt":"Lastly, how is its form? Punctuation, grammar, and spelling all count.",
"rubric":4,
"name":"form"
...
...
@@ -159,484 +169,528 @@
"pk":1,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Neal Stephenson (late)",
"explanation":"\n In \"Cryptonomicon\", Stephenson spent multiple pages talking about breakfast cereal.\n While hilarious, in recent years his work has been anything but 'concise'.\n ",
"label":"Neal Stephenson (late) label",
"points":0,
"criterion":1,
"name":"Neal Stephenson (late)"
"order_num":0
}
},
{
"pk":2,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"HP Lovecraft",
"explanation":"\n If the author wrote something cyclopean that staggers the mind, score it thus.\n ",
"label":"HP Lovecraft label",
"points":1,
"criterion":1,
"name":"HP Lovecraft"
"order_num":1
}
},
{
"pk":3,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"\n Tight prose that conveys a wealth of information about the world in relatively\n few words. Example, \"The door irised open and he stepped inside.\"\n ",
"label":"Robert Heinlein label",
"points":3,
"criterion":1,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":4,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Neal Stephenson (early)",
"explanation":"\n When Stephenson still had an editor, his prose was dense, with anecdotes about\n nitrox abuse implying main characters' whole life stories.\n ",
"label":"Neal Stephenson (early) label",
"points":4,
"criterion":1,
"name":"Neal Stephenson (early)"
"order_num":3
}
},
{
"pk":5,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Earnest Hemingway",
"explanation":"\n Score the work this way if it makes you weep, and the removal of a single\n word would make you sneer.\n ",
"label":"Earnest Hemingway label",
"points":5,
"criterion":1,
"name":"Earnest Hemingway"
"order_num":4
}
},
{
"pk":6,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Yogi Berra",
"explanation":"",
"label":"Yogi Berra label",
"points":0,
"criterion":2,
"name":"Yogi Berra"
"order_num":0
}
},
{
"pk":7,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Hunter S. Thompson",
"explanation":"",
"label":"Hunter S. Thompson label",
"points":1,
"criterion":2,
"name":"Hunter S. Thompson"
"order_num":1
}
},
{
"pk":8,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"",
"label":"Robert Heinlein label",
"points":2,
"criterion":2,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":9,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Isaac Asimov",
"explanation":"",
"label":"Isaac Asimov label",
"points":3,
"criterion":2,
"name":"Isaac Asimov"
"order_num":3
}
},
{
"pk":10,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Spock",
"explanation":"\n Coolly rational, with a firm grasp of the main topics, a crystal-clear train of thought,\n and unemotional examination of the facts. This is the only item explained in this category,\n to show that explained and unexplained items can be mixed.\n ",
"label":"Spock label",
"points":10,
"criterion":2,
"name":"Spock"
"order_num":4
}
},
{
"pk":11,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"lolcats",
"explanation":"",
"label":"lolcats label",
"points":0,
"criterion":3,
"name":"lolcats"
"order_num":0
}
},
{
"pk":12,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Facebook",
"explanation":"",
"label":"Facebook label",
"points":1,
"criterion":3,
"name":"Facebook"
"order_num":1
}
},
{
"pk":13,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Reddit",
"explanation":"",
"label":"Reddit label",
"points":2,
"criterion":3,
"name":"Reddit"
"order_num":2
}
},
{
"pk":14,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"metafilter",
"explanation":"",
"label":"metafilter label",
"points":3,
"criterion":3,
"name":"metafilter"
"order_num":3
}
},
{
"pk":15,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Usenet, 1996",
"explanation":"",
"label":"Usenet, 1996 label",
"points":4,
"criterion":3,
"name":"Usenet, 1996"
"order_num":4
}
},
{
"pk":16,
"model":"assessment.criterionoption",
"fields":{
"order_num":5,
"name":"The Elements of Style",
"explanation":"",
"label":"The Elements of Style label",
"points":5,
"criterion":3,
"name":"The Elements of Style"
"order_num":5
}
},
{
"pk":17,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"The Bible",
"explanation":"",
"label":"The Bible label",
"points":0,
"criterion":4,
"name":"The Bible"
"order_num":0
}
},
{
"pk":18,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Earnest Hemingway",
"explanation":"",
"label":"Earnest Hemingway label",
"points":1,
"criterion":4,
"name":"Earnest Hemingway"
"order_num":1
}
},
{
"pk":19,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Matsuo Basho",
"explanation":"",
"label":"Matsuo Basho label",
"points":3,
"criterion":4,
"name":"Matsuo Basho"
"order_num":2
}
},
{
"pk":20,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Eric",
"explanation":"",
"label":"Eric label",
"points":0,
"criterion":5,
"name":"Eric"
"order_num":0
}
},
{
"pk":21,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"John",
"explanation":"",
"label":"John label",
"points":1,
"criterion":5,
"name":"John"
"order_num":1
}
},
{
"pk":22,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Ian",
"explanation":"",
"label":"Ian label",
"points":2,
"criterion":5,
"name":"Ian"
"order_num":2
}
},
{
"pk":23,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"IRC",
"explanation":"",
"label":"IRC label",
"points":0,
"criterion":6,
"name":"IRC"
"order_num":0
}
},
{
"pk":24,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Real Email",
"explanation":"",
"label":"Real Email label",
"points":1,
"criterion":6,
"name":"Real Email"
"order_num":1
}
},
{
"pk":25,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Old-timey letters",
"explanation":"",
"label":"Old-timey letters label",
"points":2,
"criterion":6,
"name":"Old-timey letters"
"order_num":2
}
},
{
"pk":26,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"The Bible",
"explanation":"",
"label":"The Bible label",
"points":0,
"criterion":7,
"name":"The Bible"
"order_num":0
}
},
{
"pk":27,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Earnest Hemingway",
"explanation":"",
"label":"Earnest Hemingway label",
"points":1,
"criterion":7,
"name":"Earnest Hemingway"
"order_num":1
}
},
{
"pk":28,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Matsuo Basho",
"explanation":"",
"label":"Matsuo Basho label",
"points":3,
"criterion":7,
"name":"Matsuo Basho"
"order_num":2
}
},
{
"pk":29,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Neal Stephenson (late)",
"explanation":"\n In \"Cryptonomicon\", Stephenson spent multiple pages talking about breakfast cereal.\n While hilarious, in recent years his work has been anything but 'concise'.\n ",
"label":"Neal Stephenson (late) label",
"points":0,
"criterion":8,
"name":"Neal Stephenson (late)"
"order_num":0
}
},
{
"pk":30,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"HP Lovecraft",
"explanation":"\n If the author wrote something cyclopean that staggers the mind, score it thus.\n ",
"label":"HP Lovecraft label",
"points":1,
"criterion":8,
"name":"HP Lovecraft"
"order_num":1
}
},
{
"pk":31,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"\n Tight prose that conveys a wealth of information about the world in relatively\n few words. Example, \"The door irised open and he stepped inside.\"\n ",
"label":"Robert Heinlein label",
"points":3,
"criterion":8,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":32,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Neal Stephenson (early)",
"explanation":"\n When Stephenson still had an editor, his prose was dense, with anecdotes about\n nitrox abuse implying main characters' whole life stories.\n ",
"label":"Neal Stephenson (early) label",
"points":4,
"criterion":8,
"name":"Neal Stephenson (early)"
"order_num":3
}
},
{
"pk":33,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Earnest Hemingway",
"explanation":"\n Score the work this way if it makes you weep, and the removal of a single\n word would make you sneer.\n ",
"label":"Earnest Hemingway label",
"points":5,
"criterion":8,
"name":"Earnest Hemingway"
"order_num":4
}
},
{
"pk":34,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Yogi Berra",
"explanation":"",
"label":"Yogi Berra label",
"points":0,
"criterion":9,
"name":"Yogi Berra"
"order_num":0
}
},
{
"pk":35,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Hunter S. Thompson",
"explanation":"",
"label":"Hunter S. Thompson label",
"points":1,
"criterion":9,
"name":"Hunter S. Thompson"
"order_num":1
}
},
{
"pk":36,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"",
"label":"Robert Heinlein label",
"points":2,
"criterion":9,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":37,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Isaac Asimov",
"explanation":"",
"label":"Isaac Asimov label",
"points":3,
"criterion":9,
"name":"Isaac Asimov"
"order_num":3
}
},
{
"pk":38,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Spock",
"explanation":"\n Coolly rational, with a firm grasp of the main topics, a crystal-clear train of thought,\n and unemotional examination of the facts. This is the only item explained in this category,\n to show that explained and unexplained items can be mixed.\n ",
"label":"Spock label",
"points":10,
"criterion":9,
"name":"Spock"
"order_num":4
}
},
{
"pk":39,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"lolcats",
"explanation":"",
"label":"lolcats label",
"points":0,
"criterion":10,
"name":"lolcats"
"order_num":0
}
},
{
"pk":40,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Facebook",
"explanation":"",
"label":"Facebook label",
"points":1,
"criterion":10,
"name":"Facebook"
"order_num":1
}
},
{
"pk":41,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Reddit",
"explanation":"",
"label":"Reddit label",
"points":2,
"criterion":10,
"name":"Reddit"
"order_num":2
}
},
{
"pk":42,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"metafilter",
"explanation":"",
"label":"metafilter label",
"points":3,
"criterion":10,
"name":"metafilter"
"order_num":3
}
},
{
"pk":43,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Usenet, 1996",
"explanation":"",
"label":"Usenet, 1996 label",
"points":4,
"criterion":10,
"name":"Usenet, 1996"
"order_num":4
}
},
{
"pk":44,
"model":"assessment.criterionoption",
"fields":{
"order_num":5,
"name":"The Elements of Style",
"explanation":"",
"label":"The Elements of Style label",
"points":5,
"criterion":10,
"name":"The Elements of Style"
"order_num":5
}
},
{
...
...
@@ -646,17 +700,17 @@
"scorer_id":"other",
"feedback":"Donec consequat vitae ante in pellentesque.",
"prompt":"Lastly, how is its form? Punctuation, grammar, and spelling all count.",
"rubric":1,
"name":"form"
...
...
@@ -90,6 +93,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":0,
"label":"concise label",
"prompt":"How concise is it?",
"rubric":2,
"name":"concise"
...
...
@@ -100,6 +104,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":1,
"label":"clear-headed label",
"prompt":"How clear is the thinking?",
"rubric":2,
"name":"clear-headed"
...
...
@@ -110,6 +115,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":2,
"label":"form label",
"prompt":"Lastly, how is its form? Punctuation, grammar, and spelling all count.",
"rubric":2,
"name":"form"
...
...
@@ -120,6 +126,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":0,
"label":"concise label",
"prompt":"How concise is it?",
"rubric":3,
"name":"concise"
...
...
@@ -130,6 +137,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":0,
"label":"concise label",
"prompt":"How concise is it?",
"rubric":4,
"name":"concise"
...
...
@@ -140,6 +148,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":1,
"label":"clear-headed label",
"prompt":"How clear is the thinking?",
"rubric":4,
"name":"clear-headed"
...
...
@@ -150,6 +159,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":2,
"label":"form label",
"prompt":"Lastly, how is its form? Punctuation, grammar, and spelling all count.",
"rubric":4,
"name":"form"
...
...
@@ -159,484 +169,528 @@
"pk":1,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Neal Stephenson (late)",
"explanation":"\n In \"Cryptonomicon\", Stephenson spent multiple pages talking about breakfast cereal.\n While hilarious, in recent years his work has been anything but 'concise'.\n ",
"label":"Neal Stephenson (late) label",
"points":0,
"criterion":1,
"name":"Neal Stephenson (late)"
"order_num":0
}
},
{
"pk":2,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"HP Lovecraft",
"explanation":"\n If the author wrote something cyclopean that staggers the mind, score it thus.\n ",
"label":"HP Lovecraft label",
"points":1,
"criterion":1,
"name":"HP Lovecraft"
"order_num":1
}
},
{
"pk":3,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"\n Tight prose that conveys a wealth of information about the world in relatively\n few words. Example, \"The door irised open and he stepped inside.\"\n ",
"label":"Robert Heinlein label",
"points":3,
"criterion":1,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":4,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Neal Stephenson (early)",
"explanation":"\n When Stephenson still had an editor, his prose was dense, with anecdotes about\n nitrox abuse implying main characters' whole life stories.\n ",
"label":"Neal Stephenson (early) label",
"points":4,
"criterion":1,
"name":"Neal Stephenson (early)"
"order_num":3
}
},
{
"pk":5,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Earnest Hemingway",
"explanation":"\n Score the work this way if it makes you weep, and the removal of a single\n word would make you sneer.\n ",
"label":"Earnest Hemingway label",
"points":5,
"criterion":1,
"name":"Earnest Hemingway"
"order_num":4
}
},
{
"pk":6,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Yogi Berra",
"explanation":"",
"label":"Yogi Berra label",
"points":0,
"criterion":2,
"name":"Yogi Berra"
"order_num":0
}
},
{
"pk":7,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Hunter S. Thompson",
"explanation":"",
"label":"Hunter S. Thompson label",
"points":1,
"criterion":2,
"name":"Hunter S. Thompson"
"order_num":1
}
},
{
"pk":8,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"",
"label":"Robert Heinlein label",
"points":2,
"criterion":2,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":9,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Isaac Asimov",
"explanation":"",
"label":"Isaac Asimov label",
"points":3,
"criterion":2,
"name":"Isaac Asimov"
"order_num":3
}
},
{
"pk":10,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Spock",
"explanation":"\n Coolly rational, with a firm grasp of the main topics, a crystal-clear train of thought,\n and unemotional examination of the facts. This is the only item explained in this category,\n to show that explained and unexplained items can be mixed.\n ",
"label":"Spock label",
"points":10,
"criterion":2,
"name":"Spock"
"order_num":4
}
},
{
"pk":11,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"lolcats",
"explanation":"",
"label":"lolcats label",
"points":0,
"criterion":3,
"name":"lolcats"
"order_num":0
}
},
{
"pk":12,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Facebook",
"explanation":"",
"label":"Facebook label",
"points":1,
"criterion":3,
"name":"Facebook"
"order_num":1
}
},
{
"pk":13,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Reddit",
"explanation":"",
"label":"Reddit label",
"points":2,
"criterion":3,
"name":"Reddit"
"order_num":2
}
},
{
"pk":14,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"metafilter",
"explanation":"",
"label":"metafilter label",
"points":3,
"criterion":3,
"name":"metafilter"
"order_num":3
}
},
{
"pk":15,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Usenet, 1996",
"explanation":"",
"label":"Usenet, 1996 label",
"points":4,
"criterion":3,
"name":"Usenet, 1996"
"order_num":4
}
},
{
"pk":16,
"model":"assessment.criterionoption",
"fields":{
"order_num":5,
"name":"The Elements of Style",
"explanation":"",
"label":"The Elements of Style label",
"points":5,
"criterion":3,
"name":"The Elements of Style"
"order_num":5
}
},
{
"pk":17,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"The Bible",
"explanation":"",
"label":"The Bible label",
"points":0,
"criterion":4,
"name":"The Bible"
"order_num":0
}
},
{
"pk":18,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Earnest Hemingway",
"explanation":"",
"label":"Earnest Hemingway label",
"points":1,
"criterion":4,
"name":"Earnest Hemingway"
"order_num":1
}
},
{
"pk":19,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Matsuo Basho",
"explanation":"",
"label":"Matsuo Basho label",
"points":3,
"criterion":4,
"name":"Matsuo Basho"
"order_num":2
}
},
{
"pk":20,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Eric",
"explanation":"",
"label":"Eric label",
"points":0,
"criterion":5,
"name":"Eric"
"order_num":0
}
},
{
"pk":21,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"John",
"explanation":"",
"label":"John label",
"points":1,
"criterion":5,
"name":"John"
"order_num":1
}
},
{
"pk":22,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Ian",
"explanation":"",
"label":"Ian label",
"points":2,
"criterion":5,
"name":"Ian"
"order_num":2
}
},
{
"pk":23,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"IRC",
"explanation":"",
"label":"IRC label",
"points":0,
"criterion":6,
"name":"IRC"
"order_num":0
}
},
{
"pk":24,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Real Email",
"explanation":"",
"label":"Real Email label",
"points":1,
"criterion":6,
"name":"Real Email"
"order_num":1
}
},
{
"pk":25,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Old-timey letters",
"explanation":"",
"label":"Old-timey letters label",
"points":2,
"criterion":6,
"name":"Old-timey letters"
"order_num":2
}
},
{
"pk":26,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"The Bible",
"explanation":"",
"label":"The Bible label",
"points":0,
"criterion":7,
"name":"The Bible"
"order_num":0
}
},
{
"pk":27,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Earnest Hemingway",
"explanation":"",
"label":"Earnest Hemingway label",
"points":1,
"criterion":7,
"name":"Earnest Hemingway"
"order_num":1
}
},
{
"pk":28,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Matsuo Basho",
"explanation":"",
"label":"Matsuo Basho label",
"points":3,
"criterion":7,
"name":"Matsuo Basho"
"order_num":2
}
},
{
"pk":29,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Neal Stephenson (late)",
"explanation":"\n In \"Cryptonomicon\", Stephenson spent multiple pages talking about breakfast cereal.\n While hilarious, in recent years his work has been anything but 'concise'.\n ",
"label":"Neal Stephenson (late) label",
"points":0,
"criterion":8,
"name":"Neal Stephenson (late)"
"order_num":0
}
},
{
"pk":30,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"HP Lovecraft",
"explanation":"\n If the author wrote something cyclopean that staggers the mind, score it thus.\n ",
"label":"HP Lovecraft label",
"points":1,
"criterion":8,
"name":"HP Lovecraft"
"order_num":1
}
},
{
"pk":31,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"\n Tight prose that conveys a wealth of information about the world in relatively\n few words. Example, \"The door irised open and he stepped inside.\"\n ",
"label":"Robert Heinlein label",
"points":3,
"criterion":8,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":32,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Neal Stephenson (early)",
"explanation":"\n When Stephenson still had an editor, his prose was dense, with anecdotes about\n nitrox abuse implying main characters' whole life stories.\n ",
"label":"Neal Stephenson (early) label",
"points":4,
"criterion":8,
"name":"Neal Stephenson (early)"
"order_num":3
}
},
{
"pk":33,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Earnest Hemingway",
"explanation":"\n Score the work this way if it makes you weep, and the removal of a single\n word would make you sneer.\n ",
"label":"Earnest Hemingway label",
"points":5,
"criterion":8,
"name":"Earnest Hemingway"
"order_num":4
}
},
{
"pk":34,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Yogi Berra",
"explanation":"",
"label":"Yogi Berra label",
"points":0,
"criterion":9,
"name":"Yogi Berra"
"order_num":0
}
},
{
"pk":35,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Hunter S. Thompson",
"explanation":"",
"label":"Hunter S. Thompson label",
"points":1,
"criterion":9,
"name":"Hunter S. Thompson"
"order_num":1
}
},
{
"pk":36,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"",
"label":"Robert Heinlein label",
"points":2,
"criterion":9,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":37,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Isaac Asimov",
"explanation":"",
"label":"Isaac Asimov label",
"points":3,
"criterion":9,
"name":"Isaac Asimov"
"order_num":3
}
},
{
"pk":38,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Spock",
"explanation":"\n Coolly rational, with a firm grasp of the main topics, a crystal-clear train of thought,\n and unemotional examination of the facts. This is the only item explained in this category,\n to show that explained and unexplained items can be mixed.\n ",
"prompt":"Lastly, how is its form? Punctuation, grammar, and spelling all count.",
"rubric":1,
"name":"form"
...
...
@@ -90,6 +93,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":0,
"label":"concise label",
"prompt":"How concise is it?",
"rubric":2,
"name":"concise"
...
...
@@ -100,6 +104,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":1,
"label":"clear-headed label",
"prompt":"How clear is the thinking?",
"rubric":2,
"name":"clear-headed"
...
...
@@ -110,6 +115,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":2,
"label":"form label",
"prompt":"Lastly, how is its form? Punctuation, grammar, and spelling all count.",
"rubric":2,
"name":"form"
...
...
@@ -120,6 +126,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":0,
"label":"concise label",
"prompt":"How concise is it?",
"rubric":3,
"name":"concise"
...
...
@@ -130,6 +137,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":0,
"label":"concise label",
"prompt":"How concise is it?",
"rubric":4,
"name":"concise"
...
...
@@ -140,6 +148,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":1,
"label":"clear-headed label",
"prompt":"How clear is the thinking?",
"rubric":4,
"name":"clear-headed"
...
...
@@ -150,6 +159,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":2,
"label":"form label",
"prompt":"Lastly, how is its form? Punctuation, grammar, and spelling all count.",
"rubric":4,
"name":"form"
...
...
@@ -159,484 +169,528 @@
"pk":1,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Neal Stephenson (late)",
"explanation":"\n In \"Cryptonomicon\", Stephenson spent multiple pages talking about breakfast cereal.\n While hilarious, in recent years his work has been anything but 'concise'.\n ",
"label":"Neal Stephenson (late) label",
"points":0,
"criterion":1,
"name":"Neal Stephenson (late)"
"order_num":0
}
},
{
"pk":2,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"HP Lovecraft",
"explanation":"\n If the author wrote something cyclopean that staggers the mind, score it thus.\n ",
"label":"HP Lovecraft label",
"points":1,
"criterion":1,
"name":"HP Lovecraft"
"order_num":1
}
},
{
"pk":3,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"\n Tight prose that conveys a wealth of information about the world in relatively\n few words. Example, \"The door irised open and he stepped inside.\"\n ",
"label":"Robert Heinlein label",
"points":3,
"criterion":1,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":4,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Neal Stephenson (early)",
"explanation":"\n When Stephenson still had an editor, his prose was dense, with anecdotes about\n nitrox abuse implying main characters' whole life stories.\n ",
"label":"Neal Stephenson (early) label",
"points":4,
"criterion":1,
"name":"Neal Stephenson (early)"
"order_num":3
}
},
{
"pk":5,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Earnest Hemingway",
"explanation":"\n Score the work this way if it makes you weep, and the removal of a single\n word would make you sneer.\n ",
"label":"Earnest Hemingway label",
"points":5,
"criterion":1,
"name":"Earnest Hemingway"
"order_num":4
}
},
{
"pk":6,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Yogi Berra",
"explanation":"",
"label":"Yogi Berra label",
"points":0,
"criterion":2,
"name":"Yogi Berra"
"order_num":0
}
},
{
"pk":7,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Hunter S. Thompson",
"explanation":"",
"label":"Hunter S. Thompson label",
"points":1,
"criterion":2,
"name":"Hunter S. Thompson"
"order_num":1
}
},
{
"pk":8,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"",
"label":"Robert Heinlein label",
"points":2,
"criterion":2,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":9,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Isaac Asimov",
"explanation":"",
"label":"Isaac Asimov label",
"points":3,
"criterion":2,
"name":"Isaac Asimov"
"order_num":3
}
},
{
"pk":10,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Spock",
"explanation":"\n Coolly rational, with a firm grasp of the main topics, a crystal-clear train of thought,\n and unemotional examination of the facts. This is the only item explained in this category,\n to show that explained and unexplained items can be mixed.\n ",
"label":"Spock label",
"points":10,
"criterion":2,
"name":"Spock"
"order_num":4
}
},
{
"pk":11,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"lolcats",
"explanation":"",
"label":"lolcats label",
"points":0,
"criterion":3,
"name":"lolcats"
"order_num":0
}
},
{
"pk":12,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Facebook",
"explanation":"",
"label":"Facebook label",
"points":1,
"criterion":3,
"name":"Facebook"
"order_num":1
}
},
{
"pk":13,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Reddit",
"explanation":"",
"label":"Reddit label",
"points":2,
"criterion":3,
"name":"Reddit"
"order_num":2
}
},
{
"pk":14,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"metafilter",
"explanation":"",
"label":"metafilter label",
"points":3,
"criterion":3,
"name":"metafilter"
"order_num":3
}
},
{
"pk":15,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Usenet, 1996",
"explanation":"",
"label":"Usenet, 1996 label",
"points":4,
"criterion":3,
"name":"Usenet, 1996"
"order_num":4
}
},
{
"pk":16,
"model":"assessment.criterionoption",
"fields":{
"order_num":5,
"name":"The Elements of Style",
"explanation":"",
"label":"The Elements of Style label",
"points":5,
"criterion":3,
"name":"The Elements of Style"
"order_num":5
}
},
{
"pk":17,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"The Bible",
"explanation":"",
"label":"The Bible label",
"points":0,
"criterion":4,
"name":"The Bible"
"order_num":0
}
},
{
"pk":18,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Earnest Hemingway",
"explanation":"",
"label":"Earnest Hemingway label",
"points":1,
"criterion":4,
"name":"Earnest Hemingway"
"order_num":1
}
},
{
"pk":19,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Matsuo Basho",
"explanation":"",
"label":"Matsuo Basho label",
"points":3,
"criterion":4,
"name":"Matsuo Basho"
"order_num":2
}
},
{
"pk":20,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Eric",
"explanation":"",
"label":"Eric label",
"points":0,
"criterion":5,
"name":"Eric"
"order_num":0
}
},
{
"pk":21,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"John",
"explanation":"",
"label":"John label",
"points":1,
"criterion":5,
"name":"John"
"order_num":1
}
},
{
"pk":22,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Ian",
"explanation":"",
"label":"Ian label",
"points":2,
"criterion":5,
"name":"Ian"
"order_num":2
}
},
{
"pk":23,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"IRC",
"explanation":"",
"label":"IRC label",
"points":0,
"criterion":6,
"name":"IRC"
"order_num":0
}
},
{
"pk":24,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Real Email",
"explanation":"",
"label":"Real Email label",
"points":1,
"criterion":6,
"name":"Real Email"
"order_num":1
}
},
{
"pk":25,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Old-timey letters",
"explanation":"",
"label":"Old-timey letters label",
"points":2,
"criterion":6,
"name":"Old-timey letters"
"order_num":2
}
},
{
"pk":26,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"The Bible",
"explanation":"",
"label":"The Bible label",
"points":0,
"criterion":7,
"name":"The Bible"
"order_num":0
}
},
{
"pk":27,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Earnest Hemingway",
"explanation":"",
"label":"Earnest Hemingway label",
"points":1,
"criterion":7,
"name":"Earnest Hemingway"
"order_num":1
}
},
{
"pk":28,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Matsuo Basho",
"explanation":"",
"label":"Matsuo Basho label",
"points":3,
"criterion":7,
"name":"Matsuo Basho"
"order_num":2
}
},
{
"pk":29,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Neal Stephenson (late)",
"explanation":"\n In \"Cryptonomicon\", Stephenson spent multiple pages talking about breakfast cereal.\n While hilarious, in recent years his work has been anything but 'concise'.\n ",
"label":"Neal Stephenson (late) label",
"points":0,
"criterion":8,
"name":"Neal Stephenson (late)"
"order_num":0
}
},
{
"pk":30,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"HP Lovecraft",
"explanation":"\n If the author wrote something cyclopean that staggers the mind, score it thus.\n ",
"label":"HP Lovecraft label",
"points":1,
"criterion":8,
"name":"HP Lovecraft"
"order_num":1
}
},
{
"pk":31,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"\n Tight prose that conveys a wealth of information about the world in relatively\n few words. Example, \"The door irised open and he stepped inside.\"\n ",
"label":"Robert Heinlein label",
"points":3,
"criterion":8,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":32,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Neal Stephenson (early)",
"explanation":"\n When Stephenson still had an editor, his prose was dense, with anecdotes about\n nitrox abuse implying main characters' whole life stories.\n ",
"label":"Neal Stephenson (early) label",
"points":4,
"criterion":8,
"name":"Neal Stephenson (early)"
"order_num":3
}
},
{
"pk":33,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Earnest Hemingway",
"explanation":"\n Score the work this way if it makes you weep, and the removal of a single\n word would make you sneer.\n ",
"label":"Earnest Hemingway label",
"points":5,
"criterion":8,
"name":"Earnest Hemingway"
"order_num":4
}
},
{
"pk":34,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Yogi Berra",
"explanation":"",
"label":"Yogi Berra label",
"points":0,
"criterion":9,
"name":"Yogi Berra"
"order_num":0
}
},
{
"pk":35,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Hunter S. Thompson",
"explanation":"",
"label":"Hunter S. Thompson label",
"points":1,
"criterion":9,
"name":"Hunter S. Thompson"
"order_num":1
}
},
{
"pk":36,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"",
"label":"Robert Heinlein label",
"points":2,
"criterion":9,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":37,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Isaac Asimov",
"explanation":"",
"label":"Isaac Asimov label",
"points":3,
"criterion":9,
"name":"Isaac Asimov"
"order_num":3
}
},
{
"pk":38,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Spock",
"explanation":"\n Coolly rational, with a firm grasp of the main topics, a crystal-clear train of thought,\n and unemotional examination of the facts. This is the only item explained in this category,\n to show that explained and unexplained items can be mixed.\n ",
"prompt":"Lastly, how is its form? Punctuation, grammar, and spelling all count.",
"rubric":1,
"name":"form"
...
...
@@ -69,6 +72,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":0,
"label":"concise label",
"prompt":"How concise is it?",
"rubric":2,
"name":"concise"
...
...
@@ -79,6 +83,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":1,
"label":"clear-headed label",
"prompt":"How clear is the thinking?",
"rubric":2,
"name":"clear-headed"
...
...
@@ -89,6 +94,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":2,
"label":"form label",
"prompt":"Lastly, how is its form? Punctuation, grammar, and spelling all count.",
"rubric":2,
"name":"form"
...
...
@@ -99,6 +105,7 @@
"model":"assessment.criterion",
"fields":{
"order_num":0,
"label":"concise label",
"prompt":"How concise is it?",
"rubric":3,
"name":"concise"
...
...
@@ -108,320 +115,348 @@
"pk":1,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Neal Stephenson (late)",
"explanation":"\n In \"Cryptonomicon\", Stephenson spent multiple pages talking about breakfast cereal.\n While hilarious, in recent years his work has been anything but 'concise'.\n ",
"label":"Neal Stephenson (late) label",
"points":0,
"criterion":1,
"name":"Neal Stephenson (late)"
"order_num":0
}
},
{
"pk":2,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"HP Lovecraft",
"explanation":"\n If the author wrote something cyclopean that staggers the mind, score it thus.\n ",
"label":"HP Lovecraft label",
"points":1,
"criterion":1,
"name":"HP Lovecraft"
"order_num":1
}
},
{
"pk":3,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"\n Tight prose that conveys a wealth of information about the world in relatively\n few words. Example, \"The door irised open and he stepped inside.\"\n ",
"label":"Robert Heinlein label",
"points":3,
"criterion":1,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":4,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Neal Stephenson (early)",
"explanation":"\n When Stephenson still had an editor, his prose was dense, with anecdotes about\n nitrox abuse implying main characters' whole life stories.\n ",
"label":"Neal Stephenson (early) label",
"points":4,
"criterion":1,
"name":"Neal Stephenson (early)"
"order_num":3
}
},
{
"pk":5,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Earnest Hemingway",
"explanation":"\n Score the work this way if it makes you weep, and the removal of a single\n word would make you sneer.\n ",
"label":"Earnest Hemingway label",
"points":5,
"criterion":1,
"name":"Earnest Hemingway"
"order_num":4
}
},
{
"pk":6,
"model":"assessment.criterionoption",
"fields":{
"order_num":0,
"name":"Yogi Berra",
"explanation":"",
"label":"Yogi Berra label",
"points":0,
"criterion":2,
"name":"Yogi Berra"
"order_num":0
}
},
{
"pk":7,
"model":"assessment.criterionoption",
"fields":{
"order_num":1,
"name":"Hunter S. Thompson",
"explanation":"",
"label":"Hunter S. Thompson label",
"points":1,
"criterion":2,
"name":"Hunter S. Thompson"
"order_num":1
}
},
{
"pk":8,
"model":"assessment.criterionoption",
"fields":{
"order_num":2,
"name":"Robert Heinlein",
"explanation":"",
"label":"Robert Heinlein label",
"points":2,
"criterion":2,
"name":"Robert Heinlein"
"order_num":2
}
},
{
"pk":9,
"model":"assessment.criterionoption",
"fields":{
"order_num":3,
"name":"Isaac Asimov",
"explanation":"",
"label":"Isaac Asimov label",
"points":3,
"criterion":2,
"name":"Isaac Asimov"
"order_num":3
}
},
{
"pk":10,
"model":"assessment.criterionoption",
"fields":{
"order_num":4,
"name":"Spock",
"explanation":"\n Coolly rational, with a firm grasp of the main topics, a crystal-clear train of thought,\n and unemotional examination of the facts. This is the only item explained in this category,\n to show that explained and unexplained items can be mixed.\n ",
["1","4","concise","concise label","Neal Stephenson (early)","Neal Stephenson (early) label","Praesent ac lorem ac nunc tincidunt ultricies sit amet ut magna."],
["1","5","form","form label","The Elements of Style","The Elements of Style label","Fusce varius, elit ut blandit consequat, odio ante mollis lectus"],
["1","4","concise","concise label","Neal Stephenson (early)","Neal Stephenson (early) label","Praesent ac lorem ac nunc tincidunt ultricies sit amet ut magna."],
["1","5","form","form label","The Elements of Style","The Elements of Style label","Fusce varius, elit ut blandit consequat, odio ante mollis lectus"],
["1","4","concise","concise label","Neal Stephenson (early)","Neal Stephenson (early) label","Praesent ac lorem ac nunc tincidunt ultricies sit amet ut magna."],
["1","5","form","form label","The Elements of Style","The Elements of Style label","Fusce varius, elit ut blandit consequat, odio ante mollis lectus"],
if(typeofOpenAssessment=="undefined"||!OpenAssessment){OpenAssessment={}}if(typeofwindow.gettext==="undefined"){window.gettext=function(text){returntext}}OpenAssessment.FileUploader=function(){this.upload=function(url,data,contentType){return$.Deferred(function(defer){$.ajax({url:url,type:"PUT",data:data,async:false,processData:false,contentType:contentType}).done(function(data,textStatus,jqXHR){defer.resolve()}).fail(function(data,textStatus,jqXHR){defer.rejectWith(this,[textStatus])})}).promise()}};if(typeofOpenAssessment.Server=="undefined"||!OpenAssessment.Server){OpenAssessment.Server=function(runtime,element){this.runtime=runtime;this.element=element};OpenAssessment.Server.prototype={url:function(handler){returnthis.runtime.handlerUrl(this.element,handler)},render:function(component){varurl=this.url("render_"+component);return$.Deferred(function(defer){$.ajax({url:url,type:"POST",dataType:"html"}).done(function(data){defer.resolveWith(this,[data])}).fail(function(data){defer.rejectWith(this,[gettext("This section could not be loaded.")])})}).promise()},renderContinuedPeer:function(){varurl=this.url("render_peer_assessment");return$.Deferred(function(defer){$.ajax({url:url,type:"POST",dataType:"html",data:{continue_grading:true}}).done(function(data){defer.resolveWith(this,[data])}).fail(function(data){defer.rejectWith(this,[gettext("This section could not be loaded.")])})}).promise()},studentInfo:function(student_id){varurl=this.url("render_student_info");return$.Deferred(function(defer){$.ajax({url:url,type:"POST",dataType:"html",data:{student_id:student_id}}).done(function(data){defer.resolveWith(this,[data])}).fail(function(data){defer.rejectWith(this,[gettext("This section could not be loaded.")])})}).promise()},submit:function(submission){varurl=this.url("submit");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:JSON.stringify({submission:submission})}).done(function(data){varsuccess=data[0];if(success){varstudentId=data[1];varattemptNum=data[2];defer.resolveWith(this,[studentId,attemptNum])}else{varerrorNum=data[1];varerrorMsg=data[2];defer.rejectWith(this,[errorNum,errorMsg])}}).fail(function(data){defer.rejectWith(this,["AJAX",gettext("This response could not be submitted.")])})}).promise()},save:function(submission){varurl=this.url("save_submission");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:JSON.stringify({submission:submission})}).done(function(data){if(data.success){defer.resolve()}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This response could not be saved.")])})}).promise()},submitFeedbackOnAssessment:function(text,options){varurl=this.url("submit_feedback");varpayload=JSON.stringify({feedback_text:text,feedback_options:options});return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolve()}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This feedback could not be submitted.")])})}).promise()},peerAssess:function(optionsSelected,criterionFeedback,overallFeedback){varurl=this.url("peer_assess");varpayload=JSON.stringify({options_selected:optionsSelected,criterion_feedback:criterionFeedback,overall_feedback:overallFeedback});return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolve()}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This assessment could not be submitted.")])})}).promise()},selfAssess:function(optionsSelected){varurl=this.url("self_assess");varpayload=JSON.stringify({options_selected:optionsSelected});return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolve()}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This assessment could not be submitted.")])})})},trainingAssess:function(optionsSelected){varurl=this.url("training_assess");varpayload=JSON.stringify({options_selected:optionsSelected});return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolveWith(this,[data.corrections])}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This assessment could not be submitted.")])})})},scheduleTraining:function(){varurl=this.url("schedule_training");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:'""'}).done(function(data){if(data.success){defer.resolveWith(this,[data.msg])}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This assessment could not be submitted.")])})})},rescheduleUnfinishedTasks:function(){varurl=this.url("reschedule_unfinished_tasks");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:'""'}).done(function(data){if(data.success){defer.resolveWith(this,[data.msg])}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("One or more rescheduling tasks failed.")])})})},updateEditorContext:function(kwargs){varurl=this.url("update_editor_context");varpayload=JSON.stringify({prompt:kwargs.prompt,feedback_prompt:kwargs.feedbackPrompt,title:kwargs.title,submission_start:kwargs.submissionStart,submission_due:kwargs.submissionDue,criteria:kwargs.criteria,assessments:kwargs.assessments,allow_file_upload:kwargs.imageSubmissionEnabled});return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolve()}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This problem could not be saved.")])})}).promise()},checkReleased:function(){varurl=this.url("check_released");varpayload='""';return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolveWith(this,[data.is_released])}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("The server could not be contacted.")])})}).promise()},getUploadUrl:function(contentType){varurl=this.url("upload_url");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:JSON.stringify({contentType:contentType})}).done(function(data){if(data.success){defer.resolve(data.url)}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("Could not retrieve upload url.")])})}).promise()},getDownloadUrl:function(){varurl=this.url("download_url");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:JSON.stringify({})}).done(function(data){if(data.success){defer.resolve(data.url)}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("Could not retrieve download url.")])})}).promise()}}}if(typeofOpenAssessment=="undefined"||!OpenAssessment){OpenAssessment={}}if(typeofwindow.gettext==="undefined"){window.gettext=function(text){returntext}}OpenAssessment.BaseView=function(runtime,element,server){this.runtime=runtime;this.element=element;this.server=server;this.fileUploader=newOpenAssessment.FileUploader;this.responseView=newOpenAssessment.ResponseView(this.element,this.server,this.fileUploader,this);this.trainingView=newOpenAssessment.StudentTrainingView(this.element,this.server,this);this.selfView=newOpenAssessment.SelfView(this.element,this.server,this);this.peerView=newOpenAssessment.PeerView(this.element,this.server,this);this.gradeView=newOpenAssessment.GradeView(this.element,this.server,this);this.messageView=newOpenAssessment.MessageView(this.element,this.server,this);this.staffInfoView=newOpenAssessment.StaffInfoView(this.element,this.server,this)};OpenAssessment.BaseView.prototype={scrollToTop:function(){if($.scrollToinstanceofFunction){$(window).scrollTo($("#openassessment__steps"),800,{offset:-50})}},setUpCollapseExpand:function(parentSel){parentSel.find(".ui-toggle-visibility__control").click(function(eventData){varsel=$(eventData.target).closest(".ui-toggle-visibility");sel.toggleClass("is--collapsed")})},load:function(){this.responseView.load();this.loadAssessmentModules();this.staffInfoView.load()},loadAssessmentModules:function(){this.trainingView.load();this.peerView.load();this.selfView.load();this.gradeView.load()},loadMessageView:function(){this.messageView.load()},toggleActionError:function(type,msg){varelement=this.element;varcontainer=null;if(type=="save"){container=".response__submission__actions"}elseif(type=="submit"||type=="peer"||type=="self"||type=="student-training"){container=".step__actions"}elseif(type=="feedback_assess"){container=".submission__feedback__actions"}elseif(type=="upload"){container="#upload__error"}if(container===null){if(msg!==null){console.log(msg)}}else{varmsgHtml=msg===null?"":msg;$(container+" .message__content",element).html("<p>"+msgHtml+"</p>");$(container,element).toggleClass("has--error",msg!==null)}},showLoadError:function(step){varcontainer="#openassessment__"+step;$(container).toggleClass("has--error",true);$(container+" .step__status__value i").removeClass().addClass("ico icon-warning-sign");$(container+" .step__status__value .copy").html(gettext("Unable to Load"))}};functionOpenAssessmentBlock(runtime,element){varserver=newOpenAssessment.Server(runtime,element);varview=newOpenAssessment.BaseView(runtime,element,server);view.load()}OpenAssessment.Container=function(containerItem,kwargs){this.containerItem=containerItem;this.containerElement=kwargs.containerElement;this.templateElement=kwargs.templateElement;this.addButtonElement=kwargs.addButtonElement;this.removeButtonClass=kwargs.removeButtonClass;this.containerItemClass=kwargs.containerItemClass;$(this.addButtonElement).click($.proxy(this.add,this));varcontainer=this;$("."+this.removeButtonClass,this.containerElement).click(function(eventData){container.remove(eventData.target)});$("."+this.containerItemClass,this.containerElement).each(function(index,element){newcontainer.containerItem(element)})};OpenAssessment.Container.prototype={add:function(){$(this.templateElement).children().first().clone().removeAttr("id").toggleClass("is--hidden",false).toggleClass(this.containerItemClass,true).appendTo($(this.containerElement));varcontainer=this;varcontainerItem=$("."+this.containerItemClass,this.containerElement).last();containerItem.find("."+this.removeButtonClass).click(function(eventData){container.remove(eventData.target)});newthis.containerItem(containerItem.get(0))},remove:function(element){$(element).closest("."+this.containerItemClass).remove()},getItemValues:function(){varvalues=[];varcontainer=this;$("."+this.containerItemClass,this.containerElement).each(function(index,element){varcontainerItem=newcontainer.containerItem(element);varfieldValues=containerItem.getFieldValues();values.push(fieldValues)});returnvalues},getItemElement:function(index){varelement=$("."+this.containerItemClass,this.containerElement).get(index);returnelement!==undefined?element:null}};OpenAssessment.RubricOption=function(element){this.element=element};OpenAssessment.RubricOption.prototype={getFieldValues:function(){return{name:OpenAssessment.Fields.stringField($(".openassessment_criterion_option_name",this.element)),points:OpenAssessment.Fields.intField($(".openassessment_criterion_option_points",this.element)),explanation:OpenAssessment.Fields.stringField($(".openassessment_criterion_option_explanation",this.element))}}};OpenAssessment.RubricCriterion=function(element){this.element=element;this.optionContainer=newOpenAssessment.Container(OpenAssessment.RubricOption,{containerElement:$(".openassessment_criterion_option_list",this.element).get(0),templateElement:$("#openassessment_option_template").get(0),addButtonElement:$(".openassessment_criterion_add_option",this.element).get(0),removeButtonClass:"openassessment_criterion_option_remove_button",containerItemClass:"openassessment_criterion_option"})};OpenAssessment.RubricCriterion.prototype={getFieldValues:function(){return{name:OpenAssessment.Fields.stringField($(".openassessment_criterion_name",this.element)),prompt:OpenAssessment.Fields.stringField($(".openassessment_criterion_prompt",this.element)),feedback:OpenAssessment.Fields.stringField($(".openassessment_criterion_feedback",this.element)),options:this.optionContainer.getItemValues()}}};OpenAssessment.GradeView=function(element,server,baseView){this.element=element;this.server=server;this.baseView=baseView};OpenAssessment.GradeView.prototype={load:function(){varview=this;varbaseView=this.baseView;this.server.render("grade").done(function(html){$("#openassessment__grade",view.element).replaceWith(html);view.installHandlers()}).fail(function(errMsg){baseView.showLoadError("grade",errMsg)})},installHandlers:function(){varsel=$("#openassessment__grade",this.element);this.baseView.setUpCollapseExpand(sel);varview=this;sel.find("#feedback__submit").click(function(eventObject){eventObject.preventDefault();view.submitFeedbackOnAssessment()})},feedbackText:function(text){if(typeoftext==="undefined"){return$("#feedback__remarks__value",this.element).val()}else{$("#feedback__remarks__value",this.element).val(text)}},feedbackOptions:function(options){varview=this;if(typeofoptions==="undefined"){return$.map($(".feedback__overall__value:checked",view.element),function(element,index){return$(element).val()})}else{$(".feedback__overall__value",this.element).prop("checked",false);$.each(options,function(index,opt){$("#feedback__overall__value--"+opt,view.element).prop("checked",true)})}},setHidden:function(sel,hidden){sel.toggleClass("is--hidden",hidden);sel.attr("aria-hidden",hidden?"true":"false")},isHidden:function(sel){returnsel.hasClass("is--hidden")&&sel.attr("aria-hidden")=="true"},feedbackState:function(newState){varcontainerSel=$(".submission__feedback__content",this.element);varinstructionsSel=containerSel.find(".submission__feedback__instructions");varfieldsSel=containerSel.find(".submission__feedback__fields");varactionsSel=containerSel.find(".submission__feedback__actions");vartransitionSel=containerSel.find(".transition__status");varmessageSel=containerSel.find(".message--complete");if(typeofnewState==="undefined"){varisSubmitting=containerSel.hasClass("is--transitioning")&&containerSel.hasClass("is--submitting")&&!this.isHidden(transitionSel)&&this.isHidden(messageSel)&&this.isHidden(instructionsSel)&&this.isHidden(fieldsSel)&&this.isHidden(actionsSel);varhasSubmitted=containerSel.hasClass("is--submitted")&&this.isHidden(transitionSel)&&!this.isHidden(messageSel)&&this.isHidden(instructionsSel)&&this.isHidden(fieldsSel)&&this.isHidden(actionsSel);varisOpen=!containerSel.hasClass("is--submitted")&&!containerSel.hasClass("is--transitioning")&&!containerSel.hasClass("is--submitting")&&this.isHidden(transitionSel)&&this.isHidden(messageSel)&&!this.isHidden(instructionsSel)&&!this.isHidden(fieldsSel)&&!this.isHidden(actionsSel);if(isOpen){return"open"}elseif(isSubmitting){return"submitting"}elseif(hasSubmitted){return"submitted"}else{throw"Invalid feedback state"}}else{if(newState=="open"){containerSel.toggleClass("is--transitioning",false);containerSel.toggleClass("is--submitting",false);containerSel.toggleClass("is--submitted",false);this.setHidden(instructionsSel,false);this.setHidden(fieldsSel,false);this.setHidden(actionsSel,false);this.setHidden(transitionSel,true);this.setHidden(messageSel,true)}elseif(newState=="submitting"){containerSel.toggleClass("is--transitioning",true);containerSel.toggleClass("is--submitting",true);containerSel.toggleClass("is--submitted",false);this.setHidden(instructionsSel,true);this.setHidden(fieldsSel,true);this.setHidden(actionsSel,true);this.setHidden(transitionSel,false);this.setHidden(messageSel,true)}elseif(newState=="submitted"){containerSel.toggleClass("is--transitioning",false);containerSel.toggleClass("is--submitting",false);containerSel.toggleClass("is--submitted",true);this.setHidden(instructionsSel,true);this.setHidden(fieldsSel,true);this.setHidden(actionsSel,true);this.setHidden(transitionSel,true);this.setHidden(messageSel,false)}}},submitFeedbackOnAssessment:function(){varview=this;varbaseView=this.baseView;$("#feedback__submit",this.element).toggleClass("is--disabled",true);view.feedbackState("submitting");this.server.submitFeedbackOnAssessment(this.feedbackText(),this.feedbackOptions()).done(function(){view.feedbackState("submitted")}).fail(function(errMsg){baseView.toggleActionError("feedback_assess",errMsg)})}};OpenAssessment.MessageView=function(element,server,baseView){this.element=element;this.server=server;this.baseView=baseView};OpenAssessment.MessageView.prototype={load:function(){varview=this;varbaseView=this.baseView;this.server.render("message").done(function(html){$("#openassessment__message",view.element).replaceWith(html)}).fail(function(errMsg){baseView.showLoadError("message",errMsg)})}};OpenAssessment.PeerView=function(element,server,baseView){this.element=element;this.server=server;this.baseView=baseView;this.rubric=null};OpenAssessment.PeerView.prototype={load:function(){varview=this;this.server.render("peer_assessment").done(function(html){$("#openassessment__peer-assessment",view.element).replaceWith(html);view.installHandlers(false)}).fail(function(errMsg){view.baseView.showLoadError("peer-assessment")});view.baseView.loadMessageView()},loadContinuedAssessment:function(){varview=this;view.continueAssessmentEnabled(false);this.server.renderContinuedPeer().done(function(html){$("#openassessment__peer-assessment",view.element).replaceWith(html);view.installHandlers(true)}).fail(function(errMsg){view.baseView.showLoadError("peer-assessment");view.continueAssessmentEnabled(true)})},continueAssessmentEnabled:function(enabled){varbutton=$("#peer-assessment__continue__grading",this.element);if(typeofenabled==="undefined"){return!button.hasClass("is--disabled")}else{button.toggleClass("is--disabled",!enabled)}},installHandlers:function(isContinuedAssessment){varsel=$("#openassessment__peer-assessment",this.element);varview=this;this.baseView.setUpCollapseExpand(sel);varrubricSelector=$("#peer-assessment--001__assessment",this.element);if(rubricSelector.size()>0){varrubricElement=rubricSelector.get(0);this.rubric=newOpenAssessment.Rubric(rubricElement)}if(this.rubric!==null){this.rubric.canSubmitCallback($.proxy(view.peerSubmitEnabled,view))}sel.find("#peer-assessment--001__assessment__submit").click(function(eventObject){eventObject.preventDefault();if(!isContinuedAssessment){view.peerAssess()}else{view.continuedPeerAssess()}});sel.find("#peer-assessment__continue__grading").click(function(eventObject){eventObject.preventDefault();view.loadContinuedAssessment()})},peerSubmitEnabled:function(enabled){varbutton=$("#peer-assessment--001__assessment__submit",this.element);if(typeofenabled==="undefined"){return!button.hasClass("is--disabled")}else{button.toggleClass("is--disabled",!enabled)}},peerAssess:function(){varview=this;varbaseView=view.baseView;this.peerAssessRequest(function(){view.load();baseView.loadAssessmentModules();baseView.scrollToTop()})},continuedPeerAssess:function(){varview=this;vargradeView=this.baseView.gradeView;varbaseView=view.baseView;view.peerAssessRequest(function(){view.loadContinuedAssessment();gradeView.load();baseView.scrollToTop()})},peerAssessRequest:function(successFunction){varview=this;view.baseView.toggleActionError("peer",null);view.peerSubmitEnabled(false);this.server.peerAssess(this.rubric.optionsSelected(),this.rubric.criterionFeedback(),this.overallFeedback()).done(successFunction).fail(function(errMsg){view.baseView.toggleActionError("peer",errMsg);view.peerSubmitEnabled(true)})},overallFeedback:function(overallFeedback){varselector="#assessment__rubric__question--feedback__value";if(typeofoverallFeedback==="undefined"){return$(selector,this.element).val()}else{$(selector,this.element).val(overallFeedback)}}};OpenAssessment.ResponseView=function(element,server,fileUploader,baseView){this.element=element;this.server=server;this.fileUploader=fileUploader;this.baseView=baseView;this.savedResponse="";this.files=null;this.imageType=null;this.lastChangeTime=Date.now();this.errorOnLastSave=false;this.autoSaveTimerId=null};OpenAssessment.ResponseView.prototype={AUTO_SAVE_POLL_INTERVAL:2e3,AUTO_SAVE_WAIT:3e4,MAX_FILE_SIZE:5242880,load:function(){varview=this;this.server.render("submission").done(function(html){$("#openassessment__response",view.element).replaceWith(html);view.installHandlers();view.setAutoSaveEnabled(true)}).fail(function(errMsg){view.baseView.showLoadError("response")})},installHandlers:function(){varsel=$("#openassessment__response",this.element);varview=this;this.baseView.setUpCollapseExpand(sel);this.savedResponse=this.response();varhandleChange=function(eventData){view.handleResponseChanged()};sel.find("#submission__answer__value").on("change keyup drop paste",handleChange);varhandlePrepareUpload=function(eventData){view.prepareUpload(eventData.target.files)};sel.find("input[type=file]").on("change",handlePrepareUpload);sel.find("#step--response__submit").click(function(eventObject){eventObject.preventDefault();view.submit()});sel.find("#submission__save").click(function(eventObject){eventObject.preventDefault();view.save()});sel.find("#file__upload").click(function(eventObject){eventObject.preventDefault();view.fileUpload()})},setAutoSaveEnabled:function(enabled){if(enabled){if(this.autoSaveTimerId===null){this.autoSaveTimerId=setInterval($.proxy(this.autoSave,this),this.AUTO_SAVE_POLL_INTERVAL)}}else{if(this.autoSaveTimerId!==null){clearInterval(this.autoSaveTimerId)}}},submitEnabled:function(enabled){varsel=$("#step--response__submit",this.element);if(typeofenabled==="undefined"){return!sel.hasClass("is--disabled")}else{sel.toggleClass("is--disabled",!enabled)}},saveEnabled:function(enabled){varsel=$("#submission__save",this.element);if(typeofenabled==="undefined"){return!sel.hasClass("is--disabled")}else{sel.toggleClass("is--disabled",!enabled)}},saveStatus:function(msg){varsel=$("#response__save_status h3",this.element);if(typeofmsg==="undefined"){returnsel.text()}else{varlabel=gettext("Status of Your Response");sel.html('<span class="sr">'+label+":"+"</span>\n"+msg)}},unsavedWarningEnabled:function(enabled){if(typeofenabled==="undefined"){returnwindow.onbeforeunload!==null}else{if(enabled){window.onbeforeunload=function(){returngettext("If you leave this page without saving or submitting your response, you'll lose any work you've done on the response.")}}else{window.onbeforeunload=null}}},response:function(text){varsel=$("#submission__answer__value",this.element);if(typeoftext==="undefined"){returnsel.val()}else{sel.val(text)}},responseChanged:function(){varcurrentResponse=$.trim(this.response());varsavedResponse=$.trim(this.savedResponse);returnsavedResponse!==currentResponse},autoSave:function(){vartimeSinceLastChange=Date.now()-this.lastChangeTime;if(this.responseChanged()&&timeSinceLastChange>this.AUTO_SAVE_WAIT&&!this.errorOnLastSave){this.save()}},handleResponseChanged:function(){varisBlank=$.trim(this.response())!=="";this.submitEnabled(isBlank);if(this.responseChanged()){this.saveEnabled(isBlank);this.saveStatus(gettext("This response has not been saved."));this.unsavedWarningEnabled(true)}this.lastChangeTime=Date.now()},save:function(){this.errorOnLastSave=false;this.saveStatus(gettext("Saving..."));this.baseView.toggleActionError("save",null);this.unsavedWarningEnabled(false);varview=this;varsavedResponse=this.response();this.server.save(savedResponse).done(function(){view.savedResponse=savedResponse;varcurrentResponse=view.response();view.submitEnabled(currentResponse!=="");if(currentResponse==savedResponse){view.saveEnabled(false);view.saveStatus(gettext("This response has been saved but not submitted."))}}).fail(function(errMsg){view.saveStatus(gettext("Error"));view.baseView.toggleActionError("save",errMsg);view.errorOnLastSave=true})},submit:function(){this.submitEnabled(false);varview=this;varbaseView=this.baseView;this.confirmSubmission().pipe(function(){varsubmission=$("#submission__answer__value",view.element).val();baseView.toggleActionError("response",null);returnview.server.submit(submission)}).done($.proxy(view.moveToNextStep,view)).fail(function(errCode,errMsg){if(errCode=="ENOMULTI"){view.moveToNextStep()}else{if(errMsg){baseView.toggleActionError("submit",errMsg)}view.submitEnabled(true)}})},moveToNextStep:function(){this.load();this.baseView.loadAssessmentModules();this.unsavedWarningEnabled(false)},confirmSubmission:function(){varmsg="You're about to submit your response for this assignment. "+"After you submit this response, you can't change it or submit a new response.";return$.Deferred(function(defer){if(confirm(msg)){defer.resolve()}else{defer.reject()}})},prepareUpload:function(files){this.files=null;this.imageType=files[0].type;if(files[0].size>this.MAX_FILE_SIZE){this.baseView.toggleActionError("upload",gettext("File size must be 5MB or less."))}elseif(this.imageType.substring(0,6)!="image/"){this.baseView.toggleActionError("upload",gettext("File must be an image."))}else{this.baseView.toggleActionError("upload",null);this.files=files}$("#file__upload").toggleClass("is--disabled",this.files===null)},fileUpload:function(){varview=this;varfileUpload=$("#file__upload");fileUpload.addClass("is--disabled");varhandleError=function(errMsg){view.baseView.toggleActionError("upload",errMsg);fileUpload.removeClass("is--disabled")};this.server.getUploadUrl(view.imageType).done(function(url){varimage=view.files[0];view.fileUploader.upload(url,image,view.imageType).done(function(){view.imageUrl();view.baseView.toggleActionError("upload",null)}).fail(handleError)}).fail(handleError)},imageUrl:function(){varview=this;varimage=$("#submission__answer__image",view.element);view.server.getDownloadUrl().done(function(url){image.attr("src",url);returnurl})}};OpenAssessment.Rubric=function(element){this.element=element};OpenAssessment.Rubric.prototype={criterionFeedback:function(criterionFeedback){varselector="textarea.answer__value";varfeedback={};$(selector,this.element).each(function(index,sel){if(typeofcriterionFeedback!=="undefined"){$(sel).val(criterionFeedback[sel.name]);feedback[sel.name]=criterionFeedback[sel.name]}else{feedback[sel.name]=$(sel).val()}});returnfeedback},optionsSelected:function(optionsSelected){varselector="input[type=radio]";if(typeofoptionsSelected==="undefined"){varoptions={};$(selector+":checked",this.element).each(function(index,sel){options[sel.name]=sel.value});returnoptions}else{$(selector,this.element).prop("checked",false);$(selector,this.element).each(function(index,sel){if(optionsSelected.hasOwnProperty(sel.name)){if(sel.value==optionsSelected[sel.name]){$(sel).prop("checked",true)}}})}},canSubmitCallback:function(callback){varrubric=this;callback(rubric.canSubmit());$(this.element).on("change keyup drop paste",function(){callback(rubric.canSubmit())})},canSubmit:function(){varnumChecked=$("input[type=radio]:checked",this.element).length;varnumAvailable=$(".field--radio.assessment__rubric__question.has--options",this.element).length;varcompletedRequiredComments=true;$("textarea[required]",this.element).each(function(){vartrimmedText=$.trim($(this).val());if(trimmedText===""){completedRequiredComments=false}});returnnumChecked==numAvailable&&completedRequiredComments},showCorrections:function(corrections){varselector="input[type=radio]";varhasErrors=false;$(selector,this.element).each(function(index,sel){varlistItem=$(sel).parents(".assessment__rubric__question");if(corrections.hasOwnProperty(sel.name)){hasErrors=true;listItem.find(".message--incorrect").removeClass("is--hidden");listItem.find(".message--correct").addClass("is--hidden")}else{listItem.find(".message--correct").removeClass("is--hidden");listItem.find(".message--incorrect").addClass("is--hidden")}});returnhasErrors}};OpenAssessment.SelfView=function(element,server,baseView){this.element=element;this.server=server;this.baseView=baseView;this.rubric=null};OpenAssessment.SelfView.prototype={load:function(){varview=this;this.server.render("self_assessment").done(function(html){$("#openassessment__self-assessment",view.element).replaceWith(html);view.installHandlers()}).fail(function(errMsg){view.showLoadError("self-assessment")})},installHandlers:function(){varview=this;varsel=$("#openassessment__self-assessment",view.element);this.baseView.setUpCollapseExpand(sel);varrubricSelector=$("#self-assessment--001__assessment",this.element);if(rubricSelector.size()>0){varrubricElement=rubricSelector.get(0);this.rubric=newOpenAssessment.Rubric(rubricElement)}if(this.rubric!==null){this.rubric.canSubmitCallback($.proxy(this.selfSubmitEnabled,this))}sel.find("#self-assessment--001__assessment__submit").click(function(eventObject){eventObject.preventDefault();view.selfAssess()})},selfSubmitEnabled:function(enabled){varbutton=$("#self-assessment--001__assessment__submit",this.element);if(typeofenabled==="undefined"){return!button.hasClass("is--disabled")}else{button.toggleClass("is--disabled",!enabled)}},selfAssess:function(){varview=this;varbaseView=this.baseView;baseView.toggleActionError("self",null);view.selfSubmitEnabled(false);varoptions=this.rubric.optionsSelected();this.server.selfAssess(options).done(function(){baseView.loadAssessmentModules();baseView.scrollToTop()}).fail(function(errMsg){baseView.toggleActionError("self",errMsg);view.selfSubmitEnabled(true)})}};OpenAssessment.StaffInfoView=function(element,server,baseView){this.element=element;this.server=server;this.baseView=baseView};OpenAssessment.StaffInfoView.prototype={load:function(){varview=this;if($("#openassessment__staff-info",view.element).length>0){this.server.render("staff_info").done(function(html){$("#openassessment__staff-info",view.element).replaceWith(html);view.installHandlers()}).fail(function(errMsg){view.baseView.showLoadError("staff_info")})}},loadStudentInfo:function(){varview=this;varsel=$("#openassessment__staff-info",this.element);varstudent_id=sel.find("#openassessment__student_id").val();this.server.studentInfo(student_id).done(function(html){$("#openassessment__student-info",view.element).replaceWith(html)}).fail(function(errMsg){view.showLoadError("student_info")})},installHandlers:function(){varsel=$("#openassessment__staff-info",this.element);varview=this;if(sel.length<=0){return}this.baseView.setUpCollapseExpand(sel,function(){});sel.find("#openassessment_student_info_form").submit(function(eventObject){eventObject.preventDefault();view.loadStudentInfo()});sel.find("#submit_student_id").click(function(eventObject){eventObject.preventDefault();view.loadStudentInfo()});sel.find("#schedule_training").click(function(eventObject){eventObject.preventDefault();view.scheduleTraining()});sel.find("#reschedule_unfinished_tasks").click(function(eventObject){eventObject.preventDefault();view.rescheduleUnfinishedTasks()})},scheduleTraining:function(){varview=this;this.server.scheduleTraining().done(function(msg){$("#schedule_training_message",this.element).text(msg)}).fail(function(errMsg){$("#schedule_training_message",this.element).text(errMsg)})},rescheduleUnfinishedTasks:function(){varview=this;this.server.rescheduleUnfinishedTasks().done(function(msg){$("#reschedule_unfinished_tasks_message",this.element).text(msg)}).fail(function(errMsg){$("#reschedule_unfinished_tasks_message",this.element).text(errMsg)})}};OpenAssessment.StudentTrainingView=function(element,server,baseView){this.element=element;this.server=server;this.baseView=baseView;this.rubric=null};OpenAssessment.StudentTrainingView.prototype={load:function(){varview=this;this.server.render("student_training").done(function(html){$("#openassessment__student-training",view.element).replaceWith(html);
if(typeofOpenAssessment=="undefined"||!OpenAssessment){OpenAssessment={}}if(typeofwindow.gettext==="undefined"){window.gettext=function(text){returntext}}OpenAssessment.FileUploader=function(){this.upload=function(url,data,contentType){return$.Deferred(function(defer){$.ajax({url:url,type:"PUT",data:data,async:false,processData:false,contentType:contentType}).done(function(data,textStatus,jqXHR){defer.resolve()}).fail(function(data,textStatus,jqXHR){defer.rejectWith(this,[textStatus])})}).promise()}};if(typeofOpenAssessment.Server=="undefined"||!OpenAssessment.Server){OpenAssessment.Server=function(runtime,element){this.runtime=runtime;this.element=element};OpenAssessment.Server.prototype={url:function(handler){returnthis.runtime.handlerUrl(this.element,handler)},render:function(component){varurl=this.url("render_"+component);return$.Deferred(function(defer){$.ajax({url:url,type:"POST",dataType:"html"}).done(function(data){defer.resolveWith(this,[data])}).fail(function(data){defer.rejectWith(this,[gettext("This section could not be loaded.")])})}).promise()},renderContinuedPeer:function(){varurl=this.url("render_peer_assessment");return$.Deferred(function(defer){$.ajax({url:url,type:"POST",dataType:"html",data:{continue_grading:true}}).done(function(data){defer.resolveWith(this,[data])}).fail(function(data){defer.rejectWith(this,[gettext("This section could not be loaded.")])})}).promise()},studentInfo:function(student_id){varurl=this.url("render_student_info");return$.Deferred(function(defer){$.ajax({url:url,type:"POST",dataType:"html",data:{student_id:student_id}}).done(function(data){defer.resolveWith(this,[data])}).fail(function(data){defer.rejectWith(this,[gettext("This section could not be loaded.")])})}).promise()},submit:function(submission){varurl=this.url("submit");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:JSON.stringify({submission:submission})}).done(function(data){varsuccess=data[0];if(success){varstudentId=data[1];varattemptNum=data[2];defer.resolveWith(this,[studentId,attemptNum])}else{varerrorNum=data[1];varerrorMsg=data[2];defer.rejectWith(this,[errorNum,errorMsg])}}).fail(function(data){defer.rejectWith(this,["AJAX",gettext("This response could not be submitted.")])})}).promise()},save:function(submission){varurl=this.url("save_submission");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:JSON.stringify({submission:submission})}).done(function(data){if(data.success){defer.resolve()}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This response could not be saved.")])})}).promise()},submitFeedbackOnAssessment:function(text,options){varurl=this.url("submit_feedback");varpayload=JSON.stringify({feedback_text:text,feedback_options:options});return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolve()}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This feedback could not be submitted.")])})}).promise()},peerAssess:function(optionsSelected,criterionFeedback,overallFeedback){varurl=this.url("peer_assess");varpayload=JSON.stringify({options_selected:optionsSelected,criterion_feedback:criterionFeedback,overall_feedback:overallFeedback});return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolve()}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This assessment could not be submitted.")])})}).promise()},selfAssess:function(optionsSelected){varurl=this.url("self_assess");varpayload=JSON.stringify({options_selected:optionsSelected});return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolve()}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This assessment could not be submitted.")])})})},trainingAssess:function(optionsSelected){varurl=this.url("training_assess");varpayload=JSON.stringify({options_selected:optionsSelected});return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolveWith(this,[data.corrections])}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This assessment could not be submitted.")])})})},scheduleTraining:function(){varurl=this.url("schedule_training");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:'""'}).done(function(data){if(data.success){defer.resolveWith(this,[data.msg])}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This assessment could not be submitted.")])})})},rescheduleUnfinishedTasks:function(){varurl=this.url("reschedule_unfinished_tasks");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:'""'}).done(function(data){if(data.success){defer.resolveWith(this,[data.msg])}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("One or more rescheduling tasks failed.")])})})},updateEditorContext:function(kwargs){varurl=this.url("update_editor_context");varpayload=JSON.stringify({prompt:kwargs.prompt,feedback_prompt:kwargs.feedbackPrompt,title:kwargs.title,submission_start:kwargs.submissionStart,submission_due:kwargs.submissionDue,criteria:kwargs.criteria,assessments:kwargs.assessments,allow_file_upload:kwargs.imageSubmissionEnabled});return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolve()}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This problem could not be saved.")])})}).promise()},checkReleased:function(){varurl=this.url("check_released");varpayload='""';return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolveWith(this,[data.is_released])}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("The server could not be contacted.")])})}).promise()},getUploadUrl:function(contentType){varurl=this.url("upload_url");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:JSON.stringify({contentType:contentType})}).done(function(data){if(data.success){defer.resolve(data.url)}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("Could not retrieve upload url.")])})}).promise()},getDownloadUrl:function(){varurl=this.url("download_url");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:JSON.stringify({})}).done(function(data){if(data.success){defer.resolve(data.url)}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("Could not retrieve download url.")])})}).promise()}}}if(typeofOpenAssessment=="undefined"||!OpenAssessment){OpenAssessment={}}if(typeofwindow.gettext==="undefined"){window.gettext=function(text){returntext}}OpenAssessment.BaseView=function(runtime,element,server){this.runtime=runtime;this.element=element;this.server=server;this.fileUploader=newOpenAssessment.FileUploader;this.responseView=newOpenAssessment.ResponseView(this.element,this.server,this.fileUploader,this);this.trainingView=newOpenAssessment.StudentTrainingView(this.element,this.server,this);this.selfView=newOpenAssessment.SelfView(this.element,this.server,this);this.peerView=newOpenAssessment.PeerView(this.element,this.server,this);this.gradeView=newOpenAssessment.GradeView(this.element,this.server,this);this.messageView=newOpenAssessment.MessageView(this.element,this.server,this);this.staffInfoView=newOpenAssessment.StaffInfoView(this.element,this.server,this)};OpenAssessment.BaseView.prototype={scrollToTop:function(){if($.scrollToinstanceofFunction){$(window).scrollTo($("#openassessment__steps"),800,{offset:-50})}},setUpCollapseExpand:function(parentSel){parentSel.find(".ui-toggle-visibility__control").click(function(eventData){varsel=$(eventData.target).closest(".ui-toggle-visibility");sel.toggleClass("is--collapsed")})},load:function(){this.responseView.load();this.loadAssessmentModules();this.staffInfoView.load()},loadAssessmentModules:function(){this.trainingView.load();this.peerView.load();this.selfView.load();this.gradeView.load()},loadMessageView:function(){this.messageView.load()},toggleActionError:function(type,msg){varelement=this.element;varcontainer=null;if(type=="save"){container=".response__submission__actions"}elseif(type=="submit"||type=="peer"||type=="self"||type=="student-training"){container=".step__actions"}elseif(type=="feedback_assess"){container=".submission__feedback__actions"}elseif(type=="upload"){container="#upload__error"}if(container===null){if(msg!==null){console.log(msg)}}else{varmsgHtml=msg===null?"":msg;$(container+" .message__content",element).html("<p>"+msgHtml+"</p>");$(container,element).toggleClass("has--error",msg!==null)}},showLoadError:function(step){varcontainer="#openassessment__"+step;$(container).toggleClass("has--error",true);$(container+" .step__status__value i").removeClass().addClass("ico icon-warning-sign");$(container+" .step__status__value .copy").html(gettext("Unable to Load"))}};functionOpenAssessmentBlock(runtime,element){varserver=newOpenAssessment.Server(runtime,element);varview=newOpenAssessment.BaseView(runtime,element,server);view.load()}OpenAssessment.Container=function(containerItem,kwargs){this.containerItem=containerItem;this.containerElement=kwargs.containerElement;this.templateElement=kwargs.templateElement;this.addButtonElement=kwargs.addButtonElement;this.removeButtonClass=kwargs.removeButtonClass;this.containerItemClass=kwargs.containerItemClass;$(this.addButtonElement).click($.proxy(this.add,this));varcontainer=this;$("."+this.removeButtonClass,this.containerElement).click(function(eventData){varitem=newcontainer.containerItem(eventData.target);container.remove(item)});$("."+this.containerItemClass,this.containerElement).each(function(index,element){newcontainer.containerItem(element)})};OpenAssessment.Container.prototype={add:function(){$(this.templateElement).children().first().clone().removeAttr("id").toggleClass("is--hidden",false).toggleClass(this.containerItemClass,true).appendTo($(this.containerElement));varcontainer=this;varcontainerItem=$("."+this.containerItemClass,this.containerElement).last();containerItem.find("."+this.removeButtonClass).click(function(eventData){varcontainerItem=newcontainer.containerItem(eventData.target);container.remove(containerItem)});newthis.containerItem(containerItem.get(0))},remove:function(item){$(item.element).closest("."+this.containerItemClass).remove()},getItemValues:function(){varvalues=[];varcontainer=this;$("."+this.containerItemClass,this.containerElement).each(function(index,element){varcontainerItem=newcontainer.containerItem(element);varfieldValues=containerItem.getFieldValues();values.push(fieldValues)});returnvalues},getItem:function(index){varelement=$("."+this.containerItemClass,this.containerElement).get(index);returnelement!==undefined?newthis.containerItem(element):null},getAllItems:function(){varcontainer=this;return$("."+this.containerItemClass,this.containerElement).map(function(){returnnewcontainer.containerItem(this)})}};OpenAssessment.RubricOption=function(element){this.element=element};OpenAssessment.RubricOption.prototype={getFieldValues:function(){varfields={label:OpenAssessment.Fields.stringField($(".openassessment_criterion_option_label",this.element)),points:OpenAssessment.Fields.intField($(".openassessment_criterion_option_points",this.element)),explanation:OpenAssessment.Fields.stringField($(".openassessment_criterion_option_explanation",this.element))};varnameString=OpenAssessment.Fields.stringField($(".openassessment_criterion_option_name",this.element));if(nameString!==""){fields.name=nameString}returnfields}};OpenAssessment.RubricCriterion=function(element){this.element=element;this.optionContainer=newOpenAssessment.Container(OpenAssessment.RubricOption,{containerElement:$(".openassessment_criterion_option_list",this.element).get(0),templateElement:$("#openassessment_option_template").get(0),addButtonElement:$(".openassessment_criterion_add_option",this.element).get(0),removeButtonClass:"openassessment_criterion_option_remove_button",containerItemClass:"openassessment_criterion_option"})};OpenAssessment.RubricCriterion.prototype={getFieldValues:function(){varfields={label:OpenAssessment.Fields.stringField($(".openassessment_criterion_label",this.element)),prompt:OpenAssessment.Fields.stringField($(".openassessment_criterion_prompt",this.element)),feedback:OpenAssessment.Fields.stringField($(".openassessment_criterion_feedback",this.element)),options:this.optionContainer.getItemValues()};varnameString=OpenAssessment.Fields.stringField($(".openassessment_criterion_name",this.element));if(nameString!==""){fields.name=nameString}returnfields},addOption:function(){this.optionContainer.add()}};OpenAssessment.GradeView=function(element,server,baseView){this.element=element;this.server=server;this.baseView=baseView};OpenAssessment.GradeView.prototype={load:function(){varview=this;varbaseView=this.baseView;this.server.render("grade").done(function(html){$("#openassessment__grade",view.element).replaceWith(html);view.installHandlers()}).fail(function(errMsg){baseView.showLoadError("grade",errMsg)})},installHandlers:function(){varsel=$("#openassessment__grade",this.element);this.baseView.setUpCollapseExpand(sel);varview=this;sel.find("#feedback__submit").click(function(eventObject){eventObject.preventDefault();view.submitFeedbackOnAssessment()})},feedbackText:function(text){if(typeoftext==="undefined"){return$("#feedback__remarks__value",this.element).val()}else{$("#feedback__remarks__value",this.element).val(text)}},feedbackOptions:function(options){varview=this;if(typeofoptions==="undefined"){return$.map($(".feedback__overall__value:checked",view.element),function(element,index){return$(element).val()})}else{$(".feedback__overall__value",this.element).prop("checked",false);$.each(options,function(index,opt){$("#feedback__overall__value--"+opt,view.element).prop("checked",true)})}},setHidden:function(sel,hidden){sel.toggleClass("is--hidden",hidden);sel.attr("aria-hidden",hidden?"true":"false")},isHidden:function(sel){returnsel.hasClass("is--hidden")&&sel.attr("aria-hidden")=="true"},feedbackState:function(newState){varcontainerSel=$(".submission__feedback__content",this.element);varinstructionsSel=containerSel.find(".submission__feedback__instructions");varfieldsSel=containerSel.find(".submission__feedback__fields");varactionsSel=containerSel.find(".submission__feedback__actions");vartransitionSel=containerSel.find(".transition__status");varmessageSel=containerSel.find(".message--complete");if(typeofnewState==="undefined"){varisSubmitting=containerSel.hasClass("is--transitioning")&&containerSel.hasClass("is--submitting")&&!this.isHidden(transitionSel)&&this.isHidden(messageSel)&&this.isHidden(instructionsSel)&&this.isHidden(fieldsSel)&&this.isHidden(actionsSel);varhasSubmitted=containerSel.hasClass("is--submitted")&&this.isHidden(transitionSel)&&!this.isHidden(messageSel)&&this.isHidden(instructionsSel)&&this.isHidden(fieldsSel)&&this.isHidden(actionsSel);varisOpen=!containerSel.hasClass("is--submitted")&&!containerSel.hasClass("is--transitioning")&&!containerSel.hasClass("is--submitting")&&this.isHidden(transitionSel)&&this.isHidden(messageSel)&&!this.isHidden(instructionsSel)&&!this.isHidden(fieldsSel)&&!this.isHidden(actionsSel);if(isOpen){return"open"}elseif(isSubmitting){return"submitting"}elseif(hasSubmitted){return"submitted"}else{throw"Invalid feedback state"}}else{if(newState=="open"){containerSel.toggleClass("is--transitioning",false);containerSel.toggleClass("is--submitting",false);containerSel.toggleClass("is--submitted",false);this.setHidden(instructionsSel,false);this.setHidden(fieldsSel,false);this.setHidden(actionsSel,false);this.setHidden(transitionSel,true);this.setHidden(messageSel,true)}elseif(newState=="submitting"){containerSel.toggleClass("is--transitioning",true);containerSel.toggleClass("is--submitting",true);containerSel.toggleClass("is--submitted",false);this.setHidden(instructionsSel,true);this.setHidden(fieldsSel,true);this.setHidden(actionsSel,true);this.setHidden(transitionSel,false);this.setHidden(messageSel,true)}elseif(newState=="submitted"){containerSel.toggleClass("is--transitioning",false);containerSel.toggleClass("is--submitting",false);containerSel.toggleClass("is--submitted",true);this.setHidden(instructionsSel,true);this.setHidden(fieldsSel,true);this.setHidden(actionsSel,true);this.setHidden(transitionSel,true);this.setHidden(messageSel,false)}}},submitFeedbackOnAssessment:function(){varview=this;varbaseView=this.baseView;$("#feedback__submit",this.element).toggleClass("is--disabled",true);view.feedbackState("submitting");this.server.submitFeedbackOnAssessment(this.feedbackText(),this.feedbackOptions()).done(function(){view.feedbackState("submitted")}).fail(function(errMsg){baseView.toggleActionError("feedback_assess",errMsg)})}};OpenAssessment.MessageView=function(element,server,baseView){this.element=element;this.server=server;this.baseView=baseView};OpenAssessment.MessageView.prototype={load:function(){varview=this;varbaseView=this.baseView;this.server.render("message").done(function(html){$("#openassessment__message",view.element).replaceWith(html)}).fail(function(errMsg){baseView.showLoadError("message",errMsg)})}};OpenAssessment.PeerView=function(element,server,baseView){this.element=element;this.server=server;this.baseView=baseView;this.rubric=null};OpenAssessment.PeerView.prototype={load:function(){varview=this;this.server.render("peer_assessment").done(function(html){$("#openassessment__peer-assessment",view.element).replaceWith(html);view.installHandlers(false)}).fail(function(errMsg){view.baseView.showLoadError("peer-assessment")});view.baseView.loadMessageView()},loadContinuedAssessment:function(){varview=this;view.continueAssessmentEnabled(false);this.server.renderContinuedPeer().done(function(html){$("#openassessment__peer-assessment",view.element).replaceWith(html);view.installHandlers(true)}).fail(function(errMsg){view.baseView.showLoadError("peer-assessment");view.continueAssessmentEnabled(true)})},continueAssessmentEnabled:function(enabled){varbutton=$("#peer-assessment__continue__grading",this.element);if(typeofenabled==="undefined"){return!button.hasClass("is--disabled")}else{button.toggleClass("is--disabled",!enabled)}},installHandlers:function(isContinuedAssessment){varsel=$("#openassessment__peer-assessment",this.element);varview=this;this.baseView.setUpCollapseExpand(sel);varrubricSelector=$("#peer-assessment--001__assessment",this.element);if(rubricSelector.size()>0){varrubricElement=rubricSelector.get(0);this.rubric=newOpenAssessment.Rubric(rubricElement)}if(this.rubric!==null){this.rubric.canSubmitCallback($.proxy(view.peerSubmitEnabled,view))}sel.find("#peer-assessment--001__assessment__submit").click(function(eventObject){eventObject.preventDefault();if(!isContinuedAssessment){view.peerAssess()}else{view.continuedPeerAssess()}});sel.find("#peer-assessment__continue__grading").click(function(eventObject){eventObject.preventDefault();view.loadContinuedAssessment()})},peerSubmitEnabled:function(enabled){varbutton=$("#peer-assessment--001__assessment__submit",this.element);if(typeofenabled==="undefined"){return!button.hasClass("is--disabled")}else{button.toggleClass("is--disabled",!enabled)}},peerAssess:function(){varview=this;varbaseView=view.baseView;this.peerAssessRequest(function(){view.load();baseView.loadAssessmentModules();baseView.scrollToTop()})},continuedPeerAssess:function(){varview=this;vargradeView=this.baseView.gradeView;varbaseView=view.baseView;view.peerAssessRequest(function(){view.loadContinuedAssessment();gradeView.load();baseView.scrollToTop()})},peerAssessRequest:function(successFunction){varview=this;view.baseView.toggleActionError("peer",null);view.peerSubmitEnabled(false);this.server.peerAssess(this.rubric.optionsSelected(),this.rubric.criterionFeedback(),this.overallFeedback()).done(successFunction).fail(function(errMsg){view.baseView.toggleActionError("peer",errMsg);view.peerSubmitEnabled(true)})},overallFeedback:function(overallFeedback){varselector="#assessment__rubric__question--feedback__value";if(typeofoverallFeedback==="undefined"){return$(selector,this.element).val()}else{$(selector,this.element).val(overallFeedback)}}};OpenAssessment.ResponseView=function(element,server,fileUploader,baseView){this.element=element;this.server=server;this.fileUploader=fileUploader;this.baseView=baseView;this.savedResponse="";this.files=null;this.imageType=null;this.lastChangeTime=Date.now();this.errorOnLastSave=false;this.autoSaveTimerId=null};OpenAssessment.ResponseView.prototype={AUTO_SAVE_POLL_INTERVAL:2e3,AUTO_SAVE_WAIT:3e4,MAX_FILE_SIZE:5242880,load:function(){varview=this;this.server.render("submission").done(function(html){$("#openassessment__response",view.element).replaceWith(html);view.installHandlers();view.setAutoSaveEnabled(true)}).fail(function(errMsg){view.baseView.showLoadError("response")})},installHandlers:function(){varsel=$("#openassessment__response",this.element);varview=this;this.baseView.setUpCollapseExpand(sel);this.savedResponse=this.response();varhandleChange=function(eventData){view.handleResponseChanged()};sel.find("#submission__answer__value").on("change keyup drop paste",handleChange);varhandlePrepareUpload=function(eventData){view.prepareUpload(eventData.target.files)};sel.find("input[type=file]").on("change",handlePrepareUpload);sel.find("#step--response__submit").click(function(eventObject){eventObject.preventDefault();view.submit()});sel.find("#submission__save").click(function(eventObject){eventObject.preventDefault();view.save()});sel.find("#file__upload").click(function(eventObject){eventObject.preventDefault();view.fileUpload()})},setAutoSaveEnabled:function(enabled){if(enabled){if(this.autoSaveTimerId===null){this.autoSaveTimerId=setInterval($.proxy(this.autoSave,this),this.AUTO_SAVE_POLL_INTERVAL)}}else{if(this.autoSaveTimerId!==null){clearInterval(this.autoSaveTimerId)}}},submitEnabled:function(enabled){varsel=$("#step--response__submit",this.element);if(typeofenabled==="undefined"){return!sel.hasClass("is--disabled")}else{sel.toggleClass("is--disabled",!enabled)}},saveEnabled:function(enabled){varsel=$("#submission__save",this.element);if(typeofenabled==="undefined"){return!sel.hasClass("is--disabled")}else{sel.toggleClass("is--disabled",!enabled)}},saveStatus:function(msg){varsel=$("#response__save_status h3",this.element);if(typeofmsg==="undefined"){returnsel.text()}else{varlabel=gettext("Status of Your Response");sel.html('<span class="sr">'+label+":"+"</span>\n"+msg)}},unsavedWarningEnabled:function(enabled){if(typeofenabled==="undefined"){returnwindow.onbeforeunload!==null}else{if(enabled){window.onbeforeunload=function(){returngettext("If you leave this page without saving or submitting your response, you'll lose any work you've done on the response.")}}else{window.onbeforeunload=null}}},response:function(text){varsel=$("#submission__answer__value",this.element);if(typeoftext==="undefined"){returnsel.val()}else{sel.val(text)}},responseChanged:function(){varcurrentResponse=$.trim(this.response());varsavedResponse=$.trim(this.savedResponse);returnsavedResponse!==currentResponse},autoSave:function(){vartimeSinceLastChange=Date.now()-this.lastChangeTime;if(this.responseChanged()&&timeSinceLastChange>this.AUTO_SAVE_WAIT&&!this.errorOnLastSave){this.save()}},handleResponseChanged:function(){varisBlank=$.trim(this.response())!=="";this.submitEnabled(isBlank);if(this.responseChanged()){this.saveEnabled(isBlank);this.saveStatus(gettext("This response has not been saved."));this.unsavedWarningEnabled(true)}this.lastChangeTime=Date.now()},save:function(){this.errorOnLastSave=false;this.saveStatus(gettext("Saving..."));this.baseView.toggleActionError("save",null);this.unsavedWarningEnabled(false);varview=this;varsavedResponse=this.response();this.server.save(savedResponse).done(function(){view.savedResponse=savedResponse;varcurrentResponse=view.response();view.submitEnabled(currentResponse!=="");if(currentResponse==savedResponse){view.saveEnabled(false);view.saveStatus(gettext("This response has been saved but not submitted."))}}).fail(function(errMsg){view.saveStatus(gettext("Error"));view.baseView.toggleActionError("save",errMsg);view.errorOnLastSave=true})},submit:function(){this.submitEnabled(false);varview=this;varbaseView=this.baseView;this.confirmSubmission().pipe(function(){varsubmission=$("#submission__answer__value",view.element).val();baseView.toggleActionError("response",null);returnview.server.submit(submission)}).done($.proxy(view.moveToNextStep,view)).fail(function(errCode,errMsg){if(errCode=="ENOMULTI"){view.moveToNextStep()}else{if(errMsg){baseView.toggleActionError("submit",errMsg)}view.submitEnabled(true)}})},moveToNextStep:function(){this.load();this.baseView.loadAssessmentModules();this.unsavedWarningEnabled(false)},confirmSubmission:function(){varmsg="You're about to submit your response for this assignment. "+"After you submit this response, you can't change it or submit a new response.";return$.Deferred(function(defer){if(confirm(msg)){defer.resolve()}else{defer.reject()}})},prepareUpload:function(files){this.files=null;this.imageType=files[0].type;if(files[0].size>this.MAX_FILE_SIZE){this.baseView.toggleActionError("upload",gettext("File size must be 5MB or less."))}elseif(this.imageType.substring(0,6)!="image/"){this.baseView.toggleActionError("upload",gettext("File must be an image."))}else{this.baseView.toggleActionError("upload",null);this.files=files}$("#file__upload").toggleClass("is--disabled",this.files===null)},fileUpload:function(){varview=this;varfileUpload=$("#file__upload");fileUpload.addClass("is--disabled");varhandleError=function(errMsg){view.baseView.toggleActionError("upload",errMsg);fileUpload.removeClass("is--disabled")};this.server.getUploadUrl(view.imageType).done(function(url){varimage=view.files[0];view.fileUploader.upload(url,image,view.imageType).done(function(){view.imageUrl();view.baseView.toggleActionError("upload",null)}).fail(handleError)}).fail(handleError)},imageUrl:function(){varview=this;varimage=$("#submission__answer__image",view.element);view.server.getDownloadUrl().done(function(url){image.attr("src",url);returnurl})}};OpenAssessment.Rubric=function(element){this.element=element};OpenAssessment.Rubric.prototype={criterionFeedback:function(criterionFeedback){varselector="textarea.answer__value";varfeedback={};$(selector,this.element).each(function(index,sel){if(typeofcriterionFeedback!=="undefined"){$(sel).val(criterionFeedback[sel.name]);feedback[sel.name]=criterionFeedback[sel.name]}else{feedback[sel.name]=$(sel).val()}});returnfeedback},optionsSelected:function(optionsSelected){varselector="input[type=radio]";if(typeofoptionsSelected==="undefined"){varoptions={};$(selector+":checked",this.element).each(function(index,sel){options[sel.name]=sel.value});returnoptions}else{$(selector,this.element).prop("checked",false);$(selector,this.element).each(function(index,sel){if(optionsSelected.hasOwnProperty(sel.name)){if(sel.value==optionsSelected[sel.name]){$(sel).prop("checked",true)}}})}},canSubmitCallback:function(callback){varrubric=this;callback(rubric.canSubmit());$(this.element).on("change keyup drop paste",function(){callback(rubric.canSubmit())})},canSubmit:function(){varnumChecked=$("input[type=radio]:checked",this.element).length;varnumAvailable=$(".field--radio.assessment__rubric__question.has--options",this.element).length;varcompletedRequiredComments=true;$("textarea[required]",this.element).each(function(){vartrimmedText=$.trim($(this).val());if(trimmedText===""){completedRequiredComments=false}});returnnumChecked==numAvailable&&completedRequiredComments},showCorrections:function(corrections){varselector="input[type=radio]";varhasErrors=false;$(selector,this.element).each(function(index,sel){varlistItem=$(sel).parents(".assessment__rubric__question");if(corrections.hasOwnProperty(sel.name)){hasErrors=true;listItem.find(".message--incorrect").removeClass("is--hidden");listItem.find(".message--correct").addClass("is--hidden")}else{listItem.find(".message--correct").removeClass("is--hidden");listItem.find(".message--incorrect").addClass("is--hidden")}});returnhasErrors}};OpenAssessment.SelfView=function(element,server,baseView){this.element=element;this.server=server;this.baseView=baseView;this.rubric=null};OpenAssessment.SelfView.prototype={load:function(){varview=this;this.server.render("self_assessment").done(function(html){$("#openassessment__self-assessment",view.element).replaceWith(html);view.installHandlers()}).fail(function(errMsg){view.showLoadError("self-assessment")})},installHandlers:function(){varview=this;varsel=$("#openassessment__self-assessment",view.element);this.baseView.setUpCollapseExpand(sel);varrubricSelector=$("#self-assessment--001__assessment",this.element);if(rubricSelector.size()>0){varrubricElement=rubricSelector.get(0);this.rubric=newOpenAssessment.Rubric(rubricElement)}if(this.rubric!==null){this.rubric.canSubmitCallback($.proxy(this.selfSubmitEnabled,this))}sel.find("#self-assessment--001__assessment__submit").click(function(eventObject){eventObject.preventDefault();view.selfAssess()})},selfSubmitEnabled:function(enabled){varbutton=$("#self-assessment--001__assessment__submit",this.element);if(typeofenabled==="undefined"){return!button.hasClass("is--disabled")}else{button.toggleClass("is--disabled",!enabled)}},selfAssess:function(){varview=this;varbaseView=this.baseView;baseView.toggleActionError("self",null);view.selfSubmitEnabled(false);varoptions=this.rubric.optionsSelected();this.server.selfAssess(options).done(function(){baseView.loadAssessmentModules();baseView.scrollToTop()}).fail(function(errMsg){baseView.toggleActionError("self",errMsg);view.selfSubmitEnabled(true)})}};OpenAssessment.StaffInfoView=function(element,server,baseView){this.element=element;this.server=server;this.baseView=baseView};OpenAssessment.StaffInfoView.prototype={load:function(){varview=this;if($("#openassessment__staff-info",view.element).length>0){this.server.render("staff_info").done(function(html){$("#openassessment__staff-info",view.element).replaceWith(html);view.installHandlers()}).fail(function(errMsg){view.baseView.showLoadError("staff_info")})}},loadStudentInfo:function(){varview=this;varsel=$("#openassessment__staff-info",this.element);varstudent_id=sel.find("#openassessment__student_id").val();this.server.studentInfo(student_id).done(function(html){$("#openassessment__student-info",view.element).replaceWith(html)}).fail(function(errMsg){view.showLoadError("student_info")})},installHandlers:function(){varsel=$("#openassessment__staff-info",this.element);varview=this;if(sel.length<=0){return}this.baseView.setUpCollapseExpand(sel,function(){});sel.find("#openassessment_student_info_form").submit(function(eventObject){eventObject.preventDefault();view.loadStudentInfo()});sel.find("#submit_student_id").click(function(eventObject){eventObject.preventDefault();view.loadStudentInfo()});sel.find("#schedule_training").click(function(eventObject){eventObject.preventDefault();view.scheduleTraining()});sel.find("#reschedule_unfinished_tasks").click(function(eventObject){eventObject.preventDefault();view.rescheduleUnfinishedTasks()})},scheduleTraining:function(){varview=this;this.server.scheduleTraining().done(function(msg){$("#schedule_training_message",this.element).text(msg)
if(typeofOpenAssessment=="undefined"||!OpenAssessment){OpenAssessment={}}if(typeofwindow.gettext==="undefined"){window.gettext=function(text){returntext}}OpenAssessment.FileUploader=function(){this.upload=function(url,data,contentType){return$.Deferred(function(defer){$.ajax({url:url,type:"PUT",data:data,async:false,processData:false,contentType:contentType}).done(function(data,textStatus,jqXHR){defer.resolve()}).fail(function(data,textStatus,jqXHR){defer.rejectWith(this,[textStatus])})}).promise()}};if(typeofOpenAssessment.Server=="undefined"||!OpenAssessment.Server){OpenAssessment.Server=function(runtime,element){this.runtime=runtime;this.element=element};OpenAssessment.Server.prototype={url:function(handler){returnthis.runtime.handlerUrl(this.element,handler)},render:function(component){varurl=this.url("render_"+component);return$.Deferred(function(defer){$.ajax({url:url,type:"POST",dataType:"html"}).done(function(data){defer.resolveWith(this,[data])}).fail(function(data){defer.rejectWith(this,[gettext("This section could not be loaded.")])})}).promise()},renderContinuedPeer:function(){varurl=this.url("render_peer_assessment");return$.Deferred(function(defer){$.ajax({url:url,type:"POST",dataType:"html",data:{continue_grading:true}}).done(function(data){defer.resolveWith(this,[data])}).fail(function(data){defer.rejectWith(this,[gettext("This section could not be loaded.")])})}).promise()},studentInfo:function(student_id){varurl=this.url("render_student_info");return$.Deferred(function(defer){$.ajax({url:url,type:"POST",dataType:"html",data:{student_id:student_id}}).done(function(data){defer.resolveWith(this,[data])}).fail(function(data){defer.rejectWith(this,[gettext("This section could not be loaded.")])})}).promise()},submit:function(submission){varurl=this.url("submit");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:JSON.stringify({submission:submission})}).done(function(data){varsuccess=data[0];if(success){varstudentId=data[1];varattemptNum=data[2];defer.resolveWith(this,[studentId,attemptNum])}else{varerrorNum=data[1];varerrorMsg=data[2];defer.rejectWith(this,[errorNum,errorMsg])}}).fail(function(data){defer.rejectWith(this,["AJAX",gettext("This response could not be submitted.")])})}).promise()},save:function(submission){varurl=this.url("save_submission");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:JSON.stringify({submission:submission})}).done(function(data){if(data.success){defer.resolve()}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This response could not be saved.")])})}).promise()},submitFeedbackOnAssessment:function(text,options){varurl=this.url("submit_feedback");varpayload=JSON.stringify({feedback_text:text,feedback_options:options});return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolve()}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This feedback could not be submitted.")])})}).promise()},peerAssess:function(optionsSelected,criterionFeedback,overallFeedback){varurl=this.url("peer_assess");varpayload=JSON.stringify({options_selected:optionsSelected,criterion_feedback:criterionFeedback,overall_feedback:overallFeedback});return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolve()}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This assessment could not be submitted.")])})}).promise()},selfAssess:function(optionsSelected){varurl=this.url("self_assess");varpayload=JSON.stringify({options_selected:optionsSelected});return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolve()}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This assessment could not be submitted.")])})})},trainingAssess:function(optionsSelected){varurl=this.url("training_assess");varpayload=JSON.stringify({options_selected:optionsSelected});return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolveWith(this,[data.corrections])}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This assessment could not be submitted.")])})})},scheduleTraining:function(){varurl=this.url("schedule_training");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:'""'}).done(function(data){if(data.success){defer.resolveWith(this,[data.msg])}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This assessment could not be submitted.")])})})},rescheduleUnfinishedTasks:function(){varurl=this.url("reschedule_unfinished_tasks");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:'""'}).done(function(data){if(data.success){defer.resolveWith(this,[data.msg])}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("One or more rescheduling tasks failed.")])})})},updateEditorContext:function(kwargs){varurl=this.url("update_editor_context");varpayload=JSON.stringify({prompt:kwargs.prompt,feedback_prompt:kwargs.feedbackPrompt,title:kwargs.title,submission_start:kwargs.submissionStart,submission_due:kwargs.submissionDue,criteria:kwargs.criteria,assessments:kwargs.assessments,allow_file_upload:kwargs.imageSubmissionEnabled});return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolve()}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This problem could not be saved.")])})}).promise()},checkReleased:function(){varurl=this.url("check_released");varpayload='""';return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolveWith(this,[data.is_released])}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("The server could not be contacted.")])})}).promise()},getUploadUrl:function(contentType){varurl=this.url("upload_url");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:JSON.stringify({contentType:contentType})}).done(function(data){if(data.success){defer.resolve(data.url)}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("Could not retrieve upload url.")])})}).promise()},getDownloadUrl:function(){varurl=this.url("download_url");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:JSON.stringify({})}).done(function(data){if(data.success){defer.resolve(data.url)}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("Could not retrieve download url.")])})}).promise()}}}if(typeofOpenAssessment=="undefined"||!OpenAssessment){OpenAssessment={}}if(typeofwindow.gettext==="undefined"){window.gettext=function(text){returntext}}OpenAssessment.StudioView=function(runtime,element,server){this.element=element;this.runtime=runtime;this.server=server;this.fixModalHeight();this.initializeTabs();this.promptView=newOpenAssessment.EditPromptView($("#oa_prompt_editor_wrapper",this.element).get(0));varstudentTrainingView=newOpenAssessment.EditStudentTrainingView($("#oa_student_training_editor",this.element).get(0));varpeerAssessmentView=newOpenAssessment.EditPeerAssessmentView($("#oa_peer_assessment_editor",this.element).get(0));varselfAssessmentView=newOpenAssessment.EditSelfAssessmentView($("#oa_self_assessment_editor",this.element).get(0));varexampleBasedAssessmentView=newOpenAssessment.EditExampleBasedAssessmentView($("#oa_ai_assessment_editor",this.element).get(0));varassessmentLookupDictionary={};assessmentLookupDictionary[studentTrainingView.getID()]=studentTrainingView;assessmentLookupDictionary[peerAssessmentView.getID()]=peerAssessmentView;assessmentLookupDictionary[selfAssessmentView.getID()]=selfAssessmentView;assessmentLookupDictionary[exampleBasedAssessmentView.getID()]=exampleBasedAssessmentView;this.settingsView=newOpenAssessment.EditSettingsView($("#oa_basic_settings_editor",this.element).get(0),assessmentLookupDictionary);this.rubricView=newOpenAssessment.EditRubricView($("#oa_rubric_editor_wrapper",this.element).get(0));$(".openassessment_save_button",this.element).click($.proxy(this.save,this));$(".openassessment_cancel_button",this.element).click($.proxy(this.cancel,this));this.initializeSortableAssessments()};OpenAssessment.StudioView.prototype={fixModalHeight:function(){$(this.element).addClass("openassessment_full_height").parentsUntil(".modal-window").addClass("openassessment_full_height");$(this.element).closest(".modal-window").addClass("openassessment_modal_window")},initializeTabs:function(){if(typeofOpenAssessment.lastOpenEditingTab==="undefined"){OpenAssessment.lastOpenEditingTab=0}$(".openassessment_editor_content_and_tabs",this.element).tabs().tabs("option","active",OpenAssessment.lastOpenEditingTab)},saveTabState:function(){vartabElement=$(".openassessment_editor_content_and_tabs",this.element);OpenAssessment.lastOpenEditingTab=tabElement.tabs("option","active")},initializeSortableAssessments:function(){varview=this;$("#openassessment_assessment_module_settings_editors",view.element).sortable({start:function(event,ui){$(".openassessment_assessment_module_editor",view.element).hide();vartargetHeight="auto";ui.placeholder.height(targetHeight);ui.helper.height(targetHeight);$("#openassessment_assessment_module_settings_editors",view.element).sortable("refresh").sortable("refreshPositions")},stop:function(event,ui){$(".openassessment_assessment_module_editor",view.element).show()},snap:true,axis:"y",handle:".drag-handle",cursorAt:{top:20}});$("#openassessment_assessment_module_settings_editors",view.element).disableSelection()},save:function(){varview=this;this.saveTabState();this.server.checkReleased().done(function(isReleased){if(isReleased){view.confirmPostReleaseUpdate($.proxy(view.updateEditorContext,view))}else{view.updateEditorContext()}}).fail(function(errMsg){view.showError(errMsg)})},confirmPostReleaseUpdate:function(onConfirm){varmsg=gettext("This problem has already been released. Any changes will apply only to future assessments.");if(confirm(msg)){onConfirm()}},updateEditorContext:function(){this.runtime.notify("save",{state:"start"});varview=this;this.server.updateEditorContext({prompt:view.promptView.promptText(),feedbackPrompt:view.rubricView.feedbackPrompt(),criteria:view.rubricView.criteriaDefinition(),title:view.settingsView.displayName(),submissionStart:view.settingsView.submissionStart(),submissionDue:view.settingsView.submissionDue(),assessments:view.settingsView.assessmentsDescription(),imageSubmissionEnabled:view.settingsView.imageSubmissionEnabled()}).done(function(){view.runtime.notify("save",{state:"end"})}).fail(function(msg){view.showError(msg)})},cancel:function(){this.saveTabState();this.runtime.notify("cancel",{})},showError:function(errorMsg){this.runtime.notify("error",{msg:errorMsg})}};functionOpenAssessmentEditor(runtime,element){varserver=newOpenAssessment.Server(runtime,element);varview=newOpenAssessment.StudioView(runtime,element,server)}OpenAssessment.EditPeerAssessmentView=function(element){this.element=element;this.name="peer-assessment";newOpenAssessment.ToggleControl(this.element,"#peer_assessment_description_closed","#peer_assessment_settings_editor").install("#include_peer_assessment");this.startDatetimeControl=newOpenAssessment.DatetimeControl(this.element,"#peer_assessment_start_date","#peer_assessment_start_time").install();this.dueDatetimeControl=newOpenAssessment.DatetimeControl(this.element,"#peer_assessment_due_date","#peer_assessment_due_time").install()};OpenAssessment.EditPeerAssessmentView.prototype={description:function(){return{must_grade:this.mustGradeNum(),must_be_graded_by:this.mustBeGradedByNum(),start:this.startDatetime(),due:this.dueDatetime()}},isEnabled:function(isEnabled){varsel=$("#include_peer_assessment",this.element);returnOpenAssessment.Fields.booleanField(sel,isEnabled)},mustGradeNum:function(num){varsel=$("#peer_assessment_must_grade",this.element);returnOpenAssessment.Fields.intField(sel,num)},mustBeGradedByNum:function(num){varsel=$("#peer_assessment_graded_by",this.element);returnOpenAssessment.Fields.intField(sel,num)},startDatetime:function(dateString,timeString){returnthis.startDatetimeControl.datetime(dateString,timeString)},dueDatetime:function(dateString,timeString){returnthis.dueDatetimeControl.datetime(dateString,timeString)},getID:function(){return$(this.element).attr("id")}};OpenAssessment.EditSelfAssessmentView=function(element){this.element=element;this.name="self-assessment";newOpenAssessment.ToggleControl(this.element,"#self_assessment_description_closed","#self_assessment_settings_editor").install("#include_self_assessment");this.startDatetimeControl=newOpenAssessment.DatetimeControl(this.element,"#self_assessment_start_date","#self_assessment_start_time").install();this.dueDatetimeControl=newOpenAssessment.DatetimeControl(this.element,"#self_assessment_due_date","#self_assessment_due_time").install()};OpenAssessment.EditSelfAssessmentView.prototype={description:function(){return{start:this.startDatetime(),due:this.dueDatetime()}},isEnabled:function(isEnabled){varsel=$("#include_self_assessment",this.element);returnOpenAssessment.Fields.booleanField(sel,isEnabled)},startDatetime:function(dateString,timeString){returnthis.startDatetimeControl.datetime(dateString,timeString)},dueDatetime:function(dateString,timeString){returnthis.dueDatetimeControl.datetime(dateString,timeString)},getID:function(){return$(this.element).attr("id")}};OpenAssessment.EditStudentTrainingView=function(element){this.element=element;this.name="student-training";newOpenAssessment.ToggleControl(this.element,"#student_training_description_closed","#student_training_settings_editor").install("#include_student_training")};OpenAssessment.EditStudentTrainingView.prototype={description:function(){return{examples:this.exampleDefinitions()}},isEnabled:function(isEnabled){varsel=$("#include_student_training",this.element);returnOpenAssessment.Fields.booleanField(sel,isEnabled)},exampleDefinitions:function(xml){varsel=$("#student_training_examples",this.element);returnOpenAssessment.Fields.stringField(sel,xml)},getID:function(){return$(this.element).attr("id")}};OpenAssessment.EditExampleBasedAssessmentView=function(element){this.element=element;this.name="example-based-assessment";newOpenAssessment.ToggleControl(this.element,"#ai_assessment_description_closed","#ai_assessment_settings_editor").install("#include_ai_assessment")};OpenAssessment.EditExampleBasedAssessmentView.prototype={description:function(){return{examples:this.exampleDefinitions()}},isEnabled:function(isEnabled){varsel=$("#include_ai_assessment",this.element);returnOpenAssessment.Fields.booleanField(sel,isEnabled)},exampleDefinitions:function(xml){varsel=$("#ai_training_examples",this.element);returnOpenAssessment.Fields.stringField(sel,xml)},getID:function(){return$(this.element).attr("id")}};OpenAssessment.EditTrainingExamples=function(element){this.element=element;this.criteriaContainer=newOpenAssessment.Container(OpenAssessment.TrainingExamples,{containerElement:$("#openassessment_examples_list",this.element).get(0),templateElement:$("#openassessment_example_template",this.element).get(0),addButtonElement:$("#openassessment_training_add_example",this.element).get(0),removeButtonClass:"openassessment_training_remove_button",containerItemClass:"openassessment_example"})};OpenAssessment.EditTrainingExamples.prototype={exampleDefinition:function(){varcriteria=this.criteriaContainer.getItemValues();for(varcriterion_idx=0;criterion_idx<criteria.length;criterion_idx++){varcriterion=criteria[criterion_idx];criterion.order_num=criterion_idx;for(varoption_idx=0;option_idx<criterion.options.length;option_idx++){varoption=criterion.options[option_idx];option.order_num=option_idx}}returncriteria}};OpenAssessment.Fields={stringField:function(sel,value){if(typeofvalue!=="undefined"){sel.val(value)}returnsel.val()},intField:function(sel,value){if(typeofvalue!=="undefined"){sel.val(value)}returnparseInt(sel.val(),10)},booleanField:function(sel,value){if(typeofvalue!=="undefined"){sel.prop("checked",value)}returnsel.prop("checked")}};OpenAssessment.ToggleControl=function(element,hiddenSelector,shownSelector){this.element=element;this.hiddenSelector=hiddenSelector;this.shownSelector=shownSelector};OpenAssessment.ToggleControl.prototype={install:function(checkboxSelector){$(checkboxSelector,this.element).change(this,function(event){varcontrol=event.data;if(this.checked){control.show()}else{control.hide()}});returnthis},show:function(){$(this.hiddenSelector,this.element).addClass("is--hidden");$(this.shownSelector,this.element).removeClass("is--hidden")},hide:function(){$(this.hiddenSelector,this.element).removeClass("is--hidden");$(this.shownSelector,this.element).addClass("is--hidden")}};OpenAssessment.DatetimeControl=function(element,datePicker,timePicker){this.element=element;this.datePicker=datePicker;this.timePicker=timePicker};OpenAssessment.DatetimeControl.prototype={install:function(){vardateString=$(this.datePicker,this.element).val();$(this.datePicker,this.element).datepicker({showButtonPanel:true}).datepicker("option","dateFormat","yy-mm-dd").datepicker("setDate",dateString);$(this.timePicker,this.element).timepicker({timeFormat:"H:i",step:60});returnthis},datetime:function(dateString,timeString){vardatePickerSel=$(this.datePicker,this.element);vartimePickerSel=$(this.timePicker,this.element);if(typeofdateString!=="undefined"){datePickerSel.datepicker("setDate",dateString)}if(typeoftimeString!=="undefined"){timePickerSel.val(timeString)}if(datePickerSel.val()===""&&timePickerSel.val()===""){returnnull}returndatePickerSel.val()+"T"+timePickerSel.val()}};OpenAssessment.EditPromptView=function(element){this.element=element};OpenAssessment.EditPromptView.prototype={promptText:function(text){varsel=$("#openassessment_prompt_editor",this.element);returnOpenAssessment.Fields.stringField(sel,text)}};OpenAssessment.EditRubricView=function(element){this.element=element;this.criteriaContainer=newOpenAssessment.Container(OpenAssessment.RubricCriterion,{containerElement:$("#openassessment_criterion_list",this.element).get(0),templateElement:$("#openassessment_criterion_template",this.element).get(0),addButtonElement:$("#openassessment_rubric_add_criterion",this.element).get(0),removeButtonClass:"openassessment_criterion_remove_button",containerItemClass:"openassessment_criterion"})};OpenAssessment.EditRubricView.prototype={criteriaDefinition:function(){varcriteria=this.criteriaContainer.getItemValues();for(varcriterion_idx=0;criterion_idx<criteria.length;criterion_idx++){varcriterion=criteria[criterion_idx];criterion.order_num=criterion_idx;for(varoption_idx=0;option_idx<criterion.options.length;option_idx++){varoption=criterion.options[option_idx];option.order_num=option_idx}}returncriteria},feedbackPrompt:function(text){varsel=$("#openassessment_rubric_feedback",this.element);returnOpenAssessment.Fields.stringField(sel,text)}};OpenAssessment.EditSettingsView=function(element,assessmentViews){this.settingsElement=element;this.assessmentsElement=$(element).siblings("#openassessment_assessment_module_settings_editors").get(0);this.assessmentViews=assessmentViews;this.startDatetimeControl=newOpenAssessment.DatetimeControl(this.element,"#openassessment_submission_start_date","#openassessment_submission_start_time").install();this.dueDatetimeControl=newOpenAssessment.DatetimeControl(this.element,"#openassessment_submission_due_date","#openassessment_submission_due_time").install()};OpenAssessment.EditSettingsView.prototype={displayName:function(name){varsel=$("#openassessment_title_editor",this.settingsElement);returnOpenAssessment.Fields.stringField(sel,name)},submissionStart:function(dateString,timeString){returnthis.startDatetimeControl.datetime(dateString,timeString)},submissionDue:function(dateString,timeString){returnthis.dueDatetimeControl.datetime(dateString,timeString)},imageSubmissionEnabled:function(isEnabled){varsel=$("#openassessment_submission_image_editor",this.settingsElement);if(typeofisEnabled!=="undefined"){if(isEnabled){sel.val(1)}else{sel.val(0)}}returnsel.val()==1},assessmentsDescription:function(){varassessmentDescList=[];varview=this;$(".openassessment_assessment_module_settings_editor",this.assessmentsElement).each(function(){varasmntView=view.assessmentViews[$(this).attr("id")];if(asmntView.isEnabled()){vardescription=asmntView.description();description["name"]=asmntView.name;assessmentDescList.push(description)}});returnassessmentDescList}};
\ No newline at end of file
if(typeofOpenAssessment=="undefined"||!OpenAssessment){OpenAssessment={}}if(typeofwindow.gettext==="undefined"){window.gettext=function(text){returntext}}OpenAssessment.FileUploader=function(){this.upload=function(url,data,contentType){return$.Deferred(function(defer){$.ajax({url:url,type:"PUT",data:data,async:false,processData:false,contentType:contentType}).done(function(data,textStatus,jqXHR){defer.resolve()}).fail(function(data,textStatus,jqXHR){defer.rejectWith(this,[textStatus])})}).promise()}};if(typeofOpenAssessment.Server=="undefined"||!OpenAssessment.Server){OpenAssessment.Server=function(runtime,element){this.runtime=runtime;this.element=element};OpenAssessment.Server.prototype={url:function(handler){returnthis.runtime.handlerUrl(this.element,handler)},render:function(component){varurl=this.url("render_"+component);return$.Deferred(function(defer){$.ajax({url:url,type:"POST",dataType:"html"}).done(function(data){defer.resolveWith(this,[data])}).fail(function(data){defer.rejectWith(this,[gettext("This section could not be loaded.")])})}).promise()},renderContinuedPeer:function(){varurl=this.url("render_peer_assessment");return$.Deferred(function(defer){$.ajax({url:url,type:"POST",dataType:"html",data:{continue_grading:true}}).done(function(data){defer.resolveWith(this,[data])}).fail(function(data){defer.rejectWith(this,[gettext("This section could not be loaded.")])})}).promise()},studentInfo:function(student_id){varurl=this.url("render_student_info");return$.Deferred(function(defer){$.ajax({url:url,type:"POST",dataType:"html",data:{student_id:student_id}}).done(function(data){defer.resolveWith(this,[data])}).fail(function(data){defer.rejectWith(this,[gettext("This section could not be loaded.")])})}).promise()},submit:function(submission){varurl=this.url("submit");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:JSON.stringify({submission:submission})}).done(function(data){varsuccess=data[0];if(success){varstudentId=data[1];varattemptNum=data[2];defer.resolveWith(this,[studentId,attemptNum])}else{varerrorNum=data[1];varerrorMsg=data[2];defer.rejectWith(this,[errorNum,errorMsg])}}).fail(function(data){defer.rejectWith(this,["AJAX",gettext("This response could not be submitted.")])})}).promise()},save:function(submission){varurl=this.url("save_submission");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:JSON.stringify({submission:submission})}).done(function(data){if(data.success){defer.resolve()}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This response could not be saved.")])})}).promise()},submitFeedbackOnAssessment:function(text,options){varurl=this.url("submit_feedback");varpayload=JSON.stringify({feedback_text:text,feedback_options:options});return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolve()}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This feedback could not be submitted.")])})}).promise()},peerAssess:function(optionsSelected,criterionFeedback,overallFeedback){varurl=this.url("peer_assess");varpayload=JSON.stringify({options_selected:optionsSelected,criterion_feedback:criterionFeedback,overall_feedback:overallFeedback});return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolve()}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This assessment could not be submitted.")])})}).promise()},selfAssess:function(optionsSelected){varurl=this.url("self_assess");varpayload=JSON.stringify({options_selected:optionsSelected});return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolve()}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This assessment could not be submitted.")])})})},trainingAssess:function(optionsSelected){varurl=this.url("training_assess");varpayload=JSON.stringify({options_selected:optionsSelected});return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolveWith(this,[data.corrections])}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This assessment could not be submitted.")])})})},scheduleTraining:function(){varurl=this.url("schedule_training");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:'""'}).done(function(data){if(data.success){defer.resolveWith(this,[data.msg])}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This assessment could not be submitted.")])})})},rescheduleUnfinishedTasks:function(){varurl=this.url("reschedule_unfinished_tasks");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:'""'}).done(function(data){if(data.success){defer.resolveWith(this,[data.msg])}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("One or more rescheduling tasks failed.")])})})},updateEditorContext:function(kwargs){varurl=this.url("update_editor_context");varpayload=JSON.stringify({prompt:kwargs.prompt,feedback_prompt:kwargs.feedbackPrompt,title:kwargs.title,submission_start:kwargs.submissionStart,submission_due:kwargs.submissionDue,criteria:kwargs.criteria,assessments:kwargs.assessments,allow_file_upload:kwargs.imageSubmissionEnabled});return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolve()}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("This problem could not be saved.")])})}).promise()},checkReleased:function(){varurl=this.url("check_released");varpayload='""';return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:payload}).done(function(data){if(data.success){defer.resolveWith(this,[data.is_released])}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("The server could not be contacted.")])})}).promise()},getUploadUrl:function(contentType){varurl=this.url("upload_url");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:JSON.stringify({contentType:contentType})}).done(function(data){if(data.success){defer.resolve(data.url)}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("Could not retrieve upload url.")])})}).promise()},getDownloadUrl:function(){varurl=this.url("download_url");return$.Deferred(function(defer){$.ajax({type:"POST",url:url,data:JSON.stringify({})}).done(function(data){if(data.success){defer.resolve(data.url)}else{defer.rejectWith(this,[data.msg])}}).fail(function(data){defer.rejectWith(this,[gettext("Could not retrieve download url.")])})}).promise()}}}if(typeofOpenAssessment=="undefined"||!OpenAssessment){OpenAssessment={}}if(typeofwindow.gettext==="undefined"){window.gettext=function(text){returntext}}OpenAssessment.StudioView=function(runtime,element,server){this.element=element;this.runtime=runtime;this.server=server;this.fixModalHeight();this.initializeTabs();this.promptView=newOpenAssessment.EditPromptView($("#oa_prompt_editor_wrapper",this.element).get(0));varstudentTrainingView=newOpenAssessment.EditStudentTrainingView($("#oa_student_training_editor",this.element).get(0));varpeerAssessmentView=newOpenAssessment.EditPeerAssessmentView($("#oa_peer_assessment_editor",this.element).get(0));varselfAssessmentView=newOpenAssessment.EditSelfAssessmentView($("#oa_self_assessment_editor",this.element).get(0));varexampleBasedAssessmentView=newOpenAssessment.EditExampleBasedAssessmentView($("#oa_ai_assessment_editor",this.element).get(0));varassessmentLookupDictionary={};assessmentLookupDictionary[studentTrainingView.getID()]=studentTrainingView;assessmentLookupDictionary[peerAssessmentView.getID()]=peerAssessmentView;assessmentLookupDictionary[selfAssessmentView.getID()]=selfAssessmentView;assessmentLookupDictionary[exampleBasedAssessmentView.getID()]=exampleBasedAssessmentView;this.settingsView=newOpenAssessment.EditSettingsView($("#oa_basic_settings_editor",this.element).get(0),assessmentLookupDictionary);this.rubricView=newOpenAssessment.EditRubricView($("#oa_rubric_editor_wrapper",this.element).get(0));$(".openassessment_save_button",this.element).click($.proxy(this.save,this));$(".openassessment_cancel_button",this.element).click($.proxy(this.cancel,this));this.initializeSortableAssessments()};OpenAssessment.StudioView.prototype={fixModalHeight:function(){$(this.element).addClass("openassessment_full_height").parentsUntil(".modal-window").addClass("openassessment_full_height");$(this.element).closest(".modal-window").addClass("openassessment_modal_window")},initializeTabs:function(){if(typeofOpenAssessment.lastOpenEditingTab==="undefined"){OpenAssessment.lastOpenEditingTab=0}$(".openassessment_editor_content_and_tabs",this.element).tabs().tabs("option","active",OpenAssessment.lastOpenEditingTab)},saveTabState:function(){vartabElement=$(".openassessment_editor_content_and_tabs",this.element);OpenAssessment.lastOpenEditingTab=tabElement.tabs("option","active")},initializeSortableAssessments:function(){varview=this;$("#openassessment_assessment_module_settings_editors",view.element).sortable({start:function(event,ui){$(".openassessment_assessment_module_editor",view.element).hide();vartargetHeight="auto";ui.placeholder.height(targetHeight);ui.helper.height(targetHeight);$("#openassessment_assessment_module_settings_editors",view.element).sortable("refresh").sortable("refreshPositions")},stop:function(event,ui){$(".openassessment_assessment_module_editor",view.element).show()},snap:true,axis:"y",handle:".drag-handle",cursorAt:{top:20}});$("#openassessment_assessment_module_settings_editors",view.element).disableSelection()},save:function(){varview=this;this.saveTabState();this.server.checkReleased().done(function(isReleased){if(isReleased){view.confirmPostReleaseUpdate($.proxy(view.updateEditorContext,view))}else{view.updateEditorContext()}}).fail(function(errMsg){view.showError(errMsg)})},confirmPostReleaseUpdate:function(onConfirm){varmsg=gettext("This problem has already been released. Any changes will apply only to future assessments.");if(confirm(msg)){onConfirm()}},updateEditorContext:function(){this.runtime.notify("save",{state:"start"});varview=this;this.server.updateEditorContext({prompt:view.promptView.promptText(),feedbackPrompt:view.rubricView.feedbackPrompt(),criteria:view.rubricView.criteriaDefinition(),title:view.settingsView.displayName(),submissionStart:view.settingsView.submissionStart(),submissionDue:view.settingsView.submissionDue(),assessments:view.settingsView.assessmentsDescription(),imageSubmissionEnabled:view.settingsView.imageSubmissionEnabled()}).done(function(){view.runtime.notify("save",{state:"end"})}).fail(function(msg){view.showError(msg)})},cancel:function(){this.saveTabState();this.runtime.notify("cancel",{})},showError:function(errorMsg){this.runtime.notify("error",{msg:errorMsg})}};functionOpenAssessmentEditor(runtime,element){varserver=newOpenAssessment.Server(runtime,element);varview=newOpenAssessment.StudioView(runtime,element,server)}OpenAssessment.EditPeerAssessmentView=function(element){this.element=element;this.name="peer-assessment";newOpenAssessment.ToggleControl(this.element,"#peer_assessment_description_closed","#peer_assessment_settings_editor").install("#include_peer_assessment");this.startDatetimeControl=newOpenAssessment.DatetimeControl(this.element,"#peer_assessment_start_date","#peer_assessment_start_time").install();this.dueDatetimeControl=newOpenAssessment.DatetimeControl(this.element,"#peer_assessment_due_date","#peer_assessment_due_time").install()};OpenAssessment.EditPeerAssessmentView.prototype={description:function(){return{must_grade:this.mustGradeNum(),must_be_graded_by:this.mustBeGradedByNum(),start:this.startDatetime(),due:this.dueDatetime()}},isEnabled:function(isEnabled){varsel=$("#include_peer_assessment",this.element);returnOpenAssessment.Fields.booleanField(sel,isEnabled)},mustGradeNum:function(num){varsel=$("#peer_assessment_must_grade",this.element);returnOpenAssessment.Fields.intField(sel,num)},mustBeGradedByNum:function(num){varsel=$("#peer_assessment_graded_by",this.element);returnOpenAssessment.Fields.intField(sel,num)},startDatetime:function(dateString,timeString){returnthis.startDatetimeControl.datetime(dateString,timeString)},dueDatetime:function(dateString,timeString){returnthis.dueDatetimeControl.datetime(dateString,timeString)},getID:function(){return$(this.element).attr("id")}};OpenAssessment.EditSelfAssessmentView=function(element){this.element=element;this.name="self-assessment";newOpenAssessment.ToggleControl(this.element,"#self_assessment_description_closed","#self_assessment_settings_editor").install("#include_self_assessment");this.startDatetimeControl=newOpenAssessment.DatetimeControl(this.element,"#self_assessment_start_date","#self_assessment_start_time").install();this.dueDatetimeControl=newOpenAssessment.DatetimeControl(this.element,"#self_assessment_due_date","#self_assessment_due_time").install()};OpenAssessment.EditSelfAssessmentView.prototype={description:function(){return{start:this.startDatetime(),due:this.dueDatetime()}},isEnabled:function(isEnabled){varsel=$("#include_self_assessment",this.element);returnOpenAssessment.Fields.booleanField(sel,isEnabled)},startDatetime:function(dateString,timeString){returnthis.startDatetimeControl.datetime(dateString,timeString)},dueDatetime:function(dateString,timeString){returnthis.dueDatetimeControl.datetime(dateString,timeString)},getID:function(){return$(this.element).attr("id")}};OpenAssessment.EditStudentTrainingView=function(element){this.element=element;this.name="student-training";newOpenAssessment.ToggleControl(this.element,"#student_training_description_closed","#student_training_settings_editor").install("#include_student_training")};OpenAssessment.EditStudentTrainingView.prototype={description:function(){return{examples:this.exampleDefinitions()}},isEnabled:function(isEnabled){varsel=$("#include_student_training",this.element);returnOpenAssessment.Fields.booleanField(sel,isEnabled)},exampleDefinitions:function(xml){varsel=$("#student_training_examples",this.element);returnOpenAssessment.Fields.stringField(sel,xml)},getID:function(){return$(this.element).attr("id")}};OpenAssessment.EditExampleBasedAssessmentView=function(element){this.element=element;this.name="example-based-assessment";newOpenAssessment.ToggleControl(this.element,"#ai_assessment_description_closed","#ai_assessment_settings_editor").install("#include_ai_assessment")};OpenAssessment.EditExampleBasedAssessmentView.prototype={description:function(){return{examples:this.exampleDefinitions()}},isEnabled:function(isEnabled){varsel=$("#include_ai_assessment",this.element);returnOpenAssessment.Fields.booleanField(sel,isEnabled)},exampleDefinitions:function(xml){varsel=$("#ai_training_examples",this.element);returnOpenAssessment.Fields.stringField(sel,xml)},getID:function(){return$(this.element).attr("id")}};OpenAssessment.Fields={stringField:function(sel,value){if(typeofvalue!=="undefined"){sel.val(value)}returnsel.val()},intField:function(sel,value){if(typeofvalue!=="undefined"){sel.val(value)}returnparseInt(sel.val(),10)},booleanField:function(sel,value){if(typeofvalue!=="undefined"){sel.prop("checked",value)}returnsel.prop("checked")}};OpenAssessment.ToggleControl=function(element,hiddenSelector,shownSelector){this.element=element;this.hiddenSelector=hiddenSelector;this.shownSelector=shownSelector};OpenAssessment.ToggleControl.prototype={install:function(checkboxSelector){$(checkboxSelector,this.element).change(this,function(event){varcontrol=event.data;if(this.checked){control.show()}else{control.hide()}});returnthis},show:function(){$(this.hiddenSelector,this.element).addClass("is--hidden");$(this.shownSelector,this.element).removeClass("is--hidden")},hide:function(){$(this.hiddenSelector,this.element).removeClass("is--hidden");$(this.shownSelector,this.element).addClass("is--hidden")}};OpenAssessment.DatetimeControl=function(element,datePicker,timePicker){this.element=element;this.datePicker=datePicker;this.timePicker=timePicker};OpenAssessment.DatetimeControl.prototype={install:function(){vardateString=$(this.datePicker,this.element).val();$(this.datePicker,this.element).datepicker({showButtonPanel:true}).datepicker("option","dateFormat","yy-mm-dd").datepicker("setDate",dateString);$(this.timePicker,this.element).timepicker({timeFormat:"H:i",step:60});returnthis},datetime:function(dateString,timeString){vardatePickerSel=$(this.datePicker,this.element);vartimePickerSel=$(this.timePicker,this.element);if(typeofdateString!=="undefined"){datePickerSel.datepicker("setDate",dateString)}if(typeoftimeString!=="undefined"){timePickerSel.val(timeString)}if(datePickerSel.val()===""&&timePickerSel.val()===""){returnnull}returndatePickerSel.val()+"T"+timePickerSel.val()}};OpenAssessment.EditPromptView=function(element){this.element=element};OpenAssessment.EditPromptView.prototype={promptText:function(text){varsel=$("#openassessment_prompt_editor",this.element);returnOpenAssessment.Fields.stringField(sel,text)}};OpenAssessment.EditRubricView=function(element){this.element=element;this.criteriaContainer=newOpenAssessment.Container(OpenAssessment.RubricCriterion,{containerElement:$("#openassessment_criterion_list",this.element).get(0),templateElement:$("#openassessment_criterion_template",this.element).get(0),addButtonElement:$("#openassessment_rubric_add_criterion",this.element).get(0),removeButtonClass:"openassessment_criterion_remove_button",containerItemClass:"openassessment_criterion"})};OpenAssessment.EditRubricView.prototype={criteriaDefinition:function(){varcriteria=this.criteriaContainer.getItemValues();for(varcriterion_idx=0;criterion_idx<criteria.length;criterion_idx++){varcriterion=criteria[criterion_idx];criterion.order_num=criterion_idx;for(varoption_idx=0;option_idx<criterion.options.length;option_idx++){varoption=criterion.options[option_idx];option.order_num=option_idx}}returncriteria},feedbackPrompt:function(text){varsel=$("#openassessment_rubric_feedback",this.element);returnOpenAssessment.Fields.stringField(sel,text)},removeAllCriteria:function(){varitems=this.criteriaContainer.getAllItems();varview=this;$.each(items,function(){view.criteriaContainer.remove(this)})},addCriterion:function(){this.criteriaContainer.add()},getCriterionItem:function(index){returnthis.criteriaContainer.getItem(index)}};OpenAssessment.EditSettingsView=function(element,assessmentViews){this.settingsElement=element;this.assessmentsElement=$(element).siblings("#openassessment_assessment_module_settings_editors").get(0);this.assessmentViews=assessmentViews;this.startDatetimeControl=newOpenAssessment.DatetimeControl(this.element,"#openassessment_submission_start_date","#openassessment_submission_start_time").install();this.dueDatetimeControl=newOpenAssessment.DatetimeControl(this.element,"#openassessment_submission_due_date","#openassessment_submission_due_time").install()};OpenAssessment.EditSettingsView.prototype={displayName:function(name){varsel=$("#openassessment_title_editor",this.settingsElement);returnOpenAssessment.Fields.stringField(sel,name)},submissionStart:function(dateString,timeString){returnthis.startDatetimeControl.datetime(dateString,timeString)},submissionDue:function(dateString,timeString){returnthis.dueDatetimeControl.datetime(dateString,timeString)},imageSubmissionEnabled:function(isEnabled){varsel=$("#openassessment_submission_image_editor",this.settingsElement);if(typeofisEnabled!=="undefined"){if(isEnabled){sel.val(1)}else{sel.val(0)}}returnsel.val()==1},assessmentsDescription:function(){varassessmentDescList=[];varview=this;$(".openassessment_assessment_module_settings_editor",this.assessmentsElement).each(function(){varasmntView=view.assessmentViews[$(this).attr("id")];if(asmntView.isEnabled()){vardescription=asmntView.description();description["name"]=asmntView.name;assessmentDescList.push(description)}});returnassessmentDescList}};