MDL-67814 core_h5p: added renderer and editor classes
[moodle.git] / h5p / amd / src / editor_display.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  * This module handles the display of the H5P authoring tool.
18  *
19  * @module     core_h5p/editor_display
20  * @package    core_h5p
21  * @copyright  2020 Victor Deniz <victor@moodle.com>
22  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23  */
25 import $ from 'jquery';
27 /**
28  * Display the H5P authoring tool.
29  *
30  * @param {String} elementId Root element.
31  */
32 export const init = (elementId) => {
33     const editorwrapper = $('#' + elementId);
34     const editor = $('.h5p-editor');
35     const mform = editor.closest("form");
36     const editorupload = $("h5p-editor-upload");
37     const h5plibrary = $('input[name="h5plibrary"]');
38     const h5pparams = $('input[name="h5pparams"]');
39     const inputname = $('input[name="name"]');
40     const h5paction = $('input[name="h5paction"]');
42     // Cancel validation and submission of form if clicking cancel button.
43     const cancelSubmitCallback = function($button) {
44         return $button.is('[name="cancel"]');
45     };
47     h5paction.val("create");
49     H5PEditor.init(
50         mform,
51         h5paction,
52         editorupload,
53         editorwrapper,
54         editor,
55         h5plibrary,
56         h5pparams,
57         '',
58         inputname,
59         cancelSubmitCallback
60     );
61 };