2014-05-24 14:11:30 +00:00
/ * *
* Created by Stefan on 24.05 . 14.
2020-12-12 21:07:24 +00:00
*
*
* Edit : be careful to maintain version number near EOF 2020 - 12 - 11 T1225 + 0100
2014-05-24 14:11:30 +00:00
* /
( function ( ) {
2021-02-18 19:56:44 +00:00
tinymce . create ( 'tinymce.plugins.Footnotes' , {
/ * *
* Initializes the plugin , this will be executed after the plugin has been created .
* This call is done before the editor instance has finished its initialization so use the onInit event
* of the editor instance to intercept that event .
*
* @ param { tinymce . Editor } ed Editor instance that the plugin is initialized in .
* @ param { string } url Absolute URL to where the plugin is located .
* /
init : function ( ed , url ) {
ed . addButton ( 'footnotes' , {
title : 'footnotes' ,
cmd : 'footnotes' ,
image : url + '/../img/fn-wysiwyg.png'
} ) ;
2014-05-24 14:11:30 +00:00
2021-02-18 19:56:44 +00:00
ed . addCommand ( 'footnotes' , function ( ) {
jQuery . ajax ( {
type : 'POST' ,
url : './admin-ajax.php' ,
data : {
action : 'footnotes_getTags'
} ,
success : function ( data , textStatus , XMLHttpRequest ) {
var l _arr _Tags = JSON . parse ( data ) ;
var return _text = l _arr _Tags [ 'start' ] + ed . selection . getContent ( ) + l _arr _Tags [ 'end' ] ;
ed . execCommand ( 'insertHTML' , true , return _text ) ;
} ,
error : function ( MLHttpRequest , textStatus , errorThrown ) {
console . log ( "Error: " + errorThrown ) ;
}
} ) ;
} ) ;
} ,
2014-05-24 14:11:30 +00:00
2021-02-18 19:56:44 +00:00
/ * *
* Creates control instances based in the incomming name . This method is normally not
* needed since the addButton method of the tinymce . Editor class is a more easy way of adding buttons
* but you sometimes need to create more complex controls like listboxes , split buttons etc then this
* method can be used to create those .
*
* @ param { String } n Name of the control to create .
* @ param { tinymce . ControlManager } cm Control manager to use inorder to create new control .
* @ return { tinymce . ui . Control } New control instance or null if no control was created .
* /
createControl : function ( n , cm ) {
return null ;
} ,
2014-05-24 14:11:30 +00:00
2021-02-18 19:56:44 +00:00
/ * *
* Returns information about the plugin as a name / value array .
* The current keys are longname , author , authorurl , infourl and version .
*
* @ return { Object } Name / value array containing information about the plugin .
2020-12-12 21:07:24 +00:00
*
* Edit : needs update the version number manually 2020 - 12 - 11 T1224 + 0100
2021-02-18 19:56:44 +00:00
* /
getInfo : function ( ) {
return {
longname : 'Inserts the Footnotes short code.' ,
author : 'Mark Cheret' ,
authorurl : 'https://cheret.de' ,
infourl : 'https://wordpress.org/plugins/footnotes/' ,
version : "2.1.6"
} ;
}
} ) ;
2014-05-24 14:11:30 +00:00
2021-02-18 19:56:44 +00:00
// Register plugin
tinymce . PluginManager . add ( 'footnotes' , tinymce . plugins . Footnotes ) ;
2020-12-12 21:07:24 +00:00
} ) ( ) ;