Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 17146 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

<?php 
$acl            = $this->viewModel()->getRoot()->getVariable('acl');
$currentUser    = $this->currentUserHelper();
$roleName       = $currentUser->getUserTypeId();

$routeDatatable = $this->url('microlearning/content/slides');

$allowAdd = $acl->isAllowed($roleName, 'microlearning/content/slides/add') ? 1 : 0;
$allowEdit = $acl->isAllowed($roleName, 'microlearning/content/slides/edit') ? 1 : 0;
$allowDelete = $acl->isAllowed($roleName, 'microlearning/content/slides/delete') ? 1 : 0;

$this->headLink()->appendStylesheet($this->basePath('assets/vendors/nprogress/nprogress.css'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/nprogress/nprogress.js'));

$this->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap-fileinput/css/fileinput.min.css'));
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap-fileinput/themes/explorer-fa/theme.css'));

$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/js/plugins/piexif.js'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/js/plugins/sortable.js'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/js/fileinput.js'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/js/locales/es.js'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/themes/fa/theme.js'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/themes/explorer-fa/theme.js'));

$this->inlineScript()->appendFile($this->basePath('assets/vendors/ckeditor/ckeditor.js'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/jquery-input-number/input-number-format.jquery.js'));

$this->headLink()->appendStylesheet($this->basePath('assets/vendors/datatables.net-bs5/dataTables.bootstrap5.css'));
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/datatables.net-bs5-responsive/responsive.bootstrap5.css'));

$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net/jquery.dataTables.js'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net-bs5/dataTables.bootstrap5.js'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net-bs5-responsive/dataTables.responsive.min.js'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net-bs5-responsive/responsive.bootstrap5.min.js'));

$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap4-toggle/js/bootstrap4-toggle.min.js'));
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap4-toggle/css/bootstrap4-toggle.min.css'));

$this->inlineScript()->captureStart();
echo <<<JS
    jQuery(document).ready(function ($) {
        var routeAdd = '';
        var allowEdit = {$allowEdit};
        var allowDelete = {$allowDelete};
        
        $.validator.setDefaults({
            debug: true,
            highlight: function (element) {
                $(element).addClass('is-invalid');
            },
            unhighlight: function (element) {
                $(element).removeClass('is-invalid');
            },
            errorElement: 'span',
            errorClass: 'error invalid-feedback',
            errorPlacement: function (error, element) {}
        });

        var gridTable = $('#gridTable').dataTable({
            processing: true,
            serverSide: true,
            searching: true,
            order: [[0, 'asc']],
            ordering: true,
            ordenable: true,
            responsive: true,
            select: false,
            paging: true,
            pagingType: 'simple_numbers',
            ajax: {
                url: '{$routeDatatable}',
                type: 'get',
                data: function (d) {
                    d.capsule_uuid = $('#form-filter #capsule_uuid').val();
                },
                beforeSend: function (request) {
                    NProgress.start();
                },
                dataFilter: function (response) {
                    var response = jQuery.parseJSON(response);
                    var json = {};
                    json.recordsTotal = 0;
                    json.recordsFiltered = 0;
                    json.data = [];

                    if (!response.success) {
                        $.fn.showError(response.data || 'ERROR_UNKNOWN');
                        json.recordsTotal = 0;
                        json.recordsFiltered = 0;
                        json.data = [];
                        return JSON.stringify(json);
                    }

                    $('#form-capsule-add').attr('action', response.data.link_add);
                    routeAdd = response.data.link_add;
                    if (response.data.link_add) {
                        $('button.btn-add').removeAttr('disabled');
                    } else {
                        $('button.btn-add').attr('disabled', 'disabled');
                    }

                    json.recordsTotal = response.data.total;
                    json.recordsFiltered = response.data.total;
                    json.data = response.data.items;

                    return JSON.stringify(json);
                }
            },
            language: {
                sProcessing: 'LABEL_DATATABLE_SPROCESSING',
                sLengthMenu: 'LABEL_DATATABLE_SLENGTHMENU',
                sZeroRecords: 'LABEL_DATATABLE_SZERORECORDS',
                sEmptyTable: 'LABEL_DATATABLE_SEMPTYTABLE',
                sInfo: 'LABEL_DATATABLE_SINFO',
                sInfoEmpty: 'LABEL_DATATABLE_SINFOEMPTY',
                sInfoFiltered: 'LABEL_DATATABLE_SINFOFILTERED',
                sInfoPostFix: '',
                sSearch: 'LABEL_DATATABLE_SSEARCH',
                sUrl: '',
                sInfoThousands: ',',
                sLoadingRecords: 'LABEL_DATATABLE_SLOADINGRECORDS',
                oPaginate: {
                    sFirst: 'LABEL_DATATABLE_SFIRST',
                    sLast: 'LABEL_DATATABLE_SLAST',
                    sNext: 'LABEL_DATATABLE_SNEXT',
                    sPrevious: 'LABEL_DATATABLE_SPREVIOUS'
                },
                oAria: {
                    sSortAscending: ': LABEL_DATATABLE_SSORTASCENDING',
                    sSortDescending: ':LABEL_DATATABLE_SSORTDESCENDING'
                }
            },
            drawCallback: function (settings) {
                NProgress.done();
            },
            aoColumns: [
                { mDataProp: 'name' },
                { mDataProp: 'details' },
                { mDataProp: 'media' },
                { mDataProp: 'actions' }
            ],
            columnDefs: [
                {
                    targets: 0,
                    className: 'text-vertical-middle'
                },
                {
                    targets: -3,
                    orderable: false,
                    render: function (data, type, row) {
                        var s = ''
                        s += 'LABEL_TYPE: ' + data['type'] + '<br></br>'
                        return s
                    }
                },
                {
                    targets: -2,
                    orderable: false,
                    render: function (data, type, row) {
                        s = ''
                        if (data['image']) {
                            s =
                            s +
                            '&nbsp; <img class="btn-view-image"" data-href="' +
                            data['image'] +
                            '" data-toggle="tooltip" src="' +
                            data['image'] +
                            '" title="LABEL_VIEW" style="width: 40px; object-fit: cover; height: 40px;" /> '
                        }

                        if (data['audio']) {
                            s =
                            s +
                            '&nbsp' +
                            '<button class="btn btn-play-audio" data-href="' + data['audio'] +'" data-toggle="tooltip" title="LABEL_PLAY_AUDIO">' +
                            '<i class="fa fa-play"></i>' +
                            '</button>'
                        }

                        if (data['video']) {
                            s =
                            s +
                            '&nbsp;' +
                            '<button class="btn btn-play-video" data-href="' +
                            data['video'] +
                            '" data-toggle="tooltip" title="LABEL_PLAY_VIDEO">' +
                            '<i class="fa fa-video"></i>' +
                            '</button>'
                        }

                        if (data['document']) {
                            s =
                            s +
                            '&nbsp;' +
                            '<button class="btn btn-view-document" data-href="' +
                            data['document'] +
                            '" data-toggle="tooltip" title="LABEL_VIEW_DOCUMENT">' +
                            '<i class="fa fa-file"></i>' +
                            '</button>'
                        }

                        if (data['text']) {
                            s =
                            s +
                            '&nbsp;' +
                            '<button class="btn btn-view-text" data-href="' +
                            data['text'] +
                            '" data-toggle="tooltip" title="LABEL_VIEW_TEXT">' +
                            '<i class="fa fa-text-width"></i>' +
                            '</button>'
                        }

                        return s
                    }
                },
                {
                    targets: -1,
                    orderable: false,
                    render: function (data, type, row) {
                        s = ''

                        if (allowEdit && data['link_edit']) {
                            s =
                            s +
                            '<button class="btn btn-info btn-sm btn-edit" data-href="' +
                            data['link_edit'] +
                            '" data-toggle="tooltip" title="LABEL_EDIT"><i class="fa fa-pen"></i> Editar </button>&nbsp;'
                        }
                        if (allowDelete && data['link_delete']) {
                            s =
                            s +
                            '<button class="btn btn-danger btn-sm btn-delete" data-href="' +
                            data['link_delete'] +
                            '" data-toggle="tooltip" title="LABEL_DELETE"><i class="fa fa-trash"></i> Eliminar</button>&nbsp;'
                        }
                        return s
                    }
                }
            ]
        })

        var validatorTextAdd = $('#form-slide-text-add').validate({
            debug: true,
            onclick: false,
            onkeyup: false,
            ignore: [],
            rules: {
                name: {
                    required: true,
                    maxlength: 128
                },
                description: {
                    updateCkeditor: function () {
                        CKEDITOR.instances.description_add.updateElement()
                    },
                    required: true
                },
                background: {
                    required: true,
                    extension: 'jpg|jpeg|png',
                    accept: 'image/jpg,image/jpeg,image/png'
                },
                order: {
                    required: true,
                    digits: true,
                    min: 1,
                    max: 250
                }
            },
            submitHandler: function (form) {
                var formdata = false
                if (window.FormData) {
                    formdata = new FormData(form) //form[0]);
                }

                NProgress.start()
                $.ajax({
                    dataType: 'json',
                    accept: 'application/json',
                    method: 'post',
                    url: routeAdd,
                    data: formdata,
                    processData: false,
                    contentType: false
                })
                    .done(function (response) {
                    if (response['success']) {
                        $.fn.showSuccess(response['data'])

                        gridTable.api().ajax.reload(null, false)

                        $('#row-text-add-box').hide()
                        $('#row-text-edit-box').hide()
                        $('#row-image-add-box').hide()
                        $('#row-image-edit-box').hide()
                        $('#row-video-add-box').hide()
                        $('#row-video-edit-box').hide()
                        $('#row-document-add-box').hide()
                        $('#row-document-edit-box').hide()
                        $('#row-audio-add-box').hide()
                        $('#row-audio-edit-box').hide()
                        $('#row-quizz-add-box').hide()
                        $('#row-quizz-edit-box').hide()
                        $('#row-listing').show()
                    } else {
                        validatorTextAdd.resetForm()
                        if (jQuery.type(response['data']) == 'string') {
                            $.fn.showError(response['data'])
                        } else {
                            $.each(response['data'], function (fieldname, errors) {
                                $.fn.showFormErrorValidator(
                                    '#form-slide-text-add #' + fieldname,
                                    errors
                                )
                            })
                        }
                    }
                })
                .fail(function (jqXHR, textStatus, errorThrown) {
                    $.fn.showError(textStatus)
                })
                .always(function () {
                    NProgress.done()
                })
            return false
            },
            invalidHandler: function (form, validator) {}
        })

        var validatorTextEdit = $('#form-slide-text-edit').validate({
            debug: true,
            onclick: false,
            onkeyup: false,
            ignore: [],
            rules: {
                name: {
                    required: true,
                    maxlength: 128
                },
                description: {
                    updateCkeditor: function () {
                        CKEDITOR.instances.description_edit.updateElement()
                    },
                    required: true
                },
                background: {
                    required: false,
                    extension: 'jpg|jpeg|png',
                    accept: 'image/jpg,image/jpeg,image/png'
                },
                order: {
                    required: true,
                    digits: true,
                    min: 1,
                    max: 250
                }
            },
            submitHandler: function (form) {
                var formdata = false
                if (window.FormData) {
                    formdata = new FormData(form) //form[0]);
                }

                NProgress.start()
                $.ajax({
                    dataType: 'json',
                    accept: 'application/json',
                    method: 'post',
                    url: $('#form-slide-text-edit').attr('action'),
                    data: formdata,
                    processData: false,
                    contentType: false
                })
                    .done(function (response) {
                    if (response['success']) {
                        $.fn.showSuccess(response['data'])

                        gridTable.api().ajax.reload(null, false)

                        $('#row-text-add-box').hide()
                        $('#row-text-edit-box').hide()
                        $('#row-image-add-box').hide()
                        $('#row-image-edit-box').hide()
                        $('#row-video-add-box').hide()
                        $('#row-video-edit-box').hide()
                        $('#row-document-add-box').hide()
                        $('#row-document-edit-box').hide()
                        $('#row-audio-add-box').hide()
                        $('#row-audio-edit-box').hide()
                        $('#row-quizz-add-box').hide()
                        $('#row-quizz-edit-box').hide()
                        $('#row-listing').show()
                    } else {
                        validatorTextEdit.resetForm()
                        if (jQuery.type(response['data']) == 'string') {
                            $.fn.showError(response['data'])
                        } else {
                            $.each(response['data'], function (fieldname, errors) {
                                $.fn.showFormErrorValidator(
                                    '#form-slide-text-edit #' + fieldname,
                                    errors
                                )
                            })
                        }
                    }
                })
                .fail(function (jqXHR, textStatus, errorThrown) {
                    $.fn.showError(textStatus)
                })
                .always(function () {
                    NProgress.done()
                })
            return false
            },
            invalidHandler: function (form, validator) {}
        })

        var validatorImageAdd = $('#form-slide-image-add').validate({
            debug: true,
            onclick: false,
            onkeyup: false,
            ignore: [],
            rules: {
                name: {
                    required: true,
                    maxlength: 128
                },
                file: {
                    required: true,
                    extension: 'jpg|jpeg|png',
                    accept: 'image/jpg,image/jpeg,image/png'
                },
                order: {
                    required: true,
                    digits: true,
                    min: 1,
                    max: 250
                }
            },
            submitHandler: function (form) {
                var formdata = false
                if (window.FormData) {
                    formdata = new FormData(form) //form[0]);
                }

                NProgress.start()
                $.ajax({
                    dataType: 'json',
                    accept: 'application/json',
                    method: 'post',
                    url: routeAdd,
                    data: formdata,
                    processData: false,
                    contentType: false
                })
                    .done(function (response) {
                    console.log(response)
                    if (response['success']) {
                        $.fn.showSuccess(response['data'])

                        gridTable.api().ajax.reload(null, false)

                        $('#row-text-add-box').hide()
                        $('#row-text-edit-box').hide()
                        $('#row-image-add-box').hide()
                        $('#row-image-edit-box').hide()
                        $('#row-video-add-box').hide()
                        $('#row-video-edit-box').hide()
                        $('#row-document-add-box').hide()
                        $('#row-document-edit-box').hide()
                        $('#row-audio-add-box').hide()
                        $('#row-audio-edit-box').hide()
                        $('#row-quizz-add-box').hide()
                        $('#row-quizz-edit-box').hide()
                        $('#row-listing').show()
                    } else {
                        validatorImageAdd.resetForm()
                        if (jQuery.type(response['data']) == 'string') {
                            $.fn.showError(response['data'])
                        } else {
                            $.each(response['data'], function (fieldname, errors) {
                                $.fn.showFormErrorValidator(
                                    '#form-slide-image-add #' + fieldname,
                                    errors
                                )
                            })
                        }
                    }
                })
                .fail(function (jqXHR, textStatus, errorThrown) {
                    $.fn.showError(textStatus)
                })
                .always(function () {
                    NProgress.done()
                })
            return false
            },
            invalidHandler: function (form, validator) {}
        })

        var validatorImageEdit = $('#form-slide-image-edit').validate({
            debug: true,
            onclick: false,
            onkeyup: false,
            ignore: [],
            rules: {
                name: {
                    required: true,
                    maxlength: 128
                },
                file: {
                    required: false,
                    extension: 'jpg|jpeg|png',
                    accept: 'image/jpg,image/jpeg,image/png'
                },
                order: {
                    required: true,
                    digits: true,
                    min: 1,
                    max: 250
                }
            },
            submitHandler: function (form) {
                var formdata = false
                if (window.FormData) {
                    formdata = new FormData(form) //form[0]);
                }

                NProgress.start()
                $.ajax({
                    dataType: 'json',
                    accept: 'application/json',
                    method: 'post',
                    url: $('#form-slide-image-edit').attr('action'),
                    data: formdata,
                    processData: false,
                    contentType: false
                })
                    .done(function (response) {
                    if (response['success']) {
                        $.fn.showSuccess(response['data'])

                        gridTable.api().ajax.reload(null, false)

                        $('#row-text-add-box').hide()
                        $('#row-text-edit-box').hide()
                        $('#row-image-add-box').hide()
                        $('#row-image-edit-box').hide()
                        $('#row-video-add-box').hide()
                        $('#row-video-edit-box').hide()
                        $('#row-document-add-box').hide()
                        $('#row-document-edit-box').hide()
                        $('#row-audio-add-box').hide()
                        $('#row-audio-edit-box').hide()
                        $('#row-quizz-add-box').hide()
                        $('#row-quizz-edit-box').hide()
                        $('#row-listing').show()
                    } else {
                        validatorImageEdit.resetForm()
                        if (jQuery.type(response['data']) == 'string') {
                            $.fn.showError(response['data'])
                        } else {
                            $.each(response['data'], function (fieldname, errors) {
                                $.fn.showFormErrorValidator(
                                    '#form-slide-image-edit #' + fieldname,
                                    errors
                                )
                            })
                        }
                    }
                })
                .fail(function (jqXHR, textStatus, errorThrown) {
                    $.fn.showError(textStatus)
                })
                .always(function () {
                    NProgress.done()
                })
            return false
            },
            invalidHandler: function (form, validator) {}
        })

        var validatorVideoAdd = $('#form-slide-video-add').validate({
            debug: true,
            onclick: false,
            onkeyup: false,
            ignore: [],
            rules: {
                name: {
                    required: true,
                    maxlength: 128
                },
                file: {
                    required: true,
                    extension: 'webm,mp4,webm',
                    accept: 'video/webm,video/mpeg,video/mp4'
                },
                background: {
                    required: true,
                    extension: 'jpg|jpeg|png',
                    accept: 'image/jpg,image/jpeg,image/png'
                },
                order: {
                    required: true,
                    digits: true,
                    min: 1,
                    max: 250
                }
            },
            submitHandler: function (form) {
                var formdata = false
                if (window.FormData) {
                    formdata = new FormData(form) //form[0]);
                }

                NProgress.start()
                $.ajax({
                    dataType: 'json',
                    accept: 'application/json',
                    method: 'post',
                    url: routeAdd,
                    data: formdata,
                    processData: false,
                    contentType: false
                })
                    .done(function (response) {
                    if (response['success']) {
                        $.fn.showSuccess(response['data'])

                        gridTable.api().ajax.reload(null, false)

                        $('#row-text-add-box').hide()
                        $('#row-text-edit-box').hide()
                        $('#row-image-add-box').hide()
                        $('#row-image-edit-box').hide()
                        $('#row-video-add-box').hide()
                        $('#row-video-edit-box').hide()
                        $('#row-document-add-box').hide()
                        $('#row-document-edit-box').hide()
                        $('#row-audio-add-box').hide()
                        $('#row-audio-edit-box').hide()
                        $('#row-quizz-add-box').hide()
                        $('#row-quizz-edit-box').hide()
                        $('#row-listing').show()
                    } else {
                        validatorVideoAdd.resetForm()
                        if (jQuery.type(response['data']) == 'string') {
                            $.fn.showError(response['data'])
                        } else {
                            $.each(response['data'], function (fieldname, errors) {
                                $.fn.showFormErrorValidator(
                                    '#form-slide-video-add #' + fieldname,
                                    errors
                                )
                            })
                        }
                    }
                })
                .fail(function (jqXHR, textStatus, errorThrown) {
                    $.fn.showError(textStatus)
                })
                .always(function () {
                    NProgress.done()
                })
            return false
            },
            invalidHandler: function (form, validator) {}
        })

        var validatorVideoEdit = $('#form-slide-video-edit').validate({
            debug: true,
            onclick: false,
            onkeyup: false,
            ignore: [],
            rules: {
                name: {
                    required: true,
                    maxlength: 128
                },
                file: {
                    required: false,
                    extension: 'webm,mp4,webm',
                    accept: 'video/webm,video/mpeg,video/mp4'
                },
                background: {
                    required: false,
                    extension: 'jpg|jpeg|png',
                    accept: 'image/jpg,image/jpeg,image/png'
                },
                order: {
                    required: true,
                    digits: true,
                    min: 1,
                    max: 250
                }
            },
            submitHandler: function (form) {
                var formdata = false
                if (window.FormData) {
                    formdata = new FormData(form) //form[0]);
                }

                NProgress.start()
                $.ajax({
                    dataType: 'json',
                    accept: 'application/json',
                    method: 'post',
                    url: $('#form-slide-video-edit').attr('action'),
                    data: formdata,
                    processData: false,
                    contentType: false
                })
                    .done(function (response) {
                    if (response['success']) {
                        $.fn.showSuccess(response['data'])

                        gridTable.api().ajax.reload(null, false)

                        $('#row-text-add-box').hide()
                        $('#row-text-edit-box').hide()
                        $('#row-image-add-box').hide()
                        $('#row-image-edit-box').hide()
                        $('#row-video-add-box').hide()
                        $('#row-video-edit-box').hide()
                        $('#row-document-add-box').hide()
                        $('#row-document-edit-box').hide()
                        $('#row-audio-add-box').hide()
                        $('#row-audio-edit-box').hide()
                        $('#row-quizz-add-box').hide()
                        $('#row-quizz-edit-box').hide()
                        $('#row-listing').show()
                    } else {
                        validatorVideoEdit.resetForm()
                        if (jQuery.type(response['data']) == 'string') {
                            $.fn.showError(response['data'])
                        } else {
                            $.each(response['data'], function (fieldname, errors) {
                                $.fn.showFormErrorValidator(
                                    '#form-slide-video-edit #' + fieldname,
                                    errors
                                )
                            })
                        }
                    }
                })
                .fail(function (jqXHR, textStatus, errorThrown) {
                    $.fn.showError(textStatus)
                })
                .always(function () {
                    NProgress.done()
                })
            return false
            },
            invalidHandler: function (form, validator) {}
        })

        var validatorDocumentAdd = $('#form-slide-document-add').validate({
            debug: true,
            onclick: false,
            onkeyup: false,
            ignore: [],
            rules: {
                name: {
                    required: true,
                    maxlength: 128
                },
                file: {
                    required: true,
                    extension: 'pdf',
                    accept: 'application/pdf'
                },
                background: {
                    required: true,
                    extension: 'jpg|jpeg|png',
                    accept: 'image/jpg,image/jpeg,image/png'
                },
                order: {
                    required: true,
                    digits: true,
                    min: 1,
                    max: 250
                }
            },
            submitHandler: function (form) {
                var formdata = false
                if (window.FormData) {
                    formdata = new FormData(form) //form[0]);
                }

                NProgress.start()
                $.ajax({
                    dataType: 'json',
                    accept: 'application/json',
                    method: 'post',
                    url: routeAdd,
                    data: formdata,
                    processData: false,
                    contentType: false
                })
                    .done(function (response) {
                    if (response['success']) {
                        $.fn.showSuccess(response['data'])

                        gridTable.api().ajax.reload(null, false)

                        $('#row-text-add-box').hide()
                        $('#row-text-edit-box').hide()
                        $('#row-image-add-box').hide()
                        $('#row-image-edit-box').hide()
                        $('#row-video-add-box').hide()
                        $('#row-video-edit-box').hide()
                        $('#row-document-add-box').hide()
                        $('#row-document-edit-box').hide()
                        $('#row-audio-add-box').hide()
                        $('#row-audio-edit-box').hide()
                        $('#row-quizz-add-box').hide()
                        $('#row-quizz-edit-box').hide()
                        $('#row-listing').show()
                    } else {
                        validatorDocumentAdd.resetForm()
                        if (jQuery.type(response['data']) == 'string') {
                            $.fn.showError(response['data'])
                        } else {
                            $.each(response['data'], function (fieldname, errors) {
                                $.fn.showFormErrorValidator(
                                    '#form-slide-document-add #' + fieldname,
                                    errors
                                )
                            })
                        }
                    }
                })
                .fail(function (jqXHR, textStatus, errorThrown) {
                    $.fn.showError(textStatus)
                })
                .always(function () {
                    NProgress.done()
                })
            return false
            },
            invalidHandler: function (form, validator) {}
        })

        var validatorDocumentEdit = $('#form-slide-document-edit').validate({
            debug: true,
            onclick: false,
            onkeyup: false,
            ignore: [],
            rules: {
                name: {
                    required: true,
                    maxlength: 128
                },
                file: {
                    required: false,
                    extension: 'pdf',
                    accept: 'application/pdf'
                },
                background: {
                    required: false,
                    extension: 'jpg|jpeg|png',
                    accept: 'image/jpg,image/jpeg,image/png'
                },
                order: {
                    required: true,
                    digits: true,
                    min: 1,
                    max: 250
                }
            },
            submitHandler: function (form) {
                var formdata = false
                if (window.FormData) {
                    formdata = new FormData(form) //form[0]);
                }

                NProgress.start()
                $.ajax({
                    dataType: 'json',
                    accept: 'application/json',
                    method: 'post',
                    url: $('#form-slide-document-edit').attr('action'),
                    data: formdata,
                    processData: false,
                    contentType: false
                })
                    .done(function (response) {
                    if (response['success']) {
                        $.fn.showSuccess(response['data'])

                        gridTable.api().ajax.reload(null, false)

                        $('#row-text-add-box').hide()
                        $('#row-text-edit-box').hide()
                        $('#row-image-add-box').hide()
                        $('#row-image-edit-box').hide()
                        $('#row-video-add-box').hide()
                        $('#row-video-edit-box').hide()
                        $('#row-document-add-box').hide()
                        $('#row-document-edit-box').hide()
                        $('#row-audio-add-box').hide()
                        $('#row-audio-edit-box').hide()
                        $('#row-quizz-add-box').hide()
                        $('#row-quizz-edit-box').hide()
                        $('#row-listing').show()
                    } else {
                        validatorDocumentEdit.resetForm()
                        if (jQuery.type(response['data']) == 'string') {
                            $.fn.showError(response['data'])
                        } else {
                            $.each(response['data'], function (fieldname, errors) {
                                $.fn.showFormErrorValidator(
                                    '#form-slide-document-edit #' + fieldname,
                                    errors
                                )
                            })
                        }
                    }
                })
                .fail(function (jqXHR, textStatus, errorThrown) {
                    $.fn.showError(textStatus)
                })
                .always(function () {
                    NProgress.done()
                })
            return false
            },
            invalidHandler: function (form, validator) {}
        })

        var validatorAudioAdd = $('#form-slide-audio-add').validate({
            debug: true,
            onclick: false,
            onkeyup: false,
            ignore: [],
            rules: {
                name: {
                    required: true,
                    maxlength: 128
                },
                file: {
                    required: true,
                    extension: 'wav|mp3',
                    accept: 'audio/wav, audio/mpeg'
                },

                background: {
                    required: true,
                    extension: 'jpg|jpeg|png',
                    accept: 'image/jpg,image/jpeg,image/png'
                },
                order: {
                    required: true,
                    digits: true,
                    min: 1,
                    max: 250
                }
            },
            submitHandler: function (form) {
                var formdata = false
                if (window.FormData) {
                    formdata = new FormData(form) //form[0]);
                }

                NProgress.start()
                $.ajax({
                    dataType: 'json',
                    accept: 'application/json',
                    method: 'post',
                    url: routeAdd,
                    data: formdata,
                    processData: false,
                    contentType: false
                })
                    .done(function (response) {
                    if (response['success']) {
                        $.fn.showSuccess(response['data'])

                        gridTable.api().ajax.reload(null, false)

                        $('#row-text-add-box').hide()
                        $('#row-text-edit-box').hide()
                        $('#row-image-add-box').hide()
                        $('#row-image-edit-box').hide()
                        $('#row-video-add-box').hide()
                        $('#row-video-edit-box').hide()
                        $('#row-document-add-box').hide()
                        $('#row-document-edit-box').hide()
                        $('#row-audio-add-box').hide()
                        $('#row-audio-edit-box').hide()
                        $('#row-quizz-add-box').hide()
                        $('#row-quizz-edit-box').hide()
                        $('#row-listing').show()
                    } else {
                        validatorAudioAdd.resetForm()
                        if (jQuery.type(response['data']) == 'string') {
                            $.fn.showError(response['data'])
                        } else {
                            $.each(response['data'], function (fieldname, errors) {
                                $.fn.showFormErrorValidator(
                                    '#form-slide-audio-add #' + fieldname,
                                    errors
                                )
                            })
                        }
                    }
                })
                .fail(function (jqXHR, textStatus, errorThrown) {
                    $.fn.showError(textStatus)
                })
                .always(function () {
                    NProgress.done()
                })
            return false
            },
            invalidHandler: function (form, validator) {}
        })

        var validatorAudioEdit = $('#form-slide-audio-edit').validate({
            debug: true,
            onclick: false,
            onkeyup: false,
            ignore: [],
            rules: {
                name: {
                    required: true,
                    maxlength: 128
                },
                file: {
                    required: false,
                    extension: 'wav|mp3',
                    accept: 'audio/wav, audio/mpeg'
                },

                background: {
                    required: false,
                    extension: 'jpg|jpeg|png',
                    accept: 'image/jpg,image/jpeg,image/png'
                },
                order: {
                    required: true,
                    digits: true,
                    min: 1,
                    max: 250
                }
            },
            submitHandler: function (form) {
                var formdata = false
                if (window.FormData) {
                    formdata = new FormData(form) //form[0]);
                }

                NProgress.start()
                $.ajax({
                    dataType: 'json',
                    accept: 'application/json',
                    method: 'post',
                    url: $('#form-slide-audio-edit').attr('action'),
                    data: formdata,
                    processData: false,
                    contentType: false
                })
                    .done(function (response) {
                    if (response['success']) {
                        $.fn.showSuccess(response['data'])

                        gridTable.api().ajax.reload(null, false)

                        $('#row-text-add-box').hide()
                        $('#row-text-edit-box').hide()
                        $('#row-image-add-box').hide()
                        $('#row-image-edit-box').hide()
                        $('#row-video-add-box').hide()
                        $('#row-video-edit-box').hide()
                        $('#row-document-add-box').hide()
                        $('#row-document-edit-box').hide()
                        $('#row-audio-add-box').hide()
                        $('#row-audio-edit-box').hide()
                        $('#row-quizz-add-box').hide()
                        $('#row-quizz-edit-box').hide()
                        $('#row-listing').show()
                    } else {
                        validatorAudioEdit.resetForm()
                        if (jQuery.type(response['data']) == 'string') {
                            $.fn.showError(response['data'])
                        } else {
                            $.each(response['data'], function (fieldname, errors) {
                                $.fn.showFormErrorValidator(
                                    '#form-slide-audio-edit #' + fieldname,
                                    errors
                                )
                            })
                        }
                    }
                })
                .fail(function (jqXHR, textStatus, errorThrown) {
                    $.fn.showError(textStatus)
                })
                .always(function () {
                    NProgress.done()
                })
            return false
            },
            invalidHandler: function (form, validator) {}
        })

        var validatorQuizzAdd = $('#form-slide-quizz-add').validate({
            debug: true,
            onclick: false,
            onkeyup: false,
            ignore: [],
            rules: {
                name: {
                    required: true,
                    maxlength: 128
                },
                file: {
                    required: true,
                    extension: 'wav|mp3',
                    accept: 'quizz/wav, quizz/mpeg'
                },
                background: {
                    required: true,
                    extension: 'jpg|jpeg|png',
                    accept: 'image/jpg,image/jpeg,image/png'
                },
                quiz_id: {
                    required: true
                },
                order: {
                    required: true,
                    digits: true,
                    min: 1,
                    max: 250
                }
            },
            submitHandler: function (form) {
                NProgress.start()
                var formdata = false
                if (window.FormData) {
                    formdata = new FormData(form) //form[0]);
                }

                $.ajax({
                    dataType: 'json',
                    accept: 'application/json',
                    method: 'post',
                    url: routeAdd,
                    data: formdata,
                    processData: false,
                    contentType: false
                })
                    .done(function (response) {
                    if (response['success']) {
                        $.fn.showSuccess(response['data'])

                        gridTable.api().ajax.reload(null, false)

                        $('#row-text-add-box').hide()
                        $('#row-text-edit-box').hide()
                        $('#row-image-add-box').hide()
                        $('#row-image-edit-box').hide()
                        $('#row-video-add-box').hide()
                        $('#row-video-edit-box').hide()
                        $('#row-document-add-box').hide()
                        $('#row-document-edit-box').hide()
                        $('#row-audio-add-box').hide()
                        $('#row-audio-edit-box').hide()
                        $('#row-quizz-add-box').hide()
                        $('#row-quizz-edit-box').hide()
                        $('#row-listing').show()
                    } else {
                        validatorQuizzAdd.resetForm()
                        if (jQuery.type(response['data']) == 'string') {
                            $.fn.showError(response['data'])
                        } else {
                            $.each(response['data'], function (fieldname, errors) {
                                $.fn.showFormErrorValidator(
                                    '#form-slide-quizz-add #' + fieldname,
                                    errors
                                )
                            })
                        }
                    }
                })
                .fail(function (jqXHR, textStatus, errorThrown) {
                    $.fn.showError(textStatus)
                })
                .always(function () {
                    NProgress.done()
                })
            return false
            },
            invalidHandler: function (form, validator) {}
        })

        var validatorQuizzEdit = $('#form-slide-quizz-edit').validate({
            debug: true,
            onclick: false,
            onkeyup: false,
            ignore: [],
            rules: {
                name: {
                    required: true,
                    maxlength: 128
                },
                background: {
                    required: false,
                    extension: 'jpg|jpeg|png',
                    accept: 'image/jpg,image/jpeg,image/png'
                },
                quiz_id: {
                    required: true
                },
                order: {
                    required: true,
                    digits: true,
                    min: 1,
                    max: 250
                }
            },
            submitHandler: function (form) {
                NProgress.start()
                var formdata = false
                if (window.FormData) {
                    formdata = new FormData(form) //form[0]);
                }
                $.ajax({
                    dataType: 'json',
                    accept: 'application/json',
                    method: 'post',
                    url: $('#form-slide-quizz-edit').attr('action'),
                    data: formdata,
                    processData: false,
                    contentType: false
                })
                    .done(function (response) {
                    if (response['success']) {
                        $.fn.showSuccess(response['data'])

                        gridTable.api().ajax.reload(null, false)

                        $('#row-text-add-box').hide()
                        $('#row-text-edit-box').hide()
                        $('#row-image-add-box').hide()
                        $('#row-image-edit-box').hide()
                        $('#row-video-add-box').hide()
                        $('#row-video-edit-box').hide()
                        $('#row-document-add-box').hide()
                        $('#row-document-edit-box').hide()
                        $('#row-audio-add-box').hide()
                        $('#row-audio-edit-box').hide()
                        $('#row-quizz-add-box').hide()
                        $('#row-quizz-edit-box').hide()
                        $('#row-listing').show()
                    } else {
                        validatorQuizzEdit.resetForm()
                        if (jQuery.type(response['data']) == 'string') {
                            $.fn.showError(response['data'])
                        } else {
                            $.each(response['data'], function (fieldname, errors) {
                                $.fn.showFormErrorValidator(
                                    '#form-slide-quizz-edit #' + fieldname,
                                    errors
                                )
                            })
                        }
                    }
                })
                .fail(function (jqXHR, textStatus, errorThrown) {
                    $.fn.showError(textStatus)
                })
                .always(function () {
                    NProgress.done()
                })
            return false
            },
            invalidHandler: function (form, validator) {}
        })

        $('body').on('click', 'button.btn-edit', function (e) {
            e.preventDefault()
            NProgress.start()
            var url = $(this).data('href')
            $.ajax({
                dataType: 'json',
                accept: 'application/json',
                method: 'get',
                url: url
            })
            .done(function (response) {
                if (response['success']) {
                    $('#row-listing').hide()

                    $('#row-text-add-box').hide()
                    $('#row-text-edit-box').hide()
                    $('#row-image-add-box').hide()
                    $('#row-image-edit-box').hide()
                    $('#row-video-add-box').hide()
                    $('#row-video-edit-box').hide()
                    $('#row-document-add-box').hide()
                    $('#row-document-edit-box').hide()
                    $('#row-audio-add-box').hide()
                    $('#row-audio-edit-box').hide()
                    $('#row-quizz-add-box').hide()
                    $('#row-quizz-edit-box').hide()

                    if (response['data']['type'] == 'text') {
                        $('#form-slide-text-edit').attr('action', url)
                        $('#form-slide-text-edit #name').val(response['data']['name'])
                        $('#form-slide-text-edit #order').val(response['data']['order'])
                        $('#form-slide-text-edit #file').fileinput('reset')
                        $('#form-slide-text-edit #file').val('')

                        CKEDITOR.instances.description_edit.setData(
                            response['data']['description']
                        )
                        validatorTextEdit.resetForm()

                        $('#row-text-edit-box').show()
                    }
                    if (response['data']['type'] == 'image') {
                        console.log(response['data']['file'])
                        $('#form-slide-image-edit').attr('action', url)
                        $('#form-slide-image-edit #name').val(response['data']['name'])
                        $('#form-slide-image-edit #order').val(response['data']['order'])
                        $('#form-slide-image-edit #background').fileinput('reset')
                        $('#form-slide-image-edit #background').val('')
                        validatorImageEdit.resetForm()

                        $('#row-image-edit-box').show()
                    }
                    if (response['data']['type'] == 'video') {
                        $('#form-slide-video-edit').attr('action', url)
                        $('#form-slide-video-edit #name').val(response['data']['name'])
                        $('#form-slide-video-edit #order').val(response['data']['order'])
                        $('#form-slide-video-edit #file').fileinput('reset')
                        $('#form-slide-video-edit #file').val('')
                        $('#form-slide-video-edit #background').fileinput('reset')
                        $('#form-slide-video-edit #background').val('')

                        $('#row-video-edit-box').show()
                    }
                    if (response['data']['type'] == 'document') {
                        $('#form-slide-document-edit').attr('action', url)
                        $('#form-slide-document-edit #name').val(response['data']['name'])
                        $('#form-slide-document-edit #order').val(response['data']['order'])
                        $('#form-slide-document-edit #file').fileinput('reset')
                        $('#form-slide-document-edit #file').val('')
                        $('#form-slide-document-edit #background').fileinput('reset')
                        $('#form-slide-document-edit #background').val('')
                        validatorDocumentEdit.resetForm()

                        $('#row-document-edit-box').show()
                    }
                    if (response['data']['type'] == 'audio') {
                        $('#form-slide-audio-edit').attr('action', url)
                        $('#form-slide-audio-edit #name').val(response['data']['name'])
                        $('#form-slide-audio-edit #order').val(response['data']['order'])
                        $('#form-slide-audio-edit #file').fileinput('reset')
                        $('#form-slide-audio-edit #file').val('')
                        $('#form-slide-audio-edit #background').fileinput('reset')
                        $('#form-slide-audio-edit #background').val('')
                        validatorAudioEdit.resetForm()

                        $('#row-audio-edit-box').show()
                    }
                    if (response['data']['type'] == 'quiz') {
                        $('#form-slide-quizz-edit').attr('action', url)
                        $('#form-slide-quizz-edit #name').val(response['data']['name'])
                        $('#form-slide-quizz-edit #order').val(response['data']['order'])
                        $('#form-slide-quizz-edit #quiz_id').val(
                            response['data']['quiz_id']
                        )
                        $('#form-slide-quizz-edit #background').fileinput('reset')
                        $('#form-slide-quizz-edit #background').val('')
                        validatorQuizzEdit.resetForm()

                        $('#row-quizz-add-box').show()
                    }
                } else {
                    validatorTextEdit.resetForm()
                    if (jQuery.type(response['data']) == 'string') {
                        $.fn.showError(response['data'])
                    } else {
                        $.each(response['data'], function (fieldname, errors) {
                            $.fn.showFormErrorValidator(
                                '#form-slide-image-edit #' + fieldname,
                                errors
                            )
                        })
                    }
                }
            })
            .fail(function (jqXHR, textStatus, errorThrown) {
                $.fn.showError(textStatus)
            })
            .always(function () {
                NProgress.done()
            })
        })

        $('.btn-cancel').on('click', function (e) {
            e.preventDefault()

            $('#row-text-add-box').hide()
            $('#row-text-edit-box').hide()
            $('#row-image-add-box').hide()
            $('#row-image-edit-box').hide()
            $('#row-video-add-box').hide()
            $('#row-video-edit-box').hide()
            $('#row-document-add-box').hide()
            $('#row-document-edit-box').hide()
            $('#row-audio-add-box').hide()
            $('#row-audio-edit-box').hide()
            $('#row-quizz-add-box').hide()
            $('#row-quizz-edit-box').hide()

            $('#modal-play-video-box').modal('hide')
            $('#modal-play-audio-box').modal('hide')

            document.getElementById('microlearning-play-video').pause()
            document.getElementById('microlearning-play-audio').pause()

            $('#row-listing').show()

            return false
        })

        $('#btn-add-quizz').click(function (e) {
            e.preventDefault()
            $('#modal-add-capsule-type-box').modal('hide')

            $('#form-slide-quizz-add #name').val('')
            $('#form-slide-quizz-add #order').val('1')
            $('#form-slide-quizz-add #quiz_id').val('')
            $('#form-slide-quizz-add #file').fileinput('reset')
            $('#form-slide-quizz-add #file').val('')
            CKEDITOR.instances.description_add.setData('')
            validatorQuizzAdd.resetForm()

            $('#row-listing').hide()
            $('#row-quizz-add-box').show()

            return false
        })

        $('#btn-add-text').click(function (e) {
            e.preventDefault()

            $('#modal-add-capsule-type-box').modal('hide')

            $('#form-slide-text-add #name').val('')
            $('#form-slide-text-add #order').val('1')
            $('#form-slide-text-add #file').fileinput('reset')
            $('#form-slide-text-add #file').val('')

            CKEDITOR.instances.description_add.setData('')
            validatorTextAdd.resetForm()

            $('#row-listing').hide()
            $('#row-text-add-box').show()
        })

        $('#btn-add-image').click(function (e) {
            e.preventDefault()

            $('#modal-add-capsule-type-box').modal('hide')
            $('#form-slide-image-add #name').val('')
            $('#form-slide-image-add #order').val('1')
            $('#form-slide-image-add #file').fileinput('reset')
            $('#form-slide-image-add #file').val('')

            validatorImageAdd.resetForm()

            $('#row-listing').hide()
            $('#row-image-add-box').show()

            return false
        })

        $('#btn-add-video').click(function (e) {
            e.preventDefault()

            $('#modal-add-capsule-type-box').modal('hide')
            $('#form-slide-video-add #name').val('')
            $('#form-slide-video-add #order').val('1')
            $('#form-slide-video-add #file').fileinput('reset')
            $('#form-slide-video-add #file').val('')
            $('#form-slide-video-add #background').fileinput('reset')
            $('#form-slide-video-add #backgroud').val('')
            validatorVideoAdd.resetForm()

            $('#row-listing').hide()
            $('#row-video-add-box').show()

            return false
        })

        $('#btn-add-document').click(function (e) {
            e.preventDefault()

            $('#modal-add-capsule-type-box').modal('hide')
            $('#form-slide-document-add #name').val('')
            $('#form-slide-document-add #order').val('1')
            $('#form-slide-document-add #file').fileinput('reset')
            $('#form-slide-document-add #file').val('')
            $('#form-slide-document-add #background').fileinput('reset')
            $('#form-slide-document-add #background').val('')
            validatorDocumentAdd.resetForm()

            $('#row-listing').hide()
            $('#row-document-add-box').show()

            return false
        })

        $('#btn-add-audio').click(function (e) {
            e.preventDefault()

            $('#modal-add-capsule-type-box').modal('hide')
            $('#form-slide-audio-add #name').val('')
            $('#form-slide-audio-add #order').val('1')
            $('#form-slide-audio-add #file').fileinput('reset')
            $('#form-slide-audio-add #file').val('')
            $('#form-slide-audio-add #background').fileinput('reset')
            $('#form-slide-audio-add #background').val('')
            validatorAudioAdd.resetForm()

            $('#row-listing').hide()
            $('#row-audio-add-box').show()

            return false
        })

        $('#modal-play-video-box, #modal-play-audio-box').on(
            'hide.bs.modal',
            function () {
                document.getElementById('microlearning-play-video').pause()
                document.getElementById('microlearning-play-audio').pause()
            }
        )

        $('#form-slide-text-add #order').inputNumberFormat({ decimal: 0 })
        $('#form-slide-text-edit #order').inputNumberFormat({ decimal: 0 })

        $('#form-slide-text-add #background').fileinput({
            theme: 'fa',
            language: 'es',
            showUpload: false,
            dropZoneEnabled: false,
            maxFileCount: 1,
            msgPlaceholder: 'LABEL_RECOMMENDED_SIZE $image_size',
            allowedFileExtensions: ['jpeg', 'jpg', 'png']
        })

        $('#form-slide-text-edit #background').fileinput({
            theme: 'fa',
            language: 'es',
            showUpload: false,
            dropZoneEnabled: false,
            maxFileCount: 1,
            msgPlaceholder: 'LABEL_RECOMMENDED_SIZE $image_size',
            allowedFileExtensions: ['jpeg', 'jpg', 'png']
        })

        $('#form-slide-image-add #order').inputNumberFormat({ decimal: 0 })
        $('#form-slide-image-edit #order').inputNumberFormat({ decimal: 0 })

        $('#form-slide-image-add #file').fileinput({
            theme: 'fa',
            language: 'es',
            showUpload: false,
            dropZoneEnabled: false,
            maxFileCount: 1,
            msgPlaceholder: 'LABEL_RECOMMENDED_SIZE $image_size',
            allowedFileExtensions: ['jpeg', 'jpg', 'png']
        })

        $('#form-slide-image-edit #file').fileinput({
            theme: 'fa',
            language: 'es',
            showUpload: false,
            dropZoneEnabled: false,
            maxFileCount: 1,
            msgPlaceholder: 'LABEL_RECOMMENDED_SIZE $image_size',
            allowedFileExtensions: ['jpeg', 'jpg', 'png']
        })

        $('#form-slide-video-add #order').inputNumberFormat({ decimal: 0 })
        $('#form-slide-video-edit #order').inputNumberFormat({ decimal: 0 })

        $('#form-slide-video-add #file').fileinput({
            theme: 'fa',
            language: 'es',
            showUpload: false,
            dropZoneEnabled: false,
            maxFileCount: 1,
            allowedFileExtensions: ['mp4', 'mpeg', 'webm'],
            msgPlaceholder: 'Video de extensión mp4, mpeg, webm'
        })

        $('#form-slide-video-edit #file').fileinput({
            theme: 'fa',
            language: 'es',
            showUpload: false,
            dropZoneEnabled: false,
            maxFileCount: 1,
            allowedFileExtensions: ['mp4', 'mpeg', 'webm'],
            msgPlaceholder: 'Video de extensión mp4, mpeg, webm'
        })

        $('#form-slide-video-add #background').fileinput({
            theme: 'fa',
            language: 'es',
            showUpload: false,
            dropZoneEnabled: false,
            maxFileCount: 1,
            msgPlaceholder: 'LABEL_RECOMMENDED_SIZE $image_size',
            allowedFileExtensions: ['jpeg', 'jpg', 'png']
        })

        $('#form-slide-video-edit #background').fileinput({
            theme: 'fa',
            language: 'es',
            showUpload: false,
            dropZoneEnabled: false,
            maxFileCount: 1,
            msgPlaceholder: 'LABEL_RECOMMENDED_SIZE $image_size',
            allowedFileExtensions: ['jpeg', 'jpg', 'png']
        })

        $('#form-slide-document-add #order').inputNumberFormat({ decimal: 0 })

        $('#form-slide-document-add #file').fileinput({
            theme: 'fa',
            language: 'es',
            showUpload: false,
            dropZoneEnabled: false,
            maxFileCount: 1,
            allowedFileExtensions: ['pdf'],
            msgPlaceholder: 'Documentos de extensión pdf'
        })

        $('#form-slide-document-edit #order').inputNumberFormat({ decimal: 0 })

        $('#form-slide-document-edit #file').fileinput({
            theme: 'fa',
            language: 'es',
            showUpload: false,
            dropZoneEnabled: false,
            maxFileCount: 1,
            allowedFileExtensions: ['pdf'],
            msgPlaceholder: 'Documentos de extensión pdf'
        })

        $('#form-slide-document-add #background').fileinput({
            theme: 'fa',
            language: 'es',
            showUpload: false,
            dropZoneEnabled: false,
            maxFileCount: 1,
            msgPlaceholder: 'LABEL_RECOMMENDED_SIZE $image_size',
            allowedFileExtensions: ['jpeg', 'jpg', 'png']
        })

        $('#form-slide-document-edit #background').fileinput({
            theme: 'fa',
            language: 'es',
            showUpload: false,
            dropZoneEnabled: false,
            maxFileCount: 1,
            msgPlaceholder: 'LABEL_RECOMMENDED_SIZE $image_size',
            allowedFileExtensions: ['jpeg', 'jpg', 'png']
        })

        $('#form-slide-audio-add #order').inputNumberFormat({ decimal: 0 })

        $('#form-slide-audio-add #file').fileinput({
            theme: 'fa',
            language: 'es',
            showUpload: false,
            dropZoneEnabled: false,
            maxFileCount: 1,
            allowedFileExtensions: ['wav', 'mp3'],
            msgPlaceholder: 'Audios de extensión wav y mp3'
        })

        $('#form-slide-audio-edit #order').inputNumberFormat({ decimal: 0 })

        $('#form-slide-audio-edit #file').fileinput({
            theme: 'fa',
            language: 'es',
            showUpload: false,
            dropZoneEnabled: false,
            maxFileCount: 1,
            allowedFileExtensions: ['wav', 'mp3'],
            msgPlaceholder: 'Audios de extensión wav y mp3'
        })

        $('#form-slide-audio-add #background').fileinput({
            theme: 'fa',
            language: 'es',
            showUpload: false,
            dropZoneEnabled: false,
            maxFileCount: 1,
            msgPlaceholder: 'LABEL_RECOMMENDED_SIZE $image_size',
            allowedFileExtensions: ['jpeg', 'jpg', 'png']
        })

        $('#form-slide-audio-edit #background').fileinput({
            theme: 'fa',
            language: 'es',
            showUpload: false,
            dropZoneEnabled: false,
            maxFileCount: 1,
            msgPlaceholder: 'LABEL_RECOMMENDED_SIZE $image_size',
            allowedFileExtensions: ['jpeg', 'jpg', 'png']
        })

        $('#form-slide-quizz-add #order').inputNumberFormat({ decimal: 0 })

        $('#form-slide-quizz-edit #order').inputNumberFormat({ decimal: 0 })

        $('#form-slide-quizz-add #background').fileinput({
            theme: 'fa',
            language: 'es',
            showUpload: false,
            dropZoneEnabled: false,
            maxFileCount: 1,
            msgPlaceholder: 'LABEL_RECOMMENDED_SIZE $image_size',
            allowedFileExtensions: ['jpeg', 'jpg', 'png']
        })

        $('#form-slide-quizz-edit #background').fileinput({
            theme: 'fa',
            language: 'es',
            showUpload: false,
            dropZoneEnabled: false,
            maxFileCount: 1,
            msgPlaceholder: 'LABEL_RECOMMENDED_SIZE $image_size',
            allowedFileExtensions: ['jpeg', 'jpg', 'png']
        })

        CKEDITOR.replace('description_add', {
            toolbar: [
                { name: 'editing', items: ['Scayt'] },
                { name: 'links', items: ['Link', 'Unlink'] },
                {
                    name: 'paragraph',
                    items: [
                        'NumberedList',
                        'BulletedList',
                        '-',
                        'Outdent',
                        'Indent',
                        'Blockquote'
                    ]
                },
                {
                    name: 'basicstyles',
                    items: ['Bold', 'Italic', 'Strike', 'RemoveFormat']
                },
                '/',
                {
                    name: 'insert',
                    items: ['Image', 'Table', 'HorizontalRule', 'SpecialChar']
                },
                { name: 'styles', items: ['Styles', 'Format'] },
                { name: 'tools', items: ['Maximize'] }
            ],
            removePlugins: 'elementspath,Anchor',
            heigth: 100
        })
        CKEDITOR.replace('description_edit', {
            toolbar: [
                { name: 'editing', items: ['Scayt'] },
                { name: 'links', items: ['Link', 'Unlink'] },
                {
                    name: 'paragraph',
                    items: [
                        'NumberedList',
                        'BulletedList',
                        '-',
                        'Outdent',
                        'Indent',
                        'Blockquote'
                    ]
                },
                {
                    name: 'basicstyles',
                    items: ['Bold', 'Italic', 'Strike', 'RemoveFormat']
                },
                '/',
                {
                    name: 'insert',
                    items: ['Image', 'Table', 'HorizontalRule', 'SpecialChar']
                },
                { name: 'styles', items: ['Styles', 'Format'] },
                { name: 'tools', items: ['Maximize'] }
            ],
            removePlugins: 'elementspath,Anchor',
            heigth: 100
        })

        $('body').on('click', '.btn-view-image', function (e) {
            e.preventDefault()

            $('#modal-view-image-box').modal('show')

            $('#image-view').attr('src', $(this).data('href'))

            return false
        })

        $('body').on('click', '.btn-play-video', function (e) {
            e.preventDefault()

            $('#microlearning-play-video').attr('src', $(this).data('href'))
            $('#modal-play-video-box').modal('show')

            return false
        })

        $('body').on('click', '.btn-play-audio', function (e) {
            e.preventDefault()

            $('#microlearning-play-audio').attr('src', $(this).data('href'))
            $('#modal-play-audio-box').modal('show')

            return false
        })

        $('body').on('click', '.btn-view-document', function (e) {
            e.preventDefault()

            $('#document-view').attr('src', $(this).data('href'))
            $('#modal-view-document-box').modal('show')

            return false
        })

        $('body').on('click', '.btn-view-text', function (e) {
            e.preventDefault()

            var url = $(this).data('href')
            $.ajax({
                dataType: 'json',
                accept: 'application/json',
                method: 'get',
                url: url
            })
            .done(function (response) {
                if (response['success']) {
                    $('#document-text').html(response['data'])
                }
            })
            .fail(function (jqXHR, textStatus, errorThrown) {
                $.fn.showError(textStatus)
            })
            .always(function () {
                NProgress.done()
            })

            $('#modal-view-text-box').modal('show')

            return false
        })

        $('#form-filter #capsule_uuid').change(function (e) {
            e.preventDefault()
            if ($(this).val()) {
                gridTable.api().ajax.reload(null, false)
            } else {
                // Si no hay cápsula seleccionada, limpiar la tabla
                gridTable.api().clear().draw()
            }
        })

        $('button.btn-add').click(function (e) {
            e.preventDefault()

            $('#modal-add-capsule-type-box').modal('show')
        })

        $('body').on('click', 'button.btn-delete', function (e) {
            e.preventDefault()
            var action = $(this).data('href')

            swal
            .fire({
                title: 'LABEL_ARE_YOU_SURE',
                icon: 'question',
                cancelButtonText: 'LABEL_NO',
                showCancelButton: true,
                confirmButtonText: 'LABEL_YES'
            })
            .then((result) => {
                if (result.isConfirmed) {
                    NProgress.start()
                    $.ajax({
                        dataType: 'json',
                        accept: 'application/json',
                        method: 'post',
                        url: action
                    })
                    .done(function (response) {
                        if (response['success']) {
                            $.fn.showSuccess(response['data'])
                            gridTable.api().ajax.reload(null, false)
                        } else {
                            $.fn.showError(response['data'])
                        }
                    })
                    .fail(function (jqXHR, textStatus, errorThrown) {
                        $.fn.showError(textStatus)
                    })
                    .always(function () {
                        NProgress.done()
                    })
                }
            })
        })

        $('body').on('click', 'button.btn-refresh', function (e) {
            e.preventDefault()
            gridTable.api().ajax.reload(null, false)
        })

        var validatorFilter = $('#form-filter').validate({
            debug: true,
            onclick: false,
            onkeyup: false,
            ignore: [],
            rules: {
                capsule_uuid: {
                    required: true
                }
            },
            submitHandler: function (form) {
                return false
            }
        })

        $('#form-filter').on('submit', function (e) {
            e.preventDefault()
            if (validatorFilter.valid()) {
                gridTable.api().ajax.reload(null, false)
            }
            return false
        })
    })
JS;
$this->inlineScript()->captureEnd();
?>

<div class="container">
        <div class="card" id="row-listing">
                <div class="card-header">
                        <h6 class="card-title">LABEL_SLIDES</h6>
                </div>

                <div class="card-body">
            <?php 
            $form = $this->form;
            $form->setAttributes([
                'name'    => 'form-filter',
                'id'      => 'form-filter',
            ]);
            $form->prepare();
            echo $this->form()->openTag($form);
            ?>
                <div class="row">
                        <div class="col-md-12 mt-3">
                                        <?php
                        $element = $form->get('capsule_uuid');
                        $element->setOptions(['label' => 'LABEL_CAPSULE']);
                        $element->setAttributes(['class' => 'form-control']);
                        echo $this->formLabel($element);
                        echo $this->formSelect($element);
                        ?>
                        </div>                          
                </div>
                        <?php echo $this->form()->closeTag($form); ?>

            <div class="row">
                <div class="col-12 mt-3">
                    <table id="gridTable" class="table   table-bordered">
                        <thead>
                            <tr>
                                <th>LABEL_NAME</th>
                                <th>LABEL_DETAILS</th>
                                <th>LABEL_MEDIA</th>    
                                <th>LABEL_ACTIONS</th>
                            </tr>
                        </thead>
                        <tbody>
                        </tbody>
                    </table>
                </div>
            </div>
                </div>

                <div class="card-footer text-right">
                    <button type="button" class="btn btn-info btn-refresh">
                <i class="fa fa-sync"></i> 
                LABEL_REFRESH
            </button>
                        <?php if($allowAdd) : ?>
                        <div class="btn-group dropup">
                <button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                        <i class="fa fa-plus"></i> LABEL_ADD
                </button>

                <div class="dropdown-menu">
                        <a class="dropdown-item" href="#" id="btn-add-image"><i class="fa fa-image mr-2" aria-hidden="true"></i> LABEL_IMAGE </a>
                        <a class="dropdown-item" href="#" id="btn-add-text"><i class="fa fa-file mr-2" aria-hidden="true"></i> LABEL_TEXT </a>
                    <a class="dropdown-item" href="#" id="btn-add-video"><i class="fa fa-video mr-2" aria-hidden="true"></i> LABEL_VIDEO </a>
                    <a class="dropdown-item" href="#" id="btn-add-document"><i class="fa fa-file mr-2" aria-hidden="true"></i> LABEL_DOCUMENT </a>
                    <a class="dropdown-item" href="#" id="btn-add-audio"><i class="fa fa-music mr-2" aria-hidden="true"></i> LABEL_AUDIO </a>
                    <a class="dropdown-item" href="#" id="btn-add-quizz"><i class="fa fa-question mr-2" aria-hidden="true"></i> LABEL_QUIZ </a>
                </div>
            </div>
                        <?php endif; ?>
                </div>
        </div>
        
        
        <div class="card" id="row-text-add-box" style="display: none">
                <div class="card-header">
                        <h6 class="card-title">LABEL_ADD_TEXT_SLIDE</h6>
                </div>
                <?php 
            $form = $this->formTextAdd;
            $form->setAttributes([
               'method'    => 'post',
               'name'      => 'form-slide-text-add',
               'id'        => 'form-slide-text-add'
            ]);  
            $form->prepare();
            echo $this->form()->openTag($form);
            
            $element = $form->get('type');
            echo $this->formHidden($element);
            
            ?> 
                <div class="card-body">

                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('name');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_NAME']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                        <?php 
                    $element = $form->get('description');
                    $element->setOptions(['label' => 'LABEL_DESCRIPTION']);
                    $element->setAttributes(['id' => 'description_add', 'rows' => '2',  'class' => 'form-control']);
                    echo $this->formLabel($element);
                    echo $this->formTextArea($element);
                    ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('order');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_ORDER']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                                </div>
                        </div>                  
                        <div class="row">
                         <div class="col-12 mt-3">
                <?php 
                    $element = $form->get('background');
                    $element->setAttributes([ 'class' => 'form-control']);
                                        $element->setOptions(['label' => 'LABEL_IMAGE']);
                                        $element->setAttributes(['accept' => 'image/jpg,image/jpeg,image/png']);
                                        echo $this->formLabel($element);
                    echo $this->formFile($element); 
                ?> 
                         </div>
                     </div>
                </div>
                <div class="card-footer text-right">
                        <button type="submit" class="btn btn-primary">LABEL_SAVE</button>
                <button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
                </div>
                <?php echo $this->form()->closeTag($form); ?>   
        </div>
        
        <div class="card" id="row-text-edit-box" style="display: none">
                <div class="card-header">
                        <h6 class="card-title">LABEL_EDIT_TEXT_SLIDE</h6>
                </div>
                <?php 
            $form = $this->formTextEdit;
            $form->setAttributes([
               'method'    => 'post',
               'name'      => 'form-slide-text-edit',
               'id'        => 'form-slide-text-edit'
            ]);  
            $form->prepare();
            echo $this->form()->openTag($form);
            
            $element = $form->get('type');
            echo $this->formHidden($element);
            
            ?>
                <div class="card-body">

                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('name');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_NAME']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                     
                        <div class="row">
                         <div class="col-12 mt-3">
                        <?php 
                    $element = $form->get('description');
                    $element->setOptions(['label' => 'LABEL_DESCRIPTION']);
                    $element->setAttributes(['id' => 'description_edit', 'rows' => '2',  'class' => 'form-control']);
                    echo $this->formLabel($element);
                    echo $this->formTextArea($element);
                    ?>
                         </div>
                     </div>
                     
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('order');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_ORDER']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                     
                        <div class="row">
                         <div class="col-12 mt-3">
                <?php 
                    $element = $form->get('background');
                    $element->setAttributes([ 'class' => 'form-control']);
                                        $element->setOptions(['label' => 'LABEL_IMAGE']);
                                        $element->setAttributes(['accept' => 'image/jpg,image/jpeg,image/png']);
                                        echo $this->formLabel($element);
                    echo $this->formFile($element); 
                ?> 
                         </div>
                     </div>
                </div>
                <div class="card-footer text-right">
                        <button type="submit" class="btn btn-primary">LABEL_SAVE</button>
                <button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
                </div>
                <?php echo $this->form()->closeTag($form); ?>   
                
        </div>          

        <div class="card" id="row-image-add-box" style="display: none">
                <div class="card-header">
                        <h6 class="card-title">LABEL_ADD_IMAGE_SLIDE</h6>
                </div>
                <?php 
            $form = $this->formImageAdd;
            $form->setAttributes([
               'method'    => 'post',
                'name'      => 'form-slide-image-add',
                'id'        => 'form-slide-image-add'
            ]);  
            $form->prepare();
            echo $this->form()->openTag($form);
            
            $element = $form->get('type');
            echo $this->formHidden($element);
            
            ?> 
                <div class="card-body">

                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('name');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_NAME']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
               
                <?php 
                    $element = $form->get('file');
                                        $element->setAttributes([ 'class' => 'form-control']);
                                        $element->setOptions(['label' => 'LABEL_IMAGE']);
                                        $element->setAttributes(['accept' => 'image/jpg,image/jpeg,image/png']);
                                        echo $this->formLabel($element);
                    echo $this->formFile($element); 
                ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('order');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_ORDER']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                </div>
                <div class="card-footer text-right">
                        <button type="submit" class="btn btn-primary">LABEL_SAVE</button>
                <button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
                </div>
                <?php echo $this->form()->closeTag($form); ?>   
        </div>


        <div class="card" id="row-image-edit-box" style="display: none">
                <div class="card-header">
                        <h6 class="card-title">LABEL_EDIT_IMAGE_SLIDE</h6>
                </div>
                 <?php 
            $form = $this->formImageEdit;
            $form->setAttributes([
               'method'    => 'post',
               'name'      => 'form-slide-image-edit',
               'id'        => 'form-slide-image-edit'
            ]);  
            $form->prepare();
            echo $this->form()->openTag($form);
            
            $element = $form->get('type');
            echo $this->formHidden($element);
            
            ?>
                <div class="card-body">

                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('name');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_NAME']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                
                        <div class="row">
                         <div class="col-12 mt-3">
                <?php 
                    $element = $form->get('file');
                                        $element->setAttributes([ 'class' => 'form-control']);
                                        $element->setOptions(['label' => 'LABEL_IMAGE']);
                                        $element->setAttributes(['accept' => 'image/jpg,image/jpeg,image/png']);
                                        echo $this->formLabel($element);
                    echo $this->formFile($element); 
                ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('order');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_ORDER']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                                </div>
                     </div>
                </div>
                <div class="card-footer text-right">
                        <button type="submit" class="btn btn-primary">LABEL_SAVE</button>
                <button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
                </div>
                <?php echo $this->form()->closeTag($form); ?>   
        </div>
        
        <div class="card" id="row-video-add-box" style="display: none">
                <div class="card-header">
                        <h6 class="card-title">LABEL_ADD_VIDEO_SLIDE</h6>
                </div>
                <?php 
            $form = $this->formVideoAdd;
            $form->setAttributes([
               'method'    => 'post',
                'name'      => 'form-slide-video-add',
                'id'        => 'form-slide-video-add'
            ]);  
            $form->prepare();
            echo $this->form()->openTag($form);
            
            $element = $form->get('type');
            echo $this->formHidden($element);
            
            ?> 
                <div class="card-body">
                        <div class="row">
                         <div class="col-12 mt-3">
                         </div>
                     </div>
                     
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('name');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_NAME']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('order');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_ORDER']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                
                                <?php 
                        $element = $form->get('file');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_VIDEO']);
                        $element->setAttributes(['accept' => 'video/webm,video/mpeg,video/mp4']);
                        echo $this->formLabel($element);
                        echo $this->formFile($element);
                        ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('background');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_IMAGE']);
                        $element->setAttributes(['accept' => 'image/jpg,image/jpeg,image/png']);
                        echo $this->formLabel($element);
                        echo $this->formFile($element);
                        ?>
      
                         </div>
                     </div>
                </div>
                <div class="card-footer text-right">
                     <button type="submit" class="btn btn-primary">LABEL_SAVE</button>
                <button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
                </div>
                <?php echo $this->form()->closeTag($form); ?>   
        </div>
        
        
        <div class="card" id="row-video-edit-box" style="display: none">
                <div class="card-header">
                        <h6 class="card-title">>LABEL_EDIT_VIDEO_SLIDE</h6>
                </div>
                <?php 
                $form = $this->formVideoEdit;
                $form->setAttributes([
                    'method'    => 'post',
                    'name'      => 'form-slide-video-edit',
                    'id'        => 'form-slide-video-edit'
                ]);  
            $form->prepare();
            echo $this->form()->openTag($form);
            
            $element = $form->get('type');
            echo $this->formHidden($element);
            
            ?> 
                <div class="card-body">
                        <div class="row">
                         <div class="col-12 mt-3">
                         </div>
                     </div>
                     
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('name');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_NAME']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('order');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_ORDER']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                
                                <?php 
                        $element = $form->get('file');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_VIDEO']);
                        $element->setAttributes(['accept' => 'video/webm,video/mpeg,video/mp4']);
                        echo $this->formLabel($element);
                        echo $this->formFile($element);
                        ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('background');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_IMAGE']);
                        $element->setAttributes(['accept' => 'image/jpg,image/jpeg,image/png']);
                        echo $this->formLabel($element);
                        echo $this->formFile($element);
                        ?>
      
                         </div>
                     </div>
                </div>
                <div class="card-footer text-right">
                     <button type="submit" class="btn btn-primary">LABEL_SAVE</button>
                <button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
                </div>
                <?php echo $this->form()->closeTag($form); ?>   
        </div>
        
        
        <div class="card" id="row-document-add-box" style="display: none">
                <div class="card-header">
                        <h6 class="card-title">LABEL_ADD_DOCUMENT_SLIDE</h6>
                </div>
                <?php 
            $form = $this->formDocumentAdd;
            $form->setAttributes([
               'method'    => 'post',
                'name'      => 'form-slide-document-add',
                'id'        => 'form-slide-document-add'
            ]);  
            $form->prepare();
            echo $this->form()->openTag($form);
            
            $element = $form->get('type');
            echo $this->formHidden($element);
            
            ?> 
                <div class="card-body">


                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('name');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_NAME']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('order');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_ORDER']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                        
                                <?php 
                        $element = $form->get('file');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_DOCUMENT']);
                        $element->setAttributes(['accept' => 'application/pdf']);
                        echo $this->formLabel($element);
                        echo $this->formFile($element);
                        ?>
                
                        
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('background');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_IMAGE']);
                        $element->setAttributes(['accept' => 'image/jpg,image/jpeg,image/png']);
                        echo $this->formLabel($element);
                        echo $this->formFile($element);
                        ?>
      
                         </div>
                     </div>
                </div>
                <div class="card-footer text-right">
                      <button type="submit" class="btn btn-primary">LABEL_SAVE</button>
                <button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
                </div>
                <?php echo $this->form()->closeTag($form); ?>   
        </div>
        
        
        <div class="card" id="row-document-edit-box" style="display: none">
                <div class="card-header">
                        <h6 class="card-title">LABEL_EDIT_DOCUMENT_SLIDE</h6>
                </div>
                <?php 
                $form = $this->formDocumentEdit;
                $form->setAttributes([
                    'method'    => 'post',
                    'name'      => 'form-slide-document-edit',
                    'id'        => 'form-slide-document-edit'
                ]);  
            $form->prepare();
            echo $this->form()->openTag($form);
            
            $element = $form->get('type');
            echo $this->formHidden($element);
            
            ?> 
                <div class="card-body">


                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('name');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_NAME']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('order');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_ORDER']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                        
                                <?php 
                        $element = $form->get('file');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_DOCUMENT']);
                        $element->setAttributes(['accept' => 'application/pdf']);
                        echo $this->formLabel($element);
                        echo $this->formFile($element);
                        ?>
                
                        
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('background');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_IMAGE']);
                        $element->setAttributes(['accept' => 'image/jpg,image/jpeg,image/png']);
                        echo $this->formLabel($element);
                        echo $this->formFile($element);
                        ?>
      
                         </div>
                     </div>
                </div>
                <div class="card-footer text-right">
                      <button type="submit" class="btn btn-primary">LABEL_SAVE</button>
                <button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
                </div>
                <?php echo $this->form()->closeTag($form); ?>   
        </div>
        
        <div class="card" id="row-audio-add-box" style="display: none">
                <div class="card-header">
                        <h6 class="card-title">LABEL_ADD_AUDIO_SLIDE</h6>
                </div>
                <?php 
            $form = $this->formAudioAdd;
            $form->setAttributes([
               'method'    => 'post',
                'name'      => 'form-slide-audio-add',
                'id'        => 'form-slide-audio-add'
            ]);  
            $form->prepare();
            echo $this->form()->openTag($form);
            
            $element = $form->get('type');
            echo $this->formHidden($element);
            
            ?> 
                <div class="card-body">
                        <div class="row">
                         <div class="col-12 mt-3">
                         </div>
                     </div>
                     
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('name');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_NAME']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('order');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_ORDER']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                        
                                <?php 
                        $element = $form->get('file');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_AUDIO']);
                        $element->setAttributes(['accept' => 'audio/x-wav, audio/mpeg']);
                        echo $this->formLabel($element);
                        echo $this->formFile($element);
                        
                        ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('background');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_IMAGE']);
                        $element->setAttributes(['accept' => 'image/jpg,image/jpeg,image/png']);
                        echo $this->formLabel($element);
                        echo $this->formFile($element);
                        ?>
      
                         </div>
                     </div>
                </div>
                <div class="card-footer text-right">
                      <button type="submit" class="btn btn-primary">LABEL_SAVE</button>
                <button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
                </div>
                <?php echo $this->form()->closeTag($form); ?>   
        </div>
        
        
        <div class="card" id="row-audio-edit-box" style="display: none">
                <div class="card-header">
                        <h6 class="card-title">LABEL_EDIT_AUDIO_SLIDE</h6>
                </div>
                <?php 
                $form = $this->formAudioEdit;
                $form->setAttributes([
                    'method'    => 'post',
                    'name'      => 'form-slide-audio-edit',
                    'id'        => 'form-slide-audio-edit'
                ]);  
            $form->prepare();
            echo $this->form()->openTag($form);
            
            $element = $form->get('type');
            echo $this->formHidden($element);
            
            ?> 
                <div class="card-body">
                        <div class="row">
                         <div class="col-12 mt-3">
                         </div>
                     </div>
                     
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('name');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_NAME']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('order');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_ORDER']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                        
                                <?php 
                        $element = $form->get('file');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_AUDIO']);
                        $element->setAttributes(['accept' => 'audio/x-wav, audio/mpeg']);
                        echo $this->formLabel($element);
                        echo $this->formFile($element);
                        
                        ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('background');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_IMAGE']);
                        $element->setAttributes(['accept' => 'image/jpg,image/jpeg,image/png']);
                        echo $this->formLabel($element);
                        echo $this->formFile($element);
                        ?>
      
                         </div>
                     </div>
                </div>
                <div class="card-footer text-right">
                      <button type="submit" class="btn btn-primary">LABEL_SAVE</button>
                <button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
                </div>
                <?php echo $this->form()->closeTag($form); ?>   
        </div>
        
        
        <div class="card" id="row-quizz-add-box" style="display: none">
                <div class="card-header">
                        <h6 class="card-title">LABEL_ADD_QUIZ_SLIDE</h6>
                </div>
                <?php 
            $form = $this->formQuizzAdd;
            $form->setAttributes([
               'method'    => 'post',
                'name'      => 'form-slide-quizz-add',
                'id'        => 'form-slide-quizz-add'
            ]);  
            $form->prepare();
            echo $this->form()->openTag($form);
            
            $element = $form->get('type');
            echo $this->formHidden($element);
            
            ?> 
                <div class="card-body">

                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('name');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_NAME']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('order');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_ORDER']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                        
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('quiz_id');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_QUIZ']);
                        echo $this->formLabel($element);
                        echo $this->formSelect($element);
                    ?>
                         </div>
                     </div>
                     
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('background');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_IMAGE']);
                        $element->setAttributes(['accept' => 'image/jpg,image/jpeg,image/png']);
                        echo $this->formLabel($element);
                        echo $this->formFile($element);
                        ?>
      
                         </div>
                     </div>
                </div>
                <div class="card-footer text-right">
                     <button type="submit" class="btn btn-primary">LABEL_SAVE</button>
                <button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
                </div>
                <?php echo $this->form()->closeTag($form); ?>   
        </div>
        
        <div class="card" id="row-quizz-edit-box" style="display: none">
                <div class="card-header">
                        <h6 class="card-title">LABEL_EDIT_QUIZ_SLIDE</h6>
                </div>
                <?php 
                $form = $this->formQuizzEdit;
                $form->setAttributes([
                    'method'    => 'post',
                    'name'      => 'form-slide-quizz-edit',
                    'id'        => 'form-slide-quizz-edit'
                ]);  
            $form->prepare();
            echo $this->form()->openTag($form);
            
            $element = $form->get('type');
            echo $this->formHidden($element);
            
            ?> 
                <div class="card-body">

                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('name');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_NAME']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('order');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_ORDER']);
                        echo $this->formLabel($element);
                        echo $this->formText($element);
                    ?>
                         </div>
                     </div>
                        
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('quiz_id');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_QUIZ']);
                        echo $this->formLabel($element);
                        echo $this->formSelect($element);
                    ?>
                         </div>
                     </div>
                     
                        <div class="row">
                         <div class="col-12 mt-3">
                                <?php 
                        $element = $form->get('background');
                        $element->setAttributes(['class' => 'form-control']);
                        $element->setOptions(['label' => 'LABEL_IMAGE']);
                        $element->setAttributes(['accept' => 'image/jpg,image/jpeg,image/png']);
                        echo $this->formLabel($element);
                        echo $this->formFile($element);
                        ?>
      
                         </div>
                     </div>
                </div>
                <div class="card-footer text-right">
                     <button type="submit" class="btn btn-primary">LABEL_SAVE</button>
                <button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
                </div>
                <?php echo $this->form()->closeTag($form); ?>   
        </div>
</div>                          
                

        
                                        
                

<!-- The Modal -->
<div class="modal" id="modal-play-video-box" >
        <div class="modal-dialog ">
        <div class="modal-content">

            <!-- Modal Header -->
                <div class="modal-header">
                        <h6 class="modal-title">LABEL_PLAY_VIDEO</h6>
                        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="btn-close"></button>
                </div>

            <!-- Modal body --> 
            <div class="modal-body">
                                <video src=""  style="width: 300px; height: auto" controls preload="false" autoplay="false"  poster="" id="microlearning-play-video"></video>
                </div>
                
            <!-- Modal footer -->
                <div class="modal-footer text-right">
                         <button type="button" class="btn btn-light" data-bs-dismiss="modal">LABEL_CLOSE</button>
                </div>
         </div>         
        </div>
</div>          
                                        
                



<!-- The Modal -->
<div class="modal" id="modal-play-audio-box" >
        <div class="modal-dialog ">
        <div class="modal-content">

            <!-- Modal Header -->
                <div class="modal-header">
                        <h6 class="modal-title">LABEL_PLAY_AUDIO</h6>
                        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="btn-close"></button>
                </div>

            <!-- Modal body --> 
            <div class="modal-body">
                                <audio src="" controls autoplay="false"  id="microlearning-play-audio" >
                  Your browser does not support the <code>audio</code> element.
                </audio>
                </div>
                
            <!-- Modal footer -->
                <div class="modal-footer text-right">
                         <button type="button" class="btn btn-light" data-bs-dismiss="modal">LABEL_CLOSE</button>
                </div>
         </div>         
        </div>
</div>          
                                        

<!-- The Modal -->
<div class="modal" id="modal-view-image-box">
        <div class="modal-dialog ">
        <div class="modal-content">

            <!-- Modal Header -->
                <div class="modal-header">
                        <h6 class="modal-title">LABEL_IMAGE</h6>
                        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="btn-close"></button>
                </div>

            <!-- Modal body --> 
            <div class="modal-body text-center">
                                <img src="" class="img img-responsive" style="width: 300px; height: auto" id="image-view" />
                </div>
                
            <!-- Modal footer -->
                <div class="modal-footer text-right">
                         <button type="button" class="btn btn-light" data-bs-dismiss="modal">LABEL_CLOSE</button>
                </div>
         </div>         
        </div>
</div>                  


<!-- The Modal -->
<div class="modal" id="modal-view-document-box">
        <div class="modal-dialog ">
        <div class="modal-content">

            <!-- Modal Header -->
                <div class="modal-header">
                        <h6 class="modal-title">LABEL_DOCUMENT</h6>
                        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="btn-close"></button>
                </div>

            <!-- Modal body --> 
            <div class="modal-body text-center">
                <iframe id="document-view" style="width: 450px; height: 300px; overflow: auto">
                
                </iframe>
        </div>
                
            <!-- Modal footer -->
                <div class="modal-footer text-right">
                         <button type="button" class="btn btn-light" data-bs-dismiss="modal">LABEL_CLOSE</button>
                </div>
         </div>         
        </div>
</div>          


<!-- The Modal -->
<div class="modal" id="modal-view-text-box">
        <div class="modal-dialog modal-xl">
        <div class="modal-content">

            <!-- Modal Header -->
                <div class="modal-header">
                        <h6 class="modal-title">LABEL_TEXT</h6>
                        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="btn-close"></button>
                </div>

            <!-- Modal body --> 
            <div class="modal-body" >
                <div id="document-text" style="width: 100%; height: 300px; overflow: auto;">

                
                </div>

        </div>
                
            <!-- Modal footer -->
                <div class="modal-footer text-right">
                         <button type="button" class="btn btn-light" data-bs-dismiss="modal">LABEL_CLOSE</button>
                </div>
         </div>         
        </div>
</div>