From 36c1ac9b7a0e7c8312812c3f50b9f325746a8e26 Mon Sep 17 00:00:00 2001 From: Andrew Nicols Date: Sun, 21 Jul 2013 22:52:35 +0100 Subject: [PATCH 1/2] MDL-40811 JavaScript: Create a course-util module to reduce code duplication --- .../moodle-course-util-base-debug.js | 21 ++++++ .../moodle-course-util-base-min.js | 1 + .../moodle-course-util-base.js | 21 ++++++ .../moodle-course-util-cm-debug.js | 75 +++++++++++++++++++ .../moodle-course-util-cm-min.js | 1 + .../moodle-course-util-cm.js | 75 +++++++++++++++++++ .../moodle-course-util-section-debug.js | 45 +++++++++++ .../moodle-course-util-section-min.js | 1 + .../moodle-course-util-section.js | 45 +++++++++++ course/yui/src/util/build.json | 20 +++++ course/yui/src/util/js/base.js | 16 ++++ course/yui/src/util/js/cm.js | 70 +++++++++++++++++ course/yui/src/util/js/section.js | 40 ++++++++++ course/yui/src/util/meta/util.json | 26 +++++++ 14 files changed, 457 insertions(+) create mode 100644 course/yui/build/moodle-course-util-base/moodle-course-util-base-debug.js create mode 100644 course/yui/build/moodle-course-util-base/moodle-course-util-base-min.js create mode 100644 course/yui/build/moodle-course-util-base/moodle-course-util-base.js create mode 100644 course/yui/build/moodle-course-util-cm/moodle-course-util-cm-debug.js create mode 100644 course/yui/build/moodle-course-util-cm/moodle-course-util-cm-min.js create mode 100644 course/yui/build/moodle-course-util-cm/moodle-course-util-cm.js create mode 100644 course/yui/build/moodle-course-util-section/moodle-course-util-section-debug.js create mode 100644 course/yui/build/moodle-course-util-section/moodle-course-util-section-min.js create mode 100644 course/yui/build/moodle-course-util-section/moodle-course-util-section.js create mode 100644 course/yui/src/util/build.json create mode 100644 course/yui/src/util/js/base.js create mode 100644 course/yui/src/util/js/cm.js create mode 100644 course/yui/src/util/js/section.js create mode 100644 course/yui/src/util/meta/util.json diff --git a/course/yui/build/moodle-course-util-base/moodle-course-util-base-debug.js b/course/yui/build/moodle-course-util-base/moodle-course-util-base-debug.js new file mode 100644 index 00000000000..cbeb1ba2e5c --- /dev/null +++ b/course/yui/build/moodle-course-util-base/moodle-course-util-base-debug.js @@ -0,0 +1,21 @@ +YUI.add('moodle-course-util-base', function (Y, NAME) { + +/** + * The Moodle.core_course.util classes provide course-related utility functions. + * + * @module moodle-course-util + * @main + */ + +Y.namespace('Moodle.core_course.util'); + +/** + * A collection of general utility functions for use in course. + * + * @class Moodle.core_course.util + * @static + */ + + + +}, '@VERSION@'); diff --git a/course/yui/build/moodle-course-util-base/moodle-course-util-base-min.js b/course/yui/build/moodle-course-util-base/moodle-course-util-base-min.js new file mode 100644 index 00000000000..2d1cba0ef65 --- /dev/null +++ b/course/yui/build/moodle-course-util-base/moodle-course-util-base-min.js @@ -0,0 +1 @@ +YUI.add("moodle-course-util-base",function(e,t){e.namespace("Moodle.core_course.util")},"@VERSION@"); diff --git a/course/yui/build/moodle-course-util-base/moodle-course-util-base.js b/course/yui/build/moodle-course-util-base/moodle-course-util-base.js new file mode 100644 index 00000000000..cbeb1ba2e5c --- /dev/null +++ b/course/yui/build/moodle-course-util-base/moodle-course-util-base.js @@ -0,0 +1,21 @@ +YUI.add('moodle-course-util-base', function (Y, NAME) { + +/** + * The Moodle.core_course.util classes provide course-related utility functions. + * + * @module moodle-course-util + * @main + */ + +Y.namespace('Moodle.core_course.util'); + +/** + * A collection of general utility functions for use in course. + * + * @class Moodle.core_course.util + * @static + */ + + + +}, '@VERSION@'); diff --git a/course/yui/build/moodle-course-util-cm/moodle-course-util-cm-debug.js b/course/yui/build/moodle-course-util-cm/moodle-course-util-cm-debug.js new file mode 100644 index 00000000000..aef40c5055a --- /dev/null +++ b/course/yui/build/moodle-course-util-cm/moodle-course-util-cm-debug.js @@ -0,0 +1,75 @@ +YUI.add('moodle-course-util-cm', function (Y, NAME) { + +/** + * A collection of utility classes for use with course modules. + * + * @module moodle-course-util + * @submodule moodle-course-util-cm + */ + +Y.namespace('Moodle.core_course.util.cm'); + +/** + * A collection of utility classes for use with course modules. + * + * @class Moodle.core_course.util.cm + * @static + */ +Y.Moodle.core_course.util.cm = { + CONSTANTS: { + MODULEIDPREFIX : 'module-' + }, + SELECTORS: { + COURSEMODULE: '.activity', + INSTANCENAME: '.instancename' + }, + + /** + * Retrieve the course module item from one of it's child Nodes. + * + * @method getCourseModuleNodeFromComponent + * @param coursemodulecomponent {Node} The component Node. + * @return {Node|null} The Course Module Node. + */ + getCourseModuleFromComponent: function(coursemodulecomponent) { + return Y.one(coursemodulecomponent).ancestor(this.SELECTORS.COURSEMODULE, true); + }, + + /** + * Determines the section ID for the provided section. + * + * @method getId + * @param coursemodule {Node} The course module to find an ID for. + * @return {Number|false} The ID of the course module in question or false if no ID was found. + */ + getId: function(coursemodule) { + // We perform a simple substitution operation to get the ID. + var id = coursemodule.get('id').replace( + this.CONSTANTS.MODULEIDPREFIX, ''); + + // Attempt to validate the ID. + id = parseInt(id, 10); + if (typeof id === 'number' && isFinite(id)) { + return id; + } + return false; + }, + + /** + * Determines the section ID for the provided section. + * + * @method getName + * @param coursemodule {Node} The course module to find an ID for. + * @return {Number|false} The ID of the course module in question or false if no ID was found. + */ + getName: function(coursemodule) { + var instance = coursemodule.one(this.SELECTORS.INSTANCENAME); + if (instance) { + return instance.get('firstChild').get('data'); + } + return null; + } +}; + + +}, '@VERSION@', {"requires": ["node", "moodle-course-util-base"]}); diff --git a/course/yui/build/moodle-course-util-cm/moodle-course-util-cm-min.js b/course/yui/build/moodle-course-util-cm/moodle-course-util-cm-min.js new file mode 100644 index 00000000000..aa486121e04 --- /dev/null +++ b/course/yui/build/moodle-course-util-cm/moodle-course-util-cm-min.js @@ -0,0 +1 @@ +YUI.add("moodle-course-util-cm",function(e,t){e.namespace("Moodle.core_course.util.cm"),e.Moodle.core_course.util.cm={CONSTANTS:{MODULEIDPREFIX:"module-"},SELECTORS:{COURSEMODULE:".activity",INSTANCENAME:".instancename"},getCourseModuleFromComponent:function(t){return e.one(t).ancestor(this.SELECTORS.COURSEMODULE,!0)},getId:function(e){var t=e.get("id").replace(this.CONSTANTS.MODULEIDPREFIX,"");return t=parseInt(t,10),typeof t=="number"&&isFinite(t)?t:!1},getName:function(e){var t=e.one(this.SELECTORS.INSTANCENAME);return t?t.get("firstChild").get("data"):null}}},"@VERSION@",{requires:["node","moodle-course-util-base"]}); diff --git a/course/yui/build/moodle-course-util-cm/moodle-course-util-cm.js b/course/yui/build/moodle-course-util-cm/moodle-course-util-cm.js new file mode 100644 index 00000000000..aef40c5055a --- /dev/null +++ b/course/yui/build/moodle-course-util-cm/moodle-course-util-cm.js @@ -0,0 +1,75 @@ +YUI.add('moodle-course-util-cm', function (Y, NAME) { + +/** + * A collection of utility classes for use with course modules. + * + * @module moodle-course-util + * @submodule moodle-course-util-cm + */ + +Y.namespace('Moodle.core_course.util.cm'); + +/** + * A collection of utility classes for use with course modules. + * + * @class Moodle.core_course.util.cm + * @static + */ +Y.Moodle.core_course.util.cm = { + CONSTANTS: { + MODULEIDPREFIX : 'module-' + }, + SELECTORS: { + COURSEMODULE: '.activity', + INSTANCENAME: '.instancename' + }, + + /** + * Retrieve the course module item from one of it's child Nodes. + * + * @method getCourseModuleNodeFromComponent + * @param coursemodulecomponent {Node} The component Node. + * @return {Node|null} The Course Module Node. + */ + getCourseModuleFromComponent: function(coursemodulecomponent) { + return Y.one(coursemodulecomponent).ancestor(this.SELECTORS.COURSEMODULE, true); + }, + + /** + * Determines the section ID for the provided section. + * + * @method getId + * @param coursemodule {Node} The course module to find an ID for. + * @return {Number|false} The ID of the course module in question or false if no ID was found. + */ + getId: function(coursemodule) { + // We perform a simple substitution operation to get the ID. + var id = coursemodule.get('id').replace( + this.CONSTANTS.MODULEIDPREFIX, ''); + + // Attempt to validate the ID. + id = parseInt(id, 10); + if (typeof id === 'number' && isFinite(id)) { + return id; + } + return false; + }, + + /** + * Determines the section ID for the provided section. + * + * @method getName + * @param coursemodule {Node} The course module to find an ID for. + * @return {Number|false} The ID of the course module in question or false if no ID was found. + */ + getName: function(coursemodule) { + var instance = coursemodule.one(this.SELECTORS.INSTANCENAME); + if (instance) { + return instance.get('firstChild').get('data'); + } + return null; + } +}; + + +}, '@VERSION@', {"requires": ["node", "moodle-course-util-base"]}); diff --git a/course/yui/build/moodle-course-util-section/moodle-course-util-section-debug.js b/course/yui/build/moodle-course-util-section/moodle-course-util-section-debug.js new file mode 100644 index 00000000000..9e38dcb0b4b --- /dev/null +++ b/course/yui/build/moodle-course-util-section/moodle-course-util-section-debug.js @@ -0,0 +1,45 @@ +YUI.add('moodle-course-util-section', function (Y, NAME) { + +/** + * A collection of utility classes for use with course sections. + * + * @module moodle-course-util + * @submodule moodle-course-util-section + */ + +Y.namespace('Moodle.core_course.util.section'); + +/** + * A collection of utility classes for use with course sections. + * + * @class Moodle.core_course.util.section + * @static + */ +Y.Moodle.core_course.util.section = { + CONSTANTS: { + SECTIONIDPREFIX : 'section-' + }, + + /** + * Determines the section ID for the provided section. + * + * @method getId + * @param section {Node} The section to find an ID for. + * @return {Number|false} The ID of the section in question or false if no ID was found. + */ + getId: function(section) { + // We perform a simple substitution operation to get the ID. + var id = section.get('id').replace( + this.CONSTANTS.SECTIONIDPREFIX, ''); + + // Attempt to validate the ID. + id = parseInt(id, 10); + if (typeof id === 'number' && isFinite(id)) { + return id; + } + return false; + } +}; + + +}, '@VERSION@', {"requires": ["node", "moodle-course-util-base"]}); diff --git a/course/yui/build/moodle-course-util-section/moodle-course-util-section-min.js b/course/yui/build/moodle-course-util-section/moodle-course-util-section-min.js new file mode 100644 index 00000000000..fe8775fea43 --- /dev/null +++ b/course/yui/build/moodle-course-util-section/moodle-course-util-section-min.js @@ -0,0 +1 @@ +YUI.add("moodle-course-util-section",function(e,t){e.namespace("Moodle.core_course.util.section"),e.Moodle.core_course.util.section={CONSTANTS:{SECTIONIDPREFIX:"section-"},getId:function(e){var t=e.get("id").replace(this.CONSTANTS.SECTIONIDPREFIX,"");return t=parseInt(t,10),typeof t=="number"&&isFinite(t)?t:!1}}},"@VERSION@",{requires:["node","moodle-course-util-base"]}); diff --git a/course/yui/build/moodle-course-util-section/moodle-course-util-section.js b/course/yui/build/moodle-course-util-section/moodle-course-util-section.js new file mode 100644 index 00000000000..9e38dcb0b4b --- /dev/null +++ b/course/yui/build/moodle-course-util-section/moodle-course-util-section.js @@ -0,0 +1,45 @@ +YUI.add('moodle-course-util-section', function (Y, NAME) { + +/** + * A collection of utility classes for use with course sections. + * + * @module moodle-course-util + * @submodule moodle-course-util-section + */ + +Y.namespace('Moodle.core_course.util.section'); + +/** + * A collection of utility classes for use with course sections. + * + * @class Moodle.core_course.util.section + * @static + */ +Y.Moodle.core_course.util.section = { + CONSTANTS: { + SECTIONIDPREFIX : 'section-' + }, + + /** + * Determines the section ID for the provided section. + * + * @method getId + * @param section {Node} The section to find an ID for. + * @return {Number|false} The ID of the section in question or false if no ID was found. + */ + getId: function(section) { + // We perform a simple substitution operation to get the ID. + var id = section.get('id').replace( + this.CONSTANTS.SECTIONIDPREFIX, ''); + + // Attempt to validate the ID. + id = parseInt(id, 10); + if (typeof id === 'number' && isFinite(id)) { + return id; + } + return false; + } +}; + + +}, '@VERSION@', {"requires": ["node", "moodle-course-util-base"]}); diff --git a/course/yui/src/util/build.json b/course/yui/src/util/build.json new file mode 100644 index 00000000000..4ecd0ab26e7 --- /dev/null +++ b/course/yui/src/util/build.json @@ -0,0 +1,20 @@ +{ + "name": "moodle-course-util", + "builds": { + "moodle-course-util-base": { + "jsfiles": [ + "base.js" + ] + }, + "moodle-course-util-section": { + "jsfiles": [ + "section.js" + ] + }, + "moodle-course-util-cm": { + "jsfiles": [ + "cm.js" + ] + } + } +} diff --git a/course/yui/src/util/js/base.js b/course/yui/src/util/js/base.js new file mode 100644 index 00000000000..4c3240df5f5 --- /dev/null +++ b/course/yui/src/util/js/base.js @@ -0,0 +1,16 @@ +/** + * The Moodle.core_course.util classes provide course-related utility functions. + * + * @module moodle-course-util + * @main + */ + +Y.namespace('Moodle.core_course.util'); + +/** + * A collection of general utility functions for use in course. + * + * @class Moodle.core_course.util + * @static + */ + diff --git a/course/yui/src/util/js/cm.js b/course/yui/src/util/js/cm.js new file mode 100644 index 00000000000..a6884fab3af --- /dev/null +++ b/course/yui/src/util/js/cm.js @@ -0,0 +1,70 @@ +/** + * A collection of utility classes for use with course modules. + * + * @module moodle-course-util + * @submodule moodle-course-util-cm + */ + +Y.namespace('Moodle.core_course.util.cm'); + +/** + * A collection of utility classes for use with course modules. + * + * @class Moodle.core_course.util.cm + * @static + */ +Y.Moodle.core_course.util.cm = { + CONSTANTS: { + MODULEIDPREFIX : 'module-' + }, + SELECTORS: { + COURSEMODULE: '.activity', + INSTANCENAME: '.instancename' + }, + + /** + * Retrieve the course module item from one of it's child Nodes. + * + * @method getCourseModuleNodeFromComponent + * @param coursemodulecomponent {Node} The component Node. + * @return {Node|null} The Course Module Node. + */ + getCourseModuleFromComponent: function(coursemodulecomponent) { + return Y.one(coursemodulecomponent).ancestor(this.SELECTORS.COURSEMODULE, true); + }, + + /** + * Determines the section ID for the provided section. + * + * @method getId + * @param coursemodule {Node} The course module to find an ID for. + * @return {Number|false} The ID of the course module in question or false if no ID was found. + */ + getId: function(coursemodule) { + // We perform a simple substitution operation to get the ID. + var id = coursemodule.get('id').replace( + this.CONSTANTS.MODULEIDPREFIX, ''); + + // Attempt to validate the ID. + id = parseInt(id, 10); + if (typeof id === 'number' && isFinite(id)) { + return id; + } + return false; + }, + + /** + * Determines the section ID for the provided section. + * + * @method getName + * @param coursemodule {Node} The course module to find an ID for. + * @return {Number|false} The ID of the course module in question or false if no ID was found. + */ + getName: function(coursemodule) { + var instance = coursemodule.one(this.SELECTORS.INSTANCENAME); + if (instance) { + return instance.get('firstChild').get('data'); + } + return null; + } +}; diff --git a/course/yui/src/util/js/section.js b/course/yui/src/util/js/section.js new file mode 100644 index 00000000000..1c02f7556b7 --- /dev/null +++ b/course/yui/src/util/js/section.js @@ -0,0 +1,40 @@ +/** + * A collection of utility classes for use with course sections. + * + * @module moodle-course-util + * @submodule moodle-course-util-section + */ + +Y.namespace('Moodle.core_course.util.section'); + +/** + * A collection of utility classes for use with course sections. + * + * @class Moodle.core_course.util.section + * @static + */ +Y.Moodle.core_course.util.section = { + CONSTANTS: { + SECTIONIDPREFIX : 'section-' + }, + + /** + * Determines the section ID for the provided section. + * + * @method getId + * @param section {Node} The section to find an ID for. + * @return {Number|false} The ID of the section in question or false if no ID was found. + */ + getId: function(section) { + // We perform a simple substitution operation to get the ID. + var id = section.get('id').replace( + this.CONSTANTS.SECTIONIDPREFIX, ''); + + // Attempt to validate the ID. + id = parseInt(id, 10); + if (typeof id === 'number' && isFinite(id)) { + return id; + } + return false; + } +}; diff --git a/course/yui/src/util/meta/util.json b/course/yui/src/util/meta/util.json new file mode 100644 index 00000000000..5a35ea2607c --- /dev/null +++ b/course/yui/src/util/meta/util.json @@ -0,0 +1,26 @@ +{ + "moodle-course-util": { + "requires": [ + "node" + ], + "use": [ + "moodle-course-util-base" + ], + "submodules": { + "moodle-course-util-base": { + }, + "moodle-course-util-section": { + "requires": [ + "node", + "moodle-course-util-base" + ] + }, + "moodle-course-util-cm": { + "requires": [ + "node", + "moodle-course-util-base" + ] + } + } + } +} From 9bda17ee6fd248388b8bd40d3a1d4fe05cecebf2 Mon Sep 17 00:00:00 2001 From: Andrew Nicols Date: Sun, 21 Jul 2013 23:30:09 +0100 Subject: [PATCH 2/2] MDL-40811 JavaScript: Use the new moodle-course-util functions --- course/yui/dragdrop/dragdrop.js | 28 +++++----------- course/yui/toolboxes/toolboxes.js | 56 +++++++------------------------ 2 files changed, 20 insertions(+), 64 deletions(-) diff --git a/course/yui/dragdrop/dragdrop.js b/course/yui/dragdrop/dragdrop.js index fc5f88d2e40..5ecb3a87d41 100644 --- a/course/yui/dragdrop/dragdrop.js +++ b/course/yui/dragdrop/dragdrop.js @@ -73,7 +73,7 @@ YUI.add('moodle-course-dragdrop', function(Y) { setup_for_section : function(baseselector) { Y.Node.all(baseselector).each(function(sectionnode) { // Determine the section ID - var sectionid = this.get_section_id(sectionnode); + var sectionid = Y.Moodle.core_course.util.section.getId(sectionnode); // We skip the top section as it is not draggable if (sectionid > 0) { @@ -100,10 +100,6 @@ YUI.add('moodle-course-dragdrop', function(Y) { }, this); }, - get_section_id : function(node) { - return Number(node.get('id').replace(/section-/i, '')); - }, - /* * Drag-dropping related functions */ @@ -135,8 +131,8 @@ YUI.add('moodle-course-dragdrop', function(Y) { var dragnode = drag.get('node'); var dropnode = e.drop.get('node'); // Prepare some variables - var dragnodeid = Number(this.get_section_id(dragnode)); - var dropnodeid = Number(this.get_section_id(dropnode)); + var dragnodeid = Number(Y.Moodle.core_course.util.section.getId(dragnode)); + var dropnodeid = Number(Y.Moodle.core_course.util.section.getId(dropnode)); var loopstart = dragnodeid; var loopend = dropnodeid; @@ -195,7 +191,7 @@ YUI.add('moodle-course-dragdrop', function(Y) { do { var swapped = false; for (var i = loopstart; i <= loopend; i++) { - if (this.get_section_id(sectionlist.item(i-1)) > this.get_section_id(sectionlist.item(i))) { + if (Y.Moodle.core_course.util.section.getId(sectionlist.item(i-1)) > Y.Moodle.core_course.util.section.getId(sectionlist.item(i))) { // Swap section id var sectionid = sectionlist.item(i-1).get('id'); sectionlist.item(i-1).set('id', sectionlist.item(i).get('id')); @@ -323,14 +319,6 @@ YUI.add('moodle-course-dragdrop', function(Y) { }, this); }, - get_section_id : function(node) { - return Number(node.get('id').replace(/section-/i, '')); - }, - - get_resource_id : function(node) { - return Number(node.get('id').replace(/module-/i, '')); - }, - drag_start : function(e) { // Get our drag object var drag = e.target; @@ -367,11 +355,11 @@ YUI.add('moodle-course-dragdrop', function(Y) { params.courseId = this.get('courseid'); params['class'] = 'resource'; params.field = 'move'; - params.id = Number(this.get_resource_id(dragnode)); - params.sectionId = this.get_section_id(dropnode.ancestor(M.course.format.get_section_wrapper(Y), true)); + params.id = Number(Y.Moodle.core_course.util.cm.getId(dragnode)); + params.sectionId = Y.Moodle.core_course.util.section.getId(dropnode.ancestor(M.course.format.get_section_wrapper(Y), true)); if (dragnode.next()) { - params.beforeId = Number(this.get_resource_id(dragnode.next())); + params.beforeId = Number(Y.Moodle.core_course.util.cm.getId(dragnode.next())); } // Do AJAX request @@ -426,4 +414,4 @@ YUI.add('moodle-course-dragdrop', function(Y) { M.course.init_section_dragdrop = function(params) { new DRAGSECTION(params); } -}, '@VERSION@', {requires:['base', 'node', 'io', 'dom', 'dd', 'dd-scroll', 'moodle-core-dragdrop', 'moodle-core-notification', 'moodle-course-coursebase']}); +}, '@VERSION@', {requires:['base', 'node', 'io', 'dom', 'dd', 'dd-scroll', 'moodle-core-dragdrop', 'moodle-core-notification', 'moodle-course-coursebase', 'moodle-course-util']}); diff --git a/course/yui/toolboxes/toolboxes.js b/course/yui/toolboxes/toolboxes.js index 2b160b8710e..545d696c96e 100644 --- a/course/yui/toolboxes/toolboxes.js +++ b/course/yui/toolboxes/toolboxes.js @@ -123,38 +123,6 @@ YUI.add('moodle-course-toolboxes', function(Y) { // Send the request Y.io(uri, config); return responsetext; - }, - /** - * Return the name of the activity instance - * - * If activity has no name (for example label) null is returned - * - * @param element The
  • element to determine a name for - * @return string|null Instance name - */ - get_instance_name : function(target) { - if (target.one(SELECTOR.INSTANCENAME)) { - return target.one(SELECTOR.INSTANCENAME).get('firstChild').get('data'); - } - return null; - }, - /** - * Return the module ID for the specified element - * - * @param element The
  • element to determine a module-id number for - * @return string The module ID - */ - get_element_id : function(element) { - return element.get('id').replace(CSS.MODULEIDPREFIX, ''); - }, - /** - * Return the module ID for the specified element - * - * @param element The
  • element to determine a module-id number for - * @return string The module ID - */ - get_section_id : function(section) { - return section.get('id').replace(CSS.SECTIONIDPREFIX, ''); } }, { @@ -343,7 +311,7 @@ YUI.add('moodle-course-toolboxes', function(Y) { 'class' : 'resource', 'field' : 'indent', 'value' : newindent, - 'id' : this.get_element_id(activity) + 'id' : Y.Moodle.core_course.util.cm.getId(activity) }; var commands = activity.one(SELECTOR.COMMANDSPAN); var spinner = M.util.add_spinner(Y, commands).setStyles({ @@ -395,8 +363,8 @@ YUI.add('moodle-course-toolboxes', function(Y) { var plugindata = { type : M.util.get_string('pluginname', element.getAttribute('class').match(/modtype_([^\s]*)/)[1]) } - if (this.get_instance_name(element) != null) { - plugindata.name = this.get_instance_name(element) + if (Y.Moodle.core_course.util.cm.getName(element) != null) { + plugindata.name = Y.Moodle.core_course.util.cm.getName(element) confirmstring = M.util.get_string('deletechecktypename', 'moodle', plugindata); } else { confirmstring = M.util.get_string('deletechecktype', 'moodle', plugindata) @@ -412,7 +380,7 @@ YUI.add('moodle-course-toolboxes', function(Y) { var data = { 'class' : 'resource', 'action' : 'DELETE', - 'id' : this.get_element_id(element) + 'id' : Y.Moodle.core_course.util.cm.getId(element) }; this.send_request(data); if (M.core.actionmenu && M.core.actionmenu.instance) { @@ -450,7 +418,7 @@ YUI.add('moodle-course-toolboxes', function(Y) { 'class' : 'resource', 'field' : 'visible', 'value' : value, - 'id' : this.get_element_id(element) + 'id' : Y.Moodle.core_course.util.cm.getId(element) }; var spinner = M.util.add_spinner(Y, element.one(SELECTOR.COMMANDSPAN)); this.send_request(data, spinner); @@ -484,7 +452,7 @@ YUI.add('moodle-course-toolboxes', function(Y) { button.setData('action', newstatus); // If activity is conditionally hidden, then don't toggle. - if (this.get_instance_name(activity) == null) { + if (Y.Moodle.core_course.util.cm.getName(activity) == null) { toggleclass = CSS.DIMMEDTEXT; dimarea = activity.all(SELECTOR.MODINDENTDIV + ' > div').item(1); } @@ -554,7 +522,7 @@ YUI.add('moodle-course-toolboxes', function(Y) { 'class' : 'resource', 'field' : 'groupmode', 'value' : groupmode, - 'id' : this.get_element_id(activity) + 'id' : Y.Moodle.core_course.util.cm.getId(activity) }; spinner = M.util.add_spinner(Y, activity.one(SELECTOR.COMMANDSPAN)); @@ -575,7 +543,7 @@ YUI.add('moodle-course-toolboxes', function(Y) { */ edit_title : function(ev, button, activity) { // Get the element we're working on - var activityid = this.get_element_id(activity), + var activityid = Y.Moodle.core_course.util.cm.getId(activity), instancename = activity.one(SELECTOR.INSTANCENAME), currenttitle = instancename.get('firstChild'), oldtitle = currenttitle.get('data'), @@ -652,7 +620,7 @@ YUI.add('moodle-course-toolboxes', function(Y) { 'class' : 'resource', 'field' : 'updatetitle', 'title' : newtitle, - 'id' : this.get_element_id(activity) + 'id' : Y.Moodle.core_course.util.cm.getId(activity) }; var response = this.send_request(data, spinner); if (response.instancename) { @@ -811,7 +779,7 @@ YUI.add('moodle-course-toolboxes', function(Y) { var data = { 'class' : 'section', 'field' : 'visible', - 'id' : this.get_section_id(section.ancestor(M.course.format.get_section_wrapper(Y), true)), + 'id' : Y.Moodle.core_course.util.section.getId(section.ancestor(M.course.format.get_section_wrapper(Y), true)), 'value' : value }; @@ -827,7 +795,7 @@ YUI.add('moodle-course-toolboxes', function(Y) { } else { var button = node.one(SELECTOR.HIDE); } - var activityid = this.get_element_id(node); + var activityid = Y.Moodle.core_course.util.cm.getId(node); if (Y.Array.indexOf(response.resourcestotoggle, activityid) != -1) { node.getData('toolbox').handle_resource_dim(button, node, oldstatus); @@ -864,7 +832,7 @@ YUI.add('moodle-course-toolboxes', function(Y) { // Then add it if required to the selected section if (!togglestatus) { section.addClass('current'); - value = this.get_section_id(section.ancestor(M.course.format.get_section_wrapper(Y), true)); + value = Y.Moodle.core_course.util.section.getId(section.ancestor(M.course.format.get_section_wrapper(Y), true)); var new_string = M.util.get_string('markedthistopic', 'moodle'); button .set('title', new_string);