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();$(".openassessment_editor_content_and_tabs",this.element).tabs();this.promptView=newOpenAssessment.EditPromptView($("#oa_prompt_editor_wrapper",this.element).get(0));this.settingsView=newOpenAssessment.EditSettingsView($("#oa_basic_settings_editor",this.element).get(0),[newOpenAssessment.EditPeerAssessmentView($("#oa_peer_assessment_editor",this.element).get(0)),newOpenAssessment.EditSelfAssessmentView($("#oa_self_assessment_editor",this.element).get(0)),newOpenAssessment.EditStudentTrainingView($("#oa_student_training_editor",this.element).get(0)),newOpenAssessment.EditExampleBasedAssessmentView($("#oa_ai_assessment_editor",this.element).get(0))]);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))};OpenAssessment.StudioView.prototype={fixModalHeight:function(){$(this.element).toggleClass("openassessment_full_height",true).parentsUntil(".modal-window").toggleClass("openassessment_full_height",true);$(this.element).closest(".modal-window").toggleClass("openassessment_modal_window",true)},save:function(){varview=this;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()}).done(function(){view.runtime.notify("save",{state:"end"})}).fail(function(msg){view.showError(msg)})},cancel:function(){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.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).fadeOut("fast");$(this.shownSelector,this.element).fadeIn()},hide:function(){$(this.hiddenSelector,this.element).fadeIn();$(this.shownSelector,this.element).fadeOut()}};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")};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(datetime){varsel=$("#peer_assessment_start_date",this.element);returnOpenAssessment.Fields.datetimeField(sel,datetime)},dueDatetime:function(datetime){varsel=$("#peer_assessment_due_date",this.element);returnOpenAssessment.Fields.datetimeField(sel,datetime)}};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")};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(datetime){varsel=$("#self_assessment_start_date",this.element);returnOpenAssessment.Fields.datetimeField(sel,datetime)},dueDatetime:function(datetime){varsel=$("#self_assessment_due_date",this.element);returnOpenAssessment.Fields.datetimeField(sel,datetime)}};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)}};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)}};OpenAssessment.Fields={stringField:function(sel,value){if(typeofvalue!=="undefined"){sel.val(value)}returnsel.val()},datetimeField:function(sel,value){if(typeofvalue!=="undefined"){sel.val(value)}varfieldValue=sel.val();returnfieldValue!==""?fieldValue:null},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.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_rubric_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.element=element;this.assessmentViews=assessmentViews};OpenAssessment.EditSettingsView.prototype={displayName:function(name){varsel=$("#openassessment_title_editor",this.element);returnOpenAssessment.Fields.stringField(sel,name)},submissionStart:function(datetime){varsel=$("#openassessment_submission_start_editor",this.element);returnOpenAssessment.Fields.datetimeField(sel,datetime)},submissionDue:function(datetime){varsel=$("#openassessment_submission_start_editor",this.element);returnOpenAssessment.Fields.datetimeField(sel,datetime)},imageSubmissionEnabled:function(isEnabled){varsel=$("#openassessment_submission_image_editor",this.element);if(typeofisEnabled!=="undefined"){if(isEnabled){sel.val(1)}else{sel.val(0)}}returnsel.val()==1},assessmentsDescription:function(){assessmentDescList=[];for(varidxinthis.assessmentViews){varasmntView=this.assessmentViews[idx];if(asmntView.isEnabled()){vardescription=asmntView.description();description["name"]=asmntView.name;assessmentDescList.push(description)}}returnassessmentDescList}};