Browse Source

Relatif à http://contrib.spip.net/Champs-Extras-3#forum489305 : Permettre d'ajouter la prévisualisation du texte d'un champ textarea même s'il n'y a pas de barre d'outil dessus.

On crée une barre d'outil vide dans ce cas.
master v1.17.0
marcimat@rezo.net 6 years ago
parent
commit
988cbb9499
  1. 1
      .gitattributes
  2. 28
      barre_outils/vide.php
  3. 1
      css/barre_outils.css
  4. 13
      javascript/jquery.previsu_spip.js
  5. 2
      paquet.xml
  6. 3
      porte_plume_fonctions.php
  7. 2
      porte_plume_start.js.html

1
.gitattributes vendored

@ -2,6 +2,7 @@
action/porte_plume_previsu.php -text
barre_outils/edition.php -text
barre_outils/forum.php -text
barre_outils/vide.php -text
/barre_outils_icones.css.html -text
css/barre_outils.css -text
css/barre_outils_prive.css -text

28
barre_outils/vide.php

@ -0,0 +1,28 @@
<?php
/**
* Déclaration de la barre d'outil vide de SPIP
*
* @plugin Porte Plume pour SPIP
* @license GPL
* @package SPIP\PortePlume\BarreOutils
*/
if (!defined("_ECRIRE_INC_VERSION")) {
return;
}
/**
* Définition de la barre 'vide' pour markitup
*
* @return Barre_outils La barre d'outil
*/
function barre_outils_vide() {
$set = new Barre_outils(array(
'nameSpace' => 'vide',
'markupSet' => array(),
));
$set->cacherTout();
return $set;
}

1
css/barre_outils.css

@ -112,6 +112,7 @@
border-color: #F1F1F1 #EEE #CCC;
border-color: #ddd #ddd #ccc;
border-radius: 6px 6px 0 0;
min-height:29px;
}
.markItUp .markItUpHeader:after {
content: "\0020";

13
javascript/jquery.previsu_spip.js

@ -20,7 +20,16 @@
// init and build previsu buttons
function init() {
$$.addClass("pp_previsualisation");
tabs = $('<div class="markItUpTabs"></div>').prependTo($$.parent());
// s'il n'y a pas de barre d'outil, mais qu'on demande une previsu,
// insérer une barre d'outil vide.
if (! $$.parent().has('.markItUpContainer').length) {
$$.barre_outils('vide');
}
var mark = $$.parent();
tabs = $('<div class="markItUpTabs"></div>').prependTo(mark);
$(tabs).append(
'<a href="#fullscreen" class="fullscreen">' + options.textFullScreen + '</a>' +
'<a href="#previsuVoir" class="previsuVoir">' + options.textVoir + '</a>' +
@ -31,7 +40,7 @@
preview.hide();
var is_full_screen = false;
var mark = $$.parent();
var objet = mark.parents('.formulaire_spip')[0].className.match(/formulaire_editer_(\w+)/);
objet = (objet ? objet[1] : '');
var champ = mark.parents('.editer')[0].className.match(/editer_(\w+)/);

2
paquet.xml

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

3
porte_plume_fonctions.php

@ -627,6 +627,9 @@ class Barre_outils {
*/
public function enlever_parametres_inutiles() {
foreach ($this as $p => $v) {
if ($p == 'markupSet') {
continue;
}
if (!$v) {
if (is_array($v) or is_string($v)) {
unset($this->$p);

2
porte_plume_start.js.html

@ -51,7 +51,7 @@ $(window).load(function(){
// barre de forum
$('textarea.textarea_forum').barre_outils('forum');
[(#CONFIG{forums_afficher_barre}|=={non}|non)
$('.formulaire_forum textarea[(#VAL{91}|chr)]name=texte[(#VAL{93}|chr)]').barre_outils('forum');]
$('.formulaire_forum textarea\[name=texte\]').barre_outils('forum');]
// barre d'edition et onglets de previsualisation
$('.formulaire_spip[(#CONFIG{forums_afficher_barre}|=={non}|?{':not(#formulaire_forum)',''})] textarea[name=texte]')
.barre_outils('edition').end()

Loading…
Cancel
Save