File "codoc-editor.js"
Full path: /home/koji0990/koji0990.wpx.jp/public_html/wp-content/plugins/codoc/src_mce/codoc-editor.js
File
size: 4.86 B (4.86 KB bytes)
MIME-type: text/plain
Charset: utf-8
Download Open Edit Advanced Editor Back
(function () {
const CODOC_URL = CODOCEDITOR.codoc_url;
const CODOC_USER_CODE = CODOCEDITOR.codoc_usercode;
tinymce.create('tinymce.plugins.Codoc', {
init: function (ed, url) {
// 表示用にタグを変換
ed.on( 'BeforeSetContent', function( event ) {
if ( event.content ) {
if ( event.content.indexOf( '<!-- wp:codoc/codoc-block' ) !== -1 ) {
moretext = "codoc";
title ="codoc";
event.content = event.content.replace( /(<!-- wp:codoc\/codoc-block[\s\S]*<!-- \/wp:codoc\/codoc-block -->)/g, function( match ) {
this.codocTag = match;
return '<img id="codoc-block-img" src="' + tinymce.Env.transparentSrc + '" data-wp-more="codoc" data-wp-more-text="' + moretext + '" ' +
'class="codoc-block" alt="" title="' + title + '" data-mce-resize="false" data-mce-placeholder="1" />';
});
}
}});
// 保存用にタグを変換
ed.on( 'PostProcess', function( event ) {
if ( event.get ) {
event.content = event.content.replace(/<img[^>]+>/g, function( image ) {
if ( image.indexOf( 'data-wp-more="codoc"' ) !== -1 ) {
return this.codocTag;
}
return image;
});
}
});
ed.addButton('codoc', {
title: 'codoc記事設定',
onclick: function () {
tb_show('codoc記事設定:', '#TB_inline');
jQuery.ajaxSetup({
cache: false,
});
let date = new Date;
let ymd = sprintf('%s%s%s',date.getYear(), date.getMonth(),date.getDate());
jQuery.getScript("https://codoc.jp/sdk/js/sdk.v1.js?ver=" + ymd, function(data, textStatus, jqxhr) {
//jQuery.getScript("https://codoc.jp/sdk/sdk/js/sdk.v1.js?ver=" + ymd, function(data, textStatus, jqxhr) {
let body = tinymce.activeEditor.getBody();
let util = new CodocUtil({ url: CODOC_URL, user_code: CODOC_USER_CODE, html: (window.codocTag ? window.codocTag : '') });
//貼付け時の挙動
util.registerSubmitHook(function(me){
var editor = tinymce.activeEditor;
editor.selection.collapse();
// すでにcodocタグがあるかどうか
if (jQuery(editor.dom.doc).find('.codoc-block')) {
// caret position を現在codocタグの位置に移動
editor.selection.select(jQuery(editor.dom.doc).find('.codoc-block')[0]);
// ブロックを一旦リセット
jQuery(editor.dom.doc).find('.codoc-block').remove();
}
// ブロックを作成
tinymce.activeEditor.execCommand('mceInsertRawHTML', false, me.blockHtml );
tb_remove();
});
// サブスクリプスションを取得
util.fetchSubscriptions(function(me,res){
// フォームを作成
let el = me.createForm('codoc-sdk');
me.write(el,document.getElementById('TB_ajaxContent'));
});
});
}});
},
createControl: function (n, cm) {
return null;
},
getInfo: function () {
return {
longname: 'codoc Shortcodes',
author: 'codoc.jp',
authorurl: 'codoc.jp',
infourl: '',
version: '1.0'
};
}
});
tinymce.PluginManager.add('codoc', tinymce.plugins.Codoc);
jQuery(document).on('click', '.return_codoc_shortcode', function () {
var id = jQuery(this).data('id');
tinyMCE.activeEditor.execCommand('mceInsertContent', 0, '[codoc id="' + id + '"]');
tb_remove();
});
jQuery(document).on('click', '.submit-codoc-form', function () {
// todo
//alert(CODOCEDITOR.nonce)
var url = 'admin-ajax.php?action=codoc_shortcodes&height=600&width=600&usercode=' + jQuery('#codoc-usercode')[0].value + '&entrycode=' + jQuery('#codoc-entrycode')[0].value + '&_wpnonce=' + CODOCEDITOR.nonce;
tb_show('codocの記事一覧:',url);
jQuery('#TB_window').addClass('codocTB');
});
})();