2014-01-27 01:28:13 +01:00
|
|
|
/* global postL10n, ajaxurl, wpAjax, setPostThumbnailL10n, postboxes, pagenow, tinymce, alert, deleteUserSetting */
|
2015-07-01 16:54:24 +02:00
|
|
|
/* global theList:true, theExtraList:true, getUserSetting, setUserSetting, commentReply */
|
2013-11-15 06:35:10 +01:00
|
|
|
|
2015-02-25 05:17:27 +01:00
|
|
|
var commentsBox, WPSetThumbnailHTML, WPSetThumbnailID, WPRemoveThumbnail, wptitlehint, makeSlugeditClickable, editPermalink;
|
2014-01-22 05:56:16 +01:00
|
|
|
// Back-compat: prevent fatal errors
|
|
|
|
makeSlugeditClickable = editPermalink = function(){};
|
2012-08-23 02:04:18 +02:00
|
|
|
|
2014-01-27 01:28:13 +01:00
|
|
|
window.wp = window.wp || {};
|
|
|
|
|
PressThis v2, first run. Props michael-arestad, stephdau, marcelomazza, DrewAPicture, iseulde, afercia, kraftbj, rachelbaker, AramZS, dd32. See #31373.
Built from https://develop.svn.wordpress.org/trunk@31534
git-svn-id: http://core.svn.wordpress.org/trunk@31515 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-25 02:50:26 +01:00
|
|
|
( function( $ ) {
|
2014-03-25 23:22:14 +01:00
|
|
|
var titleHasFocus = false;
|
2012-08-23 02:04:18 +02:00
|
|
|
|
|
|
|
commentsBox = {
|
|
|
|
st : 0,
|
|
|
|
|
|
|
|
get : function(total, num) {
|
|
|
|
var st = this.st, data;
|
|
|
|
if ( ! num )
|
|
|
|
num = 20;
|
|
|
|
|
|
|
|
this.st += num;
|
|
|
|
this.total = total;
|
2015-04-03 06:52:27 +02:00
|
|
|
$( '#commentsdiv .spinner' ).addClass( 'is-active' );
|
2012-08-23 02:04:18 +02:00
|
|
|
|
|
|
|
data = {
|
|
|
|
'action' : 'get-comments',
|
|
|
|
'mode' : 'single',
|
|
|
|
'_ajax_nonce' : $('#add_comment_nonce').val(),
|
|
|
|
'p' : $('#post_ID').val(),
|
|
|
|
'start' : st,
|
|
|
|
'number' : num
|
|
|
|
};
|
|
|
|
|
|
|
|
$.post(ajaxurl, data,
|
|
|
|
function(r) {
|
|
|
|
r = wpAjax.parseAjaxResponse(r);
|
|
|
|
$('#commentsdiv .widefat').show();
|
2015-04-03 06:52:27 +02:00
|
|
|
$( '#commentsdiv .spinner' ).removeClass( 'is-active' );
|
2012-08-23 02:04:18 +02:00
|
|
|
|
|
|
|
if ( 'object' == typeof r && r.responses[0] ) {
|
|
|
|
$('#the-comment-list').append( r.responses[0].data );
|
|
|
|
|
|
|
|
theList = theExtraList = null;
|
2013-11-15 06:35:10 +01:00
|
|
|
$( 'a[className*=\':\']' ).unbind();
|
2012-08-23 02:04:18 +02:00
|
|
|
|
|
|
|
if ( commentsBox.st > commentsBox.total )
|
|
|
|
$('#show-comments').hide();
|
|
|
|
else
|
|
|
|
$('#show-comments').show().children('a').html(postL10n.showcomm);
|
|
|
|
|
|
|
|
return;
|
|
|
|
} else if ( 1 == r ) {
|
|
|
|
$('#show-comments').html(postL10n.endcomm);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
$('#the-comment-list').append('<tr><td colspan="2">'+wpAjax.broken+'</td></tr>');
|
|
|
|
}
|
|
|
|
);
|
|
|
|
|
|
|
|
return false;
|
2015-09-12 04:28:26 +02:00
|
|
|
},
|
|
|
|
|
|
|
|
load: function(total){
|
|
|
|
this.st = jQuery('#the-comment-list tr.comment:visible').length;
|
|
|
|
this.get(total);
|
2012-08-23 02:04:18 +02:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
WPSetThumbnailHTML = function(html){
|
|
|
|
$('.inside', '#postimagediv').html(html);
|
|
|
|
};
|
|
|
|
|
|
|
|
WPSetThumbnailID = function(id){
|
|
|
|
var field = $('input[value="_thumbnail_id"]', '#list-table');
|
|
|
|
if ( field.size() > 0 ) {
|
|
|
|
$('#meta\\[' + field.attr('id').match(/[0-9]+/) + '\\]\\[value\\]').text(id);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
WPRemoveThumbnail = function(nonce){
|
|
|
|
$.post(ajaxurl, {
|
2013-11-15 06:35:10 +01:00
|
|
|
action: 'set-post-thumbnail', post_id: $( '#post_ID' ).val(), thumbnail_id: -1, _ajax_nonce: nonce, cookie: encodeURIComponent( document.cookie )
|
2012-08-23 02:04:18 +02:00
|
|
|
}, function(str){
|
|
|
|
if ( str == '0' ) {
|
|
|
|
alert( setPostThumbnailL10n.error );
|
|
|
|
} else {
|
|
|
|
WPSetThumbnailHTML(str);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
2013-03-12 04:22:30 +01:00
|
|
|
$(document).on( 'heartbeat-send.refresh-lock', function( e, data ) {
|
2013-05-09 00:52:55 +02:00
|
|
|
var lock = $('#active_post_lock').val(),
|
|
|
|
post_id = $('#post_ID').val(),
|
|
|
|
send = {};
|
2013-03-12 04:22:30 +01:00
|
|
|
|
2013-05-20 21:36:29 +02:00
|
|
|
if ( ! post_id || ! $('#post-lock-dialog').length )
|
2013-03-12 04:22:30 +01:00
|
|
|
return;
|
|
|
|
|
2013-11-15 06:35:10 +01:00
|
|
|
send.post_id = post_id;
|
2013-03-12 04:22:30 +01:00
|
|
|
|
|
|
|
if ( lock )
|
2013-11-15 06:35:10 +01:00
|
|
|
send.lock = lock;
|
2013-03-12 04:22:30 +01:00
|
|
|
|
|
|
|
data['wp-refresh-post-lock'] = send;
|
|
|
|
|
2014-01-22 05:56:16 +01:00
|
|
|
}).on( 'heartbeat-tick.refresh-lock', function( e, data ) {
|
|
|
|
// Post locks: update the lock string or show the dialog if somebody has taken over editing
|
2013-03-12 04:22:30 +01:00
|
|
|
var received, wrap, avatar;
|
|
|
|
|
|
|
|
if ( data['wp-refresh-post-lock'] ) {
|
|
|
|
received = data['wp-refresh-post-lock'];
|
|
|
|
|
|
|
|
if ( received.lock_error ) {
|
|
|
|
// show "editing taken over" message
|
2013-05-20 21:36:29 +02:00
|
|
|
wrap = $('#post-lock-dialog');
|
2013-03-12 04:22:30 +01:00
|
|
|
|
2013-04-13 02:41:15 +02:00
|
|
|
if ( wrap.length && ! wrap.is(':visible') ) {
|
2014-01-27 01:28:13 +01:00
|
|
|
if ( wp.autosave ) {
|
2014-01-22 05:56:16 +01:00
|
|
|
// Save the latest changes and disable
|
|
|
|
$(document).one( 'heartbeat-tick', function() {
|
2014-01-27 01:28:13 +01:00
|
|
|
wp.autosave.server.suspend();
|
2013-04-22 05:08:51 +02:00
|
|
|
wrap.removeClass('saving').addClass('saved');
|
2014-01-22 05:56:16 +01:00
|
|
|
$(window).off( 'beforeunload.edit-post' );
|
2013-04-22 05:08:51 +02:00
|
|
|
});
|
|
|
|
|
2014-01-22 05:56:16 +01:00
|
|
|
wrap.addClass('saving');
|
|
|
|
wp.autosave.server.triggerSave();
|
2013-04-22 05:08:51 +02:00
|
|
|
}
|
2013-03-16 21:46:37 +01:00
|
|
|
|
2013-03-15 22:09:20 +01:00
|
|
|
if ( received.lock_error.avatar_src ) {
|
2015-11-07 17:12:27 +01:00
|
|
|
avatar = $( '<img class="avatar avatar-64 photo" width="64" height="64" alt="" />' ).attr( 'src', received.lock_error.avatar_src.replace( /&/g, '&' ) );
|
2013-03-12 04:22:30 +01:00
|
|
|
wrap.find('div.post-locked-avatar').empty().append( avatar );
|
|
|
|
}
|
|
|
|
|
2013-04-22 05:08:51 +02:00
|
|
|
wrap.show().find('.currently-editing').text( received.lock_error.text );
|
|
|
|
wrap.find('.wp-tab-first').focus();
|
2013-03-12 04:22:30 +01:00
|
|
|
}
|
2013-03-16 21:46:37 +01:00
|
|
|
} else if ( received.new_lock ) {
|
|
|
|
$('#active_post_lock').val( received.new_lock );
|
2013-03-12 04:22:30 +01:00
|
|
|
}
|
|
|
|
}
|
2014-03-25 23:22:14 +01:00
|
|
|
}).on( 'before-autosave.update-post-slug', function() {
|
|
|
|
titleHasFocus = document.activeElement && document.activeElement.id === 'title';
|
2014-01-22 05:56:16 +01:00
|
|
|
}).on( 'after-autosave.update-post-slug', function() {
|
2014-03-25 23:22:14 +01:00
|
|
|
// Create slug area only if not already there
|
|
|
|
// and the title field was not focused (user was not typing a title) when autosave ran
|
|
|
|
if ( ! $('#edit-slug-box > *').length && ! titleHasFocus ) {
|
2014-01-22 05:56:16 +01:00
|
|
|
$.post( ajaxurl, {
|
|
|
|
action: 'sample-permalink',
|
|
|
|
post_id: $('#post_ID').val(),
|
2014-01-27 01:28:13 +01:00
|
|
|
new_title: $('#title').val(),
|
2014-01-22 05:56:16 +01:00
|
|
|
samplepermalinknonce: $('#samplepermalinknonce').val()
|
|
|
|
},
|
|
|
|
function( data ) {
|
|
|
|
if ( data != '-1' ) {
|
|
|
|
$('#edit-slug-box').html(data);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
);
|
|
|
|
}
|
2013-03-12 04:22:30 +01:00
|
|
|
});
|
|
|
|
|
|
|
|
}(jQuery));
|
2012-08-23 02:04:18 +02:00
|
|
|
|
2013-05-16 05:47:09 +02:00
|
|
|
(function($) {
|
|
|
|
var check, timeout;
|
|
|
|
|
|
|
|
function schedule() {
|
|
|
|
check = false;
|
|
|
|
window.clearTimeout( timeout );
|
2013-06-29 03:31:44 +02:00
|
|
|
timeout = window.setTimeout( function(){ check = true; }, 300000 );
|
2013-05-16 05:47:09 +02:00
|
|
|
}
|
|
|
|
|
2013-05-20 14:10:58 +02:00
|
|
|
$(document).on( 'heartbeat-send.wp-refresh-nonces', function( e, data ) {
|
2015-07-29 00:07:25 +02:00
|
|
|
var post_id,
|
|
|
|
$authCheck = $('#wp-auth-check-wrap');
|
2013-05-16 05:47:09 +02:00
|
|
|
|
2015-07-29 00:07:25 +02:00
|
|
|
if ( check || ( $authCheck.length && ! $authCheck.hasClass( 'hidden' ) ) ) {
|
|
|
|
if ( ( post_id = $('#post_ID').val() ) && $('#_wpnonce').val() ) {
|
2013-05-16 05:47:09 +02:00
|
|
|
data['wp-refresh-post-nonces'] = {
|
2015-07-29 00:07:25 +02:00
|
|
|
post_id: post_id
|
2013-05-16 05:47:09 +02:00
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}).on( 'heartbeat-tick.wp-refresh-nonces', function( e, data ) {
|
2013-06-29 03:31:44 +02:00
|
|
|
var nonces = data['wp-refresh-post-nonces'];
|
|
|
|
|
|
|
|
if ( nonces ) {
|
2013-05-16 05:47:09 +02:00
|
|
|
schedule();
|
|
|
|
|
2013-06-29 03:31:44 +02:00
|
|
|
if ( nonces.replace ) {
|
|
|
|
$.each( nonces.replace, function( selector, value ) {
|
|
|
|
$( '#' + selector ).val( value );
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
if ( nonces.heartbeatNonce )
|
|
|
|
window.heartbeatSettings.nonce = nonces.heartbeatNonce;
|
2013-05-16 05:47:09 +02:00
|
|
|
}
|
|
|
|
}).ready( function() {
|
|
|
|
schedule();
|
|
|
|
});
|
|
|
|
}(jQuery));
|
|
|
|
|
2012-08-23 02:04:18 +02:00
|
|
|
jQuery(document).ready( function($) {
|
2014-03-27 18:31:14 +01:00
|
|
|
var stamp, visibility, $submitButtons, updateVisibility, updateText,
|
2014-01-22 05:56:16 +01:00
|
|
|
sticky = '',
|
2015-06-01 21:02:25 +02:00
|
|
|
$textarea = $('#content'),
|
2014-02-06 20:34:12 +01:00
|
|
|
$document = $(document),
|
2014-01-22 05:56:16 +01:00
|
|
|
postId = $('#post_ID').val() || 0,
|
|
|
|
$submitpost = $('#submitpost'),
|
2014-01-26 04:07:16 +01:00
|
|
|
releaseLock = true,
|
|
|
|
$postVisibilitySelect = $('#post-visibility-select'),
|
|
|
|
$timestampdiv = $('#timestampdiv'),
|
2015-06-01 21:02:25 +02:00
|
|
|
$postStatusSelect = $('#post-status-select'),
|
|
|
|
isMac = window.navigator.platform ? window.navigator.platform.indexOf( 'Mac' ) !== -1 : false;
|
2012-08-23 02:04:18 +02:00
|
|
|
|
|
|
|
postboxes.add_postbox_toggles(pagenow);
|
|
|
|
|
2014-02-03 00:50:13 +01:00
|
|
|
// Clear the window name. Otherwise if this is a former preview window where the user navigated to edit another post,
|
|
|
|
// and the first post is still being edited, clicking Preview there will use this window to show the preview.
|
|
|
|
window.name = '';
|
|
|
|
|
2013-03-21 01:57:27 +01:00
|
|
|
// Post locks: contain focus inside the dialog. If the dialog is shown, focus the first item.
|
2013-05-20 21:36:29 +02:00
|
|
|
$('#post-lock-dialog .notification-dialog').on( 'keydown', function(e) {
|
2013-03-21 01:57:27 +01:00
|
|
|
if ( e.which != 9 )
|
|
|
|
return;
|
|
|
|
|
|
|
|
var target = $(e.target);
|
|
|
|
|
|
|
|
if ( target.hasClass('wp-tab-first') && e.shiftKey ) {
|
|
|
|
$(this).find('.wp-tab-last').focus();
|
|
|
|
e.preventDefault();
|
|
|
|
} else if ( target.hasClass('wp-tab-last') && ! e.shiftKey ) {
|
|
|
|
$(this).find('.wp-tab-first').focus();
|
|
|
|
e.preventDefault();
|
|
|
|
}
|
|
|
|
}).filter(':visible').find('.wp-tab-first').focus();
|
2013-12-11 20:49:11 +01:00
|
|
|
|
2013-11-14 19:41:10 +01:00
|
|
|
// Set the heartbeat interval to 15 sec. if post lock dialogs are enabled
|
2014-01-27 01:28:13 +01:00
|
|
|
if ( wp.heartbeat && $('#post-lock-dialog').length ) {
|
2013-12-03 01:45:10 +01:00
|
|
|
wp.heartbeat.interval( 15 );
|
2013-11-14 19:41:10 +01:00
|
|
|
}
|
2013-03-16 21:46:37 +01:00
|
|
|
|
2014-01-22 05:56:16 +01:00
|
|
|
// The form is being submitted by the user
|
2014-12-02 03:35:28 +01:00
|
|
|
$submitButtons = $submitpost.find( ':submit, a.submitdelete, #post-preview' ).on( 'click.edit-post', function( event ) {
|
2014-01-22 05:56:16 +01:00
|
|
|
var $button = $(this);
|
|
|
|
|
2014-01-27 01:28:13 +01:00
|
|
|
if ( $button.hasClass('disabled') ) {
|
2014-01-22 05:56:16 +01:00
|
|
|
event.preventDefault();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2014-01-22 18:58:12 +01:00
|
|
|
if ( $button.hasClass('submitdelete') || $button.is( '#post-preview' ) ) {
|
2014-01-22 05:56:16 +01:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
// The form submission can be blocked from JS or by using HTML 5.0 validation on some fields.
|
|
|
|
// Run this only on an actual 'submit'.
|
|
|
|
$('form#post').off( 'submit.edit-post' ).on( 'submit.edit-post', function( event ) {
|
|
|
|
if ( event.isDefaultPrevented() ) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2014-01-27 01:28:13 +01:00
|
|
|
// Stop autosave
|
|
|
|
if ( wp.autosave ) {
|
|
|
|
wp.autosave.server.suspend();
|
2014-01-22 18:58:12 +01:00
|
|
|
}
|
|
|
|
|
2015-07-03 17:32:25 +02:00
|
|
|
if ( typeof commentReply !== 'undefined' ) {
|
|
|
|
/*
|
|
|
|
* Close the comment edit/reply form if open to stop the form
|
|
|
|
* action from interfering with the post's form action.
|
|
|
|
*/
|
|
|
|
commentReply.close();
|
|
|
|
}
|
2015-07-01 16:54:24 +02:00
|
|
|
|
2014-01-22 05:56:16 +01:00
|
|
|
releaseLock = false;
|
|
|
|
$(window).off( 'beforeunload.edit-post' );
|
|
|
|
|
2014-01-27 01:28:13 +01:00
|
|
|
$submitButtons.addClass( 'disabled' );
|
2014-01-22 05:56:16 +01:00
|
|
|
|
|
|
|
if ( $button.attr('id') === 'publish' ) {
|
2015-04-03 06:52:27 +02:00
|
|
|
$submitpost.find( '#major-publishing-actions .spinner' ).addClass( 'is-active' );
|
2014-01-22 05:56:16 +01:00
|
|
|
} else {
|
2015-04-03 06:52:27 +02:00
|
|
|
$submitpost.find( '#minor-publishing .spinner' ).addClass( 'is-active' );
|
2014-01-22 05:56:16 +01:00
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
// Submit the form saving a draft or an autosave, and show a preview in a new tab
|
|
|
|
$('#post-preview').on( 'click.post-preview', function( event ) {
|
|
|
|
var $this = $(this),
|
|
|
|
$form = $('form#post'),
|
|
|
|
$previewField = $('input#wp-preview'),
|
|
|
|
target = $this.attr('target') || 'wp-preview',
|
|
|
|
ua = navigator.userAgent.toLowerCase();
|
2014-01-27 01:28:13 +01:00
|
|
|
|
2014-01-22 05:56:16 +01:00
|
|
|
event.preventDefault();
|
|
|
|
|
2014-01-27 01:28:13 +01:00
|
|
|
if ( $this.hasClass('disabled') ) {
|
2014-01-22 05:56:16 +01:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2014-01-27 01:28:13 +01:00
|
|
|
if ( wp.autosave ) {
|
2014-01-22 05:56:16 +01:00
|
|
|
wp.autosave.server.tempBlockSave();
|
|
|
|
}
|
|
|
|
|
|
|
|
$previewField.val('dopreview');
|
|
|
|
$form.attr( 'target', target ).submit().attr( 'target', '' );
|
|
|
|
|
|
|
|
// Workaround for WebKit bug preventing a form submitting twice to the same action.
|
|
|
|
// https://bugs.webkit.org/show_bug.cgi?id=28633
|
|
|
|
if ( ua.indexOf('safari') !== -1 && ua.indexOf('chrome') === -1 ) {
|
|
|
|
$form.attr( 'action', function( index, value ) {
|
|
|
|
return value + '?t=' + ( new Date() ).getTime();
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
$previewField.val('');
|
|
|
|
});
|
|
|
|
|
|
|
|
// This code is meant to allow tabbing from Title to Post content.
|
|
|
|
$('#title').on( 'keydown.editor-focus', function( event ) {
|
2015-06-01 21:02:25 +02:00
|
|
|
var editor;
|
2014-01-22 05:56:16 +01:00
|
|
|
|
|
|
|
if ( event.keyCode === 9 && ! event.ctrlKey && ! event.altKey && ! event.shiftKey ) {
|
|
|
|
editor = typeof tinymce != 'undefined' && tinymce.get('content');
|
|
|
|
|
|
|
|
if ( editor && ! editor.isHidden() ) {
|
|
|
|
editor.focus();
|
2014-04-11 00:10:15 +02:00
|
|
|
} else if ( $textarea.length ) {
|
|
|
|
$textarea.focus();
|
2014-01-22 05:56:16 +01:00
|
|
|
} else {
|
2014-04-11 00:10:15 +02:00
|
|
|
return;
|
2014-01-22 05:56:16 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
event.preventDefault();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
// Autosave new posts after a title is typed
|
|
|
|
if ( $( '#auto_draft' ).val() ) {
|
|
|
|
$( '#title' ).blur( function() {
|
2014-04-05 03:29:14 +02:00
|
|
|
var cancel;
|
|
|
|
|
2014-03-25 23:22:14 +01:00
|
|
|
if ( ! this.value || $('#edit-slug-box > *').length ) {
|
2014-01-22 05:56:16 +01:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2014-04-05 03:29:14 +02:00
|
|
|
// Cancel the autosave when the blur was triggered by the user submitting the form
|
|
|
|
$('form#post').one( 'submit', function() {
|
|
|
|
cancel = true;
|
|
|
|
});
|
|
|
|
|
|
|
|
window.setTimeout( function() {
|
|
|
|
if ( ! cancel && wp.autosave ) {
|
|
|
|
wp.autosave.server.triggerSave();
|
|
|
|
}
|
|
|
|
}, 200 );
|
2014-01-22 05:56:16 +01:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2014-02-06 20:34:12 +01:00
|
|
|
$document.on( 'autosave-disable-buttons.edit-post', function() {
|
2014-01-27 01:28:13 +01:00
|
|
|
$submitButtons.addClass( 'disabled' );
|
2014-01-22 05:56:16 +01:00
|
|
|
}).on( 'autosave-enable-buttons.edit-post', function() {
|
2014-01-27 01:28:13 +01:00
|
|
|
if ( ! wp.heartbeat || ! wp.heartbeat.hasConnectionError() ) {
|
|
|
|
$submitButtons.removeClass( 'disabled' );
|
2014-01-22 05:56:16 +01:00
|
|
|
}
|
2014-01-27 01:28:13 +01:00
|
|
|
}).on( 'before-autosave.edit-post', function() {
|
|
|
|
$( '.autosave-message' ).text( postL10n.savingText );
|
|
|
|
}).on( 'after-autosave.edit-post', function( event, data ) {
|
|
|
|
$( '.autosave-message' ).text( data.message );
|
2014-01-22 05:56:16 +01:00
|
|
|
});
|
|
|
|
|
|
|
|
$(window).on( 'beforeunload.edit-post', function() {
|
|
|
|
var editor = typeof tinymce !== 'undefined' && tinymce.get('content');
|
|
|
|
|
2014-01-27 01:28:13 +01:00
|
|
|
if ( ( editor && ! editor.isHidden() && editor.isDirty() ) ||
|
|
|
|
( wp.autosave && wp.autosave.server.postChanged() ) ) {
|
2014-01-22 05:56:16 +01:00
|
|
|
|
2014-01-27 01:28:13 +01:00
|
|
|
return postL10n.saveAlert;
|
2014-01-22 05:56:16 +01:00
|
|
|
}
|
|
|
|
}).on( 'unload.edit-post', function( event ) {
|
|
|
|
if ( ! releaseLock ) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Unload is triggered (by hand) on removing the Thickbox iframe.
|
|
|
|
// Make sure we process only the main document unload.
|
|
|
|
if ( event.target && event.target.nodeName != '#document' ) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
$.ajax({
|
|
|
|
type: 'POST',
|
|
|
|
url: ajaxurl,
|
|
|
|
async: false,
|
|
|
|
data: {
|
|
|
|
action: 'wp-remove-post-lock',
|
|
|
|
_wpnonce: $('#_wpnonce').val(),
|
|
|
|
post_ID: $('#post_ID').val(),
|
|
|
|
active_post_lock: $('#active_post_lock').val()
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
2012-08-23 02:04:18 +02:00
|
|
|
// multi-taxonomies
|
|
|
|
if ( $('#tagsdiv-post_tag').length ) {
|
PressThis v2, first run. Props michael-arestad, stephdau, marcelomazza, DrewAPicture, iseulde, afercia, kraftbj, rachelbaker, AramZS, dd32. See #31373.
Built from https://develop.svn.wordpress.org/trunk@31534
git-svn-id: http://core.svn.wordpress.org/trunk@31515 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-25 02:50:26 +01:00
|
|
|
window.tagBox && window.tagBox.init();
|
2012-08-23 02:04:18 +02:00
|
|
|
} else {
|
|
|
|
$('#side-sortables, #normal-sortables, #advanced-sortables').children('div.postbox').each(function(){
|
|
|
|
if ( this.id.indexOf('tagsdiv-') === 0 ) {
|
PressThis v2, first run. Props michael-arestad, stephdau, marcelomazza, DrewAPicture, iseulde, afercia, kraftbj, rachelbaker, AramZS, dd32. See #31373.
Built from https://develop.svn.wordpress.org/trunk@31534
git-svn-id: http://core.svn.wordpress.org/trunk@31515 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-25 02:50:26 +01:00
|
|
|
window.tagBox && window.tagBox.init();
|
2012-08-23 02:04:18 +02:00
|
|
|
return false;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
// categories
|
|
|
|
$('.categorydiv').each( function(){
|
2013-03-03 01:06:09 +01:00
|
|
|
var this_id = $(this).attr('id'), catAddBefore, catAddAfter, taxonomyParts, taxonomy, settingName;
|
2012-08-23 02:04:18 +02:00
|
|
|
|
|
|
|
taxonomyParts = this_id.split('-');
|
|
|
|
taxonomyParts.shift();
|
|
|
|
taxonomy = taxonomyParts.join('-');
|
2012-10-22 21:51:51 +02:00
|
|
|
settingName = taxonomy + '_tab';
|
|
|
|
if ( taxonomy == 'category' )
|
|
|
|
settingName = 'cats';
|
2012-08-23 02:04:18 +02:00
|
|
|
|
2012-08-30 04:15:57 +02:00
|
|
|
// TODO: move to jQuery 1.3+, support for multiple hierarchical taxonomies, see wp-lists.js
|
2015-10-09 03:27:27 +02:00
|
|
|
$('a', '#' + taxonomy + '-tabs').click( function( e ) {
|
|
|
|
e.preventDefault();
|
2012-08-23 02:04:18 +02:00
|
|
|
var t = $(this).attr('href');
|
|
|
|
$(this).parent().addClass('tabs').siblings('li').removeClass('tabs');
|
|
|
|
$('#' + taxonomy + '-tabs').siblings('.tabs-panel').hide();
|
|
|
|
$(t).show();
|
|
|
|
if ( '#' + taxonomy + '-all' == t )
|
2013-11-15 06:35:10 +01:00
|
|
|
deleteUserSetting( settingName );
|
2012-08-23 02:04:18 +02:00
|
|
|
else
|
2013-11-15 06:35:10 +01:00
|
|
|
setUserSetting( settingName, 'pop' );
|
2012-08-23 02:04:18 +02:00
|
|
|
});
|
|
|
|
|
2013-11-15 06:35:10 +01:00
|
|
|
if ( getUserSetting( settingName ) )
|
2012-08-23 02:04:18 +02:00
|
|
|
$('a[href="#' + taxonomy + '-pop"]', '#' + taxonomy + '-tabs').click();
|
|
|
|
|
|
|
|
// Ajax Cat
|
2013-11-15 06:35:10 +01:00
|
|
|
$( '#new' + taxonomy ).one( 'focus', function() { $( this ).val( '' ).removeClass( 'form-input-tip' ); } );
|
2012-09-24 18:25:15 +02:00
|
|
|
|
|
|
|
$('#new' + taxonomy).keypress( function(event){
|
|
|
|
if( 13 === event.keyCode ) {
|
2013-04-27 14:19:45 +02:00
|
|
|
event.preventDefault();
|
|
|
|
$('#' + taxonomy + '-add-submit').click();
|
2012-09-24 18:25:15 +02:00
|
|
|
}
|
|
|
|
});
|
2012-08-23 02:04:18 +02:00
|
|
|
$('#' + taxonomy + '-add-submit').click( function(){ $('#new' + taxonomy).focus(); });
|
|
|
|
|
|
|
|
catAddBefore = function( s ) {
|
|
|
|
if ( !$('#new'+taxonomy).val() )
|
|
|
|
return false;
|
|
|
|
s.data += '&' + $( ':checked', '#'+taxonomy+'checklist' ).serialize();
|
|
|
|
$( '#' + taxonomy + '-add-submit' ).prop( 'disabled', true );
|
|
|
|
return s;
|
|
|
|
};
|
|
|
|
|
|
|
|
catAddAfter = function( r, s ) {
|
|
|
|
var sup, drop = $('#new'+taxonomy+'_parent');
|
|
|
|
|
|
|
|
$( '#' + taxonomy + '-add-submit' ).prop( 'disabled', false );
|
|
|
|
if ( 'undefined' != s.parsed.responses[0] && (sup = s.parsed.responses[0].supplemental.newcat_parent) ) {
|
|
|
|
drop.before(sup);
|
|
|
|
drop.remove();
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
$('#' + taxonomy + 'checklist').wpList({
|
|
|
|
alt: '',
|
|
|
|
response: taxonomy + '-ajax-response',
|
|
|
|
addBefore: catAddBefore,
|
|
|
|
addAfter: catAddAfter
|
|
|
|
});
|
|
|
|
|
2015-10-09 03:27:27 +02:00
|
|
|
$('#' + taxonomy + '-add-toggle').click( function( e ) {
|
|
|
|
e.preventDefault();
|
2012-08-23 02:04:18 +02:00
|
|
|
$('#' + taxonomy + '-adder').toggleClass( 'wp-hidden-children' );
|
|
|
|
$('a[href="#' + taxonomy + '-all"]', '#' + taxonomy + '-tabs').click();
|
|
|
|
$('#new'+taxonomy).focus();
|
|
|
|
});
|
|
|
|
|
2013-04-27 14:19:45 +02:00
|
|
|
$('#' + taxonomy + 'checklist, #' + taxonomy + 'checklist-pop').on( 'click', 'li.popular-category > label input[type="checkbox"]', function() {
|
2012-08-23 02:04:18 +02:00
|
|
|
var t = $(this), c = t.is(':checked'), id = t.val();
|
|
|
|
if ( id && t.parents('#taxonomy-'+taxonomy).length )
|
|
|
|
$('#in-' + taxonomy + '-' + id + ', #in-popular-' + taxonomy + '-' + id).prop( 'checked', c );
|
|
|
|
});
|
|
|
|
|
|
|
|
}); // end cats
|
|
|
|
|
|
|
|
// Custom Fields
|
|
|
|
if ( $('#postcustom').length ) {
|
2013-11-15 06:35:10 +01:00
|
|
|
$( '#the-list' ).wpList( { addAfter: function() {
|
2012-08-23 02:04:18 +02:00
|
|
|
$('table#list-table').show();
|
|
|
|
}, addBefore: function( s ) {
|
|
|
|
s.data += '&post_id=' + $('#post_ID').val();
|
|
|
|
return s;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
// submitdiv
|
|
|
|
if ( $('#submitdiv').length ) {
|
|
|
|
stamp = $('#timestamp').html();
|
|
|
|
visibility = $('#post-visibility-display').html();
|
|
|
|
|
2013-11-15 06:35:10 +01:00
|
|
|
updateVisibility = function() {
|
2014-01-26 04:07:16 +01:00
|
|
|
if ( $postVisibilitySelect.find('input:radio:checked').val() != 'public' ) {
|
2012-08-23 02:04:18 +02:00
|
|
|
$('#sticky').prop('checked', false);
|
|
|
|
$('#sticky-span').hide();
|
|
|
|
} else {
|
|
|
|
$('#sticky-span').show();
|
|
|
|
}
|
2014-01-26 04:07:16 +01:00
|
|
|
if ( $postVisibilitySelect.find('input:radio:checked').val() != 'password' ) {
|
2012-08-23 02:04:18 +02:00
|
|
|
$('#password-span').hide();
|
|
|
|
} else {
|
|
|
|
$('#password-span').show();
|
|
|
|
}
|
2013-11-15 06:35:10 +01:00
|
|
|
};
|
2012-08-23 02:04:18 +02:00
|
|
|
|
2013-11-15 06:35:10 +01:00
|
|
|
updateText = function() {
|
2012-11-07 22:31:08 +01:00
|
|
|
|
2014-01-26 04:07:16 +01:00
|
|
|
if ( ! $timestampdiv.length )
|
2012-11-07 22:31:08 +01:00
|
|
|
return true;
|
|
|
|
|
2012-08-23 02:04:18 +02:00
|
|
|
var attemptedDate, originalDate, currentDate, publishOn, postStatus = $('#post_status'),
|
|
|
|
optPublish = $('option[value="publish"]', postStatus), aa = $('#aa').val(),
|
|
|
|
mm = $('#mm').val(), jj = $('#jj').val(), hh = $('#hh').val(), mn = $('#mn').val();
|
|
|
|
|
|
|
|
attemptedDate = new Date( aa, mm - 1, jj, hh, mn );
|
|
|
|
originalDate = new Date( $('#hidden_aa').val(), $('#hidden_mm').val() -1, $('#hidden_jj').val(), $('#hidden_hh').val(), $('#hidden_mn').val() );
|
|
|
|
currentDate = new Date( $('#cur_aa').val(), $('#cur_mm').val() -1, $('#cur_jj').val(), $('#cur_hh').val(), $('#cur_mn').val() );
|
|
|
|
|
|
|
|
if ( attemptedDate.getFullYear() != aa || (1 + attemptedDate.getMonth()) != mm || attemptedDate.getDate() != jj || attemptedDate.getMinutes() != mn ) {
|
2014-01-26 04:07:16 +01:00
|
|
|
$timestampdiv.find('.timestamp-wrap').addClass('form-invalid');
|
2012-08-23 02:04:18 +02:00
|
|
|
return false;
|
|
|
|
} else {
|
2014-01-26 04:07:16 +01:00
|
|
|
$timestampdiv.find('.timestamp-wrap').removeClass('form-invalid');
|
2012-08-23 02:04:18 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
if ( attemptedDate > currentDate && $('#original_post_status').val() != 'future' ) {
|
|
|
|
publishOn = postL10n.publishOnFuture;
|
|
|
|
$('#publish').val( postL10n.schedule );
|
|
|
|
} else if ( attemptedDate <= currentDate && $('#original_post_status').val() != 'publish' ) {
|
|
|
|
publishOn = postL10n.publishOn;
|
|
|
|
$('#publish').val( postL10n.publish );
|
|
|
|
} else {
|
|
|
|
publishOn = postL10n.publishOnPast;
|
|
|
|
$('#publish').val( postL10n.update );
|
|
|
|
}
|
|
|
|
if ( originalDate.toUTCString() == attemptedDate.toUTCString() ) { //hack
|
|
|
|
$('#timestamp').html(stamp);
|
|
|
|
} else {
|
|
|
|
$('#timestamp').html(
|
2015-07-21 13:40:25 +02:00
|
|
|
'\n' + publishOn + ' <b>' +
|
|
|
|
postL10n.dateFormat
|
|
|
|
.replace( '%1$s', $( 'option[value="' + mm + '"]', '#mm' ).attr( 'data-text' ) )
|
2015-07-21 16:55:24 +02:00
|
|
|
.replace( '%2$s', parseInt( jj, 10 ) )
|
2013-04-22 21:04:02 +02:00
|
|
|
.replace( '%3$s', aa )
|
2015-07-21 16:55:24 +02:00
|
|
|
.replace( '%4$s', ( '00' + hh ).slice( -2 ) )
|
|
|
|
.replace( '%5$s', ( '00' + mn ).slice( -2 ) ) +
|
2013-11-15 06:35:10 +01:00
|
|
|
'</b> '
|
2012-08-23 02:04:18 +02:00
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2014-01-26 04:07:16 +01:00
|
|
|
if ( $postVisibilitySelect.find('input:radio:checked').val() == 'private' ) {
|
2012-08-23 02:04:18 +02:00
|
|
|
$('#publish').val( postL10n.update );
|
2013-11-15 06:35:10 +01:00
|
|
|
if ( 0 === optPublish.length ) {
|
2012-08-23 02:04:18 +02:00
|
|
|
postStatus.append('<option value="publish">' + postL10n.privatelyPublished + '</option>');
|
|
|
|
} else {
|
|
|
|
optPublish.html( postL10n.privatelyPublished );
|
|
|
|
}
|
|
|
|
$('option[value="publish"]', postStatus).prop('selected', true);
|
2014-01-26 04:07:16 +01:00
|
|
|
$('#misc-publishing-actions .edit-post-status').hide();
|
2012-08-23 02:04:18 +02:00
|
|
|
} else {
|
|
|
|
if ( $('#original_post_status').val() == 'future' || $('#original_post_status').val() == 'draft' ) {
|
|
|
|
if ( optPublish.length ) {
|
|
|
|
optPublish.remove();
|
|
|
|
postStatus.val($('#hidden_post_status').val());
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
optPublish.html( postL10n.published );
|
|
|
|
}
|
|
|
|
if ( postStatus.is(':hidden') )
|
2014-01-26 04:07:16 +01:00
|
|
|
$('#misc-publishing-actions .edit-post-status').show();
|
2012-08-23 02:04:18 +02:00
|
|
|
}
|
|
|
|
$('#post-status-display').html($('option:selected', postStatus).text());
|
|
|
|
if ( $('option:selected', postStatus).val() == 'private' || $('option:selected', postStatus).val() == 'publish' ) {
|
|
|
|
$('#save-post').hide();
|
|
|
|
} else {
|
|
|
|
$('#save-post').show();
|
|
|
|
if ( $('option:selected', postStatus).val() == 'pending' ) {
|
|
|
|
$('#save-post').show().val( postL10n.savePending );
|
|
|
|
} else {
|
|
|
|
$('#save-post').show().val( postL10n.saveDraft );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
2013-11-15 06:35:10 +01:00
|
|
|
};
|
2012-08-23 02:04:18 +02:00
|
|
|
|
2015-10-09 03:27:27 +02:00
|
|
|
$( '#visibility .edit-visibility').click( function( e ) {
|
|
|
|
e.preventDefault();
|
2014-01-26 04:07:16 +01:00
|
|
|
if ( $postVisibilitySelect.is(':hidden') ) {
|
2012-08-23 02:04:18 +02:00
|
|
|
updateVisibility();
|
2015-07-22 00:46:24 +02:00
|
|
|
$postVisibilitySelect.slideDown( 'fast', function() {
|
|
|
|
$postVisibilitySelect.find( 'input[type="radio"]' ).first().focus();
|
|
|
|
} );
|
2012-08-23 02:04:18 +02:00
|
|
|
$(this).hide();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
2014-01-26 04:07:16 +01:00
|
|
|
$postVisibilitySelect.find('.cancel-post-visibility').click( function( event ) {
|
|
|
|
$postVisibilitySelect.slideUp('fast');
|
2012-08-23 02:04:18 +02:00
|
|
|
$('#visibility-radio-' + $('#hidden-post-visibility').val()).prop('checked', true);
|
2013-01-23 04:30:04 +01:00
|
|
|
$('#post_password').val($('#hidden-post-password').val());
|
2012-08-23 02:04:18 +02:00
|
|
|
$('#sticky').prop('checked', $('#hidden-post-sticky').prop('checked'));
|
|
|
|
$('#post-visibility-display').html(visibility);
|
2014-01-26 04:07:16 +01:00
|
|
|
$('#visibility .edit-visibility').show().focus();
|
2012-08-23 02:04:18 +02:00
|
|
|
updateText();
|
2014-01-26 04:07:16 +01:00
|
|
|
event.preventDefault();
|
2012-08-23 02:04:18 +02:00
|
|
|
});
|
|
|
|
|
2014-01-26 04:07:16 +01:00
|
|
|
$postVisibilitySelect.find('.save-post-visibility').click( function( event ) { // crazyhorse - multiple ok cancels
|
|
|
|
$postVisibilitySelect.slideUp('fast');
|
2015-07-22 00:46:24 +02:00
|
|
|
$('#visibility .edit-visibility').show().focus();
|
2012-08-23 02:04:18 +02:00
|
|
|
updateText();
|
|
|
|
|
2014-01-26 04:07:16 +01:00
|
|
|
if ( $postVisibilitySelect.find('input:radio:checked').val() != 'public' ) {
|
2012-08-23 02:04:18 +02:00
|
|
|
$('#sticky').prop('checked', false);
|
|
|
|
} // WEAPON LOCKED
|
|
|
|
|
2013-11-15 06:35:10 +01:00
|
|
|
if ( $('#sticky').prop('checked') ) {
|
2012-08-23 02:04:18 +02:00
|
|
|
sticky = 'Sticky';
|
|
|
|
} else {
|
|
|
|
sticky = '';
|
|
|
|
}
|
|
|
|
|
2014-01-26 04:07:16 +01:00
|
|
|
$('#post-visibility-display').html( postL10n[ $postVisibilitySelect.find('input:radio:checked').val() + sticky ] );
|
|
|
|
event.preventDefault();
|
2012-08-23 02:04:18 +02:00
|
|
|
});
|
|
|
|
|
2014-01-26 04:07:16 +01:00
|
|
|
$postVisibilitySelect.find('input:radio').change( function() {
|
2012-08-23 02:04:18 +02:00
|
|
|
updateVisibility();
|
|
|
|
});
|
|
|
|
|
2014-01-26 04:07:16 +01:00
|
|
|
$timestampdiv.siblings('a.edit-timestamp').click( function( event ) {
|
|
|
|
if ( $timestampdiv.is( ':hidden' ) ) {
|
2015-07-22 00:46:24 +02:00
|
|
|
$timestampdiv.slideDown( 'fast', function() {
|
|
|
|
$( 'input, select', $timestampdiv.find( '.timestamp-wrap' ) ).first().focus();
|
|
|
|
} );
|
2012-08-23 02:04:18 +02:00
|
|
|
$(this).hide();
|
|
|
|
}
|
2014-01-26 04:07:16 +01:00
|
|
|
event.preventDefault();
|
2012-08-23 02:04:18 +02:00
|
|
|
});
|
|
|
|
|
2014-01-26 04:07:16 +01:00
|
|
|
$timestampdiv.find('.cancel-timestamp').click( function( event ) {
|
|
|
|
$timestampdiv.slideUp('fast').siblings('a.edit-timestamp').show().focus();
|
2012-08-23 02:04:18 +02:00
|
|
|
$('#mm').val($('#hidden_mm').val());
|
|
|
|
$('#jj').val($('#hidden_jj').val());
|
|
|
|
$('#aa').val($('#hidden_aa').val());
|
|
|
|
$('#hh').val($('#hidden_hh').val());
|
|
|
|
$('#mn').val($('#hidden_mn').val());
|
|
|
|
updateText();
|
2014-01-26 04:07:16 +01:00
|
|
|
event.preventDefault();
|
2012-08-23 02:04:18 +02:00
|
|
|
});
|
|
|
|
|
2014-01-26 04:07:16 +01:00
|
|
|
$timestampdiv.find('.save-timestamp').click( function( event ) { // crazyhorse - multiple ok cancels
|
2012-08-23 02:04:18 +02:00
|
|
|
if ( updateText() ) {
|
2014-01-26 04:07:16 +01:00
|
|
|
$timestampdiv.slideUp('fast');
|
2015-07-22 00:46:24 +02:00
|
|
|
$timestampdiv.siblings('a.edit-timestamp').show().focus();
|
2012-08-23 02:04:18 +02:00
|
|
|
}
|
2014-01-26 04:07:16 +01:00
|
|
|
event.preventDefault();
|
2012-08-23 02:04:18 +02:00
|
|
|
});
|
|
|
|
|
2014-01-26 04:07:16 +01:00
|
|
|
$('#post').on( 'submit', function( event ) {
|
2012-11-07 22:31:08 +01:00
|
|
|
if ( ! updateText() ) {
|
2014-01-26 04:07:16 +01:00
|
|
|
event.preventDefault();
|
|
|
|
$timestampdiv.show();
|
|
|
|
|
2014-01-27 01:28:13 +01:00
|
|
|
if ( wp.autosave ) {
|
2014-01-26 04:07:16 +01:00
|
|
|
wp.autosave.enableButtons();
|
|
|
|
}
|
|
|
|
|
2015-04-03 06:52:27 +02:00
|
|
|
$( '#publishing-action .spinner' ).removeClass( 'is-active' );
|
2012-11-07 22:31:08 +01:00
|
|
|
}
|
|
|
|
});
|
|
|
|
|
2014-01-26 04:07:16 +01:00
|
|
|
$postStatusSelect.siblings('a.edit-post-status').click( function( event ) {
|
|
|
|
if ( $postStatusSelect.is( ':hidden' ) ) {
|
2015-07-22 00:46:24 +02:00
|
|
|
$postStatusSelect.slideDown( 'fast', function() {
|
|
|
|
$postStatusSelect.find('select').focus();
|
|
|
|
} );
|
2012-08-23 02:04:18 +02:00
|
|
|
$(this).hide();
|
|
|
|
}
|
2014-01-26 04:07:16 +01:00
|
|
|
event.preventDefault();
|
2012-08-23 02:04:18 +02:00
|
|
|
});
|
|
|
|
|
2014-01-26 04:07:16 +01:00
|
|
|
$postStatusSelect.find('.save-post-status').click( function( event ) {
|
2015-07-22 00:46:24 +02:00
|
|
|
$postStatusSelect.slideUp( 'fast' ).siblings( 'a.edit-post-status' ).show().focus();
|
2012-08-23 02:04:18 +02:00
|
|
|
updateText();
|
2014-01-26 04:07:16 +01:00
|
|
|
event.preventDefault();
|
2012-08-23 02:04:18 +02:00
|
|
|
});
|
|
|
|
|
2014-01-26 04:07:16 +01:00
|
|
|
$postStatusSelect.find('.cancel-post-status').click( function( event ) {
|
2015-07-22 00:46:24 +02:00
|
|
|
$postStatusSelect.slideUp( 'fast' ).siblings( 'a.edit-post-status' ).show().focus();
|
2014-01-26 04:07:16 +01:00
|
|
|
$('#post_status').val( $('#hidden_post_status').val() );
|
2012-08-23 02:04:18 +02:00
|
|
|
updateText();
|
2014-01-26 04:07:16 +01:00
|
|
|
event.preventDefault();
|
2012-08-23 02:04:18 +02:00
|
|
|
});
|
|
|
|
} // end submitdiv
|
|
|
|
|
2012-11-19 02:28:32 +01:00
|
|
|
// permalink
|
2014-01-27 01:28:13 +01:00
|
|
|
function editPermalink() {
|
|
|
|
var i, slug_value,
|
2015-10-10 17:50:24 +02:00
|
|
|
$el, revert_e,
|
2014-01-27 01:28:13 +01:00
|
|
|
c = 0,
|
|
|
|
real_slug = $('#post_name'),
|
|
|
|
revert_slug = real_slug.val(),
|
Edit: Remove the redundant "View Post" button-link and link the sample permalink.
Previously there were two persistent "View Post" links on an edit screen: next to the permalink and in the toolbar. This would then become three links after a post was published or updated, as a link is also included in the admin notice. This is a lot of redundancy and visual noise for a flow that is not your primary action upon starting to edit a post. The "View Post" link next to the sample permalink was particularly bad because it is styled like a button, but unlike a button, does not keep you on the current screen.
Because the permalink is now linked, there is no highlighted slug that you can click to edit, but rather just the "Edit" button.
props scribu, lessbloat, sabreuse, SergeyBiryukov, DrewAPicture, helen.
see #18306.
Built from https://develop.svn.wordpress.org/trunk@34670
git-svn-id: http://core.svn.wordpress.org/trunk@34634 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-28 22:10:26 +02:00
|
|
|
permalink = $( '#sample-permalink' ),
|
|
|
|
permalinkOrig = permalink.html(),
|
|
|
|
permalinkInner = $( '#sample-permalink a' ).html(),
|
|
|
|
buttons = $('#edit-slug-buttons'),
|
|
|
|
buttonsOrig = buttons.html(),
|
2015-03-11 23:55:28 +01:00
|
|
|
full = $('#editable-post-name-full');
|
|
|
|
|
|
|
|
// Deal with Twemoji in the post-name
|
|
|
|
full.find( 'img' ).replaceWith( function() { return this.alt; } );
|
|
|
|
full = full.html();
|
2014-01-27 01:28:13 +01:00
|
|
|
|
Edit: Remove the redundant "View Post" button-link and link the sample permalink.
Previously there were two persistent "View Post" links on an edit screen: next to the permalink and in the toolbar. This would then become three links after a post was published or updated, as a link is also included in the admin notice. This is a lot of redundancy and visual noise for a flow that is not your primary action upon starting to edit a post. The "View Post" link next to the sample permalink was particularly bad because it is styled like a button, but unlike a button, does not keep you on the current screen.
Because the permalink is now linked, there is no highlighted slug that you can click to edit, but rather just the "Edit" button.
props scribu, lessbloat, sabreuse, SergeyBiryukov, DrewAPicture, helen.
see #18306.
Built from https://develop.svn.wordpress.org/trunk@34670
git-svn-id: http://core.svn.wordpress.org/trunk@34634 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-28 22:10:26 +02:00
|
|
|
permalink.html( permalinkInner );
|
2015-10-10 17:50:24 +02:00
|
|
|
$el = $( '#editable-post-name' );
|
|
|
|
revert_e = $el.html();
|
Edit: Remove the redundant "View Post" button-link and link the sample permalink.
Previously there were two persistent "View Post" links on an edit screen: next to the permalink and in the toolbar. This would then become three links after a post was published or updated, as a link is also included in the admin notice. This is a lot of redundancy and visual noise for a flow that is not your primary action upon starting to edit a post. The "View Post" link next to the sample permalink was particularly bad because it is styled like a button, but unlike a button, does not keep you on the current screen.
Because the permalink is now linked, there is no highlighted slug that you can click to edit, but rather just the "Edit" button.
props scribu, lessbloat, sabreuse, SergeyBiryukov, DrewAPicture, helen.
see #18306.
Built from https://develop.svn.wordpress.org/trunk@34670
git-svn-id: http://core.svn.wordpress.org/trunk@34634 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-28 22:10:26 +02:00
|
|
|
|
2015-10-17 01:02:25 +02:00
|
|
|
buttons.html( '<button type="button" class="save button button-small">' + postL10n.ok + '</button> <button type="button" class="cancel button-link">' + postL10n.cancel + '</button>' );
|
|
|
|
buttons.children( '.save' ).click( function() {
|
2015-10-10 17:50:24 +02:00
|
|
|
var new_slug = $el.children( 'input' ).val();
|
2015-10-17 01:02:25 +02:00
|
|
|
|
2014-01-27 01:28:13 +01:00
|
|
|
if ( new_slug == $('#editable-post-name-full').text() ) {
|
Edit: Remove the redundant "View Post" button-link and link the sample permalink.
Previously there were two persistent "View Post" links on an edit screen: next to the permalink and in the toolbar. This would then become three links after a post was published or updated, as a link is also included in the admin notice. This is a lot of redundancy and visual noise for a flow that is not your primary action upon starting to edit a post. The "View Post" link next to the sample permalink was particularly bad because it is styled like a button, but unlike a button, does not keep you on the current screen.
Because the permalink is now linked, there is no highlighted slug that you can click to edit, but rather just the "Edit" button.
props scribu, lessbloat, sabreuse, SergeyBiryukov, DrewAPicture, helen.
see #18306.
Built from https://develop.svn.wordpress.org/trunk@34670
git-svn-id: http://core.svn.wordpress.org/trunk@34634 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-28 22:10:26 +02:00
|
|
|
buttons.children('.cancel').click();
|
2015-10-09 03:27:27 +02:00
|
|
|
return;
|
2014-01-27 01:28:13 +01:00
|
|
|
}
|
|
|
|
$.post(ajaxurl, {
|
|
|
|
action: 'sample-permalink',
|
|
|
|
post_id: postId,
|
|
|
|
new_slug: new_slug,
|
|
|
|
new_title: $('#title').val(),
|
|
|
|
samplepermalinknonce: $('#samplepermalinknonce').val()
|
|
|
|
}, function(data) {
|
|
|
|
var box = $('#edit-slug-box');
|
|
|
|
box.html(data);
|
|
|
|
if (box.hasClass('hidden')) {
|
|
|
|
box.fadeIn('fast', function () {
|
|
|
|
box.removeClass('hidden');
|
|
|
|
});
|
2012-11-19 02:28:32 +01:00
|
|
|
}
|
2015-03-11 23:55:28 +01:00
|
|
|
|
Edit: Remove the redundant "View Post" button-link and link the sample permalink.
Previously there were two persistent "View Post" links on an edit screen: next to the permalink and in the toolbar. This would then become three links after a post was published or updated, as a link is also included in the admin notice. This is a lot of redundancy and visual noise for a flow that is not your primary action upon starting to edit a post. The "View Post" link next to the sample permalink was particularly bad because it is styled like a button, but unlike a button, does not keep you on the current screen.
Because the permalink is now linked, there is no highlighted slug that you can click to edit, but rather just the "Edit" button.
props scribu, lessbloat, sabreuse, SergeyBiryukov, DrewAPicture, helen.
see #18306.
Built from https://develop.svn.wordpress.org/trunk@34670
git-svn-id: http://core.svn.wordpress.org/trunk@34634 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-28 22:10:26 +02:00
|
|
|
buttons.html(buttonsOrig);
|
|
|
|
permalink.html(permalinkOrig);
|
2014-01-27 01:28:13 +01:00
|
|
|
real_slug.val(new_slug);
|
Edit: Remove the redundant "View Post" button-link and link the sample permalink.
Previously there were two persistent "View Post" links on an edit screen: next to the permalink and in the toolbar. This would then become three links after a post was published or updated, as a link is also included in the admin notice. This is a lot of redundancy and visual noise for a flow that is not your primary action upon starting to edit a post. The "View Post" link next to the sample permalink was particularly bad because it is styled like a button, but unlike a button, does not keep you on the current screen.
Because the permalink is now linked, there is no highlighted slug that you can click to edit, but rather just the "Edit" button.
props scribu, lessbloat, sabreuse, SergeyBiryukov, DrewAPicture, helen.
see #18306.
Built from https://develop.svn.wordpress.org/trunk@34670
git-svn-id: http://core.svn.wordpress.org/trunk@34634 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-28 22:10:26 +02:00
|
|
|
$( '.edit-slug' ).focus();
|
2015-10-17 01:02:25 +02:00
|
|
|
wp.a11y.speak( postL10n.permalinkSaved );
|
2012-11-19 02:28:32 +01:00
|
|
|
});
|
2014-01-27 01:28:13 +01:00
|
|
|
});
|
2012-11-19 02:28:32 +01:00
|
|
|
|
2015-10-17 01:02:25 +02:00
|
|
|
buttons.children( '.cancel' ).click( function() {
|
2014-01-27 01:28:13 +01:00
|
|
|
$('#view-post-btn').show();
|
2015-10-10 17:50:24 +02:00
|
|
|
$el.html(revert_e);
|
Edit: Remove the redundant "View Post" button-link and link the sample permalink.
Previously there were two persistent "View Post" links on an edit screen: next to the permalink and in the toolbar. This would then become three links after a post was published or updated, as a link is also included in the admin notice. This is a lot of redundancy and visual noise for a flow that is not your primary action upon starting to edit a post. The "View Post" link next to the sample permalink was particularly bad because it is styled like a button, but unlike a button, does not keep you on the current screen.
Because the permalink is now linked, there is no highlighted slug that you can click to edit, but rather just the "Edit" button.
props scribu, lessbloat, sabreuse, SergeyBiryukov, DrewAPicture, helen.
see #18306.
Built from https://develop.svn.wordpress.org/trunk@34670
git-svn-id: http://core.svn.wordpress.org/trunk@34634 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-28 22:10:26 +02:00
|
|
|
buttons.html(buttonsOrig);
|
|
|
|
permalink.html(permalinkOrig);
|
2014-01-27 01:28:13 +01:00
|
|
|
real_slug.val(revert_slug);
|
Edit: Remove the redundant "View Post" button-link and link the sample permalink.
Previously there were two persistent "View Post" links on an edit screen: next to the permalink and in the toolbar. This would then become three links after a post was published or updated, as a link is also included in the admin notice. This is a lot of redundancy and visual noise for a flow that is not your primary action upon starting to edit a post. The "View Post" link next to the sample permalink was particularly bad because it is styled like a button, but unlike a button, does not keep you on the current screen.
Because the permalink is now linked, there is no highlighted slug that you can click to edit, but rather just the "Edit" button.
props scribu, lessbloat, sabreuse, SergeyBiryukov, DrewAPicture, helen.
see #18306.
Built from https://develop.svn.wordpress.org/trunk@34670
git-svn-id: http://core.svn.wordpress.org/trunk@34634 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-28 22:10:26 +02:00
|
|
|
$( '.edit-slug' ).focus();
|
2014-01-27 01:28:13 +01:00
|
|
|
});
|
2012-11-19 02:28:32 +01:00
|
|
|
|
2014-01-27 01:28:13 +01:00
|
|
|
for ( i = 0; i < full.length; ++i ) {
|
|
|
|
if ( '%' == full.charAt(i) )
|
|
|
|
c++;
|
|
|
|
}
|
2012-11-19 02:28:32 +01:00
|
|
|
|
2014-01-27 01:28:13 +01:00
|
|
|
slug_value = ( c > full.length / 4 ) ? '' : full;
|
2015-10-17 01:02:25 +02:00
|
|
|
$el.html( '<input type="text" id="new-post-slug" value="' + slug_value + '" autocomplete="off" />' ).children( 'input' ).keydown( function( e ) {
|
|
|
|
var key = e.which;
|
|
|
|
// On enter, just save the new slug, don't save the post.
|
|
|
|
if ( 13 === key ) {
|
|
|
|
e.preventDefault();
|
|
|
|
buttons.children( '.save' ).click();
|
2014-01-27 01:28:13 +01:00
|
|
|
}
|
2015-10-17 01:02:25 +02:00
|
|
|
if ( 27 === key ) {
|
|
|
|
buttons.children( '.cancel' ).click();
|
2014-01-27 01:28:13 +01:00
|
|
|
}
|
|
|
|
} ).keyup( function() {
|
2015-10-17 01:02:25 +02:00
|
|
|
real_slug.val( this.value );
|
2014-01-27 01:28:13 +01:00
|
|
|
}).focus();
|
|
|
|
}
|
|
|
|
|
2015-10-17 01:02:25 +02:00
|
|
|
$( '#titlediv' ).on( 'click', '.edit-slug', function() {
|
Edit: Remove the redundant "View Post" button-link and link the sample permalink.
Previously there were two persistent "View Post" links on an edit screen: next to the permalink and in the toolbar. This would then become three links after a post was published or updated, as a link is also included in the admin notice. This is a lot of redundancy and visual noise for a flow that is not your primary action upon starting to edit a post. The "View Post" link next to the sample permalink was particularly bad because it is styled like a button, but unlike a button, does not keep you on the current screen.
Because the permalink is now linked, there is no highlighted slug that you can click to edit, but rather just the "Edit" button.
props scribu, lessbloat, sabreuse, SergeyBiryukov, DrewAPicture, helen.
see #18306.
Built from https://develop.svn.wordpress.org/trunk@34670
git-svn-id: http://core.svn.wordpress.org/trunk@34634 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-28 22:10:26 +02:00
|
|
|
editPermalink();
|
|
|
|
});
|
2012-11-19 02:28:32 +01:00
|
|
|
|
2012-08-23 02:04:18 +02:00
|
|
|
wptitlehint = function(id) {
|
|
|
|
id = id || 'title';
|
|
|
|
|
|
|
|
var title = $('#' + id), titleprompt = $('#' + id + '-prompt-text');
|
|
|
|
|
2013-11-15 06:35:10 +01:00
|
|
|
if ( '' === title.val() )
|
2012-08-23 02:04:18 +02:00
|
|
|
titleprompt.removeClass('screen-reader-text');
|
|
|
|
|
|
|
|
titleprompt.click(function(){
|
|
|
|
$(this).addClass('screen-reader-text');
|
|
|
|
title.focus();
|
|
|
|
});
|
|
|
|
|
|
|
|
title.blur(function(){
|
2013-11-15 06:35:10 +01:00
|
|
|
if ( '' === this.value )
|
2012-08-23 02:04:18 +02:00
|
|
|
titleprompt.removeClass('screen-reader-text');
|
|
|
|
}).focus(function(){
|
|
|
|
titleprompt.addClass('screen-reader-text');
|
|
|
|
}).keydown(function(e){
|
|
|
|
titleprompt.addClass('screen-reader-text');
|
|
|
|
$(this).unbind(e);
|
|
|
|
});
|
2013-11-15 06:35:10 +01:00
|
|
|
};
|
2012-08-23 02:04:18 +02:00
|
|
|
|
|
|
|
wptitlehint();
|
2012-09-26 05:30:21 +02:00
|
|
|
|
TinyMCE 4.0.12, first run.
- Removes wp-tinymce-schema.js and mark-loaded.js, no longer needed.
- Removes the inlinepopups and most of the wpdialogs plugins; wpdialog.js is moved to wp-includes/js.
- Adds charmap, compat3x, image, link and textcolor plugins, previously contained in /themes/advanced.
- Updates the wordpress, wpeditimage, wpfullscreen, wpgallery and wplink plugins.
- Updates DFW, wp-admin/js/wp-fullscreen.js.
See #24067.
Built from https://develop.svn.wordpress.org/trunk@26876
git-svn-id: http://core.svn.wordpress.org/trunk@26759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-29 00:53:15 +01:00
|
|
|
// Resize the visual and text editors
|
|
|
|
( function() {
|
|
|
|
var editor, offset, mce,
|
2014-07-10 00:06:15 +02:00
|
|
|
$handle = $('#post-status-info'),
|
2014-08-01 04:43:17 +02:00
|
|
|
$postdivrich = $('#postdivrich');
|
2014-01-27 01:28:13 +01:00
|
|
|
|
2012-11-16 01:34:07 +01:00
|
|
|
// No point for touch devices
|
TinyMCE 4.0.12, first run.
- Removes wp-tinymce-schema.js and mark-loaded.js, no longer needed.
- Removes the inlinepopups and most of the wpdialogs plugins; wpdialog.js is moved to wp-includes/js.
- Adds charmap, compat3x, image, link and textcolor plugins, previously contained in /themes/advanced.
- Updates the wordpress, wpeditimage, wpfullscreen, wpgallery and wplink plugins.
- Updates DFW, wp-admin/js/wp-fullscreen.js.
See #24067.
Built from https://develop.svn.wordpress.org/trunk@26876
git-svn-id: http://core.svn.wordpress.org/trunk@26759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-29 00:53:15 +01:00
|
|
|
if ( ! $textarea.length || 'ontouchstart' in window ) {
|
2014-07-12 02:54:14 +02:00
|
|
|
// Hide the resize handle
|
|
|
|
$('#content-resize-handle').hide();
|
2012-11-16 01:34:07 +01:00
|
|
|
return;
|
TinyMCE 4.0.12, first run.
- Removes wp-tinymce-schema.js and mark-loaded.js, no longer needed.
- Removes the inlinepopups and most of the wpdialogs plugins; wpdialog.js is moved to wp-includes/js.
- Adds charmap, compat3x, image, link and textcolor plugins, previously contained in /themes/advanced.
- Updates the wordpress, wpeditimage, wpfullscreen, wpgallery and wplink plugins.
- Updates DFW, wp-admin/js/wp-fullscreen.js.
See #24067.
Built from https://develop.svn.wordpress.org/trunk@26876
git-svn-id: http://core.svn.wordpress.org/trunk@26759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-29 00:53:15 +01:00
|
|
|
}
|
2012-09-26 05:30:21 +02:00
|
|
|
|
TinyMCE 4.0.12, first run.
- Removes wp-tinymce-schema.js and mark-loaded.js, no longer needed.
- Removes the inlinepopups and most of the wpdialogs plugins; wpdialog.js is moved to wp-includes/js.
- Adds charmap, compat3x, image, link and textcolor plugins, previously contained in /themes/advanced.
- Updates the wordpress, wpeditimage, wpfullscreen, wpgallery and wplink plugins.
- Updates DFW, wp-admin/js/wp-fullscreen.js.
See #24067.
Built from https://develop.svn.wordpress.org/trunk@26876
git-svn-id: http://core.svn.wordpress.org/trunk@26759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-29 00:53:15 +01:00
|
|
|
function dragging( event ) {
|
2014-08-01 04:43:17 +02:00
|
|
|
if ( $postdivrich.hasClass( 'wp-editor-expand' ) ) {
|
2014-07-10 00:06:15 +02:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
TinyMCE 4.0.12, first run.
- Removes wp-tinymce-schema.js and mark-loaded.js, no longer needed.
- Removes the inlinepopups and most of the wpdialogs plugins; wpdialog.js is moved to wp-includes/js.
- Adds charmap, compat3x, image, link and textcolor plugins, previously contained in /themes/advanced.
- Updates the wordpress, wpeditimage, wpfullscreen, wpgallery and wplink plugins.
- Updates DFW, wp-admin/js/wp-fullscreen.js.
See #24067.
Built from https://develop.svn.wordpress.org/trunk@26876
git-svn-id: http://core.svn.wordpress.org/trunk@26759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-29 00:53:15 +01:00
|
|
|
if ( mce ) {
|
|
|
|
editor.theme.resizeTo( null, offset + event.pageY );
|
|
|
|
} else {
|
|
|
|
$textarea.height( Math.max( 50, offset + event.pageY ) );
|
|
|
|
}
|
|
|
|
|
|
|
|
event.preventDefault();
|
2012-09-26 05:30:21 +02:00
|
|
|
}
|
|
|
|
|
2013-11-15 06:35:10 +01:00
|
|
|
function endDrag() {
|
TinyMCE 4.0.12, first run.
- Removes wp-tinymce-schema.js and mark-loaded.js, no longer needed.
- Removes the inlinepopups and most of the wpdialogs plugins; wpdialog.js is moved to wp-includes/js.
- Adds charmap, compat3x, image, link and textcolor plugins, previously contained in /themes/advanced.
- Updates the wordpress, wpeditimage, wpfullscreen, wpgallery and wplink plugins.
- Updates DFW, wp-admin/js/wp-fullscreen.js.
See #24067.
Built from https://develop.svn.wordpress.org/trunk@26876
git-svn-id: http://core.svn.wordpress.org/trunk@26759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-29 00:53:15 +01:00
|
|
|
var height, toolbarHeight;
|
2012-09-26 05:30:21 +02:00
|
|
|
|
2014-08-01 04:43:17 +02:00
|
|
|
if ( $postdivrich.hasClass( 'wp-editor-expand' ) ) {
|
2014-07-10 00:06:15 +02:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
TinyMCE 4.0.12, first run.
- Removes wp-tinymce-schema.js and mark-loaded.js, no longer needed.
- Removes the inlinepopups and most of the wpdialogs plugins; wpdialog.js is moved to wp-includes/js.
- Adds charmap, compat3x, image, link and textcolor plugins, previously contained in /themes/advanced.
- Updates the wordpress, wpeditimage, wpfullscreen, wpgallery and wplink plugins.
- Updates DFW, wp-admin/js/wp-fullscreen.js.
See #24067.
Built from https://develop.svn.wordpress.org/trunk@26876
git-svn-id: http://core.svn.wordpress.org/trunk@26759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-29 00:53:15 +01:00
|
|
|
if ( mce ) {
|
|
|
|
editor.focus();
|
2014-04-24 06:11:15 +02:00
|
|
|
toolbarHeight = parseInt( $( '#wp-content-editor-container .mce-toolbar-grp' ).height(), 10 );
|
2014-04-04 03:31:15 +02:00
|
|
|
|
|
|
|
if ( toolbarHeight < 10 || toolbarHeight > 200 ) {
|
|
|
|
toolbarHeight = 30;
|
|
|
|
}
|
|
|
|
|
TinyMCE 4.0.12, first run.
- Removes wp-tinymce-schema.js and mark-loaded.js, no longer needed.
- Removes the inlinepopups and most of the wpdialogs plugins; wpdialog.js is moved to wp-includes/js.
- Adds charmap, compat3x, image, link and textcolor plugins, previously contained in /themes/advanced.
- Updates the wordpress, wpeditimage, wpfullscreen, wpgallery and wplink plugins.
- Updates DFW, wp-admin/js/wp-fullscreen.js.
See #24067.
Built from https://develop.svn.wordpress.org/trunk@26876
git-svn-id: http://core.svn.wordpress.org/trunk@26759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-29 00:53:15 +01:00
|
|
|
height = parseInt( $('#content_ifr').css('height'), 10 ) + toolbarHeight - 28;
|
|
|
|
} else {
|
|
|
|
$textarea.focus();
|
|
|
|
height = parseInt( $textarea.css('height'), 10 );
|
|
|
|
}
|
2012-09-26 05:30:21 +02:00
|
|
|
|
2014-04-04 03:31:15 +02:00
|
|
|
$document.off( '.wp-editor-resize' );
|
2013-01-16 20:10:38 +01:00
|
|
|
|
2012-12-04 07:01:47 +01:00
|
|
|
// sanity check
|
TinyMCE 4.0.12, first run.
- Removes wp-tinymce-schema.js and mark-loaded.js, no longer needed.
- Removes the inlinepopups and most of the wpdialogs plugins; wpdialog.js is moved to wp-includes/js.
- Adds charmap, compat3x, image, link and textcolor plugins, previously contained in /themes/advanced.
- Updates the wordpress, wpeditimage, wpfullscreen, wpgallery and wplink plugins.
- Updates DFW, wp-admin/js/wp-fullscreen.js.
See #24067.
Built from https://develop.svn.wordpress.org/trunk@26876
git-svn-id: http://core.svn.wordpress.org/trunk@26759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-29 00:53:15 +01:00
|
|
|
if ( height && height > 50 && height < 5000 ) {
|
2012-09-26 05:30:21 +02:00
|
|
|
setUserSetting( 'ed_size', height );
|
TinyMCE 4.0.12, first run.
- Removes wp-tinymce-schema.js and mark-loaded.js, no longer needed.
- Removes the inlinepopups and most of the wpdialogs plugins; wpdialog.js is moved to wp-includes/js.
- Adds charmap, compat3x, image, link and textcolor plugins, previously contained in /themes/advanced.
- Updates the wordpress, wpeditimage, wpfullscreen, wpgallery and wplink plugins.
- Updates DFW, wp-admin/js/wp-fullscreen.js.
See #24067.
Built from https://develop.svn.wordpress.org/trunk@26876
git-svn-id: http://core.svn.wordpress.org/trunk@26759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-29 00:53:15 +01:00
|
|
|
}
|
2012-09-26 05:30:21 +02:00
|
|
|
}
|
|
|
|
|
TinyMCE 4.0.12, first run.
- Removes wp-tinymce-schema.js and mark-loaded.js, no longer needed.
- Removes the inlinepopups and most of the wpdialogs plugins; wpdialog.js is moved to wp-includes/js.
- Adds charmap, compat3x, image, link and textcolor plugins, previously contained in /themes/advanced.
- Updates the wordpress, wpeditimage, wpfullscreen, wpgallery and wplink plugins.
- Updates DFW, wp-admin/js/wp-fullscreen.js.
See #24067.
Built from https://develop.svn.wordpress.org/trunk@26876
git-svn-id: http://core.svn.wordpress.org/trunk@26759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-29 00:53:15 +01:00
|
|
|
$handle.on( 'mousedown.wp-editor-resize', function( event ) {
|
|
|
|
if ( typeof tinymce !== 'undefined' ) {
|
|
|
|
editor = tinymce.get('content');
|
2013-01-16 20:10:38 +01:00
|
|
|
}
|
|
|
|
|
TinyMCE 4.0.12, first run.
- Removes wp-tinymce-schema.js and mark-loaded.js, no longer needed.
- Removes the inlinepopups and most of the wpdialogs plugins; wpdialog.js is moved to wp-includes/js.
- Adds charmap, compat3x, image, link and textcolor plugins, previously contained in /themes/advanced.
- Updates the wordpress, wpeditimage, wpfullscreen, wpgallery and wplink plugins.
- Updates DFW, wp-admin/js/wp-fullscreen.js.
See #24067.
Built from https://develop.svn.wordpress.org/trunk@26876
git-svn-id: http://core.svn.wordpress.org/trunk@26759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-29 00:53:15 +01:00
|
|
|
if ( editor && ! editor.isHidden() ) {
|
|
|
|
mce = true;
|
|
|
|
offset = $('#content_ifr').height() - event.pageY;
|
|
|
|
} else {
|
|
|
|
mce = false;
|
|
|
|
offset = $textarea.height() - event.pageY;
|
|
|
|
$textarea.blur();
|
|
|
|
}
|
2012-09-26 05:30:21 +02:00
|
|
|
|
TinyMCE 4.0.12, first run.
- Removes wp-tinymce-schema.js and mark-loaded.js, no longer needed.
- Removes the inlinepopups and most of the wpdialogs plugins; wpdialog.js is moved to wp-includes/js.
- Adds charmap, compat3x, image, link and textcolor plugins, previously contained in /themes/advanced.
- Updates the wordpress, wpeditimage, wpfullscreen, wpgallery and wplink plugins.
- Updates DFW, wp-admin/js/wp-fullscreen.js.
See #24067.
Built from https://develop.svn.wordpress.org/trunk@26876
git-svn-id: http://core.svn.wordpress.org/trunk@26759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-29 00:53:15 +01:00
|
|
|
$document.on( 'mousemove.wp-editor-resize', dragging )
|
2014-04-04 03:31:15 +02:00
|
|
|
.on( 'mouseup.wp-editor-resize mouseleave.wp-editor-resize', endDrag );
|
2013-01-16 20:10:38 +01:00
|
|
|
|
TinyMCE 4.0.12, first run.
- Removes wp-tinymce-schema.js and mark-loaded.js, no longer needed.
- Removes the inlinepopups and most of the wpdialogs plugins; wpdialog.js is moved to wp-includes/js.
- Adds charmap, compat3x, image, link and textcolor plugins, previously contained in /themes/advanced.
- Updates the wordpress, wpeditimage, wpfullscreen, wpgallery and wplink plugins.
- Updates DFW, wp-admin/js/wp-fullscreen.js.
See #24067.
Built from https://develop.svn.wordpress.org/trunk@26876
git-svn-id: http://core.svn.wordpress.org/trunk@26759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-29 00:53:15 +01:00
|
|
|
event.preventDefault();
|
2014-04-04 03:31:15 +02:00
|
|
|
}).on( 'mouseup.wp-editor-resize', endDrag );
|
TinyMCE 4.0.12, first run.
- Removes wp-tinymce-schema.js and mark-loaded.js, no longer needed.
- Removes the inlinepopups and most of the wpdialogs plugins; wpdialog.js is moved to wp-includes/js.
- Adds charmap, compat3x, image, link and textcolor plugins, previously contained in /themes/advanced.
- Updates the wordpress, wpeditimage, wpfullscreen, wpgallery and wplink plugins.
- Updates DFW, wp-admin/js/wp-fullscreen.js.
See #24067.
Built from https://develop.svn.wordpress.org/trunk@26876
git-svn-id: http://core.svn.wordpress.org/trunk@26759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-29 00:53:15 +01:00
|
|
|
})();
|
2013-06-06 16:39:08 +02:00
|
|
|
|
TinyMCE 4.0.12, first run.
- Removes wp-tinymce-schema.js and mark-loaded.js, no longer needed.
- Removes the inlinepopups and most of the wpdialogs plugins; wpdialog.js is moved to wp-includes/js.
- Adds charmap, compat3x, image, link and textcolor plugins, previously contained in /themes/advanced.
- Updates the wordpress, wpeditimage, wpfullscreen, wpgallery and wplink plugins.
- Updates DFW, wp-admin/js/wp-fullscreen.js.
See #24067.
Built from https://develop.svn.wordpress.org/trunk@26876
git-svn-id: http://core.svn.wordpress.org/trunk@26759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-29 00:53:15 +01:00
|
|
|
if ( typeof tinymce !== 'undefined' ) {
|
2013-06-06 16:39:08 +02:00
|
|
|
// When changing post formats, change the editor body class
|
2013-11-15 06:35:10 +01:00
|
|
|
$( '#post-formats-select input.post-format' ).on( 'change.set-editor-class', function() {
|
2013-06-06 16:39:08 +02:00
|
|
|
var editor, body, format = this.id;
|
|
|
|
|
2014-07-10 00:06:15 +02:00
|
|
|
if ( format && $( this ).prop( 'checked' ) && ( editor = tinymce.get( 'content' ) ) ) {
|
|
|
|
body = editor.getBody();
|
|
|
|
body.className = body.className.replace( /\bpost-format-[^ ]+/, '' );
|
|
|
|
editor.dom.addClass( body, format == 'post-format-0' ? 'post-format-standard' : format );
|
|
|
|
$( document ).trigger( 'editor-classchange' );
|
2013-06-06 16:39:08 +02:00
|
|
|
}
|
|
|
|
});
|
2012-09-26 21:35:36 +02:00
|
|
|
}
|
2015-06-01 21:02:25 +02:00
|
|
|
|
|
|
|
// Save on pressing Ctrl/Command + S in the Text editor
|
|
|
|
$textarea.on( 'keydown.wp-autosave', function( event ) {
|
|
|
|
if ( event.which === 83 ) {
|
|
|
|
if ( event.shiftKey || event.altKey || ( isMac && ( ! event.metaKey || event.ctrlKey ) ) || ( ! isMac && ! event.ctrlKey ) ) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
wp.autosave && wp.autosave.server.triggerSave();
|
|
|
|
event.preventDefault();
|
|
|
|
}
|
|
|
|
});
|
2015-09-01 01:08:22 +02:00
|
|
|
|
|
|
|
if ( $( '#original_post_status' ).val() === 'auto-draft' && window.history.replaceState ) {
|
|
|
|
var location;
|
|
|
|
|
|
|
|
$( '#publish' ).on( 'click', function() {
|
|
|
|
location = window.location.href;
|
|
|
|
location += ( location.indexOf( '?' ) !== -1 ) ? '&' : '?';
|
|
|
|
location += 'wp-post-new-reload=true';
|
|
|
|
|
|
|
|
window.history.replaceState( null, null, location );
|
|
|
|
});
|
|
|
|
}
|
2012-08-23 02:04:18 +02:00
|
|
|
});
|
2015-06-19 12:35:26 +02:00
|
|
|
|
|
|
|
( function( $, counter ) {
|
|
|
|
$( function() {
|
|
|
|
var $content = $( '#content' ),
|
|
|
|
$count = $( '#wp-word-count' ).find( '.word-count' ),
|
|
|
|
prevCount = 0,
|
|
|
|
contentEditor;
|
|
|
|
|
|
|
|
function update() {
|
|
|
|
var text, count;
|
|
|
|
|
|
|
|
if ( ! contentEditor || contentEditor.isHidden() ) {
|
|
|
|
text = $content.val();
|
|
|
|
} else {
|
|
|
|
text = contentEditor.getContent( { format: 'raw' } );
|
|
|
|
}
|
|
|
|
|
|
|
|
count = counter.count( text );
|
|
|
|
|
|
|
|
if ( count !== prevCount ) {
|
|
|
|
$count.text( count );
|
|
|
|
}
|
|
|
|
|
|
|
|
prevCount = count;
|
|
|
|
}
|
|
|
|
|
|
|
|
$( document ).on( 'tinymce-editor-init', function( event, editor ) {
|
|
|
|
if ( editor.id !== 'content' ) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
contentEditor = editor;
|
|
|
|
|
2015-07-03 11:15:24 +02:00
|
|
|
editor.on( 'nodechange keyup', _.debounce( update, 1000 ) );
|
2015-06-19 12:35:26 +02:00
|
|
|
} );
|
|
|
|
|
2015-07-03 11:15:24 +02:00
|
|
|
$content.on( 'input keyup', _.debounce( update, 1000 ) );
|
2015-06-19 12:35:26 +02:00
|
|
|
|
|
|
|
update();
|
|
|
|
} );
|
|
|
|
} )( jQuery, new wp.utils.WordCounter() );
|