MDL-38598 form: Prevent flickering due to advanced fields

This commit is contained in:
Frederic Massart 2013-03-22 10:26:50 +08:00
parent 373a8e052c
commit 619fe67e32
2 changed files with 5 additions and 4 deletions

View File

@ -23,7 +23,7 @@ YUI.add('moodle-form-showadvanced', function(Y) {
DIVFCONTAINER : 'div.fcontainer'
},
CSS = {
HIDE : 'hide',
SHOW : 'show',
MORELESSTOGGLER : 'morelesstoggler'
},
ATTRS = {};
@ -77,10 +77,9 @@ YUI.add('moodle-form-showadvanced', function(Y) {
morelesslink.addClass(CSS.MORELESSTOGGLER);
if (statuselement.get('value') === '0') {
morelesslink.setHTML(M.str.form.showmore);
// Hide advanced stuff initially.
fieldset.all(SELECTORS.DIVFITEMADVANCED).addClass(CSS.HIDE);
} else {
morelesslink.setHTML(M.str.form.showless);
fieldset.all(SELECTORS.DIVFITEMADVANCED).addClass(CSS.SHOW);
}
fieldset.one(SELECTORS.DIVFCONTAINER).append(morelesslink);
},
@ -88,7 +87,7 @@ YUI.add('moodle-form-showadvanced', function(Y) {
e.preventDefault();
var fieldset = this.ancestor(SELECTORS.FIELDSETCONTAINSADVANCED);
// Toggle collapsed class.
fieldset.all(SELECTORS.DIVFITEMADVANCED).toggleClass(CSS.HIDE);
fieldset.all(SELECTORS.DIVFITEMADVANCED).toggleClass(CSS.SHOW);
// Get corresponding hidden variable.
var statuselement = new Y.one('input[name=mform_showmore_'+fieldset.get('id')+']');
// Invert it and change the link text.

View File

@ -245,6 +245,8 @@ a.skip:active {position: static;display: block;}
.jsenabled .mform fieldset.collapsed {border-width: 1px 0 0 1px; padding: 0; border-color: transparent;}
.jsenabled .mform fieldset.collapsed div.fcontainer {display: none;}
.mform .fitem {width:100%;overflow:hidden;margin-top:5px;margin-bottom:1px;clear:right;}
.jsenabled .mform .containsadvancedelements .advanced {display: none;}
.mform .containsadvancedelements .advanced.show {display: block;}
.mform .fitem .fitemtitle {width:15%;text-align:right;float:left;}
.mform .fitem .fitemtitle div {display: inline;}
.mform .fitem .felement {border-width: 0;width:80%;margin-left:16%;}