Browse Source

Enlever les séparateurs sous forme de <li> vides, qui ne sont pas vraiment accessibles. On remplace en donnant avant et après le séparateur (mais surtout après) une classe CSS.

Avant : separateur_avant
Apres : separateur separateurApres $identifiantDuSéparateur
3.0
marcimat@rezo.net 12 years ago
parent
commit
d09fa9db7e
  1. 12
      css/barre_outils.css
  2. 37
      porte_plume_fonctions.php

12
css/barre_outils.css

@ -135,15 +135,11 @@
.markItUp .markItUpHeader ul ul .markItUpDropMenu {
background:#F5F5F5 url(images/submenu.png) no-repeat 50% 50%;
}
.markItUp .markItUpHeader ul .markItUpSeparator {
margin:0 6px;
width:0px;
height:16px;
overflow:hidden;
.markItUp .markItUpHeader ul .separateur {
margin-left:10px;
}
.markItUp .markItUpHeader ul ul .markItUpSeparator {
width:auto; height:1px;
margin:0px;
.markItUp .markItUpHeader ul ul .separateur {
margin-left:0px;
}
.markItUp .markItUpHeader ul a {

37
porte_plume_fonctions.php

@ -331,6 +331,7 @@ class Barre_outils{
/**
* Supprimer les elements non affiches (display:false)
* Et les séparateurs (li vides) selon la configuration
*
* @param false/array $tableau : tableau a analyser (sert pour la recursion)
*/
@ -355,6 +356,41 @@ class Barre_outils{
}
}
}
}
}
/**
* Enleve les separateurs pour ameliorer l'accessibilite
* au detriment du stylage possible de ces separateurs.
*
* Le bouton precedent le separateur recoit une classe CSS 'separateur_avant'
* Celui apres 'separateur_apres'
*
* @param
* @return
**/
function enlever_separateurs(&$tableau) {
if ($tableau === null)
$tableau = &$this->markupSet;
foreach ($tableau as $p=>$v) {
if (isset($v['separator']) and $v['separator']) {
if (isset($tableau[$p-1])) {
$tableau[$p-1]['className'] .= " separateur_avant";
}
if (isset($tableau[$p+1])) {
$tableau[$p+1]['className'] .= " separateur separateur_apres $v[id]";
}
unset($tableau[$p]);
$tableau = array_values($tableau); // remettre les cles automatiques sinon json les affiche et ça plante.
}
// sinon, on lance une recursion sur les sous-menus
else {
if (isset($v['dropMenu']) and is_array($v['dropMenu'])) {
#$this->enlever_separateurs($tableau[$p]['dropMenu']);
}
}
}
}
@ -399,6 +435,7 @@ class Barre_outils{
$fonctions = $barre->functions;
$barre->enlever_elements_non_affiches($this->markupSet);
$barre->enlever_separateurs($this->markupSet);
$barre->enlever_parametres_inutiles();
$json = Barre_outils::json_export($barre);

Loading…
Cancel
Save