MDL-68409 js: Add Alert modal
authorAndrew Nicols <andrew@nicols.co.uk>
Tue, 14 Apr 2020 01:03:46 +0000 (09:03 +0800)
committerAndrew Nicols <andrew@nicols.co.uk>
Mon, 4 May 2020 07:07:49 +0000 (15:07 +0800)
lang/en/moodle.php
lib/amd/build/modal_factory.min.js
lib/amd/build/modal_factory.min.js.map
lib/amd/src/modal_factory.js
lib/templates/local/modal/alert.mustache [new file with mode: 0644]

index f0a53e9..4885cc4 100644 (file)
@@ -1499,6 +1499,7 @@ $string['numwords'] = '{$a} words';
 $string['numyear'] = '{$a} year';
 $string['numyears'] = '{$a} years';
 $string['ok'] = 'OK';
+$string['okay'] = 'Ok';
 $string['oldpassword'] = 'Current password';
 $string['olduserdirectory'] = 'This is the OLD users directory, and is no longer needed. You may safely delete it. The files it contains have been copied to the NEW user directory.';
 $string['optional'] = 'optional';
index 7f1a73f..87e5370 100644 (file)
Binary files a/lib/amd/build/modal_factory.min.js and b/lib/amd/build/modal_factory.min.js differ
index 93f24aa..5d1aafd 100644 (file)
Binary files a/lib/amd/build/modal_factory.min.js.map and b/lib/amd/build/modal_factory.min.js.map differ
index a7d070d..1e27c2f 100644 (file)
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
 define(['jquery', 'core/modal_events', 'core/modal_registry', 'core/modal',
-        'core/modal_save_cancel', 'core/modal_cancel',
+        'core/modal_save_cancel', 'core/modal_cancel', 'core/local/modal/alert',
         'core/templates', 'core/notification', 'core/custom_interaction_events',
         'core/pending'],
     function($, ModalEvents, ModalRegistry, Modal, ModalSaveCancel,
-        ModalCancel, Templates, Notification, CustomEvents, Pending) {
+        ModalCancel, ModalAlert, Templates, Notification, CustomEvents, Pending) {
 
     // The templates for each type of modal.
     var TEMPLATES = {
         DEFAULT: 'core/modal',
         SAVE_CANCEL: 'core/modal_save_cancel',
         CANCEL: 'core/modal_cancel',
+        ALERT: 'core/local/modal/alert',
     };
 
     // The available types of modals.
@@ -41,12 +42,14 @@ define(['jquery', 'core/modal_events', 'core/modal_registry', 'core/modal',
         DEFAULT: 'DEFAULT',
         SAVE_CANCEL: 'SAVE_CANCEL',
         CANCEL: 'CANCEL',
+        ALERT: 'ALERT',
     };
 
     // Register the common set of modals.
     ModalRegistry.register(TYPES.DEFAULT, Modal, TEMPLATES.DEFAULT);
     ModalRegistry.register(TYPES.SAVE_CANCEL, ModalSaveCancel, TEMPLATES.SAVE_CANCEL);
     ModalRegistry.register(TYPES.CANCEL, ModalCancel, TEMPLATES.CANCEL);
+    ModalRegistry.register(TYPES.ALERT, ModalAlert, TEMPLATES.ALERT);
 
     /**
      * Set up the events required to show the modal and return focus when the modal
diff --git a/lib/templates/local/modal/alert.mustache b/lib/templates/local/modal/alert.mustache
new file mode 100644 (file)
index 0000000..78ce7cd
--- /dev/null
@@ -0,0 +1,45 @@
+{{!
+    This file is part of Moodle - http://moodle.org/
+
+    Moodle is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    Moodle is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+}}
+{{!
+    @template core/local/modal/alert
+
+    Moodle modal template with one oaky button.
+
+    The purpose of this template is to render an alert modal with an acceptance option.
+
+    Classes required for JS:
+    * none
+
+    Data attributes required for JS:
+    * none
+
+    Context variables required for this template:
+    * title A cleaned string (use clean_text()) to display.
+    * body HTML content for the boday
+
+    Example context (json):
+    {
+        "title": "Example cancel modal",
+        "body": "Some example content for the body"
+    }
+}}
+
+{{< core/modal }}
+    {{$footer}}
+        <button type="button" class="btn btn-primary" data-action="cancel">{{#str}}okay, moodle{{/str}}</button>
+    {{/footer}}
+{{/ core/modal }}