2 $.fn
.previsu_spip = function(settings
) {
6 previewParserPath
: '' ,
7 previewParserVar
: 'data',
11 $.extend(options
, settings
);
13 return this.each(function() {
15 var $$, textarea
, tabs
, preview
;
19 // init and build previsu buttons
21 $$.addClass("pp_previsualisation");
22 tabs
= $('<div class="markItUpTabs"></div>').prependTo($$.parent());
24 '<a href="#previsuVoir" class="previsuVoir">' + options
.textVoir
+ '</a>' +
25 '<a href="#previsuEditer" class="previsuEditer on">' + options
.textEditer
+ '</a>'
28 preview
= $('<div class="markItUpPreview"></div>').insertAfter(tabs
);
31 $('.previsuVoir').click(function(){
32 mark
= $(this).parent().parent();
33 objet
= mark
.parents('.formulaire_spip')[0].className
.match(/formulaire_editer_(\w+)/);
34 champ
= mark
.parents('li')[0].className
.match(/editer_(\w+)/);
35 dir
= mark
.find('textarea').attr('dir');
36 $(mark
).find('.markItUpPreview').height(
37 $(mark
).find('.markItUpHeader').height()
38 + $(mark
).find('.markItUpEditor').height()
39 + $(mark
).find('.markItUpFooter').height()
42 $(mark
).find('.markItUpHeader,.markItUpEditor,.markItUpFooter').hide();
43 $(this).addClass('on').next().removeClass('on');
44 $(mark
).find('.markItUpPreview').show()
47 $(mark
).find('textarea.pp_previsualisation').val(),
48 champ
[1].toUpperCase(),
49 (objet
? objet
[1] : ''))
51 .removeClass('ajaxLoad');
53 $(mark
).find('.markItUpPreview').attr('dir',dir
);
55 //ouvre un nouvel onglet lorsqu'on clique sur un lien dans la prévisualisation
56 $(".markItUpPreview a").attr("target","blank");
60 $('.previsuEditer').click(function(){
61 mark
= $(this).parent().parent();
62 $(mark
).find('.markItUpPreview').hide();
63 $(mark
).find('.markItUpHeader,.markItUpEditor,.markItUpFooter').show();
64 $(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
) {