diff --git a/mod/quiz/yui/build/moodle-mod_quiz-repaginate/moodle-mod_quiz-repaginate-debug.js b/mod/quiz/yui/build/moodle-mod_quiz-repaginate/moodle-mod_quiz-repaginate-debug.js new file mode 100644 index 0000000..9909260 Binary files /dev/null and b/mod/quiz/yui/build/moodle-mod_quiz-repaginate/moodle-mod_quiz-repaginate-debug.js differ diff --git a/mod/quiz/yui/build/moodle-mod_quiz-repaginate/moodle-mod_quiz-repaginate-min.js b/mod/quiz/yui/build/moodle-mod_quiz-repaginate/moodle-mod_quiz-repaginate-min.js new file mode 100644 index 0000000..700c79f Binary files /dev/null and b/mod/quiz/yui/build/moodle-mod_quiz-repaginate/moodle-mod_quiz-repaginate-min.js differ diff --git a/mod/quiz/yui/build/moodle-mod_quiz-repaginate/moodle-mod_quiz-repaginate.js b/mod/quiz/yui/build/moodle-mod_quiz-repaginate/moodle-mod_quiz-repaginate.js new file mode 100644 index 0000000..9909260 Binary files /dev/null and b/mod/quiz/yui/build/moodle-mod_quiz-repaginate/moodle-mod_quiz-repaginate.js differ diff --git a/mod/quiz/yui/src/repaginate/build.json b/mod/quiz/yui/src/repaginate/build.json new file mode 100644 index 0000000..fc6e1f7 --- /dev/null +++ b/mod/quiz/yui/src/repaginate/build.json @@ -0,0 +1,10 @@ +{ + "name": "moodle-mod_quiz-repaginate", + "builds": { + "moodle-mod_quiz-repaginate": { + "jsfiles": [ + "repaginate.js" + ] + } + } +} diff --git a/mod/quiz/yui/src/repaginate/js/repaginate.js b/mod/quiz/yui/src/repaginate/js/repaginate.js new file mode 100644 index 0000000..2e6e0bc --- /dev/null +++ b/mod/quiz/yui/src/repaginate/js/repaginate.js @@ -0,0 +1,81 @@ +// 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 . + + +/** + * Repaginate functionality for a popup in quiz editing page. + * + * @package mod_quiz + * @copyright 2014 The Open University + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +var CSS = { + REPAGINATECONTAINERCLASS: '.rpcontainerclass', + REPAGINATECOMMAND: '#repaginatecommand' +}; + +var PARAMS = { + CMID: 'cmid', + HEADER: 'header', + FORM: 'form' +}; + +var POPUP = function() { + POPUP.superclass.constructor.apply(this, arguments); +}; + +Y.extend(POPUP, Y.Base, { + header: null, + body: null, + + initializer: function() { + var rpcontainerclass = Y.one(CSS.REPAGINATECONTAINERCLASS); + + // Set popup header and body. + this.header = rpcontainerclass.getAttribute(PARAMS.HEADER); + this.body = rpcontainerclass.getAttribute(PARAMS.FORM); + Y.one(CSS.REPAGINATECOMMAND).on('click', this.display_dialog, this); + }, + + display_dialog: function(e) { + e.preventDefault(); + + // Configure the popup. + var config = { + headerContent: this.header, + bodyContent: this.body, + draggable: true, + modal: true, + zIndex: 1000, + context: [CSS.REPAGINATECOMMAND, 'tr', 'br', ['beforeShow']], + centered: false, + width: '30em', + visible: false, + postmethod: 'form', + footerContent: null + }; + + var popup = {dialog: null}; + popup.dialog = new M.core.dialogue(config); + popup.dialog.show(); + } +}); + +M.mod_quiz = M.mod_quiz || {}; +M.mod_quiz.repaginate = M.mod_quiz.repaginate || {}; +M.mod_quiz.repaginate.init = function() { + return new POPUP(); +}; diff --git a/mod/quiz/yui/src/repaginate/meta/repaginate.json b/mod/quiz/yui/src/repaginate/meta/repaginate.json new file mode 100644 index 0000000..c97b768 --- /dev/null +++ b/mod/quiz/yui/src/repaginate/meta/repaginate.json @@ -0,0 +1,11 @@ +{ + "moodle-mod_quiz-repaginate": { + "requires": [ + "base", + "event", + "node", + "io", + "moodle-core-notification-dialogue" + ] + } +}