MDL-20415 Modified the behaviour of AJAX moving of sections when in "weekly" format, so that dates don't get moved along with the sections. This reflects the final, saved state.

This commit is contained in:
nicolasconnault
2009-10-03 01:35:05 +00:00
parent 94a87681a6
commit c4cf048ba7
3 changed files with 26 additions and 22 deletions
+2
View File
@@ -166,6 +166,8 @@
'yui_event',
'yui_dragdrop',
'yui_connection',
'yui_selector',
'yui_element',
'ajaxcourse_blocks',
'ajaxcourse_sections'));
+17 -1
View File
@@ -8,6 +8,16 @@
//hide content body until done loading (manipulation looks ugly elsewise)
//document.getElementById('content').style.display = 'none';
// If firebug console is undefined, define a fake one here
if (window.console) {
console.vardump = function(data) {
retval = '';
for (key in data) {
retval += key+' = '+data[key] + "\n";
}
console.log(retval);
};
}
//onload object for handling scripts on page load, this insures they run in my order
function onload_class() {
@@ -45,6 +55,7 @@ function main_class() {
this.blocks = new Array();
this.sections = new Array();
this.sectiondates = {};
this.leftcolumn = null;
this.rightcolumn = null;
this.adminBlock = null;
@@ -108,6 +119,12 @@ main_class.prototype.process_document = function() {
while (document.getElementById('section-'+ct) != null) {
this.sections[ct] = new section_class('section-'+ct, "sections", null, ct!=0?true:false);
this.sections[ct].addToGroup('resources');
if (ct > 0) {
var sectiontitle = YAHOO.util.Selector.query('#section-'+ct+' h3.weekdates')[0];
if (undefined !== sectiontitle) { // Only save date for weekly format
this.sectiondates[ct] = sectiontitle.innerHTML;
}
}
ct++;
}
if (this.debug) {
@@ -144,7 +161,6 @@ main_class.prototype.get_section_index = function(el) {
}
}
main_class.prototype.mk_button = function(tag, imgSrc, text, attributes, imgAttributes) {
//Create button and return object.
//Set the text: the container TITLE or image ALT attributes can be overridden, eg.
+7 -21
View File
@@ -241,14 +241,14 @@ section_class.prototype.move_to_section = function(target) {
if (this.debug) {
YAHOO.log("Found target "+main.sections[i].getEl().id);
}
main.sections[i].swap_dates(main.sections[eval(loopmodifier)]);
main.sections[i].swap_with_section(main.sections[eval(loopmodifier)]);
main.sections[i].swap_dates(main.sections[eval(loopmodifier)]);
found = false;
break;
} else if (found) {
//encounter with nodes inbetween
main.sections[i].swap_dates(main.sections[eval(loopmodifier)]);
main.sections[i].swap_with_section(main.sections[eval(loopmodifier)]);
main.sections[i].swap_dates(main.sections[eval(loopmodifier)]);
}
}
}
@@ -927,26 +927,12 @@ resource_class.prototype.endDrag = function() {
}
section_class.prototype.swap_dates = function(el){
var i=0;
while(this.getEl().getElementsByTagName("div")[i]) {
if (this.getEl().getElementsByTagName("div")[i].className == "weekdates") {
var tempdate = this.getEl().getElementsByTagName("div")[i].innerHTML;
var permi = i;
}
var i=1;
var divs = YAHOO.util.Selector.query('div .weekdates');
for (div in divs) {
divs[div].innerHTML = main.sectiondates[i];
i++;
}
var j=0;
while(el.getEl().getElementsByTagName("div")[j]) {
if (el.getEl().getElementsByTagName("div")[j].className == "weekdates") {
var permj = j;
}
j++;
}
if(tempdate) {
this.getEl().getElementsByTagName("div")[permi].innerHTML = el.getEl().getElementsByTagName("div")[permj].innerHTML;
el.getEl().getElementsByTagName("div")[permj].innerHTML = tempdate;
}
}