2021-03-02 03:09:34 +00:00
/ * *
* Created by Stefan on 24.05 . 14.
2021-03-16 19:41:08 +00:00
*
2021-04-15 15:23:43 +01:00
* Edit : be careful to maintain version number near EOF
2021-03-02 03:09:34 +00:00
* /
2021-04-26 17:15:48 +01:00
/*eslint-disable no-undef */
2021-04-15 03:10:54 +01:00
( function ( ) {
tinymce . create ( 'tinymce.plugins.Footnotes' , {
2021-04-26 17:15:48 +01:00
/*eslint-enable no-undef */
/*eslint-disable jsdoc/no-undefined-types */
2021-04-15 03:10:54 +01:00
/ * *
* 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 .
* /
2021-04-26 17:15:48 +01:00
init : ( ed , url ) => {
/*eslint-enable jsdoc/no-undefined-types */
2021-04-15 03:10:54 +01:00
ed . addButton ( 'footnotes' , {
title : 'footnotes' ,
cmd : 'footnotes' ,
2021-04-26 11:43:34 +01:00
image : url + '/../images/fn-wysiwyg.png' ,
2021-04-15 03:10:54 +01:00
} ) ;
2021-03-02 03:09:34 +00:00
2021-04-15 03:10:54 +01:00
ed . addCommand ( 'footnotes' , function ( ) {
jQuery . ajax ( {
type : 'POST' ,
url : './admin-ajax.php' ,
data : {
action : 'footnotes_getTags' ,
} ,
2021-04-26 17:15:48 +01:00
success : ( data ) => {
const tags = JSON . parse ( data ) ;
const returnText = tags . start + ed . selection . getContent ( ) + tags . end ;
ed . insertContent ( returnText ) ;
2021-04-15 03:10:54 +01:00
} ,
2021-04-26 17:15:48 +01:00
/*eslint-disable no-unused-vars */
error : ( XMLHttpRequest , textStatus , errorThrown ) => {
/*eslint-enable no-unused-vars */
/*eslint-disable no-console */
console . error ( 'Error: ' + errorThrown ) ;
/*eslint-enable no-console */
2021-04-15 03:10:54 +01:00
} ,
} ) ;
} ) ;
} ,
2021-03-02 03:09:34 +00:00
2021-04-25 21:26:41 +01:00
/ * *
* Returns information about the plugin as a name / value array .
* The current keys are longname , author , authorurl , infourl and version .
*
2021-04-26 17:15:48 +01:00
* @ return { Object } Information about the Plugin .
2021-04-25 21:26:41 +01:00
*
* Edit : needs updating the version number manually
* /
2021-04-26 17:15:48 +01:00
getInfo : ( ) => {
2021-04-25 21:26:41 +01:00
return {
2021-04-26 17:15:48 +01:00
longname : 'footnotes' ,
2021-04-25 21:26:41 +01:00
author : 'Mark Cheret' ,
authorurl : 'https://cheret.org/footnotes/' ,
infourl : 'https://wordpress.org/plugins/footnotes/' ,
version : '2.7.4d' ,
} ;
} ,
} ) ;
2021-03-02 03:09:34 +00:00
2021-04-26 17:15:48 +01:00
/*eslint-disable no-undef */
2021-04-15 03:10:54 +01:00
// Register plugin
tinymce . PluginManager . add ( 'footnotes' , tinymce . plugins . Footnotes ) ;
2021-04-26 17:15:48 +01:00
/*eslint-enable no-undef */
2021-03-02 03:09:34 +00:00
} ) ( ) ;