Edit File by line
/home/zeestwma/ceyloniy.../wp-inclu.../js/tinymce/plugins/wordpres...
File: plugin.js
/* global getUserSetting, setUserSetting */
[0] Fix | Delete
( function( tinymce ) {
[1] Fix | Delete
// Set the minimum value for the modals z-index higher than #wpadminbar (100000).
[2] Fix | Delete
if ( ! tinymce.ui.FloatPanel.zIndex || tinymce.ui.FloatPanel.zIndex < 100100 ) {
[3] Fix | Delete
tinymce.ui.FloatPanel.zIndex = 100100;
[4] Fix | Delete
}
[5] Fix | Delete
[6] Fix | Delete
tinymce.PluginManager.add( 'wordpress', function( editor ) {
[7] Fix | Delete
var wpAdvButton, style,
[8] Fix | Delete
DOM = tinymce.DOM,
[9] Fix | Delete
each = tinymce.each,
[10] Fix | Delete
__ = editor.editorManager.i18n.translate,
[11] Fix | Delete
$ = window.jQuery,
[12] Fix | Delete
wp = window.wp,
[13] Fix | Delete
hasWpautop = ( wp && wp.editor && wp.editor.autop && editor.getParam( 'wpautop', true ) ),
[14] Fix | Delete
wpTooltips = false;
[15] Fix | Delete
[16] Fix | Delete
if ( $ ) {
[17] Fix | Delete
// Runs as soon as TinyMCE has started initializing, while plugins are loading.
[18] Fix | Delete
// Handlers attached after the `tinymce.init()` call may not get triggered for this instance.
[19] Fix | Delete
$( document ).triggerHandler( 'tinymce-editor-setup', [ editor ] );
[20] Fix | Delete
}
[21] Fix | Delete
[22] Fix | Delete
function toggleToolbars( state ) {
[23] Fix | Delete
var initial, toolbars, iframeHeight,
[24] Fix | Delete
pixels = 0,
[25] Fix | Delete
classicBlockToolbar = tinymce.$( '.block-library-classic__toolbar' );
[26] Fix | Delete
[27] Fix | Delete
if ( state === 'hide' ) {
[28] Fix | Delete
initial = true;
[29] Fix | Delete
} else if ( classicBlockToolbar.length && ! classicBlockToolbar.hasClass( 'has-advanced-toolbar' ) ) {
[30] Fix | Delete
// Show the second, third, etc. toolbar rows in the Classic block instance.
[31] Fix | Delete
classicBlockToolbar.addClass( 'has-advanced-toolbar' );
[32] Fix | Delete
state = 'show';
[33] Fix | Delete
}
[34] Fix | Delete
[35] Fix | Delete
if ( editor.theme.panel ) {
[36] Fix | Delete
toolbars = editor.theme.panel.find('.toolbar:not(.menubar)');
[37] Fix | Delete
}
[38] Fix | Delete
[39] Fix | Delete
if ( toolbars && toolbars.length > 1 ) {
[40] Fix | Delete
if ( ! state && toolbars[1].visible() ) {
[41] Fix | Delete
state = 'hide';
[42] Fix | Delete
}
[43] Fix | Delete
[44] Fix | Delete
each( toolbars, function( toolbar, i ) {
[45] Fix | Delete
if ( i > 0 ) {
[46] Fix | Delete
if ( state === 'hide' ) {
[47] Fix | Delete
toolbar.hide();
[48] Fix | Delete
pixels += 34;
[49] Fix | Delete
} else {
[50] Fix | Delete
toolbar.show();
[51] Fix | Delete
pixels -= 34;
[52] Fix | Delete
}
[53] Fix | Delete
}
[54] Fix | Delete
});
[55] Fix | Delete
}
[56] Fix | Delete
[57] Fix | Delete
// Resize editor iframe, not needed for iOS and inline instances.
[58] Fix | Delete
// Don't resize if the editor is in a hidden container.
[59] Fix | Delete
if ( pixels && ! tinymce.Env.iOS && editor.iframeElement && editor.iframeElement.clientHeight ) {
[60] Fix | Delete
iframeHeight = editor.iframeElement.clientHeight + pixels;
[61] Fix | Delete
[62] Fix | Delete
// Keep min-height.
[63] Fix | Delete
if ( iframeHeight > 50 ) {
[64] Fix | Delete
DOM.setStyle( editor.iframeElement, 'height', iframeHeight );
[65] Fix | Delete
}
[66] Fix | Delete
}
[67] Fix | Delete
[68] Fix | Delete
if ( ! initial ) {
[69] Fix | Delete
if ( state === 'hide' ) {
[70] Fix | Delete
setUserSetting( 'hidetb', '0' );
[71] Fix | Delete
wpAdvButton && wpAdvButton.active( false );
[72] Fix | Delete
} else {
[73] Fix | Delete
setUserSetting( 'hidetb', '1' );
[74] Fix | Delete
wpAdvButton && wpAdvButton.active( true );
[75] Fix | Delete
}
[76] Fix | Delete
}
[77] Fix | Delete
[78] Fix | Delete
editor.fire( 'wp-toolbar-toggle' );
[79] Fix | Delete
}
[80] Fix | Delete
[81] Fix | Delete
// Add the kitchen sink button :)
[82] Fix | Delete
editor.addButton( 'wp_adv', {
[83] Fix | Delete
tooltip: 'Toolbar Toggle',
[84] Fix | Delete
cmd: 'WP_Adv',
[85] Fix | Delete
onPostRender: function() {
[86] Fix | Delete
wpAdvButton = this;
[87] Fix | Delete
wpAdvButton.active( getUserSetting( 'hidetb' ) === '1' );
[88] Fix | Delete
}
[89] Fix | Delete
});
[90] Fix | Delete
[91] Fix | Delete
// Hide the toolbars after loading.
[92] Fix | Delete
editor.on( 'PostRender', function() {
[93] Fix | Delete
if ( editor.getParam( 'wordpress_adv_hidden', true ) && getUserSetting( 'hidetb', '0' ) === '0' ) {
[94] Fix | Delete
toggleToolbars( 'hide' );
[95] Fix | Delete
} else {
[96] Fix | Delete
tinymce.$( '.block-library-classic__toolbar' ).addClass( 'has-advanced-toolbar' );
[97] Fix | Delete
}
[98] Fix | Delete
});
[99] Fix | Delete
[100] Fix | Delete
editor.addCommand( 'WP_Adv', function() {
[101] Fix | Delete
toggleToolbars();
[102] Fix | Delete
});
[103] Fix | Delete
[104] Fix | Delete
editor.on( 'focus', function() {
[105] Fix | Delete
window.wpActiveEditor = editor.id;
[106] Fix | Delete
});
[107] Fix | Delete
[108] Fix | Delete
editor.on( 'BeforeSetContent', function( event ) {
[109] Fix | Delete
var title;
[110] Fix | Delete
[111] Fix | Delete
if ( event.content ) {
[112] Fix | Delete
if ( event.content.indexOf( '<!--more' ) !== -1 ) {
[113] Fix | Delete
title = __( 'Read more...' );
[114] Fix | Delete
[115] Fix | Delete
event.content = event.content.replace( /<!--more(.*?)-->/g, function( match, moretext ) {
[116] Fix | Delete
return '<img src="' + tinymce.Env.transparentSrc + '" data-wp-more="more" data-wp-more-text="' + moretext + '" ' +
[117] Fix | Delete
'class="wp-more-tag mce-wp-more" alt="' + title + '" data-mce-resize="false" data-mce-placeholder="1" />';
[118] Fix | Delete
});
[119] Fix | Delete
}
[120] Fix | Delete
[121] Fix | Delete
if ( event.content.indexOf( '<!--nextpage-->' ) !== -1 ) {
[122] Fix | Delete
title = __( 'Page break' );
[123] Fix | Delete
[124] Fix | Delete
event.content = event.content.replace( /<!--nextpage-->/g,
[125] Fix | Delete
'<img src="' + tinymce.Env.transparentSrc + '" data-wp-more="nextpage" class="wp-more-tag mce-wp-nextpage" ' +
[126] Fix | Delete
'alt="' + title + '" data-mce-resize="false" data-mce-placeholder="1" />' );
[127] Fix | Delete
}
[128] Fix | Delete
[129] Fix | Delete
if ( event.load && event.format !== 'raw' ) {
[130] Fix | Delete
if ( hasWpautop ) {
[131] Fix | Delete
event.content = wp.editor.autop( event.content );
[132] Fix | Delete
} else {
[133] Fix | Delete
// Prevent creation of paragraphs out of multiple HTML comments.
[134] Fix | Delete
event.content = event.content.replace( /-->\s+<!--/g, '--><!--' );
[135] Fix | Delete
}
[136] Fix | Delete
}
[137] Fix | Delete
[138] Fix | Delete
if ( event.content.indexOf( '<script' ) !== -1 || event.content.indexOf( '<style' ) !== -1 ) {
[139] Fix | Delete
event.content = event.content.replace( /<(script|style)[^>]*>[\s\S]*?<\/\1>/g, function( match, tag ) {
[140] Fix | Delete
return '<img ' +
[141] Fix | Delete
'src="' + tinymce.Env.transparentSrc + '" ' +
[142] Fix | Delete
'data-wp-preserve="' + encodeURIComponent( match ) + '" ' +
[143] Fix | Delete
'data-mce-resize="false" ' +
[144] Fix | Delete
'data-mce-placeholder="1" '+
[145] Fix | Delete
'class="mce-object mce-object-' + tag + '" ' +
[146] Fix | Delete
'width="20" height="20" '+
[147] Fix | Delete
'alt="&lt;' + tag + '&gt;" ' +
[148] Fix | Delete
'/>';
[149] Fix | Delete
} );
[150] Fix | Delete
}
[151] Fix | Delete
}
[152] Fix | Delete
});
[153] Fix | Delete
[154] Fix | Delete
editor.on( 'setcontent', function() {
[155] Fix | Delete
// Remove spaces from empty paragraphs.
[156] Fix | Delete
editor.$( 'p' ).each( function( i, node ) {
[157] Fix | Delete
if ( node.innerHTML && node.innerHTML.length < 10 ) {
[158] Fix | Delete
var html = tinymce.trim( node.innerHTML );
[159] Fix | Delete
[160] Fix | Delete
if ( ! html || html === '&nbsp;' ) {
[161] Fix | Delete
node.innerHTML = ( tinymce.Env.ie && tinymce.Env.ie < 11 ) ? '' : '<br data-mce-bogus="1">';
[162] Fix | Delete
}
[163] Fix | Delete
}
[164] Fix | Delete
} );
[165] Fix | Delete
});
[166] Fix | Delete
[167] Fix | Delete
editor.on( 'PostProcess', function( event ) {
[168] Fix | Delete
if ( event.get ) {
[169] Fix | Delete
event.content = event.content.replace(/<img[^>]+>/g, function( image ) {
[170] Fix | Delete
var match,
[171] Fix | Delete
string,
[172] Fix | Delete
moretext = '';
[173] Fix | Delete
[174] Fix | Delete
if ( image.indexOf( 'data-wp-more="more"' ) !== -1 ) {
[175] Fix | Delete
if ( match = image.match( /data-wp-more-text="([^"]+)"/ ) ) {
[176] Fix | Delete
moretext = match[1];
[177] Fix | Delete
}
[178] Fix | Delete
[179] Fix | Delete
string = '<!--more' + moretext + '-->';
[180] Fix | Delete
} else if ( image.indexOf( 'data-wp-more="nextpage"' ) !== -1 ) {
[181] Fix | Delete
string = '<!--nextpage-->';
[182] Fix | Delete
} else if ( image.indexOf( 'data-wp-preserve' ) !== -1 ) {
[183] Fix | Delete
if ( match = image.match( / data-wp-preserve="([^"]+)"/ ) ) {
[184] Fix | Delete
string = decodeURIComponent( match[1] );
[185] Fix | Delete
}
[186] Fix | Delete
}
[187] Fix | Delete
[188] Fix | Delete
return string || image;
[189] Fix | Delete
});
[190] Fix | Delete
}
[191] Fix | Delete
});
[192] Fix | Delete
[193] Fix | Delete
// Display the tag name instead of img in element path.
[194] Fix | Delete
editor.on( 'ResolveName', function( event ) {
[195] Fix | Delete
var attr;
[196] Fix | Delete
[197] Fix | Delete
if ( event.target.nodeName === 'IMG' && ( attr = editor.dom.getAttrib( event.target, 'data-wp-more' ) ) ) {
[198] Fix | Delete
event.name = attr;
[199] Fix | Delete
}
[200] Fix | Delete
});
[201] Fix | Delete
[202] Fix | Delete
// Register commands.
[203] Fix | Delete
editor.addCommand( 'WP_More', function( tag ) {
[204] Fix | Delete
var parent, html, title,
[205] Fix | Delete
classname = 'wp-more-tag',
[206] Fix | Delete
dom = editor.dom,
[207] Fix | Delete
node = editor.selection.getNode(),
[208] Fix | Delete
rootNode = editor.getBody();
[209] Fix | Delete
[210] Fix | Delete
tag = tag || 'more';
[211] Fix | Delete
classname += ' mce-wp-' + tag;
[212] Fix | Delete
title = tag === 'more' ? 'Read more...' : 'Next page';
[213] Fix | Delete
title = __( title );
[214] Fix | Delete
html = '<img src="' + tinymce.Env.transparentSrc + '" alt="' + title + '" class="' + classname + '" ' +
[215] Fix | Delete
'data-wp-more="' + tag + '" data-mce-resize="false" data-mce-placeholder="1" />';
[216] Fix | Delete
[217] Fix | Delete
// Most common case.
[218] Fix | Delete
if ( node === rootNode || ( node.nodeName === 'P' && node.parentNode === rootNode ) ) {
[219] Fix | Delete
editor.insertContent( html );
[220] Fix | Delete
return;
[221] Fix | Delete
}
[222] Fix | Delete
[223] Fix | Delete
// Get the top level parent node.
[224] Fix | Delete
parent = dom.getParent( node, function( found ) {
[225] Fix | Delete
if ( found.parentNode && found.parentNode === rootNode ) {
[226] Fix | Delete
return true;
[227] Fix | Delete
}
[228] Fix | Delete
[229] Fix | Delete
return false;
[230] Fix | Delete
}, editor.getBody() );
[231] Fix | Delete
[232] Fix | Delete
if ( parent ) {
[233] Fix | Delete
if ( parent.nodeName === 'P' ) {
[234] Fix | Delete
parent.appendChild( dom.create( 'p', null, html ).firstChild );
[235] Fix | Delete
} else {
[236] Fix | Delete
dom.insertAfter( dom.create( 'p', null, html ), parent );
[237] Fix | Delete
}
[238] Fix | Delete
[239] Fix | Delete
editor.nodeChanged();
[240] Fix | Delete
}
[241] Fix | Delete
});
[242] Fix | Delete
[243] Fix | Delete
editor.addCommand( 'WP_Code', function() {
[244] Fix | Delete
editor.formatter.toggle('code');
[245] Fix | Delete
});
[246] Fix | Delete
[247] Fix | Delete
editor.addCommand( 'WP_Page', function() {
[248] Fix | Delete
editor.execCommand( 'WP_More', 'nextpage' );
[249] Fix | Delete
});
[250] Fix | Delete
[251] Fix | Delete
editor.addCommand( 'WP_Help', function() {
[252] Fix | Delete
var access = tinymce.Env.mac ? __( 'Ctrl + Alt + letter:' ) : __( 'Shift + Alt + letter:' ),
[253] Fix | Delete
meta = tinymce.Env.mac ? __( '⌘ + letter:' ) : __( 'Ctrl + letter:' ),
[254] Fix | Delete
table1 = [],
[255] Fix | Delete
table2 = [],
[256] Fix | Delete
row1 = {},
[257] Fix | Delete
row2 = {},
[258] Fix | Delete
i1 = 0,
[259] Fix | Delete
i2 = 0,
[260] Fix | Delete
labels = editor.settings.wp_shortcut_labels,
[261] Fix | Delete
header, html, dialog, $wrap;
[262] Fix | Delete
[263] Fix | Delete
if ( ! labels ) {
[264] Fix | Delete
return;
[265] Fix | Delete
}
[266] Fix | Delete
[267] Fix | Delete
function tr( row, columns ) {
[268] Fix | Delete
var out = '<tr>';
[269] Fix | Delete
var i = 0;
[270] Fix | Delete
[271] Fix | Delete
columns = columns || 1;
[272] Fix | Delete
[273] Fix | Delete
each( row, function( text, key ) {
[274] Fix | Delete
out += '<td><kbd>' + key + '</kbd></td><td>' + __( text ) + '</td>';
[275] Fix | Delete
i++;
[276] Fix | Delete
});
[277] Fix | Delete
[278] Fix | Delete
while ( i < columns ) {
[279] Fix | Delete
out += '<td></td><td></td>';
[280] Fix | Delete
i++;
[281] Fix | Delete
}
[282] Fix | Delete
[283] Fix | Delete
return out + '</tr>';
[284] Fix | Delete
}
[285] Fix | Delete
[286] Fix | Delete
each ( labels, function( label, name ) {
[287] Fix | Delete
var letter;
[288] Fix | Delete
[289] Fix | Delete
if ( label.indexOf( 'meta' ) !== -1 ) {
[290] Fix | Delete
i1++;
[291] Fix | Delete
letter = label.replace( 'meta', '' ).toLowerCase();
[292] Fix | Delete
[293] Fix | Delete
if ( letter ) {
[294] Fix | Delete
row1[ letter ] = name;
[295] Fix | Delete
[296] Fix | Delete
if ( i1 % 2 === 0 ) {
[297] Fix | Delete
table1.push( tr( row1, 2 ) );
[298] Fix | Delete
row1 = {};
[299] Fix | Delete
}
[300] Fix | Delete
}
[301] Fix | Delete
} else if ( label.indexOf( 'access' ) !== -1 ) {
[302] Fix | Delete
i2++;
[303] Fix | Delete
letter = label.replace( 'access', '' ).toLowerCase();
[304] Fix | Delete
[305] Fix | Delete
if ( letter ) {
[306] Fix | Delete
row2[ letter ] = name;
[307] Fix | Delete
[308] Fix | Delete
if ( i2 % 2 === 0 ) {
[309] Fix | Delete
table2.push( tr( row2, 2 ) );
[310] Fix | Delete
row2 = {};
[311] Fix | Delete
}
[312] Fix | Delete
}
[313] Fix | Delete
}
[314] Fix | Delete
} );
[315] Fix | Delete
[316] Fix | Delete
// Add remaining single entries.
[317] Fix | Delete
if ( i1 % 2 > 0 ) {
[318] Fix | Delete
table1.push( tr( row1, 2 ) );
[319] Fix | Delete
}
[320] Fix | Delete
[321] Fix | Delete
if ( i2 % 2 > 0 ) {
[322] Fix | Delete
table2.push( tr( row2, 2 ) );
[323] Fix | Delete
}
[324] Fix | Delete
[325] Fix | Delete
header = [ __( 'Letter' ), __( 'Action' ), __( 'Letter' ), __( 'Action' ) ];
[326] Fix | Delete
header = '<tr><th>' + header.join( '</th><th>' ) + '</th></tr>';
[327] Fix | Delete
[328] Fix | Delete
html = '<div class="wp-editor-help">';
[329] Fix | Delete
[330] Fix | Delete
// Main section, default and additional shortcuts.
[331] Fix | Delete
html = html +
[332] Fix | Delete
'<h2>' + __( 'Default shortcuts,' ) + ' ' + meta + '</h2>' +
[333] Fix | Delete
'<table class="wp-help-th-center fixed">' +
[334] Fix | Delete
header +
[335] Fix | Delete
table1.join('') +
[336] Fix | Delete
'</table>' +
[337] Fix | Delete
'<h2>' + __( 'Additional shortcuts,' ) + ' ' + access + '</h2>' +
[338] Fix | Delete
'<table class="wp-help-th-center fixed">' +
[339] Fix | Delete
header +
[340] Fix | Delete
table2.join('') +
[341] Fix | Delete
'</table>';
[342] Fix | Delete
[343] Fix | Delete
if ( editor.plugins.wptextpattern && ( ! tinymce.Env.ie || tinymce.Env.ie > 8 ) ) {
[344] Fix | Delete
// Text pattern section.
[345] Fix | Delete
html = html +
[346] Fix | Delete
'<h2>' + __( 'When starting a new paragraph with one of these formatting shortcuts followed by a space, the formatting will be applied automatically. Press Backspace or Escape to undo.' ) + '</h2>' +
[347] Fix | Delete
'<table class="wp-help-th-center fixed">' +
[348] Fix | Delete
tr({ '*': 'Bullet list', '1.': 'Numbered list' }) +
[349] Fix | Delete
tr({ '-': 'Bullet list', '1)': 'Numbered list' }) +
[350] Fix | Delete
'</table>';
[351] Fix | Delete
[352] Fix | Delete
html = html +
[353] Fix | Delete
'<h2>' + __( 'The following formatting shortcuts are replaced when pressing Enter. Press Escape or the Undo button to undo.' ) + '</h2>' +
[354] Fix | Delete
'<table class="wp-help-single">' +
[355] Fix | Delete
tr({ '>': 'Blockquote' }) +
[356] Fix | Delete
tr({ '##': 'Heading 2' }) +
[357] Fix | Delete
tr({ '###': 'Heading 3' }) +
[358] Fix | Delete
tr({ '####': 'Heading 4' }) +
[359] Fix | Delete
tr({ '#####': 'Heading 5' }) +
[360] Fix | Delete
tr({ '######': 'Heading 6' }) +
[361] Fix | Delete
tr({ '---': 'Horizontal line' }) +
[362] Fix | Delete
'</table>';
[363] Fix | Delete
}
[364] Fix | Delete
[365] Fix | Delete
// Focus management section.
[366] Fix | Delete
html = html +
[367] Fix | Delete
'<h2>' + __( 'Focus shortcuts:' ) + '</h2>' +
[368] Fix | Delete
'<table class="wp-help-single">' +
[369] Fix | Delete
tr({ 'Alt + F8': 'Inline toolbar (when an image, link or preview is selected)' }) +
[370] Fix | Delete
tr({ 'Alt + F9': 'Editor menu (when enabled)' }) +
[371] Fix | Delete
tr({ 'Alt + F10': 'Editor toolbar' }) +
[372] Fix | Delete
tr({ 'Alt + F11': 'Elements path' }) +
[373] Fix | Delete
'</table>' +
[374] Fix | Delete
'<p>' + __( 'To move focus to other buttons use Tab or the arrow keys. To return focus to the editor press Escape or use one of the buttons.' ) + '</p>';
[375] Fix | Delete
[376] Fix | Delete
html += '</div>';
[377] Fix | Delete
[378] Fix | Delete
dialog = editor.windowManager.open( {
[379] Fix | Delete
title: editor.settings.classic_block_editor ? 'Classic Block Keyboard Shortcuts' : 'Keyboard Shortcuts',
[380] Fix | Delete
items: {
[381] Fix | Delete
type: 'container',
[382] Fix | Delete
classes: 'wp-help',
[383] Fix | Delete
html: html
[384] Fix | Delete
},
[385] Fix | Delete
buttons: {
[386] Fix | Delete
text: 'Close',
[387] Fix | Delete
onclick: 'close'
[388] Fix | Delete
}
[389] Fix | Delete
} );
[390] Fix | Delete
[391] Fix | Delete
if ( dialog.$el ) {
[392] Fix | Delete
dialog.$el.find( 'div[role="application"]' ).attr( 'role', 'document' );
[393] Fix | Delete
$wrap = dialog.$el.find( '.mce-wp-help' );
[394] Fix | Delete
[395] Fix | Delete
if ( $wrap[0] ) {
[396] Fix | Delete
$wrap.attr( 'tabindex', '0' );
[397] Fix | Delete
$wrap[0].focus();
[398] Fix | Delete
$wrap.on( 'keydown', function( event ) {
[399] Fix | Delete
// Prevent use of: page up, page down, end, home, left arrow, up arrow, right arrow, down arrow
[400] Fix | Delete
// in the dialog keydown handler.
[401] Fix | Delete
if ( event.keyCode >= 33 && event.keyCode <= 40 ) {
[402] Fix | Delete
event.stopPropagation();
[403] Fix | Delete
}
[404] Fix | Delete
});
[405] Fix | Delete
}
[406] Fix | Delete
}
[407] Fix | Delete
} );
[408] Fix | Delete
[409] Fix | Delete
editor.addCommand( 'WP_Medialib', function() {
[410] Fix | Delete
if ( wp && wp.media && wp.media.editor ) {
[411] Fix | Delete
wp.media.editor.open( editor.id );
[412] Fix | Delete
}
[413] Fix | Delete
});
[414] Fix | Delete
[415] Fix | Delete
// Register buttons.
[416] Fix | Delete
editor.addButton( 'wp_more', {
[417] Fix | Delete
tooltip: 'Insert Read More tag',
[418] Fix | Delete
onclick: function() {
[419] Fix | Delete
editor.execCommand( 'WP_More', 'more' );
[420] Fix | Delete
}
[421] Fix | Delete
});
[422] Fix | Delete
[423] Fix | Delete
editor.addButton( 'wp_page', {
[424] Fix | Delete
tooltip: 'Page break',
[425] Fix | Delete
onclick: function() {
[426] Fix | Delete
editor.execCommand( 'WP_More', 'nextpage' );
[427] Fix | Delete
}
[428] Fix | Delete
});
[429] Fix | Delete
[430] Fix | Delete
editor.addButton( 'wp_help', {
[431] Fix | Delete
tooltip: 'Keyboard Shortcuts',
[432] Fix | Delete
cmd: 'WP_Help'
[433] Fix | Delete
});
[434] Fix | Delete
[435] Fix | Delete
editor.addButton( 'wp_code', {
[436] Fix | Delete
tooltip: 'Code',
[437] Fix | Delete
cmd: 'WP_Code',
[438] Fix | Delete
stateSelector: 'code'
[439] Fix | Delete
});
[440] Fix | Delete
[441] Fix | Delete
// Insert->Add Media.
[442] Fix | Delete
if ( wp && wp.media && wp.media.editor ) {
[443] Fix | Delete
editor.addButton( 'wp_add_media', {
[444] Fix | Delete
tooltip: 'Add Media',
[445] Fix | Delete
icon: 'dashicon dashicons-admin-media',
[446] Fix | Delete
cmd: 'WP_Medialib'
[447] Fix | Delete
} );
[448] Fix | Delete
[449] Fix | Delete
editor.addMenuItem( 'add_media', {
[450] Fix | Delete
text: 'Add Media',
[451] Fix | Delete
icon: 'wp-media-library',
[452] Fix | Delete
context: 'insert',
[453] Fix | Delete
cmd: 'WP_Medialib'
[454] Fix | Delete
});
[455] Fix | Delete
}
[456] Fix | Delete
[457] Fix | Delete
// Insert "Read More...".
[458] Fix | Delete
editor.addMenuItem( 'wp_more', {
[459] Fix | Delete
text: 'Insert Read More tag',
[460] Fix | Delete
icon: 'wp_more',
[461] Fix | Delete
context: 'insert',
[462] Fix | Delete
onclick: function() {
[463] Fix | Delete
editor.execCommand( 'WP_More', 'more' );
[464] Fix | Delete
}
[465] Fix | Delete
});
[466] Fix | Delete
[467] Fix | Delete
// Insert "Next Page".
[468] Fix | Delete
editor.addMenuItem( 'wp_page', {
[469] Fix | Delete
text: 'Page break',
[470] Fix | Delete
icon: 'wp_page',
[471] Fix | Delete
context: 'insert',
[472] Fix | Delete
onclick: function() {
[473] Fix | Delete
editor.execCommand( 'WP_More', 'nextpage' );
[474] Fix | Delete
}
[475] Fix | Delete
});
[476] Fix | Delete
[477] Fix | Delete
editor.on( 'BeforeExecCommand', function(e) {
[478] Fix | Delete
if ( tinymce.Env.webkit && ( e.command === 'InsertUnorderedList' || e.command === 'InsertOrderedList' ) ) {
[479] Fix | Delete
if ( ! style ) {
[480] Fix | Delete
style = editor.dom.create( 'style', {'type': 'text/css'},
[481] Fix | Delete
'#tinymce,#tinymce span,#tinymce li,#tinymce li>span,#tinymce p,#tinymce p>span{font:medium sans-serif;color:#000;line-height:normal;}');
[482] Fix | Delete
}
[483] Fix | Delete
[484] Fix | Delete
editor.getDoc().head.appendChild( style );
[485] Fix | Delete
}
[486] Fix | Delete
});
[487] Fix | Delete
[488] Fix | Delete
editor.on( 'ExecCommand', function( e ) {
[489] Fix | Delete
if ( tinymce.Env.webkit && style &&
[490] Fix | Delete
( 'InsertUnorderedList' === e.command || 'InsertOrderedList' === e.command ) ) {
[491] Fix | Delete
[492] Fix | Delete
editor.dom.remove( style );
[493] Fix | Delete
}
[494] Fix | Delete
});
[495] Fix | Delete
[496] Fix | Delete
editor.on( 'init', function() {
[497] Fix | Delete
var env = tinymce.Env,
[498] Fix | Delete
bodyClass = ['mceContentBody'], // Back-compat for themes that use this in editor-style.css...
[499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function