AutorÃa | Ultima modificación | Ver Log |
{"version":3,"file":"subscription_toggle.min.js","sources":["../src/subscription_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 * Handle discussion subscription toggling on a discussion list in\n * the forum view.\n *\n * @module mod_forum/subscription_toggle\n * @copyright 2019 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/templates',\n 'core/notification',\n 'mod_forum/repository',\n 'mod_forum/selectors',\n 'core/pubsub',\n 'mod_forum/forum_events',\n ], function(\n $,\n Templates,\n Notification,\n Repository,\n Selectors,\n PubSub,\n ForumEvents\n ) {\n\n /**\n * Register event listeners for the subscription toggle.\n *\n * @param {object} root The discussion list 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.subscription.toggle, function(e) {\n var toggleElement = $(this);\n var forumId = toggleElement.data('forumid');\n var discussionId = toggleEleme
nt.data('discussionid');\n var subscriptionState = toggleElement.data('targetstate');\n\n Repository.setDiscussionSubscriptionState(forumId, discussionId, subscriptionState)\n .then(function(context) {\n PubSub.publish(ForumEvents.SUBSCRIPTION_TOGGLED, {\n discussionId: discussionId,\n subscriptionState: subscriptionState\n });\n return callback(toggleElement, context);\n })\n .catch(Notification.exception);\n\n if (preventDefault) {\n e.preventDefault();\n }\n });\n };\n\n return {\n init: registerEventListeners\n };\n});\n"],"names":["define","$","Templates","Notification","Repository","Selectors","PubSub","ForumEvents","init","root","preventDefault","callback","on","subscription","toggle","e","toggleElement","this","forumId","data","discussionId","subscriptionState","setDiscussio
nSubscriptionState","then","context","publish","SUBSCRIPTION_TOGGLED","catch","exception"],"mappings":";;;;;;;;AAuBAA,uCAAO,CACC,SACA,iBACA,oBACA,uBACA,sBACA,cACA,2BACD,SACCC,EACAC,UACAC,aACAC,WACAC,UACAC,OACAC,mBAiCG,CACHC,KAxByB,SAASC,KAAMC,eAAgBC,UACxDF,KAAKG,GAAG,QAASP,UAAUQ,aAAaC,QAAQ,SAASC,OACjDC,cAAgBf,EAAEgB,MAClBC,QAAUF,cAAcG,KAAK,WAC7BC,aAAeJ,cAAcG,KAAK,gBAClCE,kBAAoBL,cAAcG,KAAK,eAE3Cf,WAAWkB,+BAA+BJ,QAASE,aAAcC,mBAC5DE,MAAK,SAASC,gBACXlB,OAAOmB,QAAQlB,YAAYmB,qBAAsB,CAC7CN,aAAcA,aACdC,kBAAmBA,oBAEhBV,SAASK,cAAeQ,YAElCG,MAAMxB,aAAayB,WAEpBlB,gBACAK,EAAEL"}