No Description

compare_activities.blade.php 31KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024
  1. @extends('layouts.master')
  2. @section('css')
  3. {{ HTML::style('vendor/jquery-ui-1.11.4.custom/jquery-ui.min.css') }}
  4. {{ HTML::style('vendor/jquery-ui-1.11.4.custom/jquery-ui.theme.min.css') }}
  5. @stop
  6. @section('navigation')
  7. @if ($role == 1)
  8. @include('local.managers.admins._navigation')
  9. @elseif($role == 2)
  10. @include('local.managers.sCoords._navigation')
  11. @elseif($role == 3)
  12. @include('local.managers.pCoords._navigation')
  13. @else
  14. @include('local.professors._navigation')
  15. @endif
  16. @stop
  17. @section('main')
  18. <div class="row">
  19. <ul id='levelTabs' class="nav nav-tabs" role="tablist">
  20. <!-- For each grouped course -->
  21. <li role="presentation" class='first'>
  22. <a data-toggle="tab" href="#activity_1"
  23. role="tab">{{ strlen($activity_1->name) > 50 ? substr($activity_1->name, 0, 50) . '...' : $activity_1->name }}</a>
  24. </li>
  25. <li role="presentation">
  26. <a data-toggle="tab" href="#activity_2"
  27. role="tab">{{ strlen($activity_2->name) > 50 ? substr($activity_2->name, 0, 50) . '...' : $activity_2->name }}</a>
  28. </li>
  29. </ul>
  30. <div id="allLists" class="tab-content">
  31. <div role="tabpanel" class='tab-pane first' id="activity_1">
  32. <h3 style="text-align: center">Performance by Learning Outcome Criteria in {{ $activity_1->name }}</h3>
  33. <hr>
  34. <div class="col-md-9" id="graph_1"></div>
  35. </div>
  36. <div role="tabpanel" class='tab-pane' id="activity_2">
  37. <h3 style="text-align: center">Performance by Learning Outcome Criteria in {{ $activity_2->name }}</h3>
  38. <hr>
  39. <div class="col-md-9" id="graph_2"></div>
  40. </div>
  41. </div>
  42. </div>
  43. <div class="row">
  44. <ul id='levelTabs' class="nav nav-tabs" role="tablist">
  45. <!-- For each grouped course -->
  46. <li role="presentation" class="first">
  47. <a data-toggle="tab" href="#activity_criteriaGraph_1"
  48. role="tab">{{ strlen($activity_1->name) > 50 ? substr($activity_1->name, 0, 50) . '...' : $activity_1->name }}</a>
  49. </li>
  50. <li role="presentation">
  51. <a data-toggle="tab" href="#activity_criteriaGraph_2"
  52. role="tab">{{ strlen($activity_2->name) > 50 ? substr($activity_2->name, 0, 50) . '...' : $activity_2->name }}</a>
  53. </li>
  54. </ul>
  55. <div id="allLists" class="tab-content">
  56. <div role="tabpanel" class='tab-pane first' id="activity_criteriaGraph_1">
  57. <h3 style="text-align: center">Criteria Achievement {{ $activity_1->name }}</h3>
  58. <hr>
  59. <div class="col-md-9" id="criteriaGraph_1">
  60. </div>
  61. </div>
  62. <div role="tabpanel" class='tab-pane' id="activity_criteriaGraph_2">
  63. <h3 style="text-align: center">Criteria Achievement {{ $activity_2->name }}</h3>
  64. <hr>
  65. <div class="col-md-9" id="criteriaGraph_2">
  66. </div>
  67. </div>
  68. </div>
  69. </div>
  70. <div class="row">
  71. <ul id='levelTabs' class="nav nav-tabs" role="tablist">
  72. <!-- For each grouped course -->
  73. <li role="presentation" class="first">
  74. <a data-toggle="tab" href="#activity_tabla_1"
  75. role="tab">{{ strlen($activity_1->name) > 50 ? substr($activity_1->name, 0, 50) . '...' : $activity_1->name }}</a>
  76. </li>
  77. <li role="presentation">
  78. <a data-toggle="tab" href="#activity_tabla_2"
  79. role="tab">{{ strlen($activity_2->name) > 50 ? substr($activity_2->name, 0, 50) . '...' : $activity_2->name }}</a>
  80. </li>
  81. </ul>
  82. <div id="allLists" class="tab-content">
  83. <div role="tabpanel" class='tab-pane first' id="activity_tabla_1">
  84. <h3 style="text-align: center;">{{ $activity_1->name }} </h3>
  85. <br>
  86. <br>
  87. <h5 style="display: inline;">Date: </h5>
  88. <p style="display: inline;">
  89. <strong>({{ $activity_1->date }})</strong>
  90. </p>
  91. <br>
  92. <h5 style="display: inline;">Performance Indicators: </h5>
  93. <?php
  94. Log::info($activity_1->rubric[0]);
  95. ?>
  96. <p style="display: inline;"><i>{{ $activity_1->rubric[0]->num_scales }} (
  97. <?php
  98. $titles = $activity_1->rubric[0]->getTitles();
  99. ?>
  100. @if (sizeof($titles) != 1)
  101. @foreach ($titles as $index5 => $rubric_title)
  102. @if ($index5 != $activity_1->rubric[0]->num_scales - 1)
  103. {{ $rubric_title->text }},
  104. @else
  105. and {{ $rubric_title->text }}
  106. @endif
  107. @endforeach
  108. )
  109. @else
  110. {{ $titles[0]->text }} )
  111. @endif
  112. </i></p>
  113. <br>
  114. <h5 style="display: inline;">Scale: </h5>
  115. @if ($activity_1->rubric[0]->max_score == 1)
  116. <p style="display: inline;">1 point scale</p>
  117. @else
  118. <p style="display: inline;">1-{{ $activity_1->rubric[0]->max_score }} point scale</p>
  119. @endif
  120. <br>
  121. <br>
  122. <h4>Performance of Students by Learning Outcome Criteria</h4>
  123. <h5 style="display: inline; margin:30px;">Target by criterion: </h5>
  124. <p style="display: inline;"> <i>{{ $activity_1->rubric[0]->expected_points }} or more</i>
  125. </p>
  126. <br>
  127. <h5 style="display: inline; margin:30px;">Expected percent of students achieving the
  128. target by criterion: </h5>
  129. <p style="display: inline;"> <i>{{ $activity_1->rubric[0]->expected_percentage }} %</i>
  130. </p>
  131. <br>
  132. <table class='table table-striped table-condensed datatable'>
  133. <thead>
  134. <tr>
  135. <th>
  136. Criterion
  137. </th>
  138. <th>
  139. Number of Students Assessed
  140. </th>
  141. <th>
  142. Number of students that achieved the target
  143. </th>
  144. <th>
  145. %
  146. </th>
  147. <th>
  148. Outcomes
  149. </th>
  150. </tr>
  151. </thead>
  152. <tbody>
  153. @foreach ($activity_1->allActivityCriterionInfo() as $index5 => $ac_criterion)
  154. <tr>
  155. <td> {{ $ac_criterion->name }}</td>
  156. <td>{{ Criterion::students_attempted($ac_criterion->criterion_id, $activity_1->id) }}
  157. </td>
  158. <td>
  159. {{ Criterion::students_achieved($ac_criterion->criterion_id, $activity_1->id) }}
  160. </td>
  161. <?php
  162. $out_att = Criterion::students_attempted($ac_criterion->criterion_id, $activity_1->id);
  163. $out_ach = Criterion::students_achieved($ac_criterion->criterion_id, $activity_1->id);
  164. $percentage = 'N/A';
  165. $activity_1->getOutcomeReport();
  166. ?>
  167. @if ($out_att == 0)
  168. <td class="col-md-1 danger">{{ $percentage }}</td>
  169. @else
  170. <?php
  171. $percentage = round(($out_ach / $out_att) * 100, 2);
  172. ?>
  173. @if ($percentage >= $activity_1->rubric[0]->expected_percentage)
  174. <td class="col-md-1 success">{{ $percentage }}%</td>
  175. @else
  176. <td class="col-md-1 danger">{{ $percentage }}%</td>
  177. @endif
  178. @endif
  179. <td>
  180. @foreach (Criterion::outcomes($ac_criterion->criterion_id) as $index6 => $outcome)
  181. {{ $index6 + 1 }}. <?php echo $outcome->name . "\n\n\n <br>"; ?>
  182. @endforeach
  183. </td>
  184. </tr>
  185. @endforeach
  186. </tbody>
  187. </table>
  188. <hr>
  189. <br>
  190. <h4>Performance of Students by Learning Outcome</h4>
  191. <h5 style="display: inline; margin:30px;">Target by outcome: </h5>
  192. <p style="display: inline;"> <i>>= 66.67% of the attempts</i>
  193. </p>
  194. <br>
  195. <h5 style="display: inline; margin:30px;">Expected percent of students achieving the
  196. target by outcome: </h5>
  197. <p style="display: inline;"> <i>
  198. <?php
  199. $expected = DB::table('target_outcomes_program')
  200. ->where('program_id', $course->program_id)
  201. ->where('semester_id', $course->semester_id)
  202. ->first();
  203. if (!$expected) {
  204. $expected = 'It has not been defined in the annual plan';
  205. }
  206. ?>
  207. {{ $expected }}
  208. </i>
  209. </p>
  210. <br>
  211. <table class='table table-striped table-condensed datatable'>
  212. <thead>
  213. <tr>
  214. <th>
  215. Outcome
  216. </th>
  217. <th>
  218. Number of Students Assessed
  219. </th>
  220. <th>
  221. Number of students that achieved the target
  222. </th>
  223. <th>
  224. %
  225. </th>
  226. </tr>
  227. </thead>
  228. <tbody>
  229. @foreach ($activity_1->getOutcomeReport() as $outcome)
  230. <tr>
  231. <td>
  232. {{ $outcome->name }}
  233. </td>
  234. <td>
  235. {{ $outcome->attempted }}
  236. </td>
  237. <td>
  238. {{ $outcome->achieved }}
  239. </td>
  240. @if ($outcome->percentage >= $expected)
  241. <td class="col-md-1 success">{{ $outcome->percentage }}%</td>
  242. @else
  243. <td class="col-md-1 danger">{{ $outcome->percentage }}%</td>
  244. @endif
  245. </tr>
  246. @endforeach
  247. </tbody>
  248. </table>
  249. <br>
  250. <hr>
  251. </div>
  252. <div role="tabpanel" class='tab-pane' id="activity_tabla_2">
  253. <h3 style="text-align: center;">{{ $activity_2->name }} </h3>
  254. <br>
  255. <br>
  256. <h5 style="display: inline;">Date: </h5>
  257. <p style="display: inline;">
  258. <strong>({{ $activity_2->date }})</strong>
  259. </p>
  260. <br>
  261. <h5 style="display: inline;">Performance Indicators: </h5>
  262. <?php
  263. Log::info($activity_2->rubric[0]);
  264. ?>
  265. <p style="display: inline;"><i>{{ $activity_2->rubric[0]->num_scales }} (
  266. <?php
  267. $titles = $activity_2->rubric[0]->getTitles();
  268. ?>
  269. @if (sizeof($titles) != 1)
  270. @foreach ($titles as $index5 => $rubric_title)
  271. @if ($index5 != $activity_2->rubric[0]->num_scales - 1)
  272. {{ $rubric_title->text }},
  273. @else
  274. and {{ $rubric_title->text }}
  275. @endif
  276. @endforeach
  277. )
  278. @else
  279. {{ $titles[0]->text }} )
  280. @endif
  281. </i></p>
  282. <br>
  283. <h5 style="display: inline;">Scale: </h5>
  284. @if ($activity_2->rubric[0]->max_score == 1)
  285. <p style="display: inline;">1 point scale</p>
  286. @else
  287. <p style="display: inline;">1-{{ $activity_2->rubric[0]->max_score }} point scale</p>
  288. @endif
  289. <br>
  290. <br>
  291. <h4>Performance of Students by Learning Outcome Criteria</h4>
  292. <h5 style="display: inline; margin:30px;">Target by criterion: </h5>
  293. <p style="display: inline;"> <i>{{ $activity_2->rubric[0]->expected_points }} or more</i>
  294. </p>
  295. <br>
  296. <h5 style="display: inline; margin:30px;">Expected percent of students achieving the
  297. target by criterion: </h5>
  298. <p style="display: inline;"> <i>{{ $activity_2->rubric[0]->expected_percentage }} %</i>
  299. </p>
  300. <br>
  301. <table class='table table-striped table-condensed datatable'>
  302. <thead>
  303. <tr>
  304. <th>
  305. Criterion
  306. </th>
  307. <th>
  308. Number of Students Assessed
  309. </th>
  310. <th>
  311. Number of students that achieved the target
  312. </th>
  313. <th>
  314. %
  315. </th>
  316. <th>
  317. Outcomes
  318. </th>
  319. </tr>
  320. </thead>
  321. <tbody>
  322. @foreach ($activity_2->allActivityCriterionInfo() as $index5 => $ac_criterion)
  323. <tr>
  324. <td> {{ $ac_criterion->name }}</td>
  325. <td>{{ Criterion::students_attempted($ac_criterion->criterion_id, $activity_2->id) }}
  326. </td>
  327. <td>
  328. {{ Criterion::students_achieved($ac_criterion->criterion_id, $activity_2->id) }}
  329. </td>
  330. <?php
  331. $out_att = Criterion::students_attempted($ac_criterion->criterion_id, $activity_2->id);
  332. $out_ach = Criterion::students_achieved($ac_criterion->criterion_id, $activity_2->id);
  333. $percentage = 'N/A';
  334. $activity_2->getOutcomeReport();
  335. ?>
  336. @if ($out_att == 0)
  337. <td class="col-md-1 danger">{{ $percentage }}</td>
  338. @else
  339. <?php
  340. $percentage = round(($out_ach / $out_att) * 100, 2);
  341. ?>
  342. @if ($percentage >= $activity_2->rubric[0]->expected_percentage)
  343. <td class="col-md-1 success">{{ $percentage }}%</td>
  344. @else
  345. <td class="col-md-1 danger">{{ $percentage }}%</td>
  346. @endif
  347. @endif
  348. <td>
  349. @foreach (Criterion::outcomes($ac_criterion->criterion_id) as $index6 => $outcome)
  350. {{ $index6 + 1 }}. <?php echo $outcome->name . "\n\n\n <br>"; ?>
  351. @endforeach
  352. </td>
  353. </tr>
  354. @endforeach
  355. </tbody>
  356. </table>
  357. <hr>
  358. <br>
  359. <h4>Performance of Students by Learning Outcome</h4>
  360. <h5 style="display: inline; margin:30px;">Target by outcome: </h5>
  361. <p style="display: inline;"> <i>>= 66.67% of the attempts</i>
  362. </p>
  363. <br>
  364. <h5 style="display: inline; margin:30px;">Expected percent of students achieving the
  365. target by outcome: </h5>
  366. <p style="display: inline;"> <i>
  367. <?php
  368. $expected = DB::table('target_outcomes_program')
  369. ->where('program_id', $course->program_id)
  370. ->where('semester_id', $course->semester_id)
  371. ->first(); //->expected_target;
  372. if (!$expected) {
  373. $expected = 'It has not been defined in the annual plan';
  374. }
  375. ?>
  376. {{ $expected }}
  377. </i>
  378. </p>
  379. <br>
  380. <table class='table table-striped table-condensed datatable'>
  381. <thead>
  382. <tr>
  383. <th>
  384. Outcome
  385. </th>
  386. <th>
  387. Number of Students Assessed
  388. </th>
  389. <th>
  390. Number of students that achieved the target
  391. </th>
  392. <th>
  393. %
  394. </th>
  395. </tr>
  396. </thead>
  397. <tbody>
  398. @foreach ($activity_2->getOutcomeReport() as $outcome)
  399. <tr>
  400. <td>
  401. {{ $outcome->name }}
  402. </td>
  403. <td>
  404. {{ $outcome->attempted }}
  405. </td>
  406. <td>
  407. {{ $outcome->achieved }}
  408. </td>
  409. @if ($outcome->percentage >= $expected)
  410. <td class="col-md-1 success">{{ $outcome->percentage }}%</td>
  411. @else
  412. <td class="col-md-1 danger">{{ $outcome->percentage }}%</td>
  413. @endif
  414. </tr>
  415. @endforeach
  416. </tbody>
  417. </table>
  418. <br>
  419. <hr>
  420. </div>
  421. </div>
  422. </div>
  423. @stop
  424. @section('included-js')
  425. @include('global._datatables_js')
  426. <!-- HighCharts -->
  427. <script src="{{ asset('vendor/highcharts/highcharts.js') }}"></script>
  428. <!--script src="http://code.highcharts.com/modules/exporting.js"></script -->
  429. <!-- Datepicker -->
  430. <script src="{{ asset('vendor/jquery-ui-1.11.4.custom/jquery-ui.min.js') }}"></script>
  431. @stop
  432. @section('javascript')
  433. $(function() {
  434. $('#criteriaGraph_1').highcharts({
  435. chart: {
  436. type: 'bar',
  437. height:
  438. @if ($activity_1->is_assessed())
  439. {{ count($activity_1->criteria_achieved()) * 22 + 225 }}
  440. @else
  441. {{ 22 + 225 }}
  442. @endif,
  443. },
  444. title: {
  445. text: ' ',
  446. },
  447. xAxis: {
  448. categories: [
  449. @if ($activity_1->is_assessed())
  450. @foreach ($activity_1->criteria_achieved() as $id => $value)
  451. "{{ Criterion::withTrashed()->find($id)->name }}",
  452. @endforeach
  453. @endif
  454. ],
  455. labels: {
  456. style: {
  457. fontSize: '12px'
  458. },
  459. step: 1,
  460. useHTML: true,
  461. formatter: function() {
  462. return '<div style="width:200px; word-break:break; text-overflow:ellipsis; overflow:hidden;">' +
  463. this.value + '</div>';
  464. },
  465. }
  466. },
  467. yAxis: {
  468. min: 0,
  469. max: 100,
  470. title: {
  471. text: 'Percentage'
  472. },
  473. @if (isset($activity_1->rubric[0]) and isset($activity_1->rubric[0]->expected_percentage))
  474. plotLines:[{
  475. value:{{ $activity_1->rubric[0]->expected_percentage }},
  476. color: '#000',
  477. width:3,
  478. zIndex:4,
  479. label:{
  480. text: 'Goal ({{ $activity_1->rubric[0]->expected_percentage }}%)',
  481. style: {
  482. color: '#000',
  483. fontSize: '14px',
  484. }
  485. }
  486. }]
  487. @endif
  488. },
  489. tooltip: {
  490. headerFormat: '<span style="font-size:10px">{point.key}</span>
  491. <table> ',
  492. pointFormat: '<tr>
  493. <td style="color:{series.color};padding:0"> {series.name}: </td>' +
  494. '<td style="padding:0"><b>{point.y:.2f}%</b></td>
  495. </tr>',
  496. footerFormat: '</table>',
  497. shared: true,
  498. useHTML: true
  499. },
  500. plotOptions: {
  501. bar: {
  502. //grouping: false,
  503. shadow: false,
  504. borderWidth: 0,
  505. },
  506. series: {
  507. pointPadding: 0,
  508. groupPadding: 0.1
  509. },
  510. },
  511. series: [{
  512. type: 'column',
  513. name: 'Passed',
  514. color: '#e70033',
  515. dataLabels: {
  516. enabled: true,
  517. fontSize: 8,
  518. color: '#fff',
  519. align: 'right',
  520. format: '{y:.1f}%',
  521. style: {
  522. //fontWeight: 'bold'
  523. },
  524. y: -1
  525. },
  526. data: [
  527. @if ($activity_1->is_assessed())
  528. @foreach ($activity_1->cap_array as $id => $crit)
  529. //This conditional is to ignore criteria that weren't assessed. These would have a value of null.
  530. @if ($crit->score_percentage)
  531. {{ $crit->score_percentage }},
  532. @else
  533. 0,
  534. @endif
  535. @endforeach
  536. @endif
  537. ],
  538. pointPadding: 0,
  539. }]
  540. });
  541. $('#criteriaGraph_2').highcharts({
  542. chart: {
  543. type: 'bar',
  544. height:
  545. @if ($activity_2->is_assessed())
  546. {{ count($activity_2->criteria_achieved()) * 22 + 225 }}
  547. @else
  548. {{ 22 + 225 }}
  549. @endif,
  550. },
  551. title: {
  552. text: ' ',
  553. },
  554. xAxis: {
  555. categories: [
  556. @if ($activity_2->is_assessed())
  557. @foreach ($activity_2->criteria_achieved() as $id => $value)
  558. "{{ Criterion::withTrashed()->find($id)->name }}",
  559. @endforeach
  560. @endif
  561. ],
  562. labels: {
  563. style: {
  564. fontSize: '12px'
  565. },
  566. step: 1,
  567. useHTML: true,
  568. formatter: function() {
  569. return '<div style="width:200px; word-break:break; text-overflow:ellipsis; overflow:hidden;">' +
  570. this.value + '</div>';
  571. },
  572. }
  573. },
  574. yAxis: {
  575. min: 0,
  576. max: 100,
  577. title: {
  578. text: 'Percentage'
  579. },
  580. @if (isset($activity_2->rubric[0]) and isset($activity_2->rubric[0]->expected_percentage))
  581. plotLines:[{
  582. value:{{ $activity_2->rubric[0]->expected_percentage }},
  583. color: '#000',
  584. width:3,
  585. zIndex:4,
  586. label:{
  587. text: 'Goal ({{ $activity_2->rubric[0]->expected_percentage }}%)',
  588. style: {
  589. color: '#000',
  590. fontSize: '14px',
  591. }
  592. }
  593. }]
  594. @endif
  595. },
  596. tooltip: {
  597. headerFormat: '<span style="font-size:10px">{point.key}</span>
  598. <table> ',
  599. pointFormat: '<tr>
  600. <td style="color:{series.color};padding:0"> {series.name}: </td>' +
  601. '<td style="padding:0"><b>{point.y:.2f}%</b></td>
  602. </tr>',
  603. footerFormat: '</table>',
  604. shared: true,
  605. useHTML: true
  606. },
  607. plotOptions: {
  608. bar: {
  609. //grouping: false,
  610. shadow: false,
  611. borderWidth: 0,
  612. },
  613. series: {
  614. pointPadding: 0,
  615. groupPadding: 0.1
  616. },
  617. },
  618. series: [{
  619. type: 'column',
  620. name: 'Passed',
  621. color: '#e70033',
  622. dataLabels: {
  623. enabled: true,
  624. fontSize: 8,
  625. color: '#fff',
  626. align: 'right',
  627. format: '{y:.1f}%',
  628. style: {
  629. //fontWeight: 'bold'
  630. },
  631. y: -1
  632. },
  633. data: [
  634. @if ($activity_2->is_assessed())
  635. @foreach ($activity_2->cap_array as $id => $crit)
  636. //This conditional is to ignore criteria that weren't assessed. These would have a value of null.
  637. @if ($crit->score_percentage)
  638. {{ $crit->score_percentage }},
  639. @else
  640. 0,
  641. @endif
  642. @endforeach
  643. @endif
  644. ],
  645. pointPadding: 0,
  646. }]
  647. });
  648. $('#graph_1').highcharts({
  649. chart: {
  650. type: 'bar',
  651. },
  652. title: {
  653. text: ' '
  654. },
  655. xAxis: {
  656. categories: [
  657. @foreach ($outcomes as $outcome)
  658. "{{ $outcome->name }}",
  659. @endforeach
  660. ],
  661. labels: {
  662. style: {
  663. fontSize: '11px'
  664. },
  665. step: 1,
  666. useHTML: true,
  667. formatter: function() {
  668. return '<div style="width:200px; word-break:break; text-overflow:ellipsis; overflow:hidden;">' +
  669. this.value + '</div>';
  670. },
  671. }
  672. },
  673. yAxis: {
  674. min: 0,
  675. max: 100,
  676. title: {
  677. text: 'Percentage'
  678. }
  679. },
  680. tooltip: {
  681. headerFormat: '<span style="font-size:10px">{point.key}</span>
  682. <table> ',
  683. pointFormat: '<tr>
  684. <td style="color:{series.color};padding:0"> {series.name}: </td>' +
  685. '<td style="padding:0"><b>{point.y:.2f}</b></td>
  686. </tr>',
  687. footerFormat: '</table>',
  688. shared: true,
  689. useHTML: true
  690. },
  691. plotOptions: {
  692. bar: {
  693. //grouping: false,
  694. shadow: false,
  695. borderWidth: 0,
  696. },
  697. series: {
  698. pointPadding: 0,
  699. groupPadding: 0.075
  700. },
  701. },
  702. series: [{
  703. name: 'Obtained Value',
  704. color: '#e70033',
  705. dataLabels: {
  706. enabled: true,
  707. fontSize: 8,
  708. color: '#fff',
  709. align: 'right',
  710. format: '{y:.1f}%',
  711. style: {
  712. //fontWeight: 'bold'
  713. },
  714. y: -1
  715. },
  716. data: [
  717. @foreach ($outcomes as $index => $outcome)
  718. @if (is_array($outcomes_attempted_1) && array_key_exists($outcome->id, $outcomes_attempted_1) && $outcomes_attempted_1[$outcome->id] != 0)
  719. {{ ($outcomes_achieved_1[$outcome->id] / $outcomes_attempted_1[$outcome->id]) * 100 }},
  720. @else
  721. 0,
  722. @endif
  723. @endforeach
  724. ],
  725. pointPadding: 0,
  726. }, {
  727. name: 'Expected Value',
  728. color: '#555555',
  729. dataLabels: {
  730. enabled: true,
  731. fontSize: 8,
  732. color: '#fff',
  733. align: 'right',
  734. format: '{y:.1f}%',
  735. style: {
  736. //fontWeight: 'bold'
  737. },
  738. y: -1
  739. },
  740. data: [
  741. @foreach ($outcomes as $index => $outcome)
  742. @if (is_array($outcomes_attempted_1) && array_key_exists($outcome->id, $outcomes_attempted_1) && $outcomes_attempted_1[$outcome->id] != 0)
  743. {{ $outcome->expected_outcome }},
  744. @else
  745. 0,
  746. @endif
  747. @endforeach
  748. ],
  749. pointPadding: 0,
  750. }]
  751. });
  752. $('#graph_2').highcharts({
  753. chart: {
  754. type: 'bar',
  755. },
  756. title: {
  757. text:' '
  758. },
  759. xAxis: {
  760. categories: [
  761. @foreach ($outcomes as $outcome)
  762. "{{ $outcome->name }}",
  763. @endforeach
  764. ],
  765. labels: {
  766. style: {
  767. fontSize: '11px'
  768. },
  769. step: 1,
  770. useHTML: true,
  771. formatter: function() {
  772. return '<div style="width:200px; word-break:break; text-overflow:ellipsis; overflow:hidden;">' +
  773. this.value + '</div>';
  774. },
  775. }
  776. },
  777. yAxis: {
  778. min: 0,
  779. max: 100,
  780. title: {
  781. text: 'Percentage'
  782. }
  783. },
  784. tooltip: {
  785. headerFormat: '<span style="font-size:10px">{point.key}</span>
  786. <table> ',
  787. pointFormat: '<tr>
  788. <td style="color:{series.color};padding:0"> {series.name}: </td>' +
  789. '<td style="padding:0"><b>{point.y:.2f}</b></td>
  790. </tr>',
  791. footerFormat: '</table>',
  792. shared: true,
  793. useHTML: true
  794. },
  795. plotOptions: {
  796. bar: {
  797. //grouping: false,
  798. shadow: false,
  799. borderWidth: 0,
  800. },
  801. series: {
  802. pointPadding: 0,
  803. groupPadding: 0.075
  804. },
  805. },
  806. series: [{
  807. name: 'Obtained Value',
  808. color: '#e70033',
  809. dataLabels: {
  810. enabled: true,
  811. fontSize: 8,
  812. color: '#fff',
  813. align: 'right',
  814. format: '{y:.1f}%',
  815. style: {
  816. //fontWeight: 'bold'
  817. },
  818. y: -1
  819. },
  820. data: [
  821. @foreach ($outcomes as $index => $outcome)
  822. @if (is_array($outcomes_attempted_2) && array_key_exists($outcome->id, $outcomes_attempted_2) && $outcomes_attempted_2[$outcome->id] != 0)
  823. {{ ($outcomes_achieved_2[$outcome->id] / $outcomes_attempted_2[$outcome->id]) * 100 }},
  824. @else
  825. 0,
  826. @endif
  827. @endforeach
  828. ],
  829. pointPadding: 0,
  830. }, {
  831. name: 'Expected Value',
  832. color: '#555555',
  833. dataLabels: {
  834. enabled: true,
  835. fontSize: 8,
  836. color: '#fff',
  837. align: 'right',
  838. format: '{y:.1f}%',
  839. style: {
  840. //fontWeight: 'bold'
  841. },
  842. y: -1
  843. },
  844. data: [
  845. @foreach ($outcomes as $index => $outcome)
  846. @if (is_array($outcomes_attempted_2) && array_key_exists($outcome->id, $outcomes_attempted_2) && $outcomes_attempted_2[$outcome->id] != 0)
  847. {{ $outcome->expected_outcome }},
  848. @else
  849. 0,
  850. @endif
  851. @endforeach
  852. ],
  853. pointPadding: 0,
  854. }]
  855. });
  856. var chart = $('#graph_1').highcharts();
  857. var titletext = $('#graph_1').highcharts().options.title.text;
  858. var newtitletext = titletext.replace("&#039;", "\'");
  859. chart.setTitle({
  860. text: newtitletext
  861. });
  862. var chart = $('#graph_2').highcharts();
  863. var titletext = $('#graph_2').highcharts().options.title.text;
  864. var newtitletext = titletext.replace("&#039;", "\'");
  865. chart.setTitle({
  866. text: newtitletext
  867. });
  868. $('.first').each(function(){
  869. $(this).addClass('active');
  870. })
  871. // Include dummy graph for outcomes
  872. @include('global.dummy-outcomes')
  873. });
  874. @stop
  875. @section('included-js')
  876. @include('global._datatables_js')
  877. <!-- HighCharts -->
  878. <script src="{{ asset('vendor/highcharts/highcharts.js') }}"></script>
  879. <!--script src="http://code.highcharts.com/modules/exporting.js"></script -->
  880. <!-- Datepicker -->
  881. <script src="{{ asset('vendor/jquery-ui-1.11.4.custom/jquery-ui.min.js') }}"></script>
  882. @stop