Browse Source

Evacuer du vieux js obsolete, vers le grenier

deplacer vers presentation.js ce qui concerne les blocs depliables au survol, qui est du js moderne
Le fichier layer_old.js est directement inclus depuis le head si l'extension grenier est presente, et omis sinon
spip-3-stable
Cerdic 12 years ago
parent
commit
04a6b849dd
  1. 44
      ecrire/inc/couleurs.php
  2. 172
      prive/javascript/layer.js
  3. 169
      prive/javascript/presentation.js
  4. 7
      prive/squelettes/inclure/head.html

44
ecrire/inc/couleurs.php

@ -118,50 +118,8 @@ function inc_couleurs_dist($choix=NULL, $ajouter=false)
}
}
$evt = '
onmouseover="changestyle(\'bandeauinterface\');"
onfocus="changestyle(\'bandeauinterface\');"
onblur="changestyle(\'bandeauinterface\');"';
$bloc = '';
$ret = self('&');
foreach ($couleurs_spip as $key => $val) {
$bloc .=
'<a href="'
. generer_action_auteur('preferer',"couleur:$key",$ret)
. '"'
. ' rel="'.generer_url_public('style_prive','ltr='
. $GLOBALS['spip_lang_left'] . '&'
. inc_couleurs_dist($key)).'"'
. $evt
.'>'
. http_img_pack("rien.gif",
_T('choix_couleur_interface') . $key,
"width='8' height='8' style='margin: 1px; background-color: " . $val['couleur_claire'] . ";'")
. "</a>";
}
// Ce js permet de changer de couleur sans recharger la page
return '<span id="selecteur_couleur">'
. $bloc
. "</span>\n"
. '<script type="text/javascript"><!--' . "
$('#selecteur_couleur a')
.click(function(){
$('head>link#cssprivee')
.clone()
.removeAttr('id')
.attr('href', $(this).attr('rel'))
.appendTo($('head'));
$.get($(this).attr('href'));
return false;
});
// --></script>\n";
}
return $couleurs_spip;
}
?>

172
prive/javascript/layer.js

@ -37,125 +37,6 @@ function findObj_forcer(n) {
return findObj_test_forcer(n, true);
}
function hide_obj(obj) {
var element;
if (element = findObj(obj)){
jQuery(element).css("visibility","hidden");
}
}
// deplier un ou plusieurs blocs
jQuery.fn.showother = function(cible) {
var me = this;
if (me.is('.replie')) {
me.addClass('deplie').removeClass('replie');
jQuery(cible)
.slideDown('fast',
function(){
jQuery(me)
.addClass('blocdeplie')
.removeClass('blocreplie')
.removeClass('togglewait');
}
).trigger('deplie');
}
return this;
}
// replier un ou plusieurs blocs
jQuery.fn.hideother = function(cible) {
var me = this;
if (!me.is('.replie')){
me.addClass('replie').removeClass('deplie');
jQuery(cible)
.slideUp('fast',
function(){
jQuery(me)
.addClass('blocreplie')
.removeClass('blocdeplie')
.removeClass('togglewait');
}
).trigger('replie');
}
return this;
}
// pour le bouton qui deplie/replie un ou plusieurs blocs
jQuery.fn.toggleother = function(cible) {
if (this.is('.deplie'))
return this.hideother(cible);
else
return this.showother(cible);
}
// deplier/replier en hover
// on le fait subtilement : on attend 400ms avant de deplier, periode
// durant laquelle, si la souris sort du controle, on annule le depliement
// le repliement ne fonctionne qu'au clic
// Cette fonction est appelee a chaque hover d'un bloc depliable
// la premiere fois, elle initialise le fonctionnement du bloc ; ensuite
// elle ne fait plus rien
jQuery.fn.depliant = function(cible) {
// premier passage
if (!this.is('.depliant')) {
var time = 400;
var me = this;
this
.addClass('depliant');
// effectuer le premier hover
if (!me.is('.deplie')) {
me.addClass('hover')
.addClass('togglewait');
var t = setTimeout(function(){
me.toggleother(cible);
t = null;
}, time);
}
me
// programmer les futurs hover
.hover(function(e){
me
.addClass('hover');
if (!me.is('.deplie')) {
me.addClass('togglewait');
if (t) { clearTimeout(t); t = null; }
t = setTimeout(function(){
me.toggleother(cible);
t = null;
}, time);
}
}
, function(e){
if (t) { clearTimeout(t); t = null; }
me
.removeClass('hover');
})
// gerer le triangle clicable
/*.find("a.titremancre")
.click(function(){
if (me.is('.togglewait') || t) return false;
me
.toggleother(cible);
return false;
})*/
.end();
}
return this;
}
jQuery.fn.depliant_clicancre = function(cible) {
var me = this.parent();
// gerer le triangle clicable
if (me.is('.togglewait')) return false;
me.toggleother(cible);
return false;
}
//
// Fonctions pour mini_nav
//
@ -211,13 +92,6 @@ function aff_selection_titre(titre, id, idom, nid)
if (p.is('.submit_plongeur')) p.get(p.length-1).submit();
}
function admin_tech_selection_titre(titre, id, idom, nid)
{
nom = titre.replace(/\W+/g, '_');
findObj_forcer("znom_sauvegarde").value=nom;
findObj_forcer("nom_sauvegarde").value=nom;
aff_selection_titre(titre, id, idom, nid);
}
function aff_selection_provisoire(id, racine, url, col, sens,informer,event)
{
@ -266,7 +140,6 @@ function onkey_rechercher(valeur, rac, url, img, nid, init) {
// (ou du fragment qu'on vient de recharger en ajax)
// et leur applique les comportements js souhaites
// ici :
// * retailler les input
// * utiliser ctrl-s, F8 etc comme touches de sauvegarde
var verifForm_clicked=false;
function verifForm(racine) {
@ -308,26 +181,6 @@ function verifForm(racine) {
}
// Si Ajax est disponible, cette fonction l'utilise pour envoyer la requete.
// Si le premier argument n'est pas une url, ce doit etre un formulaire.
// Le deuxieme argument doit etre l'ID d'un noeud qu'on animera pendant Ajax.
// Le troisieme, optionnel, est la fonction traitant la reponse.
// La fonction par defaut affecte le noeud ci-dessus avec la reponse Ajax.
// En cas de formulaire, AjaxSqueeze retourne False pour empecher son envoi
// Le cas True ne devrait pas se produire car le cookie spip_accepte_ajax
// a du anticiper la situation.
// Toutefois il y toujours un coup de retard dans la pose d'un cookie:
// eviter de se loger avec redirection vers un telle page
// cf grenier
function AjaxSqueeze(trig, id, callback, event)
{
var target = jQuery('#'+id);
// position du demandeur dans le DOM (le donner direct serait mieux)
if (!target.size()) {return true;}
return !AjaxSqueezeNode(trig, target, callback, event);
}
// La fonction qui fait vraiment le travail decrit ci-dessus.
// Son premier argument est deja le noeud du DOM
@ -401,17 +254,6 @@ function AjaxSqueezeNode(trig, target, f, event)
return true;
}
// Les Submit avec attribut name ne sont pas transmis par JQuery
// Cette fonction clone le bouton de soumission en hidden
// Voir l'utilisation dans ajax_action_post dans inc/actions
// cf grenier
function AjaxNamedSubmit(input) {
jQuery('<input type="hidden" />')
.attr('name', input.name)
.attr('value', input.value)
.insertAfter(input);
return true;
}
function AjaxRet(res,status, target, callback) {
if (res.aborted) return;
@ -490,17 +332,3 @@ function charger_node_url_si_vide(url, noeud, gifanime, jjscript,event) {
}
return false;
}
/*
function charger_id_url_si_vide (myUrl, myField, jjscript, event) {
var Field = findObj_forcer(myField); // selects the given element
if (!Field) return;
if (Field.innerHTML == "") {
charger_id_url(myUrl, myField, jjscript, event)
}
else {
Field.style.visibility = "visible";
Field.style.display = "block";
}
}
*/

169
prive/javascript/presentation.js

@ -10,31 +10,7 @@ $.fn.hoverClass = function(c) {
};
var bandeau_elements = false;
var dir_page = $("html").attr("dir");
function changestyle(id_couche, element, style) {
// La premiere fois, regler l'emplacement des sous-menus
if (!bandeau_elements) {
bandeau_elements = $('#haut-page div.bandeau');
}
// Masquer les elements du bandeau
var select = $(bandeau_elements).not('#'+id_couche);
// sauf eventuellement la boite de recherche si la souris passe en-dessous
if (id_couche=='garder-recherche') select.not('#bandeaurecherche');
select.css({'visibility':'hidden', 'display':'none'});
// Afficher, le cas echeant, celui qui est demande
if (element)
$('#'+id_couche).css({element:style});
else
$('#'+id_couche).css({'visibility':'visible', 'display':'block'});
}
var accepter_change_statut = false;
function selec_statut(id, type, decal, puce, script) {
node = $('.imgstatut'+type+id);
@ -67,59 +43,114 @@ function prepare_selec_statut(node, nom, type, id, action)
.load(action + '&type='+type+'&id='+id);
}
function changeclass(objet, myClass) {
objet.className = myClass;
}
function hauteurFrame(nbCol) {
hauteur = $(window).height() - 40;
hauteur = hauteur - $('#haut-page').height();
if (findObj('brouteur_hierarchie'))
hauteur = hauteur - $('#brouteur_hierarchie').height();
for (i=0; i<nbCol; i++) {
$('#iframe' + i)
.height(hauteur + 'px');
// deplier un ou plusieurs blocs
jQuery.fn.showother = function(cible) {
var me = this;
if (me.is('.replie')) {
me.addClass('deplie').removeClass('replie');
jQuery(cible)
.slideDown('fast',
function(){
jQuery(me)
.addClass('blocdeplie')
.removeClass('blocreplie')
.removeClass('togglewait');
}
).trigger('deplie');
}
return this;
}
function changeVisible(input, id, select, nonselect) {
if (input) {
element = findObj_forcer(id);
if (element.style.display != select) element.style.display = select;
} else {
element = findObj_forcer(id);
if (element.style.display != nonselect) element.style.display = nonselect;
}
// replier un ou plusieurs blocs
jQuery.fn.hideother = function(cible) {
var me = this;
if (!me.is('.replie')){
me.addClass('replie').removeClass('deplie');
jQuery(cible)
.slideUp('fast',
function(){
jQuery(me)
.addClass('blocreplie')
.removeClass('blocdeplie')
.removeClass('togglewait');
}
).trigger('replie');
}
return this;
}
// pour le bouton qui deplie/replie un ou plusieurs blocs
jQuery.fn.toggleother = function(cible) {
if (this.is('.deplie'))
return this.hideother(cible);
else
return this.showother(cible);
}
// deplier/replier en hover
// on le fait subtilement : on attend 400ms avant de deplier, periode
// durant laquelle, si la souris sort du controle, on annule le depliement
// le repliement ne fonctionne qu'au clic
// Cette fonction est appelee a chaque hover d'un bloc depliable
// la premiere fois, elle initialise le fonctionnement du bloc ; ensuite
// elle ne fait plus rien
jQuery.fn.depliant = function(cible) {
// premier passage
if (!this.is('.depliant')) {
var time = 400;
var me = this;
this
.addClass('depliant');
// effectuer le premier hover
if (!me.is('.deplie')) {
me.addClass('hover')
.addClass('togglewait');
var t = setTimeout(function(){
me.toggleother(cible);
t = null;
}, time);
}
// livesearchlike...
// effacement titre quand new=oui
var antifocus=false;
// effacement titre des groupes de mots-cles de plus de 50 mots
var antifocus_mots = new Array();
me
// programmer les futurs hover
.hover(function(e){
me
.addClass('hover');
if (!me.is('.deplie')) {
me.addClass('togglewait');
if (t) { clearTimeout(t); t = null; }
t = setTimeout(function(){
me.toggleother(cible);
t = null;
}, time);
}
}
, function(e){
if (t) { clearTimeout(t); t = null; }
me
.removeClass('hover');
})
// gerer le triangle clicable
/*.find("a.titremancre")
.click(function(){
if (me.is('.togglewait') || t) return false;
me
.toggleother(cible);
return false;
})*/
.end();
function puce_statut(selection){
if (selection=="publie"){
return "puce-verte.gif";
}
if (selection=="prepa"){
return "puce-blanche.gif";
}
if (selection=="prop"){
return "puce-orange.gif";
}
if (selection=="refuse"){
return "puce-rouge.gif";
}
if (selection=="poubelle"){
return "puce-poubelle.gif";
}
return this;
}
jQuery.fn.depliant_clicancre = function(cible) {
var me = this.parent();
// gerer le triangle clicable
if (me.is('.togglewait')) return false;
me.toggleother(cible);
return false;
}

7
prive/squelettes/inclure/head.html

@ -39,6 +39,7 @@ var confirm_changer_statut = '<:confirm_changer_statut|html2unicode|addslashes|u
<link rel="alternate" type="application/rss+xml" title="<:info_breves_03|attribut_html:>" href="#URL_PAGE{backend-breves}" />
]
[<script type="text/javascript" src="(#CHEMIN{javascript/layer.js})"></script>]
[<script type="text/javascript" src="(#CHEMIN{javascript/presentation.js})"></script>]
[<script type="text/javascript" src="(#CHEMIN{javascript/gadgets.js})"></script>]
[<script type="text/javascript" src="(#CHEMIN{prive/javascript/layer_old.js})"></script>]
[<script type="text/javascript" src="(#CHEMIN{prive/javascript/layer.js})"></script>]
[<script type="text/javascript" src="(#CHEMIN{prive/javascript/presentation.js})"></script>]
[<script type="text/javascript" src="(#CHEMIN{prive/javascript/gadgets.js})"></script>]

Loading…
Cancel
Save