From 85b609c9380a244444d251b7671211bb753c7911 Mon Sep 17 00:00:00 2001 From: Andrew Davis Date: Tue, 29 Apr 2014 11:43:13 +0800 Subject: [PATCH] MDL-45314 core_grade: keep the two grader report scrollbars the same when the table changes width --- grade/report/grader/module.js | 6 ++++++ .../moodle-gradereport_grader-scrollview-debug.js | 8 ++++++-- .../moodle-gradereport_grader-scrollview-min.js | 2 +- .../moodle-gradereport_grader-scrollview.js | 8 ++++++-- grade/report/grader/yui/src/scrollview/js/scrollview.js | 8 ++++++-- 5 files changed, 25 insertions(+), 7 deletions(-) diff --git a/grade/report/grader/module.js b/grade/report/grader/module.js index f0ff184e403..f67474a029f 100644 --- a/grade/report/grader/module.js +++ b/grade/report/grader/module.js @@ -378,6 +378,12 @@ M.gradereport_grader.classes.ajax.prototype.make_editable = function(e) { break; } this.current.replace().attach_key_events(); + + // Making a field editable changes the grade table width. + // Update the top scroll bar to reflect the new table width. + Y.use('moodle-gradereport_grader-scrollview', function() { + M.gradereport_grader.scrollview.resize(); + }); }; /** * Callback function for the user pressing the enter key on an editable field diff --git a/grade/report/grader/yui/build/moodle-gradereport_grader-scrollview/moodle-gradereport_grader-scrollview-debug.js b/grade/report/grader/yui/build/moodle-gradereport_grader-scrollview/moodle-gradereport_grader-scrollview-debug.js index ad6603937aa..86000f95658 100644 --- a/grade/report/grader/yui/build/moodle-gradereport_grader-scrollview/moodle-gradereport_grader-scrollview-debug.js +++ b/grade/report/grader/yui/build/moodle-gradereport_grader-scrollview/moodle-gradereport_grader-scrollview-debug.js @@ -62,8 +62,7 @@ M.gradereport_grader.scrollview = { var _this = this; Y.on('domready', function () { - var width = Y.one(_this.SELECTORS.GRADETABLE).get('offsetWidth'); - Y.one('.topscrollcontent').setStyle('width', width + 'px'); + M.gradereport_grader.scrollview.resize(); }); Y.one(src).on('scroll', function() { @@ -74,6 +73,11 @@ M.gradereport_grader.scrollview = { Y.one(src).set('scrollLeft', node.get('scrollLeft')); }); + }, + + resize: function() { + var width = Y.one(M.gradereport_grader.scrollview.SELECTORS.GRADETABLE).get('offsetWidth'); + Y.one('.topscrollcontent').setStyle('width', width + 'px'); } }; diff --git a/grade/report/grader/yui/build/moodle-gradereport_grader-scrollview/moodle-gradereport_grader-scrollview-min.js b/grade/report/grader/yui/build/moodle-gradereport_grader-scrollview/moodle-gradereport_grader-scrollview-min.js index a5ac5f13fa8..4c13fae49b9 100644 --- a/grade/report/grader/yui/build/moodle-gradereport_grader-scrollview/moodle-gradereport_grader-scrollview-min.js +++ b/grade/report/grader/yui/build/moodle-gradereport_grader-scrollview/moodle-gradereport_grader-scrollview-min.js @@ -1 +1 @@ -YUI.add("moodle-gradereport_grader-scrollview",function(e,t){M.gradereport_grader=M.gradereport_grader||{},M.gradereport_grader.scrollview={SELECTORS:{CONTAINER:".gradeparent",STATIC:".gradeparent .right_scroller",GRADETABLE:"#user-grades"},container:null,init:function(){this.container=e.one(this.SELECTORS.CONTAINER);if(!this.container)return;var t=e.Node.create('
'),n=this.SELECTORS.CONTAINER;e.one(this.SELECTORS.STATIC)&&(n=this.SELECTORS.STATIC);var r=e.one(n).insert(t,"before");e.one(this.SELECTORS.STATIC)||(r=e.one(".topscroll"));var i=this;e.on("domready",function(){var t=e.one(i.SELECTORS.GRADETABLE).get("offsetWidth");e.one(".topscrollcontent").setStyle("width",t+"px")}),e.one(n).on("scroll",function(){r.set("scrollLeft",e.one(n).get("scrollLeft"))}),r.on("scroll",function(){e.one(n).set("scrollLeft",r.get("scrollLeft"))})}}},"@VERSION@",{requires:["base","node"]}); +YUI.add("moodle-gradereport_grader-scrollview",function(e,t){M.gradereport_grader=M.gradereport_grader||{},M.gradereport_grader.scrollview={SELECTORS:{CONTAINER:".gradeparent",STATIC:".gradeparent .right_scroller",GRADETABLE:"#user-grades"},container:null,init:function(){this.container=e.one(this.SELECTORS.CONTAINER);if(!this.container)return;var t=e.Node.create('
'),n=this.SELECTORS.CONTAINER;e.one(this.SELECTORS.STATIC)&&(n=this.SELECTORS.STATIC);var r=e.one(n).insert(t,"before");e.one(this.SELECTORS.STATIC)||(r=e.one(".topscroll"));var i=this;e.on("domready",function(){M.gradereport_grader.scrollview.resize()}),e.one(n).on("scroll",function(){r.set("scrollLeft",e.one(n).get("scrollLeft"))}),r.on("scroll",function(){e.one(n).set("scrollLeft",r.get("scrollLeft"))})},resize:function(){var t=e.one(M.gradereport_grader.scrollview.SELECTORS.GRADETABLE).get("offsetWidth");e.one(".topscrollcontent").setStyle("width",t+"px")}}},"@VERSION@",{requires:["base","node"]}); diff --git a/grade/report/grader/yui/build/moodle-gradereport_grader-scrollview/moodle-gradereport_grader-scrollview.js b/grade/report/grader/yui/build/moodle-gradereport_grader-scrollview/moodle-gradereport_grader-scrollview.js index 0a66b2dee67..a61827dd6c7 100644 --- a/grade/report/grader/yui/build/moodle-gradereport_grader-scrollview/moodle-gradereport_grader-scrollview.js +++ b/grade/report/grader/yui/build/moodle-gradereport_grader-scrollview/moodle-gradereport_grader-scrollview.js @@ -61,8 +61,7 @@ M.gradereport_grader.scrollview = { var _this = this; Y.on('domready', function () { - var width = Y.one(_this.SELECTORS.GRADETABLE).get('offsetWidth'); - Y.one('.topscrollcontent').setStyle('width', width + 'px'); + M.gradereport_grader.scrollview.resize(); }); Y.one(src).on('scroll', function() { @@ -73,6 +72,11 @@ M.gradereport_grader.scrollview = { Y.one(src).set('scrollLeft', node.get('scrollLeft')); }); + }, + + resize: function() { + var width = Y.one(M.gradereport_grader.scrollview.SELECTORS.GRADETABLE).get('offsetWidth'); + Y.one('.topscrollcontent').setStyle('width', width + 'px'); } }; diff --git a/grade/report/grader/yui/src/scrollview/js/scrollview.js b/grade/report/grader/yui/src/scrollview/js/scrollview.js index c4c4ede07cd..1c67dff10c2 100644 --- a/grade/report/grader/yui/src/scrollview/js/scrollview.js +++ b/grade/report/grader/yui/src/scrollview/js/scrollview.js @@ -60,8 +60,7 @@ M.gradereport_grader.scrollview = { var _this = this; Y.on('domready', function () { - var width = Y.one(_this.SELECTORS.GRADETABLE).get('offsetWidth'); - Y.one('.topscrollcontent').setStyle('width', width + 'px'); + M.gradereport_grader.scrollview.resize(); }); Y.one(src).on('scroll', function() { @@ -72,5 +71,10 @@ M.gradereport_grader.scrollview = { Y.one(src).set('scrollLeft', node.get('scrollLeft')); }); + }, + + resize: function() { + var width = Y.one(M.gradereport_grader.scrollview.SELECTORS.GRADETABLE).get('offsetWidth'); + Y.one('.topscrollcontent').setStyle('width', width + 'px'); } };