You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

122 lines
3.4 KiB

(function () {
imageEditor = document.getElementById("wmd-input-image");
linkEditor = document.getElementById("wmd-input-link");
quoteEditor = document.getElementById("quoteEditor");
videoEditor = document.getElementById("videoEditor");
audioEditor = document.getElementById("audioEditor");
if(imageEditor)
{
var converterImage = new Markdown.Converter();
Markdown.Extra.init(converterImage);
var options = { strings: { "toolbar": ["image", "undo", "redo"] } };
var editorImage = new Markdown.Editor(converterImage, "-image", options);
var converter = new Markdown.Converter();
Markdown.Extra.init(converter);
var options = { strings: { "toolbar": ["bold", "italic", "link", "undo", "redo", "olist", "ulist"] } };
var editor = new Markdown.Editor(converter, false, options);
addImageDialog(editorImage);
}
else if(linkEditor)
{
var converterLink = new Markdown.Converter();
Markdown.Extra.init(converterLink);
var options = { strings: { "toolbar": ["link"] } };
var editorLink = new Markdown.Editor(converterLink, "-link", options);
var converter = new Markdown.Converter();
Markdown.Extra.init(converter);
var options = { strings: { "toolbar": ["bold", "italic", "undo", "redo", "olist", "ulist"] } };
var editor = new Markdown.Editor(converter, false, options);
}
else if(quoteEditor || videoEditor || audioEditor)
{
var converterFeature = new Markdown.Converter();
Markdown.Extra.init(converterFeature);
var options = { strings: { "toolbar": [] } };
var editorFeature = new Markdown.Editor(converterFeature, "-feature",options);
var converter = new Markdown.Converter();
Markdown.Extra.init(converter);
var options = { strings: { "toolbar": ["bold", "italic", "undo", "redo", "olist", "ulist", "link"] } };
var editor = new Markdown.Editor(converter, false, options);
}
else
{
var converter = new Markdown.Converter();
Markdown.Extra.init(converter);
var editor = new Markdown.Editor(converter);
addImageDialog(editor);
}
function addImageDialog(editor)
{
var $dialog = $('#insertImageDialog').dialog({
autoOpen: false,
closeOnEscape: false,
open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); }
});
var $url = $('input[type=text]', $dialog);
var $file = $('input[type=file]', $dialog);
editor.hooks.set('insertImageDialog', function(callback) {
var dialogClose = function() {
$url.val('');
$file.val('');
$dialog.dialog('close');
};
$dialog.dialog({
buttons : {
"Insert" : {
text: "Insert",
id: "insert",
click: function(){
callback($url.val().length > 0 ? $url.val(): null);
dialogClose();
}
},
"Cancel" : {
text: "Cancel",
id: "cancel",
click: function(){
dialogClose();
callback(null);
}
}
}
});
var uploadComplete = function(response) {
if (response.error == '0') {
$url.val(base_path + response.path);
$("#insert").trigger('click');
} else {
alert(response.error);
$file.val('');
}
};
$file.ajaxfileupload({
'action': base_path + 'upload.php',
'onComplete': uploadComplete,
});
$dialog.dialog('open');
return true; // tell the editor that we'll take care of getting the image url
});
}
if(imageEditor){ editorImage.run(); }
if(linkEditor){ editorLink.run(); }
if(quoteEditor || videoEditor || audioEditor){ editorFeature.run() ;}
editor.run();
})();