Fixes reopened MDL-7493... - foreground show/hide block icon/ALT text switched with Javscript. Merged.

This commit is contained in:
nfreear
2007-12-18 17:25:59 +00:00
parent 3f7c4ee5c4
commit fc025aeae5
8 changed files with 38 additions and 41 deletions
+10 -10
View File
@@ -289,16 +289,16 @@ class block_base {
$title = '<div class="title">';
if (!empty($CFG->allowuserblockhiding)) {
//Accessibility: added static 'alt' text for the +- icon.
//TODO (nfreear): language string 'hide OR show block'
$title .= '<div class="hide-show">'.
'<a title="'.get_string('showhideblock','access').
'" href="#" onclick="elementToggleHide(this, true, function(el) {'.
'return findParentNode(el, \'DIV\', \'sideblock\'); '.
'}, \''.$CFG->pixpath.'\' ); return false;">'.
'<img src="'.$CFG->pixpath.'/spacer.gif" '.
'id = "togglehide_inst'.$this->instance->id.'" '.
'alt="'.get_string('showhideblock','access').'" class="hide-show-image" /></a></div>';
//Accessibility: added 'alt' text for the +- icon.
//Theme the buttons using, Admin - Miscellaneous - smartpix.
$strshow = addslashes_js(get_string('showblocka', 'access', $this->title));
$strhide = addslashes_js(get_string('hideblocka', 'access', $this->title));
$title .= '<input type="image" src="'.$CFG->pixpath.'/t/switch_minus.gif" '.
'id="togglehide_inst'.$this->instance->id.'" '.
'onclick="elementToggleHide(this, true, function(el) {'.
'return findParentNode(el, \'DIV\', \'sideblock\'); },'.
' \''.$strshow.'\', \''.$strhide.'\'); return false;" '.
'alt="'.$strhide.'" title="'.$strhide.'" class="hide-show-image" />';
}
//Accesssibility: added H2 (was in, weblib.php: print_side_block)
+2 -1
View File
@@ -14,7 +14,8 @@ $string['currentweek'] = 'This week ';
$string['currenttopic'] = 'This topic ';
$string['monthnext'] = 'Next month';
$string['monthprev'] = 'Previous month';
$string['showhideblock'] = 'Show or hide block';
$string['showblocka'] = 'Show $a block';
$string['hideblocka'] = 'Hide $a block';
$string['sitemap'] = 'Site map';
$string['skipa'] = 'Skip $a';
$string['skipblock'] = 'Skip block';
+17 -7
View File
@@ -347,19 +347,30 @@ function unmaskPassword(id) {
If persistent == true, also sets a cookie for this.
*/
function elementToggleHide(el, persistent, elementFinder) {
function elementToggleHide(el, persistent, elementFinder, strShow, strHide) {
if(!elementFinder) {
var obj = el;
var obj = el; //el:container
el = document.getElementById('togglehide_'+obj.id);
}
else {
var obj = elementFinder(el);
var obj = elementFinder(el); //el:button.
}
if(obj.className.indexOf('hidden') == -1) {
obj.className += ' hidden';
if (el.src) {
el.src = el.src.replace('switch_minus', 'switch_plus');
el.alt = strShow;
el.title = strShow;
}
var shown = 0;
}
else {
obj.className = obj.className.replace(new RegExp(' ?hidden'), '')
obj.className = obj.className.replace(new RegExp(' ?hidden'), '');
if (el.src) {
el.src = el.src.replace('switch_plus', 'switch_minus');
el.alt = strHide;
el.title = strHide;
}
var shown = 1;
}
@@ -368,12 +379,11 @@ function elementToggleHide(el, persistent, elementFinder) {
}
}
function elementCookieHide(id) {
function elementCookieHide(id, strShow, strHide) {
var obj = document.getElementById(id);
var cook = new cookie('hide:' + id).read();
if(cook != null) {
elementToggleHide(obj, false);
elementToggleHide(obj, false, null, strShow, strHide);
}
}
+8 -6
View File
@@ -6403,7 +6403,7 @@ function print_side_block($heading='', $content='', $list=NULL, $icons=NULL, $fo
}
print_side_block_end($attributes);
print_side_block_end($attributes, $title);
echo $skip_dest;
}
@@ -6453,8 +6453,7 @@ function print_side_block_start($heading='', $attributes = array()) {
echo '<div class="wrap">'."\n";
}
if ($heading) {
//Accessibility: replaced <div> with H2; no, H2 more appropriate in moodleblock.class.php: _title_html.
// echo '<div class="header">'.$heading.'</div>';
//Accessibility: H2 more appropriate in moodleblock.class.php: _title_html.
echo '<div class="header">';
if (!empty($THEME->customcorners)) {
echo '<div class="bt"><div>&nbsp;</div></div>';
@@ -6484,7 +6483,7 @@ function print_side_block_start($heading='', $attributes = array()) {
/**
* Print table ending tags for a side block box.
*/
function print_side_block_end($attributes = array()) {
function print_side_block_end($attributes = array(), $title='') {
global $CFG, $THEME;
echo '</div>';
@@ -6495,10 +6494,13 @@ function print_side_block_end($attributes = array()) {
echo '</div>';
$strshow = addslashes_js(get_string('showblocka', 'access', $title));
$strhide = addslashes_js(get_string('hideblocka', 'access', $title));
// IE workaround: if I do it THIS way, it works! WTF?
if (!empty($CFG->allowuserblockhiding) && isset($attributes['id'])) {
echo '<script type="text/javascript">'."\n//<![CDATA[\n".'elementCookieHide("'.$attributes['id'].'"); '.
"\n//]]>\n".'</script>';
echo '<script type="text/javascript">'."\n//<![CDATA[\n".'elementCookieHide("'.$attributes['id'].
'","'.$strshow.'","'.$strhide."\");\n//]]>\n".'</script>';
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 B

After

Width:  |  Height:  |  Size: 108 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 B

After

Width:  |  Height:  |  Size: 111 B

-13
View File
@@ -408,19 +408,6 @@ table.flexible .r1 {
border-bottom-color: #dddddd;
}
.sideblock .header .hide-show img.hide-show-image {
background: url('../../pix/t/switch_minus.gif') no-repeat bottom;
}
.sideblock.hidden .header .hide-show img.hide-show-image {
background: url('../../pix/t/switch_plus.gif') no-repeat bottom;
}
/* Accessibility: for Windows High Contrast, partial fix MDL-7493. */
.sideblock .hide-show a {
border:1px solid white;
}
/***
*** Blogs
+1 -4
View File
@@ -1184,11 +1184,8 @@ a.skip:focus, a.skip:active {
padding:0;
}
.sideblock .header .hide-show {
.sideblock .header .hide-show-image {
float:right;
}
.sideblock .header .hide-show img.hide-show-image {
height:11px;
width:11px;
margin-top:0.25em;