@extends('layouts.master') @section('navigation') @if(Auth::user()->role==1) @include('local.managers.admins._navigation') @elseif(Auth::user()->role==2) @include('local.managers.sCoords._navigation') @elseif(Auth::user()->role==3) @include('local.managers.pCoords._navigation') @endif @stop @section('main') <div class="row"> <div class="col-md-3"> <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true"> <!-- Form to add a new Learning Outcome --> <!-- <div class="panel panel-default"> <div class="panel-heading"> New Learning Outcome </div> <div class="panel-body"> {{ Form::open(array('action' => 'OutcomesController@create')) }} <div class="form-group"> {{ Form::label('name', 'Name') }} {{ Form::text('name', '', array('class' => 'form-control')) }} </div> <div class="form-group"> {{ Form::label('definition', 'Definition') }} {{ Form::textarea('definition', '', array('class' => 'form-control', 'rows'=>2)) }} </div> {{ Form::submit('Submit', array('class' => 'btn btn-primary btn-block')) }} {{ Form::close() }} </div> </div> --> <!-- Form to add a new criterion --> <div class="panel panel-default panel-button"> <div class="panel-heading"> Create </div> <div class="panel-body"> {{ Form::open(array('action' => 'CriteriaController@create')) }} <div class="form-group"> {{ Form::label('outcome_id', 'Associated Learning Outcome') }} <select name="outcome_id" class="form-control"> @foreach ($outcomes as $outcome) <option value="{{ $outcome->id }}">{{ $outcome->name }}</option> @endforeach </select> </div> <div class="form-group"> {{ Form::label('name', 'Name') }} {{ Form::text('name', '', array('class' => 'form-control')) }} </div> <div class="form-group"> {{ Form::label('description12', 'Beginning (1-2)') }} {{ Form::textarea('description12', '', array('class' => 'form-control', 'rows'=>2)) }} </div> <div class="form-group"> {{ Form::label('description34', 'In Progress (3-4)') }} {{ Form::textarea('description34', '', array('class' => 'form-control', 'rows'=>2)) }} </div> <div class="form-group"> {{ Form::label('description56', 'Satisfactory (5-6)') }} {{ Form::textarea('description56', '', array('class' => 'form-control', 'rows'=>2)) }} </div> <div class="form-group"> {{ Form::label('description78', 'Excellent (7-8)') }} {{ Form::textarea('description78', '', array('class' => 'form-control', 'rows'=>2)) }} </div> {{ Form::submit('Create', array('class' => 'btn btn-primary btn-block')) }} {{ Form::close() }} </div> </div> <div class="panel panel-default panel-button"> <div class="panel-heading"> Edit </div> <div class="panel-body"> {{ Form::open(array('action' => 'CriteriaController@update')) }} <div class="form-group"> {{ Form::label('criterion_id', 'Criterion') }} <select id="select-criterion" name="id" class="form-control"> @foreach ($criteria as $criterion) <option value="{{ $criterion->id }}">{{ $criterion->name }}</option> @endforeach </select> </div> <div class="form-group"> {{ Form::label('assoc_outcome_id', 'Associated Learning Outcome') }} <select id="assoc_outcome_id" name="outcome_id" class="form-control"> @foreach ($outcomes as $outcome) <option value="{{ $outcome->id }}">{{ $outcome->name }}</option> @endforeach </select> </div> <div class="form-group"> {{ Form::label('name', 'Name') }} {{ Form::text('name', Input::old('name'), array('class' => 'form-control', 'id'=>'criterion_name')) }} </div> <div class="form-group"> {{ Form::label('description12', 'Beginning (1-2)') }} {{ Form::textarea('description12', Input::old('description12'), array('class' => 'form-control', 'rows'=>2, 'id'=>'criterion_description12')) }} </div> <div class="form-group"> {{ Form::label('description34', 'In Progress (3-4)') }} {{ Form::textarea('description34', Input::old('description34'), array('class' => 'form-control', 'rows'=>2, 'id'=>'criterion_description34')) }} </div> <div class="form-group"> {{ Form::label('description56', 'Satisfactory (5-6)') }} {{ Form::textarea('description56', Input::old('description56'), array('class' => 'form-control', 'rows'=>2, 'id'=>'criterion_description56')) }} </div> <div class="form-group"> {{ Form::label('description78', 'Excellent (7-8)') }} {{ Form::textarea('description78', Input::old('description78'), array('class' => 'form-control', 'rows'=>2, 'id'=>'criterion_description78')) }} </div> {{ Form::submit('Update', array('class' => 'btn btn-primary btn-block')) }} {{ Form::close() }} </div> </div> <div class="panel panel-default panel-button"> <div class="panel-heading"> Change Status </div> <div class="panel-body"> <p>Use this form to deactivate or reactivate criteria. Inactive criteria will stay in the system, but will not be available to use in new rubrics.</p> {{ Form::open(array('action' => 'CriteriaController@destroy', 'method'=>'delete')) }} <div class="form-group"> {{ Form::label('criterion_id', 'Criterion') }} <select id="select-criterion-with-status" name="id" class="form-control"> @foreach ($criteria as $criterion) <option data-status="{{ $criterion->trashed() }}" value="{{ $criterion->id }}">{{ $criterion->name }}</option> @endforeach </select> </div> <div class="form-group"> {{ Form::label('status', 'Status') }} <p name="status" id="status" class="form-control-static"></p> </div> {{ Form::submit('Change', array('class' => 'btn btn-primary btn-block')) }} {{ Form::close() }} </div> </div> <!-- Form to edit a Learning Outcome --> <!-- <div class="panel panel-default"> <div class="panel-heading"> Edit a Learning Outcome </div> <div class="panel-body"> {{ Form::open(array('action' => 'OutcomesController@update')) }} <div class="form-group"> {{ Form::label('outcome_id', 'Learning Outcome') }} <select id="select-outcome" name="id" class="form-control"> @foreach ($outcomes as $outcome) <option value="{{ $outcome->id }}">{{ $outcome->name }}</option> @endforeach </select> </div> <div class="form-group"> {{ Form::label('name', 'Name') }} {{ Form::text('name', Input::old('name'), array('class' => 'form-control', 'id'=>'outcome_name')) }} </div> <div class="form-group"> {{ Form::label('definition', 'Definition') }} {{ Form::textarea('definition', Input::old('definition'), array('class' => 'form-control', 'rows'=>2, 'id'=>'outcome_definition')) }} </div> {{ Form::submit('Update', array('class' => 'btn btn-primary btn-block')) }} {{ Form::close() }} </div> </div> --> </div> <ul class="list-group"> @foreach ($outcomes as $outcome) <li data-outcome-id="{{ $outcome->id }}"class="list-group-item">{{ $outcome->name }}</li> @endforeach </ul> </div> <div class="col-md-9"> <div id="outcome-display" class="panel panel-default"> <div class="panel-heading"> <div class="panel-title"></div> </h4> </div> <div class="panel-body"> <p class="outcome-definition"></p> <table class="table table-striped table-condensed"> <thead><tr><th>Criterion</th><th>Beginning (1-2)</th><th>In Progress (3-4)</th><th>Satisfactory (5-6)</th><th>Excellent (7-8)</th></tr></thead> <tbody> </tbody> </table> </div> </div> </div> <div class="col-md-9"> <div class="no-outcome alert alert-info"> <p>Select a Learning Outcome to view its criteria.</p> </div> </div> </div> @stop @section('javascript') // -------------------------------------------------------------------------- // Page load // -------------------------------------------------------------------------- // Hide accordion panel contents by default $('.panel-group .panel-body').hide(); $('#outcome-display').parent().hide(); fetchOutcomeForEditing(); fetchCriterionForEditing(); setCriterionStatus(); // -------------------------------------------------------------------------- // Functions // -------------------------------------------------------------------------- // Fetch outcome info for editing function fetchOutcomeForEditing() { var id = $('#select-outcome').find(':selected').val(); $.post( "{{ URL::action('OutcomesController@fetchOutcome') }}", { id: id }, function(json) { var name = json.outcome.name; var definition = json.outcome.definition; //Display title and definition $('#outcome_name').val(name); $('#outcome_definition').text(definition); }, 'json' ); } // Fetch criterion info for editing function fetchCriterionForEditing() { var id = $('#select-criterion').find(':selected').val(); $.post( "{{ URL::action('CriteriaController@fetchCriterionWithTrashed') }}", { id: id }, function(json) { var name = json.name; var description12 = json.description12; var description34 = json.description34; var description56 = json.description56; var description78 = json.description78; // Display title and definition $('#criterion_name').val(name); $('#criterion_description12').text(description12); $('#criterion_description34').text(description34); $('#criterion_description56').text(description56); $('#criterion_description78').text(description78); // Select associated outcome $('#assoc_outcome_id').val(json.outcome_id); }, 'json' ); } // Set criterion status function setCriterionStatus() { $('#select-criterion-with-status').find(':selected').data('status') switch($('#select-criterion-with-status').find(':selected').data('status')) { case 1: $('#status').text('Inactive'); break; default: $('#status').text('Active'); break; } } // -------------------------------------------------------------------------- // Events // -------------------------------------------------------------------------- // When panel heading is clicked, toggle it $('.panel-group .panel-heading').on('click', function() { $(this).next().stop().slideToggle(); }) // When list item is clicked, load corresponding info $('.list-group-item').on('click', function() { var id = $(this).data('outcome-id'); $.post( "{{ URL::action('OutcomesController@fetchOutcome') }}", { id: id }, function(json) { var name = json.outcome.name; var definition = json.outcome.definition; var criteria =json.outcome.criteria; var deleted = json.outcome.deleted_at; $('#outcome-display').parent().show(); $('.no-outcome').parent().hide(); //Display title and definition $('#outcome-display .panel-title').html(name); $('#outcome-display .outcome-definition').html(definition); //Empty table body $('tbody').empty(); if(criteria.length>0) { $('table').show(); $.each(criteria, function(index, value) { $('tbody').append('<tr><td >'+value.name+'</td><td >'+value.description12+'</td><td >'+value.description34+'</td><td >'+value.description56+'</td><td >'+value.description78+'</td></tr>'); }); } else { $('table').hide(); } }, 'json' ); }); // When list item is clicked, load corresponding info $('#select-outcome').on('change', function() { fetchOutcomeForEditing(); }); // When list item is clicked, load corresponding info $('#select-criterion').on('change', function() { fetchCriterionForEditing(); }); // When list item is clicked, load corresponding info $('#select-criterion-with-status').on('change', function() { setCriterionStatus(); }); @stop