File "editor-wysiwyg.js"
Full Path: /home/ycoalition/public_html/blog/wp-admin/js/widgets/plugins/smart-custom-fields/js/editor-wysiwyg.js
File size: 5.05 KB
MIME-type: text/plain
Charset: utf-8
jQuery( function( $ ) {
$( '.smart-cf-meta-box' ).each( function( i, e ) {
var wrapper = $( e );
var table_class = '.smart-cf-meta-box-table';
/**
* ロード時に wysiwyg エディター用のテキストエリアがあったら wysiwyg 化する。
*/
wrapper.find( '.smart-cf-wp-editor' ).each( function( i, e ) {
if ( $( this ).parents( table_class ).css( 'display' ) === 'none' ) {
return true;
}
$( e ).attr( 'id', $( e ).attr( 'name' ).replace( /(\[|\]|\-)/ig, '_' ) );
var editor_id = $( e ).attr( 'id' );
var wrap = $( e ).parents( '.wp-editor-wrap' );
initialize_editor( wrap, editor_id );
var mceinit = scf_generate_mceinit( editor_id );
tinyMCEPreInit.mceInit[editor_id] = mceinit;
if ( typeof tinymce !== 'undefined' ) {
tinymce.init( mceinit );
}
var qtinit = scf_generate_qtinit( editor_id );
tinyMCEPreInit.qtInit[editor_id] = qtinit;
if ( typeof quicktags !== 'undefined' ) {
quicktags( qtinit );
QTags._buttonsInit();
}
} );
} );
/**
* グループ追加ボタンを押したときに発火。
* wysiwyg エディター用のテキストエリアがあったら wysiwyg 化する。
*/
$( document ).on( 'smart-cf-after-add-group', function( e, data ) {
var button = data.button;
var clone = data.clone;
clone.find( '.smart-cf-wp-editor' ).each( function( i, e ) {
$( e ).attr( 'id', $( e ).attr( 'name' ).replace( /(\[|\]|\-)/ig, '_' ) );
var editor_id = $( e ).attr( 'id' );
var wrap = $( e ).parents( '.wp-editor-wrap' );
initialize_editor( wrap, editor_id );
var mceinit = scf_generate_mceinit( editor_id );
tinyMCEPreInit.mceInit[editor_id] = mceinit;
if ( typeof tinymce !== 'undefined' ) {
tinymce.init( mceinit );
}
var qtinit = scf_generate_qtinit( editor_id );
tinyMCEPreInit.qtInit[editor_id] = qtinit;
if ( typeof quicktags !== 'undefined' ) {
quicktags( qtinit );
QTags._buttonsInit();
}
} );
} );
/**
* ドラッグしたときに発火。
* wysiwyg エディター用のテキストエリアをオフる。
*/
$( document ).on( 'smart-cf-repeat-table-sortable-start', function( e, ui ) {
$( ui ).find( '.smart-cf-wp-editor' ).each( function( i, e ) {
var editor_id = $( this ).attr( 'id' );
tinymce.execCommand( 'mceRemoveEditor', false, editor_id );
var mceinit = scf_generate_mceinit( editor_id );
tinyMCEPreInit.mceInit[editor_id] = mceinit;
var qtinit = scf_generate_qtinit( editor_id );
tinyMCEPreInit.qtInit[editor_id] = qtinit;
if ( typeof quicktags !== 'undefined' ) {
quicktags( qtinit );
QTags._buttonsInit();
}
} );
} );
/**
* ドロップしたときに発火。
* wysiwyg エディター用のテキストエリアを wysiwyg 化する。
*/
$( document ).on( 'smart-cf-repeat-table-sortable-stop', function( e, ui ) {
$( ui ).find( '.smart-cf-wp-editor' ).each( function( i, e ) {
var editor_id = $( this ).attr( 'id' );
var mceinit = scf_generate_mceinit( editor_id );
tinyMCEPreInit.mceInit[editor_id] = mceinit;
if ( typeof tinymce !== 'undefined' ) {
tinymce.init( mceinit );
}
var qtinit = scf_generate_qtinit( editor_id );
tinyMCEPreInit.qtInit[editor_id] = qtinit;
if ( typeof quicktags !== 'undefined' ) {
quicktags( qtinit );
QTags._buttonsInit();
}
} );
} );
function initialize_editor( wrap, editor_id ) {
wrap.attr( 'id', 'wp-' + editor_id + '-wrap' );
wrap.find( 'a.add_media' ).attr( 'data-editor', editor_id );
wrap.find( '.switch-tmce' )
.attr( 'data-wp-editor-id', editor_id )
.attr( 'id', editor_id + '-tmce' );
wrap.find( '.switch-html' )
.attr( 'data-wp-editor-id', editor_id )
.attr( 'id', editor_id + '-html' );
wrap.find( '.quicktags-toolbar' ).attr( 'id', 'qt_' + editor_id + '_toolbar' );
}
function scf_generate_mceinit( editor_id ) {
var mceinit;
if ( typeof tinyMCEPreInit.mceInit.content !== 'undefined' ) {
mceinit = $.extend( true, {}, tinyMCEPreInit.mceInit.content );
mceinit.selector = '#' + editor_id;
} else {
mceinit = {
content_css: ['../wp-includes/js/tinymce/skins/wordpress/wp-content.css', '../wp-content/plugins/smart-custom-fields/css/wysiwyg.css'],
menubar: false,
plugins: "hr,wplink,fullscreen,wordpress,textcolor,paste,charmap,lists",
toolbar1: "bold,italic,strikethrough,bullist,numlist,blockquote,hr,alignleft,aligncenter,alignright,link,unlink,wp_more,spellchecker,wp_adv,fullscreen",
toolbar2: "formatselect,underline,alignjustify,forecolor,pastetext,removeformat,charmap,outdent,indent,undo,redo,wp_help,code",
convert_urls: false,
theme: "modern",
skin: "lightgray",
wp_autoresize_on: true,
wpautop: true,
selector: '#' + editor_id
};
}
return mceinit;
}
function scf_generate_qtinit( editor_id ) {
var qtinit;
if ( typeof tinyMCEPreInit.qtInit.content !== 'undefined' ) {
qtinit = $.extend( true, {}, tinyMCEPreInit.qtInit.content );
qtinit.id = editor_id;
} else {
qtinit = {
id: editor_id,
buttons: "strong,em,link,block,del,ins,img,ul,ol,li,code,more,close"
}
}
return qtinit;
}
} );