Files
new_raffles/Modules/CourseFinder/resources/views/program/partials/form.blade.php

708 lines
35 KiB
PHP

<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-header">
<div class="d-flex align-items-center">
<div class="flex-grow-1">
<h6 class="card-title mb-0">Course Information</h6>
</div>
<div class="flex-shrink-0">
<ul class="list-inline card-toolbar-menu d-flex align-items-center mb-0">
<li class="list-inline-item">
<a class="minimize-card align-middle" data-bs-toggle="collapse"
href="#collapse-personal" role="button" aria-expanded="true"
aria-controls="collapseExample2">
<i class="mdi mdi-plus plus align-middle"></i>
<i class="mdi mdi-minus minus align-middle"></i>
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="card-body show collapse" id="collapse-personal">
<div class="row gy-3">
<div class="col-md-8">
{{ html()->label('Title')->class('form-label') }}
{{ html()->span('*')->class('text-danger') }}
{{ html()->text('title')->class('form-control')->placeholder('Enter Program Title')->required() }}
{{ html()->div('Please enter program title')->class('invalid-feedback') }}
</div>
<div class="col-md-4">
{{ html()->label('Code')->class('form-label')->for('code') }}
{{ html()->text('code')->class('form-control')->placeholder('Enter Program Code') }}
{{ html()->div('Please enter code')->class('invalid-feedback') }}
</div>
<div class="col-md-4">
{{ html()->label('Institution')->class('form-label')->for('institution_id') }}
{{ html()->span('*')->class('text-danger') }}
{{ html()->select('institution_id', $institutionOptions)->placeholder('Select')->class('form-select choices-select')->required() }}
{{ html()->div('Please select institution')->class('invalid-feedback') }}
</div>
<div class="col-md-4">
{{ html()->label('Level')->class('form-label')->for('programlevel_id') }}
{{ html()->span('*')->class('text-danger') }}
{{ html()->select('programlevel_id', $programLevelOptions)->placeholder('Select')->class('form-select choices-select')->required() }}
{{ html()->div('Please select program level')->class('invalid-feedback') }}
</div>
<div class="col-md-4">
{{ html()->label('Cooperative Program (Co op)')->class('form-label')->for('coop_id') }}
{{ html()->select('coop_id', $coopOptions)->placeholder('Select')->class('form-select choices-select') }}
</div>
<div class="col-md-12">
{{ html()->label('Description')->class('form-label')->for('description') }}
{{ html()->textarea('description')->class('form-control ckeditor-classic') }}
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-8">
<div class="card">
<div class="card-header">
<div class="d-flex align-items-center">
<div class="flex-grow-1">
<h6 class="card-title mb-0">Other Information</h6>
</div>
<div class="flex-shrink-0">
<ul class="list-inline card-toolbar-menu d-flex align-items-center mb-0">
<li class="list-inline-item">
<a class="minimize-card align-middle" data-bs-toggle="collapse"
href="#collapse-preference" role="button" aria-expanded="true"
aria-controls="collapseExample2">
<i class="mdi mdi-plus plus align-middle"></i>
<i class="mdi mdi-minus minus align-middle"></i>
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="card-body show collapse" id="collapse-preference">
<div class="row gy-3">
<div class="col-md-6">
{{ html()->label('Duration (Year)')->class('form-label')->for('year') }}
{{ html()->span('*')->class('text-danger') }}
{{ html()->text('year')->class('form-control')->placeholder('Program Duration')->required() }}
{{ html()->div('Please enter program duration')->class('invalid-feedback') }}
</div>
<div class="col-md-6">
{{ html()->label('PSW')->class('form-label')->for('psw') }}
{{ html()->text('psw')->class('form-control')->placeholder('Enter PSW') }}
</div>
<div class="col-md-6">
{{ html()->label('Fee')->class('form-label')->for('fee') }}
{{ html()->text('fee')->class('form-control')->placeholder('Program Fee') }}
</div>
<div class="col-md-6">
{{ html()->label('Scholarship')->class('form-label')->for('scholarship') }}
{{ html()->text('scholarship')->class('form-control')->placeholder('Scholarship offered') }}
</div>
<div class="col-md-6">
{{ html()->label('Open Date')->class('form-label')->for('application_open') }}
{{ html()->date('application_open')->class('form-control')->placeholder('Enter application open') }}
</div>
<div class="col-md-6">
{{ html()->label('Close Date')->class('form-label')->for('application_deadline') }}
{{ html()->date('application_deadline')->class('form-control')->placeholder('Enter application close') }}
</div>
<div class="col-md-12">
{{ html()->label('Prospect')->class('form-label')->for('prospects') }}
{{ html()->textarea('prospects')->class('form-control') }}
</div>
</div>
</div>
<!-- end card body -->
</div>
<div class="card">
<div class="card-header">
<div class="d-flex align-items-center">
<div class="flex-grow-1">
<h6 class="card-title mb-0">Qualification Requirements</h6>
</div>
<div class="flex-shrink-0">
<ul class="list-inline card-toolbar-menu d-flex align-items-center mb-0">
<li class="list-inline-item">
<a class="minimize-card collapsed align-middle" data-bs-toggle="collapse"
href="#collapse-preparation" role="button" aria-expanded="false"
aria-controls="collapseExample2">
<i class="mdi mdi-plus plus align-middle"></i>
<i class="mdi mdi-minus minus align-middle"></i>
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="card-body show collapse" id="collapse-preparation">
<div class="table-responsive">
<table class="table-borderless table-nowrap table-sm table" id="qualificationTable">
<thead class="table-primary text-center">
<tr>
<th scope="col" width=30%>Level</th>
<th scope="col" width=30%>Faculty</th>
<th scope="col" width=15%>Score/GPA</th>
<th scope="col" width=15%>Year</th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
@if ($editable)
@if ($program->level)
@forelse ($program->level as $key => $item)
@include('coursefinder::program.partials.qualification-form', [
'numInc' => $key,
'value' => $item,
])
@empty
@endforelse
@else
@include('coursefinder::program.partials.qualification-form', [
'numInc' => 0,
])
@endif
@else
@include('coursefinder::program.partials.qualification-form', [
'numInc' => 0,
])
@endif
</tbody>
</table>
</div>
</div>
</div>
<div class="card">
<div class="card-header">
<div class="d-flex align-items-center">
<div class="flex-grow-1">
<h6 class="card-title mb-0">Proficiency Test Requirements</h6>
</div>
<div class="flex-shrink-0">
<ul class="list-inline card-toolbar-menu d-flex align-items-center mb-0">
<li class="list-inline-item">
<a class="minimize-card collapsed align-middle" data-bs-toggle="collapse"
href="#collapse-proficiency" role="button" aria-expanded="false"
aria-controls="collapseExample2">
<i class="mdi mdi-minus minus align-middle"></i>
<i class="mdi mdi-plus plus align-middle"></i>
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="card-body show collapse" id="collapse-proficiency">
<div class="table-responsive">
<table class="table-borderless table-nowrap table-sm table" id="proficiency-table">
<thead class="table-primary text-center">
<tr>
<th scope="col" width=30%>Prof Test</th>
<th scope="col" width=30%>Min Score</th>
<th scope="col" width=30%>Band Score</th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
@if ($editable)
@forelse ($program->tests as $key => $item)
@include('coursefinder::program.partials.proficiency-form', [
'numInc' => $key,
'value' => $item,
])
@empty
@include('coursefinder::program.partials.proficiency-form', [
'numInc' => 0,
])
@endforelse
@else
@include('coursefinder::program.partials.proficiency-form', [
'numInc' => 0,
])
@endif
</tbody>
</table>
</div>
</div>
<!-- end card body -->
</div>
<!-- end card -->
<div class="card">
<div class="card-header">
<div class="d-flex align-items-center">
<div class="flex-grow-1">
<h6 class="card-title mb-0">Fee Breakdown</h6>
</div>
<div class="flex-shrink-0">
<ul class="list-inline card-toolbar-menu d-flex align-items-center mb-0">
<li class="list-inline-item">
<a class="minimize-card collapsed align-middle" data-bs-toggle="collapse"
href="#collapse-fee-breakdown" role="button" aria-expanded="false"
aria-controls="collapseExample2">
<i class="mdi mdi-plus plus align-middle"></i>
<i class="mdi mdi-minus minus align-middle"></i>
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="card-body show collapse" id="collapse-fee-breakdown">
<div class="table-responsive">
<table class="table-borderless table-nowrap table-sm table" id="feeBreakdown-table">
<thead class="table-primary text-center">
<tr>
<th scope="col">Application Fee</th>
<th scope="col">Tution Fee</th>
<th scope="col">Health Service</th>
<th scope="col">Student Activities</th>
<th scope="col">Technology Fee</th>
<th scope="col">Library Fee</th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
@if ($editable)
@if ($program->fee_breakdown)
@forelse ($program->fee_breakdown as $key => $item)
@include('coursefinder::program.partials.feeBreakdown', [
'numInc' => $key,
'value' => $item,
])
@empty
@endforelse
@else
@include('coursefinder::program.partials.feeBreakdown', [
'numInc' => 0,
])
@endif
@else
@include('coursefinder::program.partials.feeBreakdown', [
'numInc' => 0,
])
@endif
</tbody>
</table>
</div>
</div>
</div>
<div class="card">
<div class="card-header">
<div class="d-flex align-items-center">
<div class="flex-grow-1">
<h6 class="card-title mb-0">Course Module</h6>
</div>
<div class="flex-shrink-0">
<ul class="list-inline card-toolbar-menu d-flex align-items-center mb-0">
<li class="list-inline-item">
<a class="minimize-card collapsed align-middle" data-bs-toggle="collapse"
href="#collapse-course-module" role="button" aria-expanded="false"
aria-controls="collapseExample2">
<i class="mdi mdi-plus plus align-middle"></i>
<i class="mdi mdi-minus minus align-middle"></i>
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="card-body show collapse" id="collapse-course-module">
<div class="table-responsive">
<table class="table-borderless table-nowrap table-sm table" id="courseModule-table">
<thead class="table-primary text-center">
<tr>
<th scope="col">Title</th>
<th scope="col">Credit Hours</th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
@if ($editable)
@if ($program->course_module)
@forelse ($program->course_module as $key => $item)
@include('coursefinder::program.partials.courseModule', [
'numInc' => $key,
'value' => $item,
])
@empty
@endforelse
@else
@include('coursefinder::program.partials.courseModule', [
'numInc' => 0,
])
@endif
@else
@include('coursefinder::program.partials.courseModule', [
'numInc' => 0,
])
@endif
</tbody>
</table>
</div>
</div>
</div>
<div class="mb-3 text-end">
<a href="{{ route('program.index') }}" class="btn btn-danger w-sm">Cancel</a>
<button type="submit" class="btn btn-success w-sm">Save</button>
</div>
</div>
<div class="col-lg-4">
<div class="card">
<div class="card-header">
<div class="d-flex align-items-center">
<div class="flex-grow-1">
<h6 class="card-title mb-0">Program URL</h6>
</div>
<div class="flex-shrink-0">
<ul class="list-inline card-toolbar-menu d-flex align-items-center mb-0">
<li class="list-inline-item">
<a class="minimize-card align-middle" data-bs-toggle="collapse" href="#collapse-url"
role="button" aria-expanded="true" aria-controls="collapseExample2">
<i class="mdi mdi-plus plus align-middle"></i>
<i class="mdi mdi-minus minus align-middle"></i>
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="card-body show collapse" id="collapse-url">
<div class="col-md-12">
{{ html()->textarea('program_url')->class('form-control')->required()->rows(4)->placeholder('https://www.example.com') }}
</div>
</div>
<!-- end card body -->
</div>
<!-- end card -->
<div class="card">
<div class="card-header">
<div class="d-flex align-items-center">
<div class="flex-grow-1">
<h6 class="card-title mb-0">Intake Information</h6>
</div>
<div class="flex-shrink-0">
<ul class="list-inline card-toolbar-menu d-flex align-items-center mb-0">
<li class="list-inline-item">
<a class="minimize-card align-middle" data-bs-toggle="collapse"
href="#collapse-followUp" role="button" aria-expanded="true"
aria-controls="collapseExample2">
<i class="mdi mdi-plus plus align-middle"></i>
<i class="mdi mdi-minus minus align-middle"></i>
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="card-body show collapse" id="collapse-followUp">
<div class="d-flex flex-row flex-wrap gap-2">
@foreach ($intakeOptions as $index => $item)
<div class="form-check form-check-success">
{{ html()->checkbox('intakes[]', $editable && in_array($index, $program->intakes) ? true : false)->id('permission_' . $index)->value($index)->class('form-check-input child-checkbox') }}
{{ html()->label($item)->for('permission_' . $index)->class('form-check-label ms-1') }}
</div>
@endforeach
</div>
</div>
<!-- end card body -->
</div>
<!-- end card -->
<div class="card bg-white">
<div class="card-header">
<div class="d-flex align-items-center">
<div class="flex-grow-1">
<h6 class="card-title mb-0">Document Requirements</h6>
</div>
<div class="flex-shrink-0">
<ul class="list-inline card-toolbar-menu d-flex align-items-center mb-0">
<li class="list-inline-item">
<a class="minimize-card align-middle" data-bs-toggle="collapse"
href="#collapse-documents" role="button" aria-expanded="true"
aria-controls="collapseExample2">
<i class="mdi mdi-plus plus align-middle"></i>
<i class="mdi mdi-minus minus align-middle"></i>
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="card-body show collapse" id="collapse-documents">
<div class="d-flex flex-column flex-wrap gap-2">
@foreach ($requiredDocumentOptions as $index => $item)
<div class="form-check form-check-info">
{{ html()->checkbox('required_documents[]', $editable && in_array($index, $program->required_documents ?? []))->id('doc_' . $index)->value($index)->class('form-check-input child-checkbox') }}
{{ html()->label($item)->for('doc_' . $index)->class('form-check-label') }}
</div>
@endforeach
</div>
</div>
<!-- end card body -->
</div>
<!-- end card -->
<div class="card bg-white">
<div class="card-header">
<div class="d-flex align-items-center">
<div class="flex-grow-1">
<h6 class="card-title mb-0">Keywords</h6>
</div>
<div class="flex-shrink-0">
<ul class="list-inline card-toolbar-menu d-flex align-items-center mb-0">
<li class="list-inline-item">
<a class="minimize-card align-middle" data-bs-toggle="collapse"
href="#collapse-keywords" role="button" aria-expanded="true"
aria-controls="collapseExample2">
<i class="mdi mdi-plus plus align-middle"></i>
<i class="mdi mdi-minus minus align-middle"></i>
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="card-body show collapse" id="collapse-keywords">
<div class="d-flex flex-column flex-wrap gap-2">
{{ html()->text('keywords')->class('form-control')->attributes([
'data-choices' => 'true',
'data-choices-removeItem' => 'true',
'data-choices-create' => 'true',
'multiple' => true,
]) }}
</div>
</div>
<!-- end card body -->
</div>
<div class="card bg-white">
<div class="card-header">
<div class="d-flex align-items-center">
<div class="flex-grow-1">
<h6 class="card-title mb-0">Academic Requirements</h6>
</div>
<div class="flex-shrink-0">
<ul class="list-inline card-toolbar-menu d-flex align-items-center mb-0">
<li class="list-inline-item">
<a class="minimize-card align-middle" data-bs-toggle="collapse"
href="#collapse-academic" role="button" aria-expanded="true"
aria-controls="collapseExample2">
<i class="mdi mdi-plus plus align-middle"></i>
<i class="mdi mdi-minus minus align-middle"></i>
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="card-body show collapse" id="collapse-academic">
<div class="table-responsive">
<table class="table-borderless table-nowrap table-sm table" id="academic-table">
<thead class="table-primary text-center">
<tr>
<th scope="col">Requirements</th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
@if ($editable)
@if ($program->academic_module)
@forelse ($program->academic_module as $key => $item)
@include('coursefinder::program.partials.academic', [
'numInc' => $key,
'value' => $item,
])
@empty
@endforelse
@else
@include('coursefinder::program.partials.academic', [
'numInc' => 0,
])
@endif
@else
@include('coursefinder::program.partials.academic', [
'numInc' => 0,
])
@endif
</tbody>
</table>
</div>
</div>
<!-- end card body -->
</div>
<div class="card bg-white">
<div class="card-header">
<div class="d-flex align-items-center">
<div class="flex-grow-1">
<h6 class="card-title mb-0">Additional Documents</h6>
</div>
<div class="flex-shrink-0">
<ul class="list-inline card-toolbar-menu d-flex align-items-center mb-0">
<li class="list-inline-item">
<a class="minimize-card align-middle" data-bs-toggle="collapse"
href="#collapse-additional" role="button" aria-expanded="true"
aria-controls="collapseExample2">
<i class="mdi mdi-plus plus align-middle"></i>
<i class="mdi mdi-minus minus align-middle"></i>
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="card-body show collapse" id="collapse-additional">
<div class="table-responsive">
<table class="table-borderless table-nowrap table-sm table" id="additional-table">
<thead class="table-primary text-center">
<tr>
<th scope="col">Requirements</th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
@if ($editable)
@if ($program->additional_module)
@forelse ($program->additional_module as $key => $item)
@include('coursefinder::program.partials.additional', [
'numInc' => $key,
'value' => $item,
])
@empty
@endforelse
@else
@include('coursefinder::program.partials.additional', [
'numInc' => 0,
])
@endif
@else
@include('coursefinder::program.partials.additional', [
'numInc' => 0,
])
@endif
</tbody>
</table>
</div>
</div>
<!-- end card body -->
</div>
<div class="card bg-white">
<div class="card-header">
<div class="d-flex align-items-center">
<div class="flex-grow-1">
<h6 class="card-title mb-0">Application Deadlines</h6>
</div>
<div class="flex-shrink-0">
<ul class="list-inline card-toolbar-menu d-flex align-items-center mb-0">
<li class="list-inline-item">
<a class="minimize-card align-middle" data-bs-toggle="collapse"
href="#collapse-applications" role="button" aria-expanded="true"
aria-controls="collapseExample2">
<i class="mdi mdi-plus plus align-middle"></i>
<i class="mdi mdi-minus minus align-middle"></i>
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="card-body show collapse" id="collapse-applications">
<div class="table-responsive">
<table class="table-borderless table-nowrap table-sm table" id="application-table">
<thead class="table-primary text-center">
<tr>
<th scope="col">Requirements</th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
@if ($editable)
@if ($program->application_module)
@forelse ($program->application_module as $key => $item)
@include('coursefinder::program.partials.application', [
'numInc' => $key,
'value' => $item,
])
@empty
@endforelse
@else
@include('coursefinder::program.partials.application', [
'numInc' => 0,
])
@endif
@else
@include('coursefinder::program.partials.application', [
'numInc' => 0,
])
@endif
</tbody>
</table>
</div>
</div>
<!-- end card body -->
</div>
<!-- end card -->
</div>
</div>
@push('js')
<script>
let numInc = 0;
const cloneRow = (element) => {
let newRow = $(element).closest('tr').clone();
numInc++;
newRow.find('input, select').each(function() {
let name = $(this).attr('name');
name = name.replace(/\[\d+\]/, '[' + numInc + ']');
$(this).attr('name', name);
});
newRow.find('input').val('');
$(element).parents('table').find('tbody').append(newRow);
}
const removeRow = (element) => {
count = $(element).closest('tbody').find('tr').length;
console.log(count);
if (count > 1) {
$(element).closest('tr').remove();
}
}
</script>
@endpush