on-demand release 4.0dev+
[moodle.git] / admin / tool / licensemanager / amd / src / delete_license.js
1 // This file is part of Moodle - http://moodle.org/
2 //
3 // Moodle is free software: you can redistribute it and/or modify
4 // it under the terms of the GNU General Public License as published by
5 // the Free Software Foundation, either version 3 of the License, or
6 // (at your option) any later version.
7 //
8 // Moodle is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 // GNU General Public License for more details.
12 //
13 // You should have received a copy of the GNU General Public License
14 // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
16 /**
17  * Modal for confirming deletion of a custom license.
18  *
19  * @module     tool_licensemanager/delete_license
20  * @class      delete_license
21  * @package    tool_licensemanager
22  * @copyright  2019 Tom Dickman <tomdickman@catalyst-au.net>
23  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
24  */
25 define(['jquery', 'core/modal_factory', 'core/modal_events', 'core/url', 'core/str'],
26     function($, ModalFactory, ModalEvents, Url, String) {
28         var trigger = $('.delete-license');
29         ModalFactory.create({
30             type: ModalFactory.types.SAVE_CANCEL,
31             title: String.get_string('deletelicense', 'tool_licensemanager'),
32             body: String.get_string('deletelicenseconfirmmessage', 'tool_licensemanager'),
33             preShowCallback: function(triggerElement, modal) {
34                 triggerElement = $(triggerElement);
35                 let params = {
36                     'action': 'delete',
37                     'license': triggerElement.data('license')
38                 };
39                 modal.deleteURL = Url.relativeUrl('/admin/tool/licensemanager/index.php', params, true);
40             },
41             large: true,
42         }, trigger)
43             .done(function(modal) {
44                 modal.getRoot().on(ModalEvents.save, function(e) {
45                     // Stop the default save button behaviour which is to close the modal.
46                     e.preventDefault();
47                     // Redirect to delete url.
48                     window.location.href = modal.deleteURL;
49                 });
50             });
51     });