26,27 → 26,6 |
var titre = $(module).children('.titre'); |
titre.className = 'titre ui-widget-header ui-corner-all'; |
titre.id = 'titre-' + this.id; |
|
var lienTitre = $(module).children('.titre').children('a'); |
lienTitre.attr('href','#'+this.id); |
lienTitre.click(function() { |
if(objet.onglet.is(':visible')) { |
console.log(objet.onglet); |
$('#zone_onglets').tabs('select', '#ui-tabs-'+objet.id); |
} |
return false; |
}); |
lienTitre.hover(function() { |
if(!objet.ongletEstAffiche()) { |
$(this).css({"color":"white"}); |
} else { |
$(this).css({"color":"#E78F08"}); |
} |
}); |
|
lienTitre.mouseout(function() { |
$(this).css({"color":"white"}); |
}); |
|
var contenu = $(module).children('.contenu'); |
contenu.id = 'contenu-' + this.id; |
61,13 → 40,10 |
|
this.portlet = module; |
return module; |
} |
|
this.ongletEstAffiche = function() { |
return $(this.onglet.selector).is(':visible'); |
} |
} |
|
// Crée l'objet Onglet HTML |
// creerOnglet |
// Créer l'objet Onglet HTML |
this.creerOnglet = function() { |
var objet = this; |
|
180,88 → 156,19 |
$('#onglet_synthese').removeClass('ui-state-active'); |
} |
|
function getUrlVars() |
{ |
var vars = [], hash; |
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); |
for(var i = 0; i < hashes.length; i++) |
{ |
hash = hashes[i].split('='); |
vars.push(hash[0]); |
vars[hash[0]] = hash[1]; |
} |
return vars; |
} |
|
var ongletSyntheseCharge = true; |
function selectionnerOngletParDefautOuEnregistre() { |
//TODO: verifier ici si un cookie est présent pour ouvrir l'onglet désiré |
// |
// Si un onglet est précisé dans l'url |
// Récupération de l'adresse de l'onglet sélectionné |
var urlVars = getUrlVars(); |
if(urlVars['onglet'] == undefined) { |
// Si pas d'onglet enregistré, selection du premier par défaut |
// Si c'est l'onglet fiche, on le sélectionne artificiellement |
selectionnerOngletSynthese(); |
$('.ui-tabs-panel').hide(); |
$('#synthese').show(); |
} else { |
ongletSyntheseCharge = false; |
} |
// Si pas d'onglet enregistré, selection du premier par défaut |
// Si c'est l'onglet fiche, on le sélectionne artificiellement |
selectionnerOngletSynthese(); |
$('.ui-tabs-panel').hide(); |
$('#synthese').show(); |
} |
|
function afficherOngletsPourNiveau() { |
/* affiche les onglets par default selon niveau*/ |
for(indice in tableauOnglets) { |
var ongletEnCours = tableauOnglets[indice]; |
if (ongletsDefaut.indexOf(jQuery.trim(ongletEnCours.titre)) == -1) { |
ongletEnCours.afficherCacherModule(); |
nbOngletsInvisibles++; |
} |
} |
} |
|
function surSelectionOnglet(event,ui) { |
// Récupération de l'adresse de l'onglet sélectionné |
var url = ui.tab.href; |
// le fragment suivant le # dans l'url contient l'id de l'onglet |
var fragmentsAncre = url.split('#'); |
|
if (fragmentsAncre.length > 0) { |
var ancre = fragmentsAncre[fragmentsAncre.length - 1]; |
// si on a cliqué sur l'onglet etPlus, on ne doit rien faire car celui-ci affiche le menu |
// TODO: voir s'il convient d'afficher le menu EtPlus dans d'autres onglets que celui de synthese |
if (ancre != 'etPlus') { |
// Si c'est un onglet correspondant à un projet, on cache la synthèse et le plugin |
// chargera son contenu dans l'espace approprié |
// affichage des icones de fermeture d'onglet si on vient d'en changer |
$('.ui-icon-close').css({visibility: "visible"}); |
if (ancre != 'ui-tabs-1') { |
deselectionnerOngletSynthese(); |
$('.ui-tabs-panel').show(); |
$('#zone_contenu_fiche').hide(); |
// on cache la croix pour ne pas fermer l'onglet actuellement consulté |
$(ui.tab).nextAll().css({visibility: "hidden"}); |
} else { |
if(ongletSyntheseCharge) { |
// Si c'est l'onglet fiche, on le sélectionne artificiellement |
selectionnerOngletSynthese(); |
$('.ui-tabs-panel').hide(); |
$('#zone_contenu_fiche').show(); |
return false; |
} else { |
window.location = url; |
} |
} |
} |
} |
|
return true; |
} |
|
function lierModulesEtOnglets() { |
var i = 1; |
//Initialisation |
$(document).ready(function() { |
i = 1; |
|
//Parcourir la totalité des modules générés et les lier grâce à la classe Module |
$(".module").each(function () { |
268,9 → 175,7 |
i++; |
identifiantOnglet = "#zone_onglets>ul>li:nth-child(" + i +")"; |
var module = new Module(i, this, $(identifiantOnglet)); |
var titre = $(this).children('h3').text(); |
module.titre = titre; |
|
module.titre = $(this).children('h3').text(); |
tableauOnglets[identifiantOnglet] = module; |
}); |
$(".lien-onglet").each(function() { |
278,14 → 183,63 |
var adresse_contenu_onglet = adresse_onglet.replace('action=fiche','action=onglet'); |
$(this).attr('href', adresse_contenu_onglet); |
}); |
} |
|
/* mouvement des blocs */ |
$( ".colonne" ).sortable({ |
connectWith: ".colonne", |
handle: $(".module").children('h3') // mouvement seulement sur les titres |
}); |
|
function creerMenuOngletsFermes() { |
$( ".colonne" ).disableSelection(); |
|
$('#zone_onglets').tabs({ |
add: function(event, ui) { |
redimensionnerOnglets(); |
}, |
remove: function(event, ui) { |
redimensionnerOnglets(); |
}, |
select: function(event, ui) { |
// Récupération de l'adresse de l'onglet sélectionné |
var url = ui.tab.href; |
// le fragment suivant le # dans l'url contient l'id de l'onglet |
var fragmentsAncre = url.split('#'); |
|
if (fragmentsAncre.length > 0) { |
var ancre = fragmentsAncre[fragmentsAncre.length - 1]; |
// si on a cliqué sur l'onglet etPlus, on ne doit rien faire car celui-ci affiche le menu |
// TODO: voir s'il convient d'afficher le menu EtPlus dans d'autres onglets que celui de synthese |
if (ancre != 'etPlus') { |
// Si c'est un onglet correspondant à un projet, on cache la synthèse et le plugin |
// chargera son contenu dans l'espace approprié |
// affichage des icones de fermeture d'onglet si on vient d'en changer |
$('.ui-icon-close').css({visibility: "visible"}); |
if (ancre != 'ui-tabs-1') { |
deselectionnerOngletSynthese(); |
$('.ui-tabs-panel').show(); |
$('#zone_contenu_fiche').hide(); |
// on cache la croix pour ne pas fermer l'onglet actuellement consulté |
$(ui.tab).nextAll().css({visibility: "hidden"}); |
} else { |
// Si c'est l'onglet fiche, on le sélectionne artificiellement |
selectionnerOngletSynthese(); |
$('.ui-tabs-panel').hide(); |
$('#zone_contenu_fiche').show(); |
return false; |
} |
} |
} |
|
return true; |
} |
}); |
|
$("#ongletEtPlus").click(function() { |
afficherCacherMenuOnglets(); |
}); |
|
$('.elementMenuModules').live('click', function() { |
$('.elementMenuModules').live('click', function() { |
|
var idOnglet = $(this).attr('rel'); |
var objet = tableauOnglets[idOnglet]; |
objet.afficherCacherModule(); |
295,48 → 249,26 |
$(this).remove(); |
nbOngletsInvisibles --; |
// si tous les onglets sont affichés alors on cache le menu |
console.log(nbOngletsInvisibles); |
if(nbOngletsInvisibles == 0) { |
afficherCacherMenuOnglets(); |
} |
}); |
} |
|
function ajouterTitreSurvolOnglets() { |
|
/* affiche les onglets par default selon niveau*/ |
for(indice in tableauOnglets) { |
var ongletEnCours = tableauOnglets[indice]; |
if (ongletsDefaut.indexOf(ongletEnCours.titre) == -1) { |
ongletEnCours.afficherCacherModule(); |
nbOngletsInvisibles++; |
} |
} |
|
/* ajout de l'info au survol de l'onglet quand la taille est diminuée*/ |
$('.lien-onglet').parent().each(function() { |
$(this).attr("title",$(this).children("a").text()); |
}); |
} |
|
//Initialisation |
$(document).ready(function() { |
|
lierModulesEtOnglets(); |
|
/* mouvement des blocs */ |
$( ".colonne" ).sortable({ |
connectWith: ".colonne", |
handle: $(".module").children('h3') // mouvement seulement sur les titres |
}); |
|
$( ".colonne" ).disableSelection(); |
|
$('#zone_onglets').tabs({ |
add: function(event, ui) { |
redimensionnerOnglets(); |
}, |
remove: function(event, ui) { |
redimensionnerOnglets(); |
}, |
select: function(event, ui) { |
return surSelectionOnglet(event,ui) |
} |
}); |
|
creerMenuOngletsFermes(); |
afficherOngletsPourNiveau(); |
ajouterTitreSurvolOnglets(); |
|
redimensionnerOnglets(); |
selectionnerOngletParDefautOuEnregistre(); |
|
}); |