@extends('layouts.master') @section('css') {{ HTML::style('vendor/jquery-ui-1.11.4.custom/jquery-ui.min.css') }} {{ HTML::style('vendor/jquery-ui-1.11.4.custom/jquery-ui.theme.min.css') }} @stop @section('navigation') @if($role==1) @include('local.managers.admins._navigation') @elseif($role==2) @include('local.managers.sCoords._navigation') @elseif($role==3) @include('local.managers.pCoords._navigation') @else @include('local.professors._navigation') @endif @stop @section('main') <!-- Edit Activity --> <div class="modal fade" id="modal-edit-activity"> <div class="modal-dialog modal-sm"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title">Edit Activity</h4> </div> <div class="modal-body"> {{ Form::open(array('action' => array('ActivitiesController@update', $activity->id))) }} <div class="form-group"> {{ Form::label('name', 'Name') }} {{ Form::text('name', $activity->name, array('class' => 'form-control')) }} </div> <div class="form-group"> {{ Form::label('description', 'Description') }} {{ Form::textarea('description', $activity->description, array('class' => 'form-control', 'rows'=> 4, 'placeholder'=>'Minimum 10 characters')) }} </div> <div class="form-group"> {{ Form::label('date', 'Date') }} {{ Form::text('date', $activity->date, array('id'=>'date', 'class' => 'form-control', 'maxLength'=>10)) }} </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <input class="btn btn-primary" name="update_activity_information" value="Save" type="submit"/> {{ Form::close() }} </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <!-- Edit Transforming Actions --> <div class="modal fade" id="modal-edit-transforming-actions"> <div class="modal-dialog modal-sm"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title">Edit Transforming Actions</h4> </div> <div class="modal-body"> {{ Form::open(array('action' => array('TransformativeActionsController@postActivityCriterion', $activity->id))) }} <p>A Transforming Action is the educational action to be taken to address the criteria of an unachieved Learning Outcome.</p> <p>Una acción transformadora es una acción educativa a tomarse para atender el o los criterios de un dominio dado que no se alcanzaron.</p> <h5>Choose criteria for the transforming action <br> Escoge los criterion para la acción transformadora</h5> <div class="form-group"> {{ Form::label('select-activity-criterion', 'Criteria')}} <select id='select-activity-criterion' name = "trans_act[]"data-count = "1" class="form-control selectpicker" > @foreach ($activity_criterion as $ac) <option value='{{$ac->id}}' selected>{{$ac->name}}</option> @endforeach </select> </div> <button id='button-add-activity-criterion' class='btn btn-md btn-secondary'> <span class='glyphicon glyphicon-plus'> </span> Add another Criteria </button> <hr> <div class ="form-group"> {{ Form::label('name_trans', 'Name of Transforming Actions')}} {{ Form::text('name_trans', '', array('class' => 'form-control')) }} </div> <div class="form-group"> {{ Form::label('transforming_actions', 'Transforming Actions') }} {{ Form::textarea('transforming_actions', $activity->transforming_actions, array('class' => 'form-control', 'rows'=> 4, 'placeholder'=>'Actions to improve student performance after assessment (optional)')) }} </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <input class="btn btn-primary" name="update_transforming_actions" value="Save" type="submit"/> {{ Form::close() }} </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <!-- Edit Transforming Actions --> <div class="modal fade" id="modal-edit-assessment-comments"> <div class="modal-dialog modal-sm"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title">Edit Assessment Comments</h4> </div> <div class="modal-body"> {{ Form::open(array('action' => array('ActivitiesController@update', $activity->id))) }} <p>Write any additional comments about this activity.</p> <p>Escriba cualquier comentario adicional sobre esta actividad.</p> <div class="form-group"> {{ Form::label('assessment_comments', 'Assessment Comments') }} {{ Form::textarea('assessment_comments', $activity->assessment_comments, array('class' => 'form-control', 'rows'=> 4, 'placeholder'=>'(optional)')) }} </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <input class="btn btn-primary" name="update_assessment_comments" value="Save" type="submit"/> {{ Form::close() }} </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <!-- Delete Activity Modal --> <div class="modal fade" id="modal-confirm-delete-activity"> <div class="modal-dialog modal-sm"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title">Delete Activity</h4> </div> <div class="modal-body"> <p>Deleting this activity will also delete any related assessment data. Do you want to continue?</p> </div> <div class="modal-footer"> <!-- Confirm deletion (must use form, because Laravel needs to use the DELETE method) --> {{ Form::open(array('action' => array('ActivitiesController@destroy', $activity->id), 'method'=>'delete')) }} <button type="button" class="btn btn-default" data-dismiss="modal">No</button> <button class="btn btn-primary" type="submit">Delete</button> {{ Form::close() }} </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <!-- Delete Assessment Modal --> <div class="modal fade" id="modal-confirm-delete-assessment"> <div class="modal-dialog modal-sm"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title">Delete Assessment</h4> </div> <div class="modal-body"> <p>Are you sure you want to delete the assessment results?</p> </div> <div class="modal-footer"> <!-- Confirm deletion (must use form, because Laravel needs to use the DELETE method) --> {{ Form::open(array('action' => array('ActivitiesController@deleteAssessment'))) }} <button type="button" class="btn btn-default" data-dismiss="modal">No</button> <input type="hidden" id="id" name="id" value="{{ $activity->id }}"> <button class="btn btn-primary" type="submit">Delete</button> {{ Form::close() }} </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <div class="row"> <div class="col-md-9" id="graph"></div> <div class="col-md-3"> <div class="btn-group-vertical btn-block" role="group" aria-label="..."> <!-- If semester is active, allow users to delete the activity --> @if (in_array($course->semester->id, $active_semesters)) <button class="btn btn-primary btn-sm btn-block" btn-block data-toggle="modal" data-target="#modal-edit-activity">Edit Activity Information</button> @endif <!-- If no rubric is assigned and the semester is active --> @if(count($activity->rubric) == 0 && in_array($course->semester->id, $active_semesters)) {{ HTML::linkAction('RubricsController@newRubric', 'Assign Rubric', array($activity->id), array('class'=>'btn btn-primary btn-sm btn-block')) }} {{ HTML::linkAction('RubricsController@newOtherMethod', 'Assign Other Assessment Method', array($activity->id), array('class'=>'btn btn-primary btn-sm btn-block')) }} @else {{ HTML::linkAction('RubricsController@show', 'View Rubric', array($activity->id), array('class'=>'btn btn-primary btn-sm btn-block')) }} <!-- If semester is active, allow users to change rubrics --> @if (in_array($course->semester->id, $active_semesters)) {{ HTML::linkAction('RubricsController@newRubric', 'Change Rubric', array($activity->id), array('class'=>'btn btn-primary btn-sm btn-block')) }} @endif <!-- If there is no assessment and the semester is active --> @if($activity->o_att_array == NULL && in_array($course->semester->id, $active_semesters)) {{ HTML::linkAction('ActivitiesController@assess', 'Assess', array($activity->id), array('class'=>'btn btn-primary btn-sm btn-block')) }} @else {{ HTML::linkAction('ActivitiesController@viewAssessment', 'View Assessment Sheet', array($activity->id), array('class'=>'btn btn-primary btn-sm btn-block')) }} <!-- If semester is active, allow users to edit assessments --> @if (in_array($course->semester->id, $active_semesters)) {{ HTML::linkAction('ActivitiesController@assess', 'Edit Assessment', array($activity->id), array('class'=>'btn btn-primary btn-sm btn-block')) }} <button class="btn btn-primary btn-sm btn-block" btn-block data-toggle="modal" data-target="#modal-confirm-delete-assessment">Delete Assessment</button> <button class="btn btn-primary btn-sm btn-block" btn-block data-toggle="modal" data-target="#modal-edit-transforming-actions">Transforming Actions</button> <button class="btn btn-primary btn-sm btn-block" btn-block data-toggle="modal" data-target="#modal-edit-assessment-comments">Assessment Comments</button> @endif @endif @endif <!-- If semester is active, allow users to delete the activity --> @if (in_array($course->semester->id, $active_semesters)) <button class="btn btn-primary btn-sm btn-block" btn-block data-toggle="modal" data-target="#modal-confirm-delete-activity">Delete Activity</button> @endif {{ HTML::linkAction('CoursesController@show', 'Back to Section', array($course->id), array('class'=>'btn btn-primary btn-sm btn-block')) }} </div> <hr> <h5>Description</h5> <p>{{ $activity->description }}</p> @if($activity->transforming_actions != NULL) <hr> <h5>Transforming Actions</h5> {{{ $activity->transforming_actions }}} @endif @if($activity->assessment_comments != NULL) <hr> <h5>Assessment Comments</h5> {{{ $activity->assessment_comments }}} @endif </div> </div> <div class="row"> <div class="col-md-12" id="criteriaGraph"></div> </div> <script> $('#button-add-activity-criterion').on('click', function(e){ e.preventDefault(); options = $('#select-activity-criterion').html(); counter = $('#select-activity-criterion').data('count'); var div = $('<div/>', { 'id': "selectFor"+counter }); var divForSelect = $('<div/>', { 'class':'col-12 form-group' }); var select = $('<select/>', { 'class':'selectpicker', 'name': 'trans_act[]', }) var $button = $('<button/>', { 'type': 'button', 'class': 'btn btn-primary', 'onclick': '$(this).parent().parent().remove();$("#button-add-activity-criterion").show(); ' }).html('X'); divForSelect.append(select); divForSelect.append($button); div.append(divForSelect); $('#select-activity-criterion').parent().parent().after(div); select.html(options); refreshSelects(); countSelects = $('.selectpicker').length; countOptions = $('#select-activity-criterion option').length; if(countOptions == countSelects){ $('#button-add-activity-criterion').hide(); } }); function refreshSelects(){ $('.selectpicker').each(function(){ $(this).selectpicker('refresh'); }); } $(document).ready(function(){ if({{count($transformative_actions)}}){ var trans_actions = {{json_encode($transformative_actions)}}; //$('#select-activity-criterion').val(trans_actions[0].activity_id); $('#name_trans').val(trans_actions[0].at_text); $('#transforming_actions').val(trans_actions[0].description); refreshSelects(); for(index in trans_actions){ if(index==0) continue; $('#button-add-activity-criterion').click(); } $('.selectpicker').each(function(index){ $(this).val(trans_actions[index].activity_criterion_id); }); refreshSelects(); } }); </script> @stop @section('included-js') <!-- HighCharts --> <script src="{{ asset('vendor/highcharts/highcharts.js') }}"></script> <!--script src="http://code.highcharts.com/modules/exporting.js"></script --> <!-- Datepicker --> <script src="{{ asset('vendor/jquery-ui-1.11.4.custom/jquery-ui.min.js') }}"></script> @stop @section('javascript') $(function () { $('#date').datepicker({ dateFormat: "yy-mm-dd" }); $('#criteriaGraph').highcharts({ chart: { type: 'bar', height: {{{ count($activity->criteria_achieved() )*22+225 }}}, }, title: { text: 'Criteria Achievement', }, xAxis: { categories: [ @if($activity->cap_array!=NULL) @foreach($activity->criteria_achieved() as $id=>$value) "{{{ Criterion::withTrashed()->find($id)->name }}}", @endforeach @endif ], labels: { style: { fontSize:'12px' }, step:1, useHTML:true, formatter: function() { return '<div style="width:200px; word-break:break; text-overflow:ellipsis; overflow:hidden;">'+this.value+'</div>'; }, } }, yAxis: { min: 0, max: 100, title: { text: 'Percentage' }, @if(isset($activity->rubric[0]->expected_percentage) ) plotLines:[{ value:{{ $activity->rubric[0]->expected_percentage }}, color: '#000', width:3, zIndex:4, label:{ text: 'Goal ({{ $activity->rubric[0]->expected_percentage }}%)', style: { color: '#000', fontSize: '14px', } } }] @endif }, tooltip: { headerFormat: '<span style="font-size:10px">{point.key}</span><table>', pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' + '<td style="padding:0"><b>{point.y:.2f}%</b></td></tr>', footerFormat: '</table>', shared: true, useHTML: true }, plotOptions: { bar: { //grouping: false, shadow: false, borderWidth: 0, }, series: { pointPadding: 0, groupPadding: 0.1 }, }, series: [{ type:'column', name: 'Passed', color: '#e70033', dataLabels: { enabled: true, fontSize: 8, color: '#fff', align: 'right', format: '{y:.1f}%', style: { //fontWeight: 'bold' }, y:-1 }, data:[ @if($activity->cap_array!=NULL) @foreach($activity->cap_array as $id=>$crit) //This conditional is to ignore criteria that weren't assessed. These would have a value of null. @if($crit->score_percentage) {{{ $crit->score_percentage }}}, @else 0, @endif @endforeach @endif ], pointPadding: 0, } ] }); $('#graph').highcharts({ chart: { type: 'bar', }, title: { text: 'Performance by Learning Outcome Criteria in {{ $title }}' }, xAxis: { categories: [ @foreach($outcomes as $outcome) "{{{ $outcome->name }}}", @endforeach ], labels: { style: { fontSize:'11px' }, step:1, useHTML:true, formatter: function() { return '<div style="width:200px; word-break:break; text-overflow:ellipsis; overflow:hidden;">'+this.value+'</div>'; }, } }, yAxis: { min: 0, max: 100, title: { text: 'Percentage' } }, tooltip: { headerFormat: '<span style="font-size:10px">{point.key}</span><table>', pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' + '<td style="padding:0"><b>{point.y:.2f}</b></td></tr>', footerFormat: '</table>', shared: true, useHTML: true }, plotOptions: { bar: { //grouping: false, shadow: false, borderWidth: 0, }, series: { pointPadding: 0, groupPadding: 0.075 }, }, series: [{ name: 'Obtained Value', color: '#e70033', dataLabels: { enabled: true, fontSize: 8, color: '#fff', align: 'right', format: '{y:.1f}%', style: { //fontWeight: 'bold' }, y:-1 }, data:[ @foreach($outcomes as $index => $outcome) @if( is_array($outcomes_attempted) && array_key_exists($outcome->id, $outcomes_attempted) && $outcomes_attempted[$outcome->id]!=0) {{{ ($outcomes_achieved[$outcome->id]/$outcomes_attempted[$outcome->id])*100 }}}, @else 0, @endif @endforeach ], pointPadding: 0, }, { name: 'Expected Value', color: '#555555', dataLabels: { enabled: true, fontSize: 8, color: '#fff', align: 'right', format: '{y:.1f}%', style: { //fontWeight: 'bold' }, y:-1 }, data: [ @foreach($outcomes as $index => $outcome) @if( is_array($outcomes_attempted) && array_key_exists($outcome->id, $outcomes_attempted) && $outcomes_attempted[$outcome->id]!=0) {{{ $outcome->expected_outcome }}}, @else 0, @endif @endforeach ], pointPadding: 0, }] }); var chart = $('#graph').highcharts(); var titletext = $('#graph').highcharts().options.title.text; var newtitletext = titletext.replace("'", "\'"); chart.setTitle({text: newtitletext}); // Include dummy graph for outcomes @include('global.dummy-outcomes') }); @stop