Sindbad~EG File Manager

Current Path : /var/www/html/ch.sumar.com.py/cursos/theme/snap/amd/build/
Upload File :
Current File : /var/www/html/ch.sumar.com.py/cursos/theme/snap/amd/build/cover_image.min.js.map

{"version":3,"file":"cover_image.min.js","sources":["../src/cover_image.js"],"sourcesContent":["/**\n * This file is part of Moodle - http://moodle.org/\n *\n * Moodle is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Moodle is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with Moodle.  If not, see <http://www.gnu.org/licenses/>.\n *\n * @package\n * @copyright Copyright (c) 2015 Open LMS (https://www.openlms.net)\n * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\ndefine(['jquery', 'core/log', 'core/ajax', 'core/notification', 'theme_snap/ajax_notification'],\n    function($, log, ajax, notification, ajaxNotify) {\n\n        // TODO - in Moodle 3.1 we should use the core template for this.\n        var addCoverImageAlert = function(id, msg, position = null) {\n            if (position === \"dialogue\") {\n                var alertPosition = '.snap_cover_image_description';\n            } else {\n                var alertPosition = '#snap-coverimagecontrol';\n            }\n            var closestr = M.util.get_string('closebuttontitle', 'moodle');\n            if (!$(id).length) {\n                $(alertPosition).before(\n                    '<div id=\"' + id + '\" class=\"snap-alert-cover-image alert alert-warning\" role=\"alert\">' +\n                    msg +\n                    '<button type=\"button\" class=\"close\" data-dismiss=\"alert\" aria-label=\"' + closestr + '\">' +\n                    '<span aria-hidden=\"true\">&times;</span>' +\n                    '</button>' +\n                    '</div>'\n                );\n            }\n        };\n\n        /**\n         * Get human file size from bytes.\n         * http://stackoverflow.com/questions/10420352/converting-file-size-in-bytes-to-human-readable.\n         * @param {int} size\n         * @returns {string}\n         */\n        var humanFileSize = function(size) {\n            var i = Math.floor(Math.log(size) / Math.log(1024));\n            return (size / Math.pow(1024, i)).toFixed(2) * 1 + ' ' + ['B', 'kB', 'MB', 'GB', 'TB'][i];\n        };\n\n        /**\n         * First state - image selection button visible.\n         */\n        var state1 = function() {\n            $('#snap-changecoverimageconfirmation .ok').removeClass('ajaxing');\n            $('#snap-alert-cover-image-size').remove();\n            $('#snap-alert-cover-image-bytes').remove();\n            $('label[for=\"snap-coverfiles\"]').removeClass('ajaxing');\n            $('#snap-changecoverimageconfirmation').removeClass('state-visible');\n            $('label[for=\"snap-coverfiles\"]').addClass('state-visible');\n            $('#snap-coverfiles').val('');\n            $('body').removeClass('cover-image-change');\n        };\n\n        /**\n         * Second state - confirm / cancel buttons visible.\n         */\n        var state2 = function() {\n            $('#snap-alert-cover-image-upload-failed').remove();\n            $('#snap-changecoverimageconfirmation').removeClass('disabled');\n            $('label[for=\"snap-coverfiles\"]').removeClass('state-visible');\n            $('#snap-changecoverimageconfirmation').addClass('state-visible');\n            $('body').removeClass('cover-image-change');\n        };\n\n        /**\n         * Moodle dialogue box.\n         * @param {string} courseShortName\n         * @param {int} categoryId\n         * @param {object} fpoptions\n         * @param {int} siteMaxBytes\n         */\n        var moodledialogue = function(courseShortName, categoryId, fpoptions, siteMaxBytes) {\n            var maxbytesstr = humanFileSize(siteMaxBytes);\n            let title = M.util.get_string('imageproperties', 'theme_snap');\n            let coverImageDesc = M.util.get_string('coverimagedesc', 'theme_snap', maxbytesstr);\n            let browseRepositories = M.util.get_string('browserepositories', 'theme_snap');\n            let saveImage = M.util.get_string('saveimage', 'theme_snap');\n\n            let content =\n                '<div class=\"mb-1 snap_cover_image_dialogue\">' +\n                    '<p class=\"snap_cover_image_description\">' + coverImageDesc + '</p>' +\n                    '<div class=\"input-group input-append w-100 snap_cover_image_browser_options\">' +\n                        '<button class=\"btn btn-secondary snap_cover_image_browser\" id=\"id_snap_cover_image_browser\">' +\n                        browseRepositories + '</button>' +\n                    '</div>' +\n                // Add the image preview.\n                '<div class=\"mdl-align\">' +\n                    '<div class=\"snap_cover_image_preview_box\">' +\n                        '<img id=\"id_snap_cover_image_preview\" class=\"snap_cover_image_preview\" alt=\"\" style=\"display: none;\"/>' +\n                    '</div>' +\n                '</div>' +\n                // Add the save button.\n                '<div class=\"snap_cover_image_save\">' +\n                        '<button class=\"btn btn-secondary snap_cover_image_save_button\" id=\"id_snap_cover_image_save_button\"' +\n                        'disabled>' + saveImage + '</button>' +\n                    '</div>' +\n                '</div>';\n\n            var dialogue = new M.core.dialogue({\n                headerContent: title,\n                bodyContent: content,\n                width: '600px',\n                modal: true,\n                visible: false,\n                render: true,\n                additionalBaseClass: 'snap_cover_image_dialogue',\n            });\n            dialogue.show();\n\n            $('body').addClass('cover-image-change');\n            $('label[for=\"snap-coverfiles\"]').addClass('ajaxing');\n\n            $('#id_snap_cover_image_browser').click(function(e) {\n                e.preventDefault();\n                showFilepicker('image', fpoptions, filepickerCallback(courseShortName, categoryId));\n            });\n            $('#id_snap_cover_image_save_button').click(function() {\n                dialogue.hide();\n            });\n            $('.snap_cover_image_dialogue .closebutton, .moodle-dialogue-lightbox').click(function() {\n                state1();\n            });\n            dialogue.after(\"visibleChange\", function() {\n                if ($('#snap-changecoverimageconfirmation .ok').hasClass('ajaxing')) {\n                    state2();\n                }\n                if (!dialogue.get('visible')) {\n                    dialogue.destroy(true);\n                }\n            });\n        };\n\n        /**\n         * Load the image in the preview box.\n         * @param {object} params\n         * @param {string} courseShortName\n         * @param {int} categoryId\n         */\n        var loadPreviewImage = function(params, courseShortName, categoryId) {\n\n            var image = new Image();\n            image.onerror = function() {\n                var preview = document.getElementById('id_snap_cover_image_preview');\n                preview.setAttribute('style', 'display:none');\n            };\n\n            image.onload = function() {\n                var input;\n                var imageWidth = this.width;\n                input = document.getElementById('id_snap_cover_image_preview');\n                input.setAttribute('src', params.url);\n                input.setAttribute('style', 'display:inline');\n                $('.snap_cover_image_save_button').prop(\"disabled\", false);\n\n                // Warn if image resolution is too small.\n                if (imageWidth < 1024) {\n                    $('#snap-alert-cover-image-size').remove();\n                    addCoverImageAlert('snap-alert-cover-image-size',\n                        M.util.get_string('error:coverimageresolutionlow', 'theme_snap'),\n                        'dialogue'\n                    );\n                } else {\n                    $('#snap-alert-cover-image-size').remove();\n                }\n\n                $('#id_snap_cover_image_save_button').click(function() {\n\n                    // Ensure that the page-header in courses has the mast-image class.\n                    $('.path-course-view #page-header').addClass('mast-image');\n                    $('.path-course-view #page-header .breadcrumb-item a').addClass('mast-breadcrumb');\n\n                    $('#page-header').css('background-image', 'url(' + params.url + ')');\n\n                    state2();\n                    saveImage(params, courseShortName, categoryId);\n                });\n\n            };\n            image.src = params.url;\n        };\n\n\n        /**\n         * Callback for file picker.\n         * @param {string} courseShortName\n         * @param {int} categoryId\n         */\n        var filepickerCallback = function(courseShortName, categoryId) {\n            return function(params) {\n            if (params.url !== '') {\n                // Load the preview image.\n                loadPreviewImage(params, courseShortName, categoryId);\n                }\n            };\n        };\n\n        /**\n         * Create file picker.\n         * @param {string} type\n         * @param {object} fpoptions\n         * @param {Function} callback\n         */\n        var showFilepicker = function(type, fpoptions, callback) {\n            Y.use('core_filepicker', function(Y) {\n                var options = fpoptions;\n                options.formcallback = callback;\n                M.core_filepicker.show(Y, options);\n            });\n        };\n\n        /**\n         * Save image after confirmation.\n         * @param {object} params\n         * @param {string} courseShortName\n         * @param {int} categoryId\n         */\n        var saveImage = function(params, courseShortName, categoryId) {\n\n            $('#snap-changecoverimageconfirmation .ok').click(function() {\n                var ajaxParams = {};\n\n                if (categoryId !== null) {\n                    ajaxParams.categoryid = categoryId;\n                } else if (courseShortName !== null) {\n                    ajaxParams.courseshortname = courseShortName;\n                } else {\n                    return;\n                }\n\n                if (params.id !== undefined) {\n                    ajaxParams.fileid = params.id;\n                } else {\n                    var fileNameWithoutSpaces = params.file.replace(/ .*/, \"\");\n                    var regex = new RegExp(\"draft\\\\/(\\\\d+)\\\\/\" + fileNameWithoutSpaces, \"g\");\n                    var urlId = params.url.match(regex);\n                    ajaxParams.fileid = urlId[0].match(/\\d+/)[0];\n                }\n\n                ajaxParams.imagefilename = params.file;\n\n                ajax.call([\n                    {\n                        methodname: 'theme_snap_cover_image',\n                        args: {params: ajaxParams},\n                        done: function(response) {\n                            state1();\n                            if (response.contrast) {\n                                addCoverImageAlert('snap-alert-cover-image-size',\n                                    response.contrast\n                                );\n                            }\n                            if (!response.success && response.warning) {\n                                addCoverImageAlert('snap-alert-cover-image-upload-failed', response.warning);\n                            }\n                            $('#snap-changecoverimageconfirmation .ok').off(\"click\");\n                        },\n                        fail: function(response) {\n                            state1();\n                            ajaxNotify.ifErrorShowBestMsg(response);\n                        }\n                    }\n                ], true, true);\n            });\n\n            $('#snap-changecoverimageconfirmation .cancel').click(function() {\n\n                if ($(this).parent().hasClass('disabled')) {\n                    return;\n                }\n                $('#page-header').css('background-image', $('#page-header').data('servercoverfile'));\n                $('.path-course-view #page-header').removeClass('mast-image');\n                state1();\n            });\n        };\n\n        /**\n         *\n         * @param {object} ajaxParams\n         * @param {string} courseShortName\n         * @param {int} categoryId\n         * @param {int} siteMaxBytes\n         */\n        var coverImage = function(ajaxParams, courseShortName = null, categoryId = null, siteMaxBytes) {\n\n            if (courseShortName === null && categoryId === null) {\n                return;\n            }\n\n            ajax.call([\n                {\n                    methodname: 'theme_snap_file_manager_options',\n                    args: [],\n                    done: function(data) {\n                        var fpoptions = JSON.parse(data.fpoptions);\n                        // Take a backup of what the current background image url is (if any).\n                        $('#page-header').data('servercoverfile', $('#page-header').css('background-image'));\n                        $('#snap-coverimagecontrol').addClass('snap-js-enabled');\n                        $('#snap-coverfiles').click(function() {\n                            moodledialogue(courseShortName, categoryId, fpoptions, siteMaxBytes);\n                        });\n                    },\n                    fail: function() {\n                        return;\n                    }\n                }\n            ], true, true);\n        };\n\n        /**\n         * @param {int} categoryId\n         * @param {int} siteMaxBytes\n         */\n        var categoryCoverImage = function(categoryId, siteMaxBytes) {\n            var ajaxParams = {imagefilename: null, imagedata: null, categoryid: categoryId,\n                    courseshortname: null};\n            coverImage(ajaxParams, null, categoryId, siteMaxBytes);\n        };\n\n        /**\n         * @param {string} courseShortName\n         * @param {int} siteMaxBytes\n         */\n        var courseCoverImage = function(courseShortName, siteMaxBytes) {\n            var ajaxParams = {imagefilename: null, imagedata: null, categoryid: null,\n                    courseshortname: courseShortName};\n\n            coverImage(ajaxParams, courseShortName, null, siteMaxBytes);\n        };\n        return {courseImage: courseCoverImage, categoryImage: categoryCoverImage};\n    }\n);\n"],"names":["define","$","log","ajax","notification","ajaxNotify","addCoverImageAlert","id","msg","position","alertPosition","closestr","M","util","get_string","length","before","state1","removeClass","remove","addClass","val","state2","moodledialogue","courseShortName","categoryId","fpoptions","siteMaxBytes","size","i","maxbytesstr","Math","floor","pow","toFixed","title","content","dialogue","core","headerContent","bodyContent","width","modal","visible","render","additionalBaseClass","show","click","e","preventDefault","showFilepicker","filepickerCallback","hide","after","hasClass","get","destroy","params","url","image","Image","onerror","document","getElementById","setAttribute","onload","input","imageWidth","this","prop","css","saveImage","src","loadPreviewImage","type","callback","Y","use","options","formcallback","core_filepicker","ajaxParams","categoryid","courseshortname","undefined","fileid","fileNameWithoutSpaces","file","replace","regex","RegExp","urlId","match","imagefilename","call","methodname","args","done","response","contrast","success","warning","off","fail","ifErrorShowBestMsg","parent","data","coverImage","JSON","parse","courseImage","imagedata","categoryImage"],"mappings":"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"}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists