mirror of
https://github.com/moodle/moodle.git
synced 2025-01-17 21:49:15 +01:00
Andrew Nicols
9073225c98
MDL-78324 core: Simplify modal configuration
This change moves configuration of the modal from the ModalFactory to a new `configure` function on the Modal class which does exactly the same thing. This means that the API is fully encapsulated within the Modal, and an individual Modal can specify its own configuration more easily. This change will make it much easier to instantiate new modals, significantly reducing boilerplate in many instances. This change allows modals to extend the `configure()` method to provide their own defaults, or to override standard ones. ```js class MyModal extends Modal { static TYPE = 'my_module/mymodal'; static TEMPLATE = 'my_module/mymodal'; configure(params = {}) { // Override the default value for large. params.large = true; super.configure(params); // Handle our own properties here. const { makeSound = true, } = params; this.setSoundEmitter(makeSound); } ``` Prior to this change, it was common to see this happen in the _calling_ code, rather than the modal itself.
…
…
.-..-. _____ | || | /____/-.---_ .---. .---. .-.| || | .---. | | _ _ |/ _ \/ _ \/ _ || |/ __ \ * | | | | | || |_| || |_| || |_| || || |___/ |_| |_| |_|\_____/\_____/\_____||_|\_____) Moodle - the world's open source learning platform Moodle <https://moodle.org> is a learning platform designed to provide educators, administrators and learners with a single robust, secure and integrated system to create personalised learning environments. You can download Moodle <https://download.moodle.org> and run it on your own web server, ask one of our Moodle Partners <https://moodle.com/partners/> to assist you, or have a MoodleCloud site <https://moodle.com/cloud/> set up for you. Moodle is widely used around the world by universities, schools, companies and all manner of organisations and individuals. Moodle is provided freely as open source software, under the GNU General Public License <https://docs.moodle.org/dev/License>. Moodle is written in PHP and JavaScript and uses an SQL database for storing the data. See <https://docs.moodle.org> for details of Moodle's many features.
Description
Languages
PHP
78.1%
JavaScript
14.6%
Gherkin
3.5%
CSS
1.7%
Mustache
1.6%
Other
0.4%