Fill in the scores per criterion for each student. You can see the student's final score in the last column.
Click 'Publish Assessment' if you are done. Click 'Save as Draft' if you have not finished assessing the activity. You can come back later if you need to make any updates.
Unpublished results will be isolated. That is, they will not be aggregated to other results.
Notes:
If a particular criterion cannot be assessed for a student, select "N/A" (Not Applicable). This will not affect the student's score.
If a particular criterion was assessed but the student did not complete the necessary work, you must select "0". This will affect the student's score.
If a student did not complete any work for this activity, select "0" for all columns in that student's row.
If a student dropped the class, select "N/A" (Not Applicable) for all columns in that student's row.
Cells with "N/A" will not be used to determine whether a criterion is achieved. Only scores from 0 to {{$rubric->max_score}} will be considered for this purpose.
For this activity, at least one score must be from 1-{{$rubric->max_score}}. Otherwise, the 'Publish Assessment' and 'Save as Draft' buttons will be disabled. If you want to delete previously saved scores, go back to the activity and click the "Delete Assessment" button.
Instrucciones:
Seleccione la puntuación por criterio para cada estudiante. Puede ver la puntuación final en la última columna.
Oprima 'Publish Assessment' una vez termine. Si no ha terminado, oprima 'Save as Draft' (guardar como borrador). Puede volver a esta página luego si desea hacer cambios.
Los resultados guardados como borrador estarán asilados. Es decir, no se agregarán a los demás resultados.
Notas:
Si un criterio particular no puede ser evaluado, seleccione "N/A" (No Aplica). Esto no afectará la puntuación final del estudiante.
Si un criterio particular fue evaluado, pero el estudiante no completó el trabajo necesario, debe seleccionar "0". Esto sí afectará la puntuación final del estudiante.
Si un estudiante no completó el trabajo para esta actividad, seleccione "0" en todas las columnas de la fila de ese estudiante.
Si un estudiante se dio de baja, seleccione "N/A" (No Aplica) en todas las columnas de la fila de ese estudiante.
Las celdas con "N/A" no serán utilizadas para determinar si un criterio se alcanzó o no. Solamente las puntuaciones del 0 al {{$rubric->max_score}} serán consideradas.
Para esta actividad, al menos una puntuación deber ser del 1 al {{$rubric->max_score}}. De otra manera, el botón para guardar se desactivará. Si quiere borrar los resultados del avalúo, vuelva a la actividad y oprima el botón que dice "Delete Assessment".
Passing Criteria: {{{ $rubric->expected_percentage }}}% of students must obtain at least {{{$rubric->expected_points}}} points
@foreach ($rubric_criterion as $index => $criterion)
Weight
@endforeach
Student
@foreach ($rubric_criterion as $criterion)
{{ $criterion->name}}
@endforeach
Student Percentage
Student % per Weight
Comments
@if(sizeof($assessments)!=0)
@foreach ($students as $student)
{{{ $student->name }}}
@for ($i = 0; $i
@endfor
@endforeach
@else
@foreach ($students as $student)
id }}>{{{ $student->name }}}
@for ($i = 0; $i
@endfor
@endforeach
@endif
Passed Criteria Percentage
@for ($i = 0; $i%
@endfor
@stop
@section('included-js')
@stop
@section ('javascript')
// --------------------------------------------------------------------------
// Page load
// --------------------------------------------------------------------------
// Enable fixed headers
//$('#assessment-table').stickyTableHeaders();
// Hide spanish instructions by default
$('#spanish-instructions').toggle();
$('.total').each(function(index)
{
percentagePerCriterion(index+1);
});
$('.student-row').each(function(index)
{
percentagePerStudent($(this));
});
// Highlight student names on hover
$('.student-row td').on('mouseover', function()
{
$('.student-field').css(
{
'color': 'black',
});
$(this).siblings('.student-field').css(
{
'color': '#DD0026',
});
});
toggleSaveButton();
// --------------------------------------------------------------------------
// Functions
// --------------------------------------------------------------------------
// Calculate average of students that passed a specific criterion
function percentagePerCriterion(columnIndex)
{
// Object to hold the score sum of each criterion
var sum = 0 ;
var total = 0;
columnIndex+=1;
// Iterate through rows of column
$('table tbody tr td:nth-child('+columnIndex+')').each(function( index )
{
var val = parseInt($(this).children('select').find(':selected').val());
/* If N/A or 0 are chosen, they are ignored in the calculation. */
if(val % 1 === 0)
{
if(val >= parseInt($('#expected_points').text()))
{
sum+=1;
}
total+=1;
}
});
var percentage= (sum/total*100).toFixed(2);
// If no criteria were assessed, set the percentage to 0.
// This is to avoid show NaN%
if(total==0)
{
percentage="N/A";
$('.total:nth-child('+columnIndex+') span.total-value').html(percentage);
$('.total:nth-child('+columnIndex+') span.percent-sign').hide();
}
else
{
$('.total:nth-child('+columnIndex+') span.total-value').html(percentage);
$('.total:nth-child('+columnIndex+') span.percent-sign').show();
}
}
// Calculate total for a specific student
function percentagePerStudent(row)
{
// Object to hold the score student's total score
var sum = 0 ;
var total = 0;
var percentage = 0;
var max_score = parseInt($('#max').val());
sum_of_weight = 0;
per_of_weight =0;
row.find('td.score-field').each(function(index)
{
var val = parseInt($(this).children('select').find(':selected').val());
if(val % 1 === 0) //If number is integer
{
sum += val;
total+=1;
per_of_weight += val * parseInt($('#weight-'+index).val());
sum_of_weight += parseInt($('#weight-'+index).val());
}
});
percentage_per_weight = (100 *(per_of_weight/(max_score*sum_of_weight))).toFixed(2);
percentage =((sum/(total*max_score))*100).toFixed(2);
//If percentage is not a number, set it to 0.
if(isNaN(percentage))
{
percentage="N/A";
row.find('.percentage').html(''+percentage+'');
}
else
{
row.find('.percentage').html(''+percentage+'%');
}
if(isNaN(percentage_per_weight)){
percentage_per_weight="N/A";
row.find('.percentage-per-weight').html(''+percentage_per_weight+'');
}
else{
row.find('.percentage-per-weight').html(''+percentage_per_weight+'%');
}
}
function toggleSaveButton()
{
// Check at least one total criterion percentage is not zero
var all_zeros_criteria = true;
$('.total-value').each(function(index)
{
if(Number($(this).text())>0.00)
all_zeros_criteria = false;
});
// Check at least one total student percentage is not zero
var all_zeros_students = true;
$('.percentage').each(function(index)
{
var value = $(this).text().replace('%', '');
if(Number(value)>0.00)
all_zeros_students = false;
});
if(all_zeros_criteria && all_zeros_students)
{
$('#button-submit-assessment').prop('disabled', true);
$('#button-draft-assessment').prop('disabled', true);
}
else
{
$('#button-submit-assessment').prop('disabled', false);
$('#button-draft-assessment').prop('disabled', false);
}
return;
}
// --------------------------------------------------------------------------
// Events
// --------------------------------------------------------------------------
$('input[name="weight[]"]').on('change', function(e){
$('.student-row').each(function(index)
{
percentagePerStudent($(this));
});
});
// When any score changes, calculate percentages
$('select').on('change', function(e)
{
percentagePerCriterion($(this).parent().index());
percentagePerStudent($(this).closest('tr'));
toggleSaveButton();
});
//LA LINEA DONDE VA, 410
// Submit button is clicked
// Language button is clicked
$('#button-language').on('click', function(e)
{
$('#english-instructions').stop().toggle();
$('#spanish-instructions').stop().toggle();
});
// Criterion name is clicked
$('.criterion-field').on('click', function()
{
$.ajax({
type: 'POST',
url: "{{ URL::action('RubricsController@fetchRubricCriterion') }}",
data: {
criterion_id: $(this).data('criterion-id')
},
success: function(data)
{
data = JSON.parse(data);
$('.modal-title').html(data.criteria.name);
descriptions = '';
$('.modal-body tbody tr').empty();
for(i =0; i<{{$rubric->num_scales}}; i++){
descriptions += '