2 $.fn
.previsu_spip = function(settings
) {
6 previewParserPath
: '' ,
7 previewParserVar
: 'data',
11 $.extend(options
, settings
);
13 return this.each(function() {
14 var $$, textarea
, tabs
, preview
;
18 // init and build previsu buttons
20 $$.addClass("pp_previsualisation");
21 tabs
= $('<div class="markItUpTabs"></div>').prependTo($$.parent());
23 '<a href="#previsuVoir" class="previsuVoir">' + options
.textVoir
+ '</a>' +
24 '<a href="#previsuEditer" class="previsuEditer on">' + options
.textEditer
+ '</a>'
27 preview
= $('<div class="markItUpPreview"></div>').insertAfter(tabs
);
30 $('.previsuVoir').click(function(){
31 mark
= $(this).parent().parent();
32 objet
= mark
.parents('.formulaire_spip')[0].className
.match(/formulaire_editer_(\w+)/);
33 champ
= mark
.parents('li')[0].className
.match(/editer_(\w+)/);
34 $(mark
).find('.markItUpPreview').height(
35 $(mark
).find('.markItUpHeader').height()
36 + $(mark
).find('.markItUpEditor').height()
37 + $(mark
).find('.markItUpFooter').height()
39 $(mark
).find('.markItUpHeader').hide();
40 $(mark
).find('.markItUpEditor').hide();
41 $(mark
).find('.markItUpFooter').hide();
42 $(this).addClass('on').next().removeClass('on');
43 $(mark
).find('.markItUpPreview').show()
46 $(mark
).find('textarea.pp_previsualisation').val(),
47 champ
[1].toUpperCase(),
50 .removeClass('ajaxLoad');
52 //ouvre un nouvel onglet lorsqu'on clique sur un lien dans la prévisualisation
53 $(".markItUpPreview a").attr("target","blank");
57 $('.previsuEditer').click(function(){
58 mark
= $(this).parent().parent();
59 $(mark
).find('.markItUpPreview').hide();
60 $(mark
).find('.markItUpHeader').show();
61 $(mark
).find('.markItUpEditor').show();
62 $(mark
).find('.markItUpFooter').show();
63 $(this).addClass('on').prev().removeClass('on');
69 function renderPreview(val
, champ
, objet
) {
71 if (options
.previewParserPath
!== '') {
75 url
: options
.previewParserPath
,
78 +'&' + options
.previewParserVar
+'='+encodeURIComponent(val
),
79 success: function(data
) {