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/message/amd/build/toggle_contact_button.min.js.map
{"version":3,"file":"toggle_contact_button.min.js","sources":["../src/toggle_contact_button.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 * Module to add/remove contact using ajax.\n *\n * @module     core_message/toggle_contact_button\n * @copyright  2016 Ryan Wyllie <ryan@moodle.com>\n * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\ndefine(['jquery', 'core/ajax', 'core/templates', 'core/notification', 'core/custom_interaction_events'],\n        function($, Ajax, Templates, Notification, CustomEvents) {\n\n    /**\n     * Check the state of the element, if the current user is a contact or not.\n     *\n     * @method isContact\n     * @param {object} element jQuery object for the button\n     * @return {bool}\n     */\n    var isContact = function(element) {\n        return element.attr('data-is-contact') == '1';\n    };\n\n    /**\n     * Record that the user is a contact.\n     *\n     * @method setContact\n     * @param {object} element jQuery object for the button\n     */\n    var setContact = function(element) {\n        element.attr('data-is-contact', '1');\n    };\n\n    /**\n     * Record that the user is not a contact.\n     *\n     * @method setNotContact\n     * @param {object} element jQuery object for the button\n     */\n    var setNotContact = function(element) {\n        element.attr('data-is-contact', '0');\n    };\n\n    /**\n     * Get the id for the user being viewed.\n     *\n     * @method getUserId\n     * @param {object} element jQuery object for the button\n     * @return {int}\n     */\n    var getUserId = function(element) {\n        return element.attr('data-userid');\n    };\n\n    /**\n     * Get the id for the logged in user.\n     *\n     * @method getUserId\n     * @param {object} element jQuery object for the button\n     * @return {int}\n     */\n    var getCurrentUserId = function(element) {\n        return element.attr('data-currentuserid');\n    };\n\n    /**\n     * Check if this element is currently loading.\n     *\n     * @method isLoading\n     * @param {object} element jQuery object for the button\n     * @return {bool}\n     */\n    var isLoading = function(element) {\n        return element.hasClass('loading') || element.attr('disabled');\n    };\n\n    /**\n     * Sends an ajax request to the server and handles the element state\n     * while the request is being performed.\n     *\n     * @method sendRequest\n     * @param {object} element jQuery object for the button\n     * @param {object} request Request hash to send\n     * @return {object} jQuery promise\n     */\n    var sendRequest = function(element, request) {\n        if (isLoading(element)) {\n            return $.Deferred();\n        }\n\n        element.addClass('loading');\n        element.attr('disabled', 'disabled');\n\n        return Ajax.call([request])[0]\n            .fail(Notification.exception)\n            .always(function() {\n                element.removeClass('loading');\n                element.removeAttr('disabled');\n            });\n    };\n\n    /**\n     * Send a request to the server to add the current user as\n     * a contact. The contents of the button are changed to the\n     * remove contact button upon success.\n     *\n     * @method addContact\n     * @param {object} element jQuery object for the button\n     */\n    var addContact = function(element) {\n        if (isLoading(element)) {\n            return;\n        }\n\n        var request = {\n            methodname: 'core_message_create_contact_request',\n            args: {\n                userid: getCurrentUserId(element),\n                requesteduserid: getUserId(element),\n            }\n        };\n        sendRequest(element, request).done(function() {\n            setContact(element);\n            Templates.render('message/remove_contact_button', {}).done(function(html, js) {\n                Templates.replaceNodeContents(element, html, js);\n            });\n        });\n    };\n\n    /**\n     * Send a request to the server to remove the current user as\n     * a contact. The contents of the button are changed to the\n     * add contact button upon success.\n     *\n     * @method removeContact\n     * @param {object} element jQuery object for the button\n     */\n    var removeContact = function(element) {\n        if (isLoading(element)) {\n            return;\n        }\n\n        var request = {\n            methodname: 'core_message_delete_contacts',\n            args: {\n                userids: [getUserId(element)],\n            }\n        };\n\n        sendRequest(element, request).done(function() {\n            setNotContact(element);\n            Templates.render('message/add_contact_button', {}).done(function(html, js) {\n                Templates.replaceNodeContents(element, html, js);\n            });\n        });\n    };\n\n    /**\n     * Enhances the given element with a loading gif and event handles to make\n     * ajax requests to add or remove a contact where appropriate.\n     *\n     * @public\n     * @method enhance\n     * @param {object} element jQuery object for the button\n     */\n    var enhance = function(element) {\n        element = $(element);\n\n        if (!element.children('.loading-icon').length) {\n            // Add the loading gif if it isn't already there.\n            Templates.render('core/loading', {}).done(function(html, js) {\n                element.append(html, js);\n            });\n        }\n\n        CustomEvents.define(element, [CustomEvents.events.activate]);\n\n        element.on(CustomEvents.events.activate, function(e, data) {\n            if (isContact(element)) {\n                removeContact(element);\n            } else {\n                addContact(element);\n            }\n            e.preventDefault();\n            data.originalEvent.preventDefault();\n        });\n    };\n\n    return {\n        enhance: enhance\n    };\n});\n"],"names":["define","$","Ajax","Templates","Notification","CustomEvents","getUserId","element","attr","getCurrentUserId","isLoading","hasClass","sendRequest","request","Deferred","addClass","call","fail","exception","always","removeClass","removeAttr","enhance","children","length","render","done","html","js","append","events","activate","on","e","data","isContact","methodname","args","userid","requesteduserid","setContact","replaceNodeContents","addContact","userids","setNotContact","removeContact","preventDefault","originalEvent"],"mappings":";;;;;;;AAsBAA,4CAAO,CAAC,SAAU,YAAa,iBAAkB,oBAAqB,mCAC9D,SAASC,EAAGC,KAAMC,UAAWC,aAAcC,kBAwC3CC,UAAY,SAASC,gBACdA,QAAQC,KAAK,gBAUpBC,iBAAmB,SAASF,gBACrBA,QAAQC,KAAK,uBAUpBE,UAAY,SAASH,gBACdA,QAAQI,SAAS,YAAcJ,QAAQC,KAAK,aAYnDI,YAAc,SAASL,QAASM,gBAC5BH,UAAUH,SACHN,EAAEa,YAGbP,QAAQQ,SAAS,WACjBR,QAAQC,KAAK,WAAY,YAElBN,KAAKc,KAAK,CAACH,UAAU,GACvBI,KAAKb,aAAac,WAClBC,QAAO,WACJZ,QAAQa,YAAY,WACpBb,QAAQc,WAAW,uBA2FxB,CACHC,QAxBU,SAASf,UACnBA,QAAUN,EAAEM,UAECgB,SAAS,iBAAiBC,QAEnCrB,UAAUsB,OAAO,eAAgB,IAAIC,MAAK,SAASC,KAAMC,IACrDrB,QAAQsB,OAAOF,KAAMC,OAI7BvB,aAAaL,OAAOO,QAAS,CAACF,aAAayB,OAAOC,WAElDxB,QAAQyB,GAAG3B,aAAayB,OAAOC,UAAU,SAASE,EAAGC,OA9JzC,SAAS3B,eACqB,KAAnCA,QAAQC,KAAK,mBA8JZ2B,CAAU5B,SArEL,SAASA,aAClBG,UAAUH,cAIVM,QAAU,CACVuB,WAAY,sCACZC,KAAM,CACFC,OAAQ7B,iBAAiBF,SACzBgC,gBAAiBjC,UAAUC,WAGnCK,YAAYL,QAASM,SAASa,MAAK,YA5FtB,SAASnB,SACtBA,QAAQC,KAAK,kBAAmB,KA4F5BgC,CAAWjC,SACXJ,UAAUsB,OAAO,gCAAiC,IAAIC,MAAK,SAASC,KAAMC,IACtEzB,UAAUsC,oBAAoBlC,QAASoB,KAAMC,WAyD7Cc,CAAWnC,SA5CH,SAASA,aACrBG,UAAUH,cAIVM,QAAU,CACVuB,WAAY,+BACZC,KAAM,CACFM,QAAS,CAACrC,UAAUC,YAI5BK,YAAYL,QAASM,SAASa,MAAK,YA9GnB,SAASnB,SACzBA,QAAQC,KAAK,kBAAmB,KA8G5BoC,CAAcrC,SACdJ,UAAUsB,OAAO,6BAA8B,IAAIC,MAAK,SAASC,KAAMC,IACnEzB,UAAUsC,oBAAoBlC,QAASoB,KAAMC,WA2B7CiB,CAActC,SAIlB0B,EAAEa,iBACFZ,KAAKa,cAAcD"}