|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/_hpe.edukrypt.in/resources/views/admin/mcq/ |
Upload File : |
@extends('admin.layout')
@section('content')
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css"
integrity="sha512-nMNlpuaDPrqlEls3IX/Q56H36qvBASwb3ipuo3MxeWbsQB1881ox0cRv7UPTgBlriqoynt35KjEwgGUeUXIPnw=="
crossorigin="anonymous" referrerpolicy="no-referrer" />
<style>
.check-box {
width: 20px;
height: 15px;
margin-right: 12px;
}
.label-text {
font-size: 18px;
}
</style>
<!-- begin::main content -->
<main class="main-content">
<div class="container">
<!-- begin::page header -->
<div class="page-header">
<h3>Edit MCQ Question</h3>
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">Dashboard</a></li>
<li class="breadcrumb-item active" aria-current="page">Edit MCQ Question</li>
</ol>
</nav>
</div>
<!-- end::page header -->
<x-flashMessage />
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header">
<h5 class="card-title pull-left m-t-10">Edit Question</h5>
<a href="{{ asset('admin/mcq-question-list') }}"
class="btn btn-primary text-white pull-right"><i class="fa fa-quora"></i> MCQ
Question List</a>
</div>
<form action="{{ asset('admin/edit-mcq-question/') . '/' . $mcq_questions->id }}" method="post"
enctype="multipart/form-data">
@csrf
<div class="card-body">
<div class="row">
<div class="col-md-6">
{{-- Type --}}
<div class="form-group">
<label for="username">Type <span class='text-danger'>*</span></label>
<select disabled class="form-control" name="type" id="type">
<option {{ $mcq_questions->type == 'single_mcq' ? 'selected' : '' }}
value="single_mcq">
Single
Choice
Questions</option>
<option {{ $mcq_questions->type == 'mcq' ? 'selected' : '' }}
value="mcq">Multiple
Choice
Questions</option>
<option {{ $mcq_questions->type == 'fill' ? 'selected' : '' }}
value="fill">Fill in
the
Blanks</option>
<option {{ $mcq_questions->type == 'true_false' ? 'selected' : '' }}
value="true_false">True
False</option>
</select>
@if ($errors->has('type'))
<div class="error">
{{ $errors->first('type') }}
</div>
@endif
</div>
</div>
</div>
{{-- Tags --}}
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label for="tags">Topic (Select/Create) <span
class='text-danger'>*</span></label>
<select name="tags" id="tags" class="form-control tags">
<option selected value="{{ $mcq_questions->tags }}">
{{ $mcq_questions->tags }}
</option>
</select>
@if ($errors->has('tags'))
<div class="error">
{{ $errors->first('tags') }}
</div>
@endif
</div>
</div>
</div>
{{-- Code --}}
<div class="row">
<div class="col-md-6">
{{-- Unique Code --}}
<div class="form-group">
<label for="code">Code (unique code) <span
class='text-danger'>*</span></label>
<input value="{{ $mcq_questions->code }}" type="text" name="code"
id="code" class="form-control">
@if ($errors->has('code'))
<div class="error">
{{ $errors->first('code') }}
</div>
@endif
</div>
</div>
</div>
{{-- GP --}}
<div class="row">
<div class="col-md-6">
<div style="border: 1px solid blue;background-color: aliceblue;"
class="form-group form-check">
<input style="width: 15px; height: 22px;margin-left: -14px;"
class="form-check-input"
{{ $mcq_questions->group_question == 1 ? 'checked' : '' }} type="checkbox"
value="1" name="gp_checkbox" id="gp_checkbox">
<label
style="font-size: 14px; margin-left: 15px; margin-top: 5px; margin-bottom: 4px;"
class="form-check-label" for="gp_checkbox">Group Question</label>
</div>
</div>
</div>
{{-- GP Text --}}
<div class="form-group gp_text">
<label for="gp_text">Group Text <span class='text-danger'>*</span></label>
<textarea name="gp_text" id="gp_text" class="form-control">{{ $mcq_questions->group_text }}</textarea>
@if ($errors->has('gp_text'))
<div class="error">
{{ $errors->first('gp_text') }}
</div>
@endif
</div>
{{-- Question --}}
<div class="form-group">
<label for="username">Question <span class='text-danger'>*</span></label>
<textarea name="question" id="question" class="form-control">{{ $mcq_questions->question }}</textarea>
@if ($errors->has('question'))
<div class="error">
{{ $errors->first('question') }}
</div>
@endif
</div>
{{-- Explanation --}}
<div class="form-group">
<label for="username">Explanation (Optional)</label>
<textarea name="solution" id="solution" class="form-control tinymce-editor" cols="30" rows="10">{{ $mcq_questions->solution }}</textarea>
</div>
<div class="row">
<div class="col-md-6">
{{-- Marks --}}
<div class="form-group">
<label for="mark">Mark <span class='text-danger'>*</span></label>
<input type="number" min="1" max="100" name="mark"
id="mark" value="{{ $mcq_questions->mark }}" class="form-control">
@if ($errors->has('mark'))
<div class="error">
{{ $errors->first('mark') }}
</div>
@endif
</div>
</div>
<div class="col-md-6">
{{-- Penalty --}}
<div class="form-group">
<label for="penalty">Penalty <span class='text-danger'>*</span></label>
<input type="number" name="penalty" max="100" id="penalty"
value="{{ $mcq_questions->penalty }}" class="form-control">
@if ($errors->has('penalty'))
<div class="error">
{{ $errors->first('penalty') }}
</div>
@endif
</div>
</div>
</div>
</div>
<div class="card-footer">
<div class="clearfix"></div>
{{-- Fill Options --}}
<div class="fill-options">
<h5 class="card-title m-t-10 pull-left">Answer of filling the blanks</h5>
<div class="clearfix"></div>
<hr>
{{-- Dynamic Options --}}
<div class="row m-b-10">
<div class="col-md-12">
<div class="form-check form-check-inline">
<input {{ !empty($mcq_questions->answer) ? 'checked' : '' }}
class="form-check-input answer_type" type="radio"
name="answer_type" id="inlineRadio1" value="fixed">
<label class="form-check-label" for="inlineRadio1">Fixed</label>
</div>
<div class="form-check form-check-inline">
<input {{ !empty($mcq_questions->min) ? 'checked' : '' }}
class="form-check-input answer_type" type="radio"
name="answer_type" id="inlineRadio2" value="range">
<label class="form-check-label" for="inlineRadio2">Range (Min,Max)</label>
</div>
</div>
</div>
{{-- fixed --}}
<div class="row fixed">
<div class="col-md-6">
<div class="form-group">
<input type="text" placeholder="your answer" class="form-control"
value="{{ $mcq_questions->answer }}" name="fixed" id="fixed">
@if ($errors->has('fixed'))
<div class="error">
{{ $errors->first('fixed') }}
</div>
@endif
</div>
</div>
</div>
{{-- Range --}}
<div class="range">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<input type="text" value="{{ $mcq_questions->min }}"
placeholder="min" class="form-control" name="min"
id="min">
@if ($errors->has('min'))
<div class="error">
{{ $errors->first('min') }}
</div>
@endif
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<input type="text" value="{{ $mcq_questions->max }}"
placeholder="max" class="form-control" name="max"
id="max">
@if ($errors->has('max'))
<div class="error">
{{ $errors->first('max') }}
</div>
@endif
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-lg btn-primary">Submit</button>
</div>
</form>
</div>
</div>
</div>
</div>
</main>
<!-- end::main content -->
@endsection
@push('footer-script')
<script src="https://cdn.tiny.cloud/1/hau95x3ztvsrdr65m4zb9kd3e3l24vbxynk72xtkh84z3rol/tinymce/5/tinymce.min.js"
referrerpolicy="origin"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js"
integrity="sha512-2ImtlRlf2VVmiGZsjm9bEyhjGW4dU7B6TNwh/hx/iSByxNENtj3WVE6o/9Lj4TJeVXPi4bnOIMXFIJJAeufa0A=="
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script>
$(document).ready(function() {
// Single checkbox only
$(document).on("change", ".check-box", function() {
if ($('#type').val()) {
$(".check-box").prop('checked', false);
$(this).prop('checked', true);
}
// alert($('#type').val());
});
$('#type').change(function() {
if ($(this).val() == "mcq") {
$('.single-mcq-options').hide();
$('.fill-options').hide();
$('.truefalse-options').hide();
$('.mcq-options').show();
} else if ($(this).val() == "single_mcq") {
$('.fill-options').hide();
$('.single-mcq-options').show();
$('.truefalse-options').hide();
$('.mcq-options').hide();
} else if ($(this).val() == "fill") {
$('.mcq-options').hide();
$('.single-mcq-options').hide();
$('.truefalse-options').hide();
$('.fill-options').show();
} else {
$('.mcq-options').hide();
$('.single-mcq-options').hide();
$('.fill-options').hide();
$('.truefalse-options').show();
}
});
$('#type').trigger('change');
$('.answer_type').change(function() {
if ($('input[name="answer_type"]:checked').val() == 'range') {
$('.range').show();
$('.fixed').hide();
} else {
$('.range').hide();
$('.fixed').show();
}
});
$('.answer_type').trigger('change');
});
</script>
<script type="text/javascript">
tinymce.init({
//paste_data_images: true,
plugins: [
"autolink lists link image charmap print preview hr anchor imagetools pagebreak",
"searchreplace wordcount visualblocks visualchars code fullscreen",
"insertdatetime media nonbreaking save table directionality",
"emoticons template paste textcolor colorpicker textpattern"
],
toolbar: 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px }',
height: 200,
menubar: false,
selector: 'textarea',
images_upload_handler: function(blobInfo, success, failure) {
var xhr, formData;
xhr = new XMLHttpRequest();
xhr.withCredentials = false;
xhr.open('POST', "{{ asset('upload') }}");
var token = $('meta[name="csrf-token"]').attr('content');
xhr.setRequestHeader("X-CSRF-Token", token);
xhr.onload = function() {
var json;
if (xhr.status != 200) {
failure('HTTP Error: ' + xhr.status);
return;
}
json = JSON.parse(xhr.responseText);
if (!json || typeof json.location != 'string') {
failure('Invalid JSON: ' + xhr.responseText);
return;
}
success(json.location);
};
formData = new FormData();
formData.append('file', blobInfo.blob(), blobInfo.filename());
xhr.send(formData);
},
file_picker_callback: function(cb, value, meta) {
var input = document.createElement('input');
input.setAttribute('type', 'file');
input.setAttribute('accept', 'image/*');
input.onchange = function() {
var file = this.files[0];
var id = 'blobid' + (new Date()).getTime();
var blobCache = tinymce.activeEditor.editorUpload.blobCache;
var blobInfo = blobCache.create(id, file);
blobCache.add(blobInfo);
cb(blobInfo.blobUri(), {
title: file.name
});
};
input.click();
}
});
</script>
<script>
$(".tags").select2({
tags: true,
minimumInputLength: 2,
ajax: {
url: "{{ asset('admin/tagsjson') }}",
dataType: 'json',
type: "GET",
delay: 250,
data: function(term) {
return {
term: term.term
};
},
processResults: function(data) {
return {
results: $.map(data, function(item) {
return {
text: item.text,
id: item.text
}
})
};
},
cache: true
}
});
$('#gp_checkbox').change(function() {
if ($(this).prop('checked'))
$('.gp_text').show();
else
$('.gp_text').hide();
});
$('#gp_checkbox').trigger('change');
</script>
<script>
$(document).ready(function() {
var MaxInputs = 4; //maximum extra input boxes allowed
var InputsWrapper = $("#InputsWrapper"); //Input boxes wrapper ID
var AddButton = $("#AddMoreFileBox"); //Add button ID
var x = InputsWrapper.length; //initlal text box count
var FieldCount = 2; //to keep track of text box added
//on add input button click
$(AddButton).click(function(e) {
//max input box allowed
if (x <= MaxInputs) {
FieldCount++; //text box added ncrement
//add input box
if ($('#type').val() == 'mcq') {
$(InputsWrapper).append(
'<div id="div_' + FieldCount + '" class="col-md-6">' +
'<div class="form-group">' +
'<input class="check-box" id="correct_' + FieldCount +
'" type="checkbox" value="1" name="correct_' + FieldCount + '">' +
'<label class="label-text" for="correct_' + FieldCount +
'">Option ' + FieldCount + '</label>' +
'<a href="#" class="removeclass pull-right"><i class="fa fa-trash-o fa-lg text-danger"></i></a>' +
'<textarea name="choice_' + FieldCount + '" id="choice_' + FieldCount +
'" class="form-control tinymce-editor" cols="30" rows="8"></textarea>' +
'</div></div>'
);
} else {
$(InputsWrapper).append(
'<div id="div_' + FieldCount + '" class="col-md-6">' +
'<div class="form-group">' +
'<input class="check-box" id="scorrect_' + FieldCount +
'" type="checkbox" value="1" name="scorrect_' + FieldCount + '">' +
'<label class="label-text" for="scorrect_' + FieldCount +
'">Option ' + FieldCount + '</label>' +
'<a href="#" class="removeclass pull-right"><i class="fa fa-trash-o fa-lg text-danger"></i></a>' +
'<textarea name="schoice_' + FieldCount + '" id="schoice_' + FieldCount +
'" class="form-control tinymce-editor" cols="30" rows="8"></textarea>' +
'</div></div>'
);
}
x++; //text box increment
$("#AddMoreFileId").show();
$('AddMoreFileBox').html("Add field");
// tinymce editor
tinymce.init({
//paste_data_images: true,
plugins: [
"autolink lists link image charmap print preview hr anchor imagetools pagebreak",
"searchreplace wordcount visualblocks visualchars code fullscreen",
"insertdatetime media nonbreaking save table directionality",
"emoticons template paste textcolor colorpicker textpattern"
],
toolbar: 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px }',
height: 200,
menubar: false,
selector: '.tinymce-editor',
images_upload_handler: function(blobInfo, success, failure) {
var xhr, formData;
xhr = new XMLHttpRequest();
xhr.withCredentials = false;
xhr.open('POST', "{{ asset('upload') }}");
var token = $('meta[name="csrf-token"]').attr('content');
xhr.setRequestHeader("X-CSRF-Token", token);
xhr.onload = function() {
var json;
if (xhr.status != 200) {
failure('HTTP Error: ' + xhr.status);
return;
}
json = JSON.parse(xhr.responseText);
if (!json || typeof json.location != 'string') {
failure('Invalid JSON: ' + xhr.responseText);
return;
}
success(json.location);
};
formData = new FormData();
formData.append('file', blobInfo.blob(), blobInfo.filename());
xhr.send(formData);
},
file_picker_callback: function(cb, value, meta) {
var input = document.createElement('input');
input.setAttribute('type', 'file');
input.setAttribute('accept', 'image/*');
input.onchange = function() {
var file = this.files[0];
var id = 'blobid' + (new Date()).getTime();
var blobCache = tinymce.activeEditor.editorUpload.blobCache;
var blobInfo = blobCache.create(id, file);
blobCache.add(blobInfo);
cb(blobInfo.blobUri(), {
title: file.name
});
};
input.click();
}
});
// Delete the "add"-link if there is 3 fields.
if (x == 3) {
$("#AddMoreFileId").hide();
$("#lineBreak").html("<br>");
}
}
return false;
});
$("body").on("click", ".removeclass", function(e) { //user click on remove text
if (x > 1) {
$(this).parent('div').parent('div').remove(); //remove text box
x--; //decrement textbox
$("#AddMoreFileId").show();
$("#lineBreak").html("");
// Adds the "add" link again when a field is removed.
$('AddMoreFileBox').html("Add field");
}
return false;
})
});
</script>
@endpush