Browse Source

Report de [94901] : Solidification du fullscreen et de la prévisu : le code appelait des sélecteurs sur toute la page et non DANS le champ uniquement en question. Au passage ça ne marchait pas non plus pour la prévisu habituelle : là aussi ça buguait si plusieurs champs en avait. Et re au passage "mark" est déjà un objet jQuery donc pas besoin de le remettre dans un $().

Fullscreen et prévisu fonctionnent désormais pour plusieurs champs dans la même page.

Reste que la sortie de Fullscreen oublie de remettre le champ à la taille qu'il avait (ou à une taille correspondant à son contenu) : ça laisse la hauteur d'écran du fullscreen ! Du coup on se retrouve avec des champs immenses à chaque fois.
master v1.15.12
rastapopoulos@spip.org 7 years ago
parent
commit
7bcb1883ad
  1. 44
      javascript/jquery.previsu_spip.js
  2. 2
      paquet.xml

44
javascript/jquery.previsu_spip.js

@ -36,19 +36,20 @@
objet = (objet ? objet[1] : '');
var champ = mark.parents('.editer')[0].className.match(/editer_(\w+)/);
champ = (champ ? champ[1].toUpperCase() : '');
var textarea = $(mark).find('textarea.pp_previsualisation');
var preview = $(mark).find('.markItUpPreview');
var textarea = mark.find('textarea.pp_previsualisation');
var preview = mark.find('.markItUpPreview');
var dir = textarea.attr('dir');
if(dir){
preview.attr('dir',dir);
}
$('.fullscreen').click(function(){
tabs.find('.fullscreen').click(function(){
mark.toggleClass('fullscreen');
if (mark.is('.fullscreen')){
is_full_screen = true;
if (!mark.is('.livepreview')){
var original_texte="";
function refresh_preview(){
var texte = textarea.val();
if (original_texte == texte){
@ -57,6 +58,7 @@
renderPreview(preview.addClass('ajaxLoad'),texte,champ,objet);
original_texte = texte;
}
var timerPreview=null;
mark.addClass('livepreview').find('.markItUpEditor').bind('keyup click change focus refreshpreview',function(e){
if (is_full_screen){
@ -64,8 +66,9 @@
timerPreview = setTimeout(refresh_preview,500);
}
});
$(window).bind('keyup',function(e){
if (is_full_screen){
if (is_full_screen) {
// Touche Echap pour sortir du mode fullscreen
if (e.type=='keyup' && e.keyCode==27){
mark.removeClass('fullscreen');
@ -76,32 +79,37 @@
}
mark.find('.markItUpEditor').trigger('refreshpreview');
}
else
else {
is_full_screen = false;
}
return false;
});
$('.previsuVoir').click(function(){
tabs.find('.previsuVoir').click(function(){
preview.height(
$(mark).find('.markItUpHeader').height()
+ $(mark).find('.markItUpEditor').height()
+ $(mark).find('.markItUpFooter').height()
mark.find('.markItUpHeader').height()
+ mark.find('.markItUpEditor').height()
+ mark.find('.markItUpFooter').height()
);
$(mark).find('.markItUpHeader,.markItUpEditor,.markItUpFooter').hide();
mark.find('.markItUpHeader,.markItUpEditor,.markItUpFooter').hide();
$(this).addClass('on').next().removeClass('on');
renderPreview(preview.show().addClass('ajaxLoad'),
$(mark).find('textarea.pp_previsualisation').val(),
champ,
objet,
false);
renderPreview(
preview.show().addClass('ajaxLoad'),
mark.find('textarea.pp_previsualisation').val(),
champ,
objet,
false
);
return false;
});
$('.previsuEditer').click(function(){
$(mark).find('.markItUpPreview').hide();
$(mark).find('.markItUpHeader,.markItUpEditor,.markItUpFooter').show();
tabs.find('.previsuEditer').click(function(){
mark.find('.markItUpPreview').hide();
mark.find('.markItUpHeader,.markItUpEditor,.markItUpFooter').show();
$(this).addClass('on').prev().removeClass('on');
return false;
});
}

2
paquet.xml

@ -1,7 +1,7 @@
<paquet
prefix="porte_plume"
categorie="edition"
version="1.15.11"
version="1.15.12"
etat="stable"
compatibilite="[3.1.0;3.1.*]"
logo="images/porte-plume-32.png"

Loading…
Cancel
Save