Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 17137 | Rev 17139 | 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->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap4-toggle/css/bootstrap4-toggle.min.css'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap4-toggle/js/bootstrap4-toggle.min.js'));

$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>