mirror of
https://github.com/moodle/moodle.git
synced 2025-08-06 17:36:38 +02:00
MDL-47368 quiz editing: fix icon url generation.
This commit is contained in:
parent
08ab7a3c10
commit
e3d3e1e652
4 changed files with 31 additions and 52 deletions
|
@ -298,32 +298,25 @@ Y.Moodle.mod_quiz.util.slot = {
|
||||||
var pagebreaklink = pagebreak.get('childNodes').item(0);
|
var pagebreaklink = pagebreak.get('childNodes').item(0);
|
||||||
|
|
||||||
// Get the correct title.
|
// Get the correct title.
|
||||||
var nextactivity = slot.next('li.activity');
|
var action = '', iconname = '';
|
||||||
|
if (Y.Moodle.mod_quiz.util.page.isPage(slot.next('li.activity'))) {
|
||||||
var titlename = '', action = '', uri = M.cfg.wwwroot;
|
action = 'removepagebreak';
|
||||||
var iconsrc = uri + '/theme/image.php?theme=clean&component=core';
|
iconname = 'e/remove_page_break';
|
||||||
// IE8 can't handle svg images.
|
|
||||||
if (Y.one('body.ie8')) {
|
|
||||||
iconsrc += '&svg=e%2F0';
|
|
||||||
}
|
|
||||||
if (Y.Moodle.mod_quiz.util.page.isPage(nextactivity)) {
|
|
||||||
action = titlename = 'removepagebreak';
|
|
||||||
iconsrc += '&image=e%2Fremove_page_break';
|
|
||||||
} else {
|
} else {
|
||||||
action = titlename = 'addpagebreak';
|
action = 'addpagebreak';
|
||||||
iconsrc += '&image=e%2Finsert_page_break';
|
iconname = 'e/insert_page_break';
|
||||||
}
|
}
|
||||||
var title = M.util.get_string(titlename, 'quiz');
|
|
||||||
|
|
||||||
// Update the link and image titles
|
// Update the link and image titles
|
||||||
pagebreaklink.set('title', title);
|
pagebreaklink.set('title', M.util.get_string(action, 'quiz'));
|
||||||
pagebreaklink.setData('action', action);
|
pagebreaklink.setData('action', action);
|
||||||
// Update the image title.
|
// Update the image title.
|
||||||
var icon = pagebreaklink.one(this.SELECTORS.ICON);
|
var icon = pagebreaklink.one(this.SELECTORS.ICON);
|
||||||
icon.set('title', title);
|
icon.set('title', M.util.get_string(action, 'quiz'));
|
||||||
|
icon.set('alt', M.util.get_string(action, 'quiz'));
|
||||||
|
|
||||||
// Update the image src.
|
// Update the image src.
|
||||||
icon.set('src', iconsrc);
|
icon.set('src', M.util.image_url(iconname));
|
||||||
|
|
||||||
// Get anchor url parameters as an associative array.
|
// Get anchor url parameters as an associative array.
|
||||||
var params = Y.QueryString.parse(pagebreaklink.get('href'));
|
var params = Y.QueryString.parse(pagebreaklink.get('href'));
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
YUI.add("moodle-mod_quiz-util-slot",function(e,t){e.namespace("Moodle.mod_quiz.util.slot"),e.Moodle.mod_quiz.util.slot={CSS:{SLOT:"slot",QUESTIONTYPEDESCRIPTION:"qtype_description"},CONSTANTS:{SLOTIDPREFIX:"slot-",QUESTION:M.util.get_string("question","moodle")},SELECTORS:{SLOT:"li.slot",INSTANCENAME:".instancename",NUMBER:"span.slotnumber",PAGECONTENT:"div#page-content",PAGEBREAK:"span.page_split_join_wrapper",ICON:"img.smallicon",QUESTIONTYPEDESCRIPTION:".qtype_description",SECTIONUL:"ul.section"},getSlotFromComponent:function(t){return e.one(t).ancestor(this.SELECTORS.SLOT,!0)},getId:function(e){var t=e.get("id").replace(this.CONSTANTS.SLOTIDPREFIX,"");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},getNumber:function(e){if(!e)return!1;var t=e.one(this.SELECTORS.NUMBER).get("text").replace(this.CONSTANTS.QUESTION,"");return t=parseInt(t,10),typeof t=="number"&&isFinite(t)?t:!1},setNumber:function(e,t){var n=e.one(this.SELECTORS.NUMBER);n.setHTML('<span class="accesshide">'+this.CONSTANTS.QUESTION+"</span> "+t)},getSlots:function(){return e.all(this.SELECTORS.PAGECONTENT+" "+this.SELECTORS.SECTIONUL+" "+this.SELECTORS.SLOT)},getNumberedSlots:function(){var t=this.SELECTORS.PAGECONTENT+" "+this.SELECTORS.SECTIONUL;return t+=" "+this.SELECTORS.SLOT+":not("+this.SELECTORS.QUESTIONTYPEDESCRIPTION+")",e.all(t)},getPrevious:function(e){return e.previous(this.SELECTORS.SLOT)},getPreviousNumbered:function(e){return e.previous(this.SELECTORS.SLOT+":not("+this.SELECTORS.QUESTIONTYPEDESCRIPTION+")")},reorderSlots:function(){var t=this.getSlots();t.each(function(t){if(!e.Moodle.mod_quiz.util.page.getPageFromSlot(t)){var n=t.next(e.Moodle.mod_quiz.util.page.SELECTORS.PAGE);t.swap(n)}var r=this.getPreviousNumbered(t);previousslotnumber=0;if(t.hasClass(this.CSS.QUESTIONTYPEDESCRIPTION))return;r&&(previousslotnumber=this.getNumber(r)),this.setNumber(t,previousslotnumber+1)},this)},remove:function(t){var n=e.Moodle.mod_quiz.util.page.getPageFromSlot(t);t.remove();if(!e.Moodle.mod_quiz.util.page.isEmpty(n))return;e.Moodle.mod_quiz.util.page.remove(n)},getPageBreaks:function(){var t=this.SELECTORS.PAGECONTENT+" "+this.SELECTORS.SECTIONUL;return t+=" "+this.SELECTORS.SLOT+this.SELECTORS.PAGEBREAK,e.all(t)},getPageBreak:function(t){return e.one(t).one(this.SELECTORS.PAGEBREAK)},addPageBreak:function(t){var n=M.mod_quiz.resource_toolbox.get("config").addpageiconhtml;n=n.replace("%%SLOT%%",this.getNumber(t));var r=e.Node.create(n);return t.one("div").insert(r,"after"),r},removePageBreak:function(e){var t=this.getPageBreak(e);return t?(t.remove(),!0):!1},reorderPageBreaks:function(){var t=this.getSlots(),n=0;t.each(function(r,i){n++;var s=this.getPageBreak(r);if(!s&&i===t.size()-1)return;!s&&i!==t.size()-1&&(s=this.addPageBreak(r)),s&&i===t.size()-1&&this.removePageBreak(r);var o=s.get("childNodes").item(0),u=r.next("li.activity"),a="",f="",l=M.cfg.wwwroot,c=l+"/theme/image.php?theme=clean&component=core";e.one("body.ie8")&&(c+="&svg=e%2F0"),e.Moodle.mod_quiz.util.page.isPage(u)?(f=a="removepagebreak",c+="&image=e%2Fremove_page_break"):(f=a="addpagebreak",c+="&image=e%2Finsert_page_break");var h=M.util.get_string(a,"quiz");o.set("title",h),o.setData("action",f);var p=o.one(this.SELECTORS.ICON);p.set("title",h),p.set("src",c);var d=e.QueryString.parse(o.get("href"));d.slot=n;var v="";for(var m in d)v.length&&(v+="&"),v+=m+"="+d[m];o.set("href",v)},this)}}},"@VERSION@",{requires:["node","moodle-mod_quiz-util-base"]});
|
YUI.add("moodle-mod_quiz-util-slot",function(e,t){e.namespace("Moodle.mod_quiz.util.slot"),e.Moodle.mod_quiz.util.slot={CSS:{SLOT:"slot",QUESTIONTYPEDESCRIPTION:"qtype_description"},CONSTANTS:{SLOTIDPREFIX:"slot-",QUESTION:M.util.get_string("question","moodle")},SELECTORS:{SLOT:"li.slot",INSTANCENAME:".instancename",NUMBER:"span.slotnumber",PAGECONTENT:"div#page-content",PAGEBREAK:"span.page_split_join_wrapper",ICON:"img.smallicon",QUESTIONTYPEDESCRIPTION:".qtype_description",SECTIONUL:"ul.section"},getSlotFromComponent:function(t){return e.one(t).ancestor(this.SELECTORS.SLOT,!0)},getId:function(e){var t=e.get("id").replace(this.CONSTANTS.SLOTIDPREFIX,"");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},getNumber:function(e){if(!e)return!1;var t=e.one(this.SELECTORS.NUMBER).get("text").replace(this.CONSTANTS.QUESTION,"");return t=parseInt(t,10),typeof t=="number"&&isFinite(t)?t:!1},setNumber:function(e,t){var n=e.one(this.SELECTORS.NUMBER);n.setHTML('<span class="accesshide">'+this.CONSTANTS.QUESTION+"</span> "+t)},getSlots:function(){return e.all(this.SELECTORS.PAGECONTENT+" "+this.SELECTORS.SECTIONUL+" "+this.SELECTORS.SLOT)},getNumberedSlots:function(){var t=this.SELECTORS.PAGECONTENT+" "+this.SELECTORS.SECTIONUL;return t+=" "+this.SELECTORS.SLOT+":not("+this.SELECTORS.QUESTIONTYPEDESCRIPTION+")",e.all(t)},getPrevious:function(e){return e.previous(this.SELECTORS.SLOT)},getPreviousNumbered:function(e){return e.previous(this.SELECTORS.SLOT+":not("+this.SELECTORS.QUESTIONTYPEDESCRIPTION+")")},reorderSlots:function(){var t=this.getSlots();t.each(function(t){if(!e.Moodle.mod_quiz.util.page.getPageFromSlot(t)){var n=t.next(e.Moodle.mod_quiz.util.page.SELECTORS.PAGE);t.swap(n)}var r=this.getPreviousNumbered(t);previousslotnumber=0;if(t.hasClass(this.CSS.QUESTIONTYPEDESCRIPTION))return;r&&(previousslotnumber=this.getNumber(r)),this.setNumber(t,previousslotnumber+1)},this)},remove:function(t){var n=e.Moodle.mod_quiz.util.page.getPageFromSlot(t);t.remove();if(!e.Moodle.mod_quiz.util.page.isEmpty(n))return;e.Moodle.mod_quiz.util.page.remove(n)},getPageBreaks:function(){var t=this.SELECTORS.PAGECONTENT+" "+this.SELECTORS.SECTIONUL;return t+=" "+this.SELECTORS.SLOT+this.SELECTORS.PAGEBREAK,e.all(t)},getPageBreak:function(t){return e.one(t).one(this.SELECTORS.PAGEBREAK)},addPageBreak:function(t){var n=M.mod_quiz.resource_toolbox.get("config").addpageiconhtml;n=n.replace("%%SLOT%%",this.getNumber(t));var r=e.Node.create(n);return t.one("div").insert(r,"after"),r},removePageBreak:function(e){var t=this.getPageBreak(e);return t?(t.remove(),!0):!1},reorderPageBreaks:function(){var t=this.getSlots(),n=0;t.each(function(r,i){n++;var s=this.getPageBreak(r);if(!s&&i===t.size()-1)return;!s&&i!==t.size()-1&&(s=this.addPageBreak(r)),s&&i===t.size()-1&&this.removePageBreak(r);var o=s.get("childNodes").item(0),u="",a="";e.Moodle.mod_quiz.util.page.isPage(r.next("li.activity"))?(u="removepagebreak",a="e/remove_page_break"):(u="addpagebreak",a="e/insert_page_break"),o.set("title",M.util.get_string(u,"quiz")),o.setData("action",u);var f=o.one(this.SELECTORS.ICON);f.set("title",M.util.get_string(u,"quiz")),f.set("alt",M.util.get_string(u,"quiz")),f.set("src",M.util.image_url(a));var l=e.QueryString.parse(o.get("href"));l.slot=n;var c="";for(var h in l)c.length&&(c+="&"),c+=h+"="+l[h];o.set("href",c)},this)}}},"@VERSION@",{requires:["node","moodle-mod_quiz-util-base"]});
|
||||||
|
|
|
@ -298,32 +298,25 @@ Y.Moodle.mod_quiz.util.slot = {
|
||||||
var pagebreaklink = pagebreak.get('childNodes').item(0);
|
var pagebreaklink = pagebreak.get('childNodes').item(0);
|
||||||
|
|
||||||
// Get the correct title.
|
// Get the correct title.
|
||||||
var nextactivity = slot.next('li.activity');
|
var action = '', iconname = '';
|
||||||
|
if (Y.Moodle.mod_quiz.util.page.isPage(slot.next('li.activity'))) {
|
||||||
var titlename = '', action = '', uri = M.cfg.wwwroot;
|
action = 'removepagebreak';
|
||||||
var iconsrc = uri + '/theme/image.php?theme=clean&component=core';
|
iconname = 'e/remove_page_break';
|
||||||
// IE8 can't handle svg images.
|
|
||||||
if (Y.one('body.ie8')) {
|
|
||||||
iconsrc += '&svg=e%2F0';
|
|
||||||
}
|
|
||||||
if (Y.Moodle.mod_quiz.util.page.isPage(nextactivity)) {
|
|
||||||
action = titlename = 'removepagebreak';
|
|
||||||
iconsrc += '&image=e%2Fremove_page_break';
|
|
||||||
} else {
|
} else {
|
||||||
action = titlename = 'addpagebreak';
|
action = 'addpagebreak';
|
||||||
iconsrc += '&image=e%2Finsert_page_break';
|
iconname = 'e/insert_page_break';
|
||||||
}
|
}
|
||||||
var title = M.util.get_string(titlename, 'quiz');
|
|
||||||
|
|
||||||
// Update the link and image titles
|
// Update the link and image titles
|
||||||
pagebreaklink.set('title', title);
|
pagebreaklink.set('title', M.util.get_string(action, 'quiz'));
|
||||||
pagebreaklink.setData('action', action);
|
pagebreaklink.setData('action', action);
|
||||||
// Update the image title.
|
// Update the image title.
|
||||||
var icon = pagebreaklink.one(this.SELECTORS.ICON);
|
var icon = pagebreaklink.one(this.SELECTORS.ICON);
|
||||||
icon.set('title', title);
|
icon.set('title', M.util.get_string(action, 'quiz'));
|
||||||
|
icon.set('alt', M.util.get_string(action, 'quiz'));
|
||||||
|
|
||||||
// Update the image src.
|
// Update the image src.
|
||||||
icon.set('src', iconsrc);
|
icon.set('src', M.util.image_url(iconname));
|
||||||
|
|
||||||
// Get anchor url parameters as an associative array.
|
// Get anchor url parameters as an associative array.
|
||||||
var params = Y.QueryString.parse(pagebreaklink.get('href'));
|
var params = Y.QueryString.parse(pagebreaklink.get('href'));
|
||||||
|
|
27
mod/quiz/yui/src/util/js/slot.js
vendored
27
mod/quiz/yui/src/util/js/slot.js
vendored
|
@ -296,32 +296,25 @@ Y.Moodle.mod_quiz.util.slot = {
|
||||||
var pagebreaklink = pagebreak.get('childNodes').item(0);
|
var pagebreaklink = pagebreak.get('childNodes').item(0);
|
||||||
|
|
||||||
// Get the correct title.
|
// Get the correct title.
|
||||||
var nextactivity = slot.next('li.activity');
|
var action = '', iconname = '';
|
||||||
|
if (Y.Moodle.mod_quiz.util.page.isPage(slot.next('li.activity'))) {
|
||||||
var titlename = '', action = '', uri = M.cfg.wwwroot;
|
action = 'removepagebreak';
|
||||||
var iconsrc = uri + '/theme/image.php?theme=clean&component=core';
|
iconname = 'e/remove_page_break';
|
||||||
// IE8 can't handle svg images.
|
|
||||||
if (Y.one('body.ie8')) {
|
|
||||||
iconsrc += '&svg=e%2F0';
|
|
||||||
}
|
|
||||||
if (Y.Moodle.mod_quiz.util.page.isPage(nextactivity)) {
|
|
||||||
action = titlename = 'removepagebreak';
|
|
||||||
iconsrc += '&image=e%2Fremove_page_break';
|
|
||||||
} else {
|
} else {
|
||||||
action = titlename = 'addpagebreak';
|
action = 'addpagebreak';
|
||||||
iconsrc += '&image=e%2Finsert_page_break';
|
iconname = 'e/insert_page_break';
|
||||||
}
|
}
|
||||||
var title = M.util.get_string(titlename, 'quiz');
|
|
||||||
|
|
||||||
// Update the link and image titles
|
// Update the link and image titles
|
||||||
pagebreaklink.set('title', title);
|
pagebreaklink.set('title', M.util.get_string(action, 'quiz'));
|
||||||
pagebreaklink.setData('action', action);
|
pagebreaklink.setData('action', action);
|
||||||
// Update the image title.
|
// Update the image title.
|
||||||
var icon = pagebreaklink.one(this.SELECTORS.ICON);
|
var icon = pagebreaklink.one(this.SELECTORS.ICON);
|
||||||
icon.set('title', title);
|
icon.set('title', M.util.get_string(action, 'quiz'));
|
||||||
|
icon.set('alt', M.util.get_string(action, 'quiz'));
|
||||||
|
|
||||||
// Update the image src.
|
// Update the image src.
|
||||||
icon.set('src', iconsrc);
|
icon.set('src', M.util.image_url(iconname));
|
||||||
|
|
||||||
// Get anchor url parameters as an associative array.
|
// Get anchor url parameters as an associative array.
|
||||||
var params = Y.QueryString.parse(pagebreaklink.get('href'));
|
var params = Y.QueryString.parse(pagebreaklink.get('href'));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue