MDL-69166 core_payment: Use a custom modal type for gateway selector
[moodle.git] / payment / amd / build / modal_gateways.min.js.map
1 {"version":3,"sources":["../src/modal_gateways.js"],"names":["define","$","Notification","CustomEvents","Modal","ModalEvents","PaymentEvents","ModalRegistry","registered","SELECTORS","PROCEED_BUTTON","CANCEL_BUTTON","ModalGateways","root","call","TYPE","prototype","Object","create","constructor","registerEventListeners","getModal","on","events","activate","e","data","proceedEvent","Event","proceed","getRoot","trigger","isDefaultPrevented","hide","originalEvent","preventDefault","bind","cancelEvent","cancel","register"],"mappings":"AAwBAA,OAAM,+BAAC,CACH,QADG,CAEH,mBAFG,CAGH,gCAHG,CAIH,YAJG,CAKH,mBALG,CAMH,qBANG,CAOH,qBAPG,CAAD,CASN,SACIC,CADJ,CAEIC,CAFJ,CAGIC,CAHJ,CAIIC,CAJJ,CAKIC,CALJ,CAMIC,CANJ,CAOIC,CAPJ,CAQE,IAEMC,CAAAA,CAAU,GAFhB,CAGMC,CAAS,CAAG,CACZC,cAAc,CAAE,2BADJ,CAEZC,aAAa,CAAE,0BAFH,CAHlB,CAaMC,CAAa,CAAG,SAASC,CAAT,CAAe,CAC/BT,CAAK,CAACU,IAAN,CAAW,IAAX,CAAiBD,CAAjB,CACH,CAfH,CAiBED,CAAa,CAACG,IAAd,CAAqB,6BAArB,CACAH,CAAa,CAACI,SAAd,CAA0BC,MAAM,CAACC,MAAP,CAAcd,CAAK,CAACY,SAApB,CAA1B,CACAJ,CAAa,CAACI,SAAd,CAAwBG,WAAxB,CAAsCP,CAAtC,CAOAA,CAAa,CAACI,SAAd,CAAwBI,sBAAxB,CAAiD,UAAW,CAExDhB,CAAK,CAACY,SAAN,CAAgBI,sBAAhB,CAAuCN,IAAvC,CAA4C,IAA5C,EAEA,KAAKO,QAAL,GAAgBC,EAAhB,CAAmBnB,CAAY,CAACoB,MAAb,CAAoBC,QAAvC,CAAiDf,CAAS,CAACC,cAA3D,CAA2E,SAASe,CAAT,CAAYC,CAAZ,CAAkB,CACzF,GAAIC,CAAAA,CAAY,CAAG1B,CAAC,CAAC2B,KAAF,CAAQtB,CAAa,CAACuB,OAAtB,CAAnB,CACA,KAAKC,OAAL,GAAeC,OAAf,CAAuBJ,CAAvB,CAAqC,IAArC,EAEA,GAAI,CAACA,CAAY,CAACK,kBAAb,EAAL,CAAwC,CACpC,KAAKC,IAAL,GACAP,CAAI,CAACQ,aAAL,CAAmBC,cAAnB,EACH,CACJ,CAR0E,CAQzEC,IARyE,CAQpE,IARoE,CAA3E,EAUA,KAAKf,QAAL,GAAgBC,EAAhB,CAAmBnB,CAAY,CAACoB,MAAb,CAAoBC,QAAvC,CAAiDf,CAAS,CAACE,aAA3D,CAA0E,SAASc,CAAT,CAAYC,CAAZ,CAAkB,CACxF,GAAIW,CAAAA,CAAW,CAAGpC,CAAC,CAAC2B,KAAF,CAAQvB,CAAW,CAACiC,MAApB,CAAlB,CACA,KAAKR,OAAL,GAAeC,OAAf,CAAuBM,CAAvB,CAAoC,IAApC,EAEA,GAAI,CAACA,CAAW,CAACL,kBAAZ,EAAL,CAAuC,CACnC,KAAKC,IAAL,GACAP,CAAI,CAACQ,aAAL,CAAmBC,cAAnB,EACH,CACJ,CARyE,CAQxEC,IARwE,CAQnE,IARmE,CAA1E,CASH,CAvBD,CA2BA,GAAI,CAAC5B,CAAL,CAAiB,CACbD,CAAa,CAACgC,QAAd,CAAuB3B,CAAa,CAACG,IAArC,CAA2CH,CAA3C,CAA0D,6BAA1D,EACAJ,CAAU,GACb,CAED,MAAOI,CAAAA,CACV,CA5EK,CAAN","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 * Contain the logic for the gateways modal: A modal with proceed and cancel buttons.\n *\n * @module     core_payment/modal_gateways\n * @package    core_payment\n * @copyright  2020 Shamim Rezaie <shamim@moodle.com>\n * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\ndefine([\n    'jquery',\n    'core/notification',\n    'core/custom_interaction_events',\n    'core/modal',\n    'core/modal_events',\n    'core_payment/events',\n    'core/modal_registry'\n],\nfunction(\n    $,\n    Notification,\n    CustomEvents,\n    Modal,\n    ModalEvents,\n    PaymentEvents,\n    ModalRegistry\n) {\n\n    var registered = false;\n    var SELECTORS = {\n        PROCEED_BUTTON: '[data-action=\"proceed\"]',\n        CANCEL_BUTTON: '[data-action=\"cancel\"]',\n    };\n\n    /**\n     * Constructor for the Modal.\n     *\n     * @param {object} root The root jQuery element for the modal\n     */\n    var ModalGateways = function(root) {\n        Modal.call(this, root);\n    };\n\n    ModalGateways.TYPE = 'core_payment-modal_gateways';\n    ModalGateways.prototype = Object.create(Modal.prototype);\n    ModalGateways.prototype.constructor = ModalGateways;\n\n    /**\n     * Set up all of the event handling for the modal.\n     *\n     * @method registerEventListeners\n     */\n    ModalGateways.prototype.registerEventListeners = function() {\n        // Apply parent event listeners.\n        Modal.prototype.registerEventListeners.call(this);\n\n        this.getModal().on(CustomEvents.events.activate, SELECTORS.PROCEED_BUTTON, function(e, data) {\n            var proceedEvent = $.Event(PaymentEvents.proceed);\n            this.getRoot().trigger(proceedEvent, this);\n\n            if (!proceedEvent.isDefaultPrevented()) {\n                this.hide();\n                data.originalEvent.preventDefault();\n            }\n        }.bind(this));\n\n        this.getModal().on(CustomEvents.events.activate, SELECTORS.CANCEL_BUTTON, function(e, data) {\n            var cancelEvent = $.Event(ModalEvents.cancel);\n            this.getRoot().trigger(cancelEvent, this);\n\n            if (!cancelEvent.isDefaultPrevented()) {\n                this.hide();\n                data.originalEvent.preventDefault();\n            }\n        }.bind(this));\n    };\n\n    // Automatically register with the modal registry the first time this module is imported so that you can create modals\n    // of this type using the modal factory.\n    if (!registered) {\n        ModalRegistry.register(ModalGateways.TYPE, ModalGateways, 'core_payment/modal_gateways');\n        registered = true;\n    }\n\n    return ModalGateways;\n});\n"],"file":"modal_gateways.min.js"}