Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 17138 | Rev 17140 | Ir a la última revisión | 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 = '';

        $.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 allowEdit   = $allowEdit;
        var allowDelete = $allowDelete;
        
        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);
                    
                    console.log(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'); 
                    }

                    if(response.data.capsules) {
                        var $select = $('#form-filter #capsule_uuid');
                        $select.empty();
                        $select.append('<option value="">LABEL_SELECT_CAPSULE</option>');
                        $.each(response.data.capsules, function(index, value) {
                            $select.append('<option value="' + index + '">' + value + '</option>');
                        });
                        
                        // Si hay una cápsula seleccionada en la URL, seleccionarla
                        var urlParams = new URLSearchParams(window.location.search);
                        var selectedCapsule = urlParams.get('capsule_uuid');
                        if (selectedCapsule) {
                            $select.val(selectedCapsule);
                        }
                    }

                    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/>';
                        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> <br/>';    
                        } 
                        
                        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> <br/>';    
                        }

                        
                        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> <br/>';    
                        } 

                        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> <br/>';    
                        }  

                        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>