HEX
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/8.0.30
System: Linux multiplicar 3.10.0-1160.102.1.el7.x86_64 #1 SMP Tue Oct 17 15:42:21 UTC 2023 x86_64
User: root (0)
PHP: 8.0.30
Disabled: NONE
Upload Files
File: /var/www/html/formacion.bdp.com.py-bk/lib/amd/build/inplace_editable.min.js.map
{"version":3,"file":"inplace_editable.min.js","sources":["../src/inplace_editable.js"],"sourcesContent":["// 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/**\n * AJAX helper for the inline editing a value.\n *\n * This script is automatically included from template core/inplace_editable\n * It registers a click-listener on [data-inplaceeditablelink] link (the \"inplace edit\" icon),\n * then replaces the displayed value with an input field. On \"Enter\" it sends a request\n * to web service core_update_inplace_editable, which invokes the specified callback.\n * Any exception thrown by the web service (or callback) is displayed as an error popup.\n *\n * @module     core/inplace_editable\n * @copyright  2016 Marina Glancy\n * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n * @since      3.1\n */\ndefine(['jquery',\n        'core/ajax',\n        'core/templates',\n        'core/notification',\n        'core/str',\n        'core/config',\n        'core/url',\n        'core/form-autocomplete',\n        'core/pending',\n    ],\n    function($, ajax, templates, notification, str, cfg, url, autocomplete, Pending) {\n\n    $('body').on('click keypress', '[data-inplaceeditable] [data-inplaceeditablelink]', function(e) {\n        if (e.type === 'keypress' && e.keyCode !== 13) {\n            return;\n        }\n        var editingEnabledPromise = new Pending('autocomplete-start-editing');\n        e.stopImmediatePropagation();\n        e.preventDefault();\n        var target = $(this),\n            mainelement = target.closest('[data-inplaceeditable]');\n\n        var addSpinner = function(element) {\n            element.addClass('updating');\n            var spinner = element.find('img.spinner');\n            if (spinner.length) {\n                spinner.show();\n            } else {\n                spinner = $('<img/>')\n                        .attr('src', url.imageUrl('i/loading_small'))\n                        .addClass('spinner').addClass('smallicon')\n                    ;\n                element.append(spinner);\n            }\n        };\n\n        var removeSpinner = function(element) {\n            element.removeClass('updating');\n            element.find('img.spinner').hide();\n        };\n\n        var updateValue = function(mainelement, value) {\n            var pendingId = [\n                    mainelement.attr('data-itemid'),\n                    mainelement.attr('data-component'),\n                    mainelement.attr('data-itemtype'),\n                ].join('-');\n            var pendingPromise = new Pending(pendingId);\n\n            addSpinner(mainelement);\n            ajax.call([{\n                methodname: 'core_update_inplace_editable',\n                args: {\n                    itemid: mainelement.attr('data-itemid'),\n                    component: mainelement.attr('data-component'),\n                    itemtype: mainelement.attr('data-itemtype'),\n                    value: value,\n                },\n            }])[0]\n            .then(function(data) {\n                return templates.render('core/inplace_editable', data)\n                .then(function(html, js) {\n                    var oldvalue = mainelement.attr('data-value');\n                    var newelement = $(html);\n                    templates.replaceNode(mainelement, newelement, js);\n                    newelement.find('[data-inplaceeditablelink]').focus();\n                    newelement.trigger({\n                        type: 'updated',\n                        ajaxreturn: data,\n                        oldvalue: oldvalue,\n                    });\n\n                    return;\n                });\n            })\n            .then(function() {\n                return pendingPromise.resolve();\n            })\n            .fail(function(ex) {\n                var e = $.Event('updatefailed', {\n                        exception: ex,\n                        newvalue: value\n                    });\n                removeSpinner(mainelement);\n                M.util.js_complete(pendingId);\n                mainelement.trigger(e);\n                if (!e.isDefaultPrevented()) {\n                    notification.exception(ex);\n                }\n            });\n        };\n\n        var turnEditingOff = function(el) {\n            el.find('input').off();\n            el.find('select').off();\n            el.html(el.attr('data-oldcontent'));\n            el.removeAttr('data-oldcontent');\n            el.removeClass('inplaceeditingon');\n            el.find('[data-inplaceeditablelink]').focus();\n        };\n\n        var turnEditingOffEverywhere = function() {\n            $('span.inplaceeditable.inplaceeditingon').each(function() {\n                turnEditingOff($(this));\n            });\n        };\n\n        var uniqueId = function(prefix, idlength) {\n            var uniqid = prefix,\n                i;\n            for (i = 0; i < idlength; i++) {\n                uniqid += String(Math.floor(Math.random() * 10));\n            }\n            // Make sure this ID is not already taken by an existing element.\n            if ($(\"#\" + uniqid).length === 0) {\n                return uniqid;\n            }\n            return uniqueId(prefix, idlength);\n        };\n\n        var turnEditingOnText = function(el) {\n            str.get_string('edittitleinstructions').done(function(s) {\n                var instr = $('<span class=\"editinstructions\">' + s + '</span>').\n                        attr('id', uniqueId('id_editinstructions_', 20)),\n                    inputelement = $('<input type=\"text\"/>').\n                        attr('id', uniqueId('id_inplacevalue_', 20)).\n                        attr('value', el.attr('data-value')).\n                        attr('aria-describedby', instr.attr('id')).\n                        addClass('ignoredirty').\n                        addClass('form-control'),\n                    lbl = $('<label class=\"accesshide\">' + mainelement.attr('data-editlabel') + '</label>').\n                        attr('for', inputelement.attr('id'));\n                el.html('').append(instr).append(lbl).append(inputelement);\n\n                inputelement.focus();\n                inputelement.select();\n                inputelement.on('keyup keypress focusout', function(e) {\n                    if (cfg.behatsiterunning && e.type === 'focusout') {\n                        // Behat triggers focusout too often.\n                        return;\n                    }\n                    if (e.type === 'keypress' && e.keyCode === 13) {\n                        // We need 'keypress' event for Enter because keyup/keydown would catch Enter that was\n                        // pressed in other fields.\n                        var val = inputelement.val();\n                        turnEditingOff(el);\n                        updateValue(el, val);\n                    }\n                    if ((e.type === 'keyup' && e.keyCode === 27) || e.type === 'focusout') {\n                        // We need 'keyup' event for Escape because keypress does not work with Escape.\n                        turnEditingOff(el);\n                    }\n                });\n            });\n        };\n\n        var turnEditingOnToggle = function(el, newvalue) {\n            turnEditingOff(el);\n            updateValue(el, newvalue);\n        };\n\n        var turnEditingOnSelect = function(el, options) {\n            var i,\n                inputelement = $('<select></select>').\n                    attr('id', uniqueId('id_inplacevalue_', 20)).\n                    addClass('custom-select'),\n                lbl = $('<label class=\"accesshide\">' + mainelement.attr('data-editlabel') + '</label>')\n                    .attr('for', inputelement.attr('id'));\n            for (i in options) {\n                inputelement\n                    .append($('<option>')\n                    .attr('value', options[i].key)\n                    .html(options[i].value));\n            }\n            inputelement.val(el.attr('data-value'));\n\n            el.html('')\n                .append(lbl)\n                .append(inputelement);\n\n            inputelement.focus();\n            inputelement.select();\n            inputelement.on('keyup change focusout', function(e) {\n                if (cfg.behatsiterunning && e.type === 'focusout') {\n                    // Behat triggers focusout too often.\n                    return;\n                }\n                if (e.type === 'change') {\n                    var val = inputelement.val();\n                    turnEditingOff(el);\n                    updateValue(el, val);\n                }\n                if ((e.type === 'keyup' && e.keyCode === 27) || e.type === 'focusout') {\n                    // We need 'keyup' event for Escape because keypress does not work with Escape.\n                    turnEditingOff(el);\n                }\n            });\n        };\n\n        var turnEditingOnAutocomplete = function(el, args) {\n            var i,\n                inputelement = $('<select></select>').\n                    attr('id', uniqueId('id_inplacevalue_', 20)).\n                    addClass('form-autocomplete-original-select').\n                    addClass('custom-select'),\n                lbl = $('<label class=\"accesshide\">' + mainelement.attr('data-editlabel') + '</label>')\n                    .attr('for', inputelement.attr('id')),\n                options = args.options,\n                attributes = args.attributes,\n                saveelement = $('<a href=\"#\"></a>'),\n                cancelelement = $('<a href=\"#\"></a>');\n\n            for (i in options) {\n                inputelement\n                    .append($('<option>')\n                    .attr('value', options[i].key)\n                    .html(options[i].value));\n            }\n            if (attributes.multiple) {\n                inputelement.attr('multiple', 'true');\n            }\n            inputelement.val(JSON.parse(el.attr('data-value')));\n\n            str.get_string('savechanges', 'core').then(function(s) {\n                return templates.renderPix('e/save', 'core', s);\n            }).then(function(html) {\n                saveelement.append(html);\n                return;\n            }).fail(notification.exception);\n\n            str.get_string('cancel', 'core').then(function(s) {\n                return templates.renderPix('e/cancel', 'core', s);\n            }).then(function(html) {\n                cancelelement.append(html);\n                return;\n            }).fail(notification.exception);\n\n            el.html('')\n                .append(lbl)\n                .append(inputelement)\n                .append(saveelement)\n                .append(cancelelement);\n\n            inputelement.focus();\n            inputelement.select();\n            autocomplete.enhance(inputelement,\n                                 attributes.tags,\n                                 attributes.ajax,\n                                 attributes.placeholder,\n                                 attributes.caseSensitive,\n                                 attributes.showSuggestions,\n                                 attributes.noSelectionString)\n                .then(function() {\n                // Focus on the enhanced combobox.\n                el.find('[role=combobox]').focus();\n                // Stop eslint nagging.\n                return;\n            }).fail(notification.exception);\n\n            inputelement.on('keyup', function(e) {\n                if ((e.type === 'keyup' && e.keyCode === 27) || e.type === 'focusout') {\n                    // We need 'keyup' event for Escape because keypress does not work with Escape.\n                    turnEditingOff(el);\n                }\n            });\n            saveelement.on('click', function(e) {\n                var val = JSON.stringify(inputelement.val());\n                // We need to empty the node to destroy all event handlers etc.\n                inputelement.empty();\n                turnEditingOff(el);\n                updateValue(el, val);\n                e.preventDefault();\n            });\n            cancelelement.on('click', function(e) {\n                // We need to empty the node to destroy all event handlers etc.\n                inputelement.empty();\n                turnEditingOff(el);\n                e.preventDefault();\n            });\n        };\n\n        var turnEditingOn = function(el) {\n            el.addClass('inplaceeditingon');\n            el.attr('data-oldcontent', el.html());\n\n            var type = el.attr('data-type');\n            var options = el.attr('data-options');\n\n            if (type === 'toggle') {\n                turnEditingOnToggle(el, options);\n            } else if (type === 'select') {\n                turnEditingOnSelect(el, $.parseJSON(options));\n            } else if (type === 'autocomplete') {\n                turnEditingOnAutocomplete(el, $.parseJSON(options));\n            } else {\n                turnEditingOnText(el);\n            }\n        };\n\n        // Turn editing on for the current element and register handler for Enter/Esc keys.\n        turnEditingOffEverywhere();\n        turnEditingOn(mainelement);\n        editingEnabledPromise.resolve();\n\n    });\n\n    return {};\n});\n"],"names":["define","$","ajax","templates","notification","str","cfg","url","autocomplete","Pending","on","e","type","keyCode","editingEnabledPromise","stopImmediatePropagation","preventDefault","mainelement","this","closest","updateValue","value","pendingId","attr","join","pendingPromise","element","addClass","spinner","find","length","show","imageUrl","append","addSpinner","call","methodname","args","itemid","component","itemtype","then","data","render","html","js","oldvalue","newelement","replaceNode","focus","trigger","ajaxreturn","resolve","fail","ex","Event","exception","newvalue","removeClass","hide","M","util","js_complete","isDefaultPrevented","turnEditingOff","el","off","removeAttr","uniqueId","prefix","idlength","i","uniqid","String","Math","floor","random","each","options","turnEditingOnToggle","inputelement","lbl","key","val","select","behatsiterunning","turnEditingOnSelect","parseJSON","attributes","saveelement","cancelelement","multiple","JSON","parse","get_string","s","renderPix","enhance","tags","placeholder","caseSensitive","showSuggestions","noSelectionString","stringify","empty","turnEditingOnAutocomplete","done","instr","turnEditingOnText","turnEditingOn"],"mappings":"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"}