Proyectos de Subversion Moodle

Rev

Autoría | Ultima modificación | Ver Log |

{"version":3,"file":"pin_toggle.min.js","sources":["../src/pin_toggle.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 * This module is the highest level module for the calendar. It is\n * responsible for initialising all of the components required for\n * the calendar to run. It also coordinates the interaction between\n * components by listening for and responding to different events\n * triggered within the calendar UI.\n *\n * @module     mod_forum/pin_toggle\n * @copyright  2018 Andrew Nicols <andrew@nicols.co.uk>\n * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\ndefine([\n    'jquery',\n    'core/ajax',\n    'core/str',\n    'core/templates',\n    'core/notification',\n    'mod_forum/repository',\n    'mod_forum/selectors',\n    'core/str',\n], function(\n    $,\n    Ajax,\n    Str,\n    Templates,\n    Notification,\n    Repository,\n    Selectors,\n    String\n) {\n\n    /**\n     * Registery event listeners for the pin toggle.\n     *\n     * @param {object} root The calendar root element\n     * @param {boolean} preventDefault Should the default action of the event be prevented\n     * @param {function} callback Success callback\n     */\n    var registerEventListeners = function(root, preventDefault, callback) {\n        root.on('click', Selectors.pin.toggle, function(e) {\n            var toggleElement = $(this);\n            var forumid = toggleElement.data('forumid');\n            var discussionid = toggleElement.data('discussionid');\n            var pinstate = toggleElement.data('targetstate');\n            Repository.setPinDiscussionState(forumid, discussionid, pinstate)\n                .then(function(context) {\n                    return callback(toggleElement, context);\n                })\n                .then(function() {\n                    return String.get_string(\"pinupdated\", \"forum\")\n                        .done(function(s) {\n                            return Notification.addNotification({\n                                message: s,\n                                type: \"info\"\n                            });\n                        });\n                })\n                .fail(Notification.exception);\n\n            if (preventDefault) {\n                e.preventDefault();\n            }\n        });\n    };\n\n    return {\n        init: registerEventListeners\n    };\n});"],"names":["define","$","Ajax","Str","Templates","Notification","Repository","Selectors","String","init","root","preventDefault","callback","on","pin","toggle","e","toggleElement","this","forumid","data","discussionid","pinstate","setPinDiscussionState","then","context","get_string","done","s","addNotification","message","type","fail","exception"],"mappings":";;;;;;;;;;;AA0BAA,8BAAO,CACH,SACA,YACA,WACA,iBACA,oBACA,uBACA,sBACA,aACD,SACCC,EACAC,KACAC,IACAC,UACAC,aACAC,WACAC,UACAC,cAqCO,CACHC,KA5ByB,SAASC,KAAMC,eAAgBC,UACxDF,KAAKG,GAAG,QAASN,UAAUO,IAAIC,QAAQ,SAASC,OACxCC,cAAgBhB,EAAEiB,MAClBC,QAAUF,cAAcG,KAAK,WAC7BC,aAAeJ,cAAcG,KAAK,gBAClCE,SAAWL,cAAcG,KAAK,eAClCd,WAAWiB,sBAAsBJ,QAASE,aAAcC,UACnDE,MAAK,SAASC,gBACJb,SAASK,cAAeQ,YAElCD,MAAK,kBACKhB,OAAOkB,WAAW,aAAc,SAClCC,MAAK,SAASC,UACJvB,aAAawB,gBAAgB,CAChCC,QAASF,EACTG,KAAM,eAIrBC,KAAK3B,aAAa4B,WAEnBtB,gBACAK,EAAEL"}