KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
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/parassaas.edukrypt.in/resources/views/admin/mcq_sub/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/parassaas.edukrypt.in/resources/views/admin/mcq_sub/add-sub-question.blade.php
@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>Add Sub 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">Add Sub 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">Add Question</h5>
                            <a href="{{ asset('admin/sub-mcq-questions') . '/' . $parent_id }}"
                                class="btn btn-primary text-white pull-right"><i class="fa fa-quora"></i>&nbsp;&nbsp;Sub
                                Question List</a>
                        </div>
                        <form action="{{ asset('admin/save-sub-question') . '/' . $parent_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 class="form-control" name="type" id="type">
                                                <option {{ old('type') == 'single_mcq' ? 'selected' : '' }}
                                                    value="single_mcq">
                                                    Single
                                                    Choice
                                                    Questions</option>
                                                <option {{ old('type') == 'mcq' ? 'selected' : '' }} value="mcq">Multiple
                                                    Choice
                                                    Questions</option>
                                                <option {{ old('type') == 'fill' ? 'selected' : '' }} value="fill">Fill in
                                                    the
                                                    Blanks</option>
                                                <option {{ old('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">
                                            </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="{{ old('code') }}" type="text" name="code" id="code"
                                                class="form-control" value="{{ old('code') }}">
                                            @if ($errors->has('code'))
                                                <div class="error">
                                                    {{ $errors->first('code') }}
                                                </div>
                                            @endif
                                        </div>
                                    </div>
                                </div>

                                {{-- Question --}}
                                <div class="form-group">
                                    <label for="username">Question <span class='text-danger'>*</span></label>
                                    <textarea name="question" id="question" class="form-control">{{ old('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">{{ old('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="1" 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="0" class="form-control">
                                            @if ($errors->has('penalty'))
                                                <div class="error">
                                                    {{ $errors->first('penalty') }}
                                                </div>
                                            @endif
                                        </div>
                                    </div>
                                </div>



                            </div>
                            <div class="card-footer">

                                {{-- Single MCQ --}}
                                <div class="single-mcq-options">
                                    <h5 class="card-title m-t-10 pull-left">Add single choice in MCQ</h5>
                                    <button href="javascript:;" id="SAddMoreFileBox" class="btn btn-info pull-right">Add
                                        Choice</button>
                                    <div class="clearfix"></div>
                                    <hr>
                                    {{-- Dynamic Options --}}
                                    <div id="SInputsWrapper" class="row">

                                        {{-- Option 1 --}}
                                        <div class="col-md-6">
                                            <div class="form-group">
                                                <input class="check-box" value="1" id="scorrect_1" type="checkbox"
                                                    name="scorrect_1">
                                                <label class="label-text" for="scorrect_1">Option 1</label>
                                                <textarea name="schoice_1" id="schoice_1" class="form-control tinymce-editor" cols="30" rows="8">{{ old('schoice_1') }}</textarea>
                                                @if ($errors->has('schoice_1'))
                                                    <div class="error">
                                                        {{ $errors->first('schoice_1') }}
                                                    </div>
                                                @endif
                                            </div>
                                        </div>
                                        {{-- Option 2 --}}
                                        <div class="col-md-6">
                                            <div class="form-group">
                                                <input class="check-box" value="1" id="scorrect_2" type="checkbox"
                                                    name="scorrect_2">
                                                <label class="label-text" for="scorrect_2">Option 2</label>
                                                <textarea name="schoice_2" id="schoice_2" class="form-control tinymce-editor" cols="30" rows="8">{{ old('schoice_2') }}</textarea>
                                                @if ($errors->has('schoice_2'))
                                                    <div class="error">
                                                        {{ $errors->first('schoice_2') }}
                                                    </div>
                                                @endif
                                            </div>
                                        </div>
                                    </div>
                                </div>


                                {{-- MCQ Options --}}
                                <div class="mcq-options">
                                    <h5 class="card-title m-t-10 pull-left">Add choice in MCQ</h5>
                                    <button href="javascript:;" id="AddMoreFileBox" class="btn btn-info pull-right">Add
                                        Choice</button>
                                    <div class="clearfix"></div>
                                    <hr>
                                    {{-- Dynamic Options --}}
                                    <div id="InputsWrapper" class="row">

                                        {{-- Option 1 --}}
                                        <div class="col-md-6">
                                            <div class="form-group">
                                                <input class="check-box" value="1" id="correct_1" type="checkbox"
                                                    name="correct_1">
                                                <label class="label-text" for="correct_1">Option 1</label>
                                                <textarea name="choice_1" id="choice_1" class="form-control tinymce-editor" cols="30" rows="8">{{ old('choice_1') }}</textarea>
                                                @if ($errors->has('choice_1'))
                                                    <div class="error">
                                                        {{ $errors->first('choice_1') }}
                                                    </div>
                                                @endif
                                            </div>
                                        </div>
                                        {{-- Option 2 --}}
                                        <div class="col-md-6">
                                            <div class="form-group">
                                                <input class="check-box" value="1" id="correct_2" type="checkbox"
                                                    name="correct_2">
                                                <label class="label-text" for="correct_2">Option 2</label>
                                                <textarea name="choice_2" id="choice_2" class="form-control tinymce-editor" cols="30" rows="8">{{ old('choice_2') }}</textarea>
                                                @if ($errors->has('choice_2'))
                                                    <div class="error">
                                                        {{ $errors->first('choice_2') }}
                                                    </div>
                                                @endif
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <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(old('answer_type')) ? 'checked' : old('answer_type') == 'fixed') ? '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 {{ old('answer_type') == 'range' ? '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"
                                                    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" 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" 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>

                                {{-- TrueFalse --}}
                                <div class="truefalse-options">
                                    <h5 class="card-title m-t-10 pull-left">Select choice in True/False</h5>
                                    <div class="clearfix"></div>
                                    <hr>
                                    {{-- Dynamic Options --}}
                                    <div id="InputsWrapper" class="row">

                                        {{-- Option 1 --}}
                                        <div class="col-md-6">
                                            <div class="form-group">
                                                <input class="check-box" value="true" id="boolean_1" type="radio"
                                                    checked name="boolean">
                                                <label class="label-text" for="boolean_1">True</label>

                                            </div>
                                        </div>
                                        {{-- Option 2 --}}
                                        <div class="col-md-6">
                                            <div class="form-group">
                                                <input class="check-box" value="false" id="boolean_2" type="radio"
                                                    name="boolean">
                                                <label class="label-text" for="boolean_2">False</label>
                                            </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() == "single_mcq") {
                    $(".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
                    $(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>'
                    );

                    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>
    <script>
        $(document).ready(function() {
            var MaxInputs = 4; //maximum extra input boxes allowed
            var SInputsWrapper = $("#SInputsWrapper"); //Input boxes wrapper ID
            var AddButton = $("#SAddMoreFileBox"); //Add button ID
            var x = SInputsWrapper.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
                    $(SInputsWrapper).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

Anon7 - 2021