Affinage pour les pages import/export corrigé mais fonction générique à développer

This commit is contained in:
xdrm-brackets 2015-11-29 17:46:50 +01:00
parent 275d88422e
commit 12c384fa09
6 changed files with 39 additions and 22 deletions

View File

@ -81,7 +81,7 @@ pageManager.prototype = {
explodeURL: function(url_data){
url_data = (arguments.length >= 1) ? url_data : document.URL;
// si pageList est correct et que l'URL correspond à un schéma de page => continue [sinon] return null
if( this.pagelist != null && /^(?:.+)\/#\/([a-z0-9_]+)\/?(?:\/((?:[a-z0-9:_]+\/)+)\/?)?$/i.test(url_data) ){
if( this.pagelist != null && /^(?:.+)\/#\/([a-z0-9_]+)\/?(?:\/((?:.+\/)+)\/?)?$/i.test(url_data) ){
// si la page récupérée dans l'url est dans la liste => renvoi de l'objet [sinon] null
var vars = RegExp.$2.split('/');
while( vars[vars.length-1] == '' ) // on supprime les dernières entrées vides

View File

@ -114,21 +114,28 @@ for( var i = 0 ; i < partList.length ; i++ ){
/* SI c'est une affinage par SEMESTRE */
if( tableauParent.getAttribute('name') == 'semestre' )
pageM.vars[2] = 's:'+e.target.dataset.value;
if( /^a:/.test(pageM.vars[2]) )
pageM.vars[3] = 's:'+e.target.value;
else
pageM.vars[2] = 's:'+e.target.value;
// affinage par semestre (exportation)
}else if( e.target.parentNode.getAttribute('name') == 'semestre' && e.target.dataset.hasOwnProperty('stre') && e.target.dataset.hasOwnProperty('frm') ){
pageM.vars[1] = 'f:'+e.target.dataset.frm;
// pageM.vars[2] = 's:'+e.target.dataset.stre;
if( /^a:/.test(pageM.vars[2]) )
pageM.vars[3] = 's:'+e.target.dataset.stre;
else
pageM.vars[2] = 's:'+e.target.dataset.stre;
}
// si la formation n'est pas définie, on l'active
if( !/^[fa]:/.test(pageM.vars[1]) )
if( !/^f:/.test(pageM.vars[1]) )
if( document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active') != null )
pageM.vars[1] = 'f:'+document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active').dataset.value;
// si on a '*' comme valeur, on l'enlève
if( /\*$/.test(pageM.vars[2]) )
while( /\*$/.test(pageM.vars[pageM.vars.length-1]) )
pageM.vars.pop();
reload();
@ -146,18 +153,21 @@ for( var i = 0 ; i < selectList.length ; i++ ){
if( e.target.tagName == 'SELECT' ){
if( e.target.getAttribute('name') == 'groupe' )
if( /^a:/.test(pageM.vars[2]) )
pageM.vars[3] = 'g:'+e.target.value;
else
pageM.vars[2] = 'g:'+e.target.value;
if( e.target.getAttribute('name') == 'annee' )
pageM.vars[1] = 'a:'+e.target.value;
pageM.vars[2] = 'a:'+e.target.value;
// si la formation n'est pas définie, on l'active
if( !/^[fa]:/.test(pageM.vars[1]) )
if( !/^f:/.test(pageM.vars[1]) )
if( document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active') != null )
pageM.vars[1] = 'f:'+document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active').dataset.value;
// si on a '*' comme valeur, on l'enlève
if( /\*$/.test(pageM.vars[2]) )
while( /\*$/.test(pageM.vars[pageM.vars.length-1]) )
pageM.vars.pop();
reload();

View File

@ -27,24 +27,33 @@ for( var i = 0 ; i < partList.length ; i++ ){
/* SI c'est une affinage par SEMESTRE */
if( tableauParent.getAttribute('name') == 'semestre' )
if( /^a:/.test(pageM.vars[2]) )
pageM.vars[3] = 's:'+e.target.dataset.value;
else
pageM.vars[2] = 's:'+e.target.dataset.value;
/* SI c'est un affinage par UE */
if( tableauParent.getAttribute('name') == 'UE' )
if( /^a:/.test(pageM.vars[2]) )
pageM.vars[3] = 'u:'+e.target.dataset.value;
else
pageM.vars[2] = 'u:'+e.target.dataset.value;
}else if( e.target.parentNode.getAttribute('name') == 'semestre' && e.target.dataset.hasOwnProperty('stre') && e.target.dataset.hasOwnProperty('frm') ){
pageM.vars[1] = 'f:'+e.target.dataset.frm;
if( /^a:/.test(pageM.vars[2]) )
pageM.vars[3] = 's:'+e.target.dataset.stre;
else
pageM.vars[2] = 's:'+e.target.dataset.stre;
}
// si la formation n'est pas définie, on l'active
if( !/^[fa]:/.test(pageM.vars[1]) )
if( !/^f:/.test(pageM.vars[1]) )
if( document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active') != null )
pageM.vars[1] = 'f:'+document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active').dataset.value;
// si on a '*' comme valeur, on l'enlève
if( /\*$/.test(pageM.vars[2]) )
while( /\*$/.test(pageM.vars[pageM.vars.length-1]) )
pageM.vars.pop();
reload();
@ -66,15 +75,15 @@ for( var i = 0 ; i < selectList.length ; i++ ){
if( e.target.tagName == 'SELECT' ){
if( e.target.getAttribute('name') == 'annee' )
pageM.vars[1] = 'a:'+e.target.value;
pageM.vars[2] = 'a:'+e.target.value;
// si la formation n'est pas définie, on l'active
if( !/^[fa]:/.test(pageM.vars[1]) )
if( !/^f:/.test(pageM.vars[1]) )
if( document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active') != null )
pageM.vars[1] = 'f:'+document.querySelector('#CONTAINER > section[name] > table.partlist[name=formation] td[data-value].active').dataset.value;
// si on a '*' comme valeur, on l'enlève
if( /\*$/.test(pageM.vars[2]) )
while( /\*$/.test(pageM.vars[pageM.vars.length-1]) )
pageM.vars.pop();
reload();

View File

@ -595,8 +595,8 @@ if( permission('master') || permission('admin') ){
if( !in_array($semestreOpt, $semestresListe) ) $semestreOpt = null;
echo "<div class='partlist' name='semestre'>";
if( $semestreOpt == null ) echo "<span data-stre='*' class='active'>Tous</span>";
else echo "<span data-stre='*'>Tous</span>";
if( $semestreOpt == null ) echo "<span data-stre='*' data-frm='*' class='active'>Tous</span>";
else echo "<span data-stre='*' data-frm='*' >Tous</span>";
/* On récupère la liste des SEMESTRES en accord avec l'ANNEE sélectionnée */
foreach($answer->yearList as $annee){ if( $anneeOpt == $annee['annee'] ){

View File

@ -46,7 +46,7 @@ require_once __ROOT__.'/manager/modules.php';
/***************/
/*** PROFILE ***/
/***************/
if( false && connected() ){ // si l'utilisateur est connecté
if( connected() ){ // si l'utilisateur est connecté
echo "<section name='myprofile' data-title='Profil'>";
echo 'profil';
echo '</section>';

View File

@ -46,8 +46,6 @@ require_once __ROOT__.'/manager/security.php';
debug();
var_dump( explode(',', '') );
var_dump($_SESSION);
// $_SESSION['annee'] = 2015;