WordPress/wp-admin/js/press-this.min.js
Andrew Ozz 71f48f45e0 Press This:
- When saving, replace emoji images with chars in the title text.
- Clean up the title text on paste.
See #31768.
Built from https://develop.svn.wordpress.org/trunk@31919


git-svn-id: http://core.svn.wordpress.org/trunk@31898 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-29 03:14:28 +00:00

1 line
8.4 KiB
JavaScript

!function(a,b){var c=function(){function c(a){return a&&b.pressThisL10n?b.pressThisL10n[a]||a:a||""}function d(a){return a=a||"",a.replace(/<!--[\s\S]*?(-->|$)/g,"").replace(/<(script|style)[^>]*>[\s\S]*?(<\/\1>|$)/gi,"").replace(/<\/?[a-z][\s\S]*?(>|$)/gi,"")}function e(a){var b=d(a);try{G.innerHTML=b,b=d(G.value)}catch(c){}return b}function f(b){return b=a.trim(b||""),/^(?:https?:)?\/\//.test(b)?(b=d(b),b.replace(/["\\]+/g,"")):""}function g(){a("#spinner").addClass("show"),a(".post-actions button").each(function(){a(this).attr("disabled","disabled")})}function h(){a("#spinner").removeClass("show"),a(".post-actions button").each(function(){a(this).removeAttr("disabled")})}function i(){var b=a("#title-container");return b.find("img.emoji").each(function(){var b=a(this);b.replaceWith(a("<span>").text(b.attr("alt")))}),e(b.text())}function j(){var c=a("#pressthis-form"),d=a('<input type="hidden" name="post_category[]" value="">');C&&C.save(),a("#post_title").val(i()),b.tagBox&&a("div.tagsdiv").each(function(){b.tagBox.flushTags(this,!1,1)}),a(".categories-select .category").each(function(b,e){var f=a(e);f.hasClass("selected")&&c.append(d.clone().val(f.attr("data-term-id")||""))})}function k(c){var d;F=!1,g(),"publish"===c&&a("#post_status").val("publish"),j(),d=a("#pressthis-form").serialize(),a.ajax({type:"post",url:b.ajaxurl,data:d,success:function(a){if(a.success){if(a.data.redirect)if(b.opener&&I.redirInParent){try{b.opener.location.href=a.data.redirect}catch(c){}b.self.close()}else b.location.href=a.data.redirect}else p(a.data.errorMessage),h()}})}function l(a){var b,c,d="";C&&(b=f(a.attr("data-wp-src")||""),c=f(J.u),a.hasClass("is-image")?(c||(c=b),d='<a href="'+c+'"><img class="alignnone size-full" src="'+b+'" /></a>'):d="[embed]"+b+"[/embed]",L?C.execCommand("mceInsertContent",!1,d):C.setContent("<p>"+d+"</p>"+C.getContent()))}function m(){var c,d=a("#new-category").val();d&&(c={action:"press-this-add-category",post_id:a("#post_ID").val()||0,name:d,new_cat_nonce:a("#_ajax_nonce-add-category").val()||"",parent:a("#new-category-parent").val()||0},a.post(b.ajaxurl,c,function(b){if(b.success){var c,d,e=a("ul.categories-select");a.each(b.data,function(b,f){var g=a("<li>").append(a('<div class="category selected" tabindex="0" role="checkbox" aria-checked="true">').attr("data-term-id",f.term_id).text(f.name));f.parent?(d&&d.length||(c=e.find('div[data-term-id="'+f.parent+'"]').parent(),d=c.find("ul.children:first"),d.length||(d=a('<ul class="children">').appendTo(c))),d.prepend(g)):e.prepend(g),g.focus()}),B()}else p(b.data.errorMessage)}))}function n(){J.hasData&&a("#scanbar").hide()}function o(b,c){var d=a(".editor-wrapper div.alerts"),e=c?"is-error":"is-notice";d.append(a('<p class="alert '+e+'">').text(b))}function p(a){o(a,!0)}function q(){J.errors&&a.each(J.errors,function(a,b){p(b)}),J.v&&I.version&&J.v+""!=I.version+""&&a(".should-upgrade-bookmarklet").removeClass("is-hidden")}function r(a,b,d){var e=E.clone().addClass("is-image");e.attr("data-wp-src",a).css("background-image","url("+b+")").find("span").text(c("suggestedImgAlt").replace("%d",d+1)),D.append(e)}function s(){var b=0;D=a("ul.media-list"),E=a('<li class="suggested-media-thumbnail" tabindex="0"><span class="screen-reader-text"></span></li>'),J._embeds&&a.each(J._embeds,function(a,d){var e="",g="",h=E.clone().addClass("is-embed");d=f(d),d.indexOf("youtube.com/")>-1?(e="https://i.ytimg.com/vi/"+d.replace(/.+v=([^&]+).*/,"$1")+"/hqdefault.jpg",g+=" is-video"):d.indexOf("youtu.be/")>-1?(e="https://i.ytimg.com/vi/"+d.replace(/\/([^\/])$/,"$1")+"/hqdefault.jpg",g+=" is-video"):d.indexOf("dailymotion.com")>-1?(e=d.replace("/video/","/thumbnail/video/"),g+=" is-video"):g+=d.indexOf("soundcloud.com")>-1?" is-audio":d.indexOf("twitter.com")>-1?" is-tweet":" is-video",h.attr("data-wp-src",d).find("span").text(c("suggestedEmbedAlt").replace("%d",a+1)),e&&h.css("background-image","url("+e+")"),D.append(h),b++}),J._images&&a.each(J._images,function(a,c){var d,e=new Image;c=f(c),d=c.replace(/^(http[^\?]+)(\?.*)?$/,"$1"),d=c.indexOf("files.wordpress.com/")>-1?d.replace(/\?.*$/,"")+"?w="+K:c.indexOf("gravatar.com/")>-1?d.replace(/\?.*$/,"")+"?s="+K:c,e.onload=function(){e.width&&e.width<256||e.height&&e.height<128||r(c,d,a)},e.src=c,b++}),b&&a(".media-list-container").addClass("has-media")}function t(){var b=a(".post-options"),c=a(".post-option"),d=a(".setting-modal"),e=a(".modal-close");c.on("click",function(){var c=a(this).index(),e=d.eq(c);b.addClass(N).one(Q,function(){a(this).addClass(O)}),e.removeClass(P).one(Q,function(){a(this).find(".modal-close").focus()})}),e.on("click",function(){var d=a(this).parent(),e=d.index();b.removeClass(P),d.addClass(N),Q?d.one(Q,function(){a(this).addClass(O),c.eq(e-1).focus()}):setTimeout(function(){d.addClass(O),c.eq(e-1).focus()},350)})}function u(){H=!0,a(".options-open, .press-this-actions, #scanbar").addClass(O),a(".options-close, .options-panel-back").removeClass(O),a(".options-panel").removeClass(P).one("transitionend",function(){a(".post-option:first").focus()})}function v(){H=!1,a(".options-close, .options-panel-back").addClass(O),a(".options-open, .press-this-actions, #scanbar").removeClass(O),a(".options-panel").addClass(N).one("transitionend",function(){a(this).addClass(O),a(".post-options").removeClass(P),a(".setting-modal").addClass(P)})}function w(){var b=a("#title-container"),c=a(".post-title-placeholder");b.on("focus",function(){c.addClass("is-hidden")}).on("blur",function(){b.text()||b.html()||c.removeClass("is-hidden")}).on("keyup",function(){F=!0}).on("paste",function(){F=!0,setTimeout(function(){b.text(i())},100)}),(b.text()||b.html())&&c.addClass("is-hidden")}function x(a){a.hasClass("selected")?a.removeClass("selected").attr("aria-checked","false"):a.addClass("selected").attr("aria-checked","true")}function y(){a(".categories-select").on("click.press-this keydown.press-this",function(b){var c=a(b.target);if(c.is("div.category")){if("keydown"===b.type&&32!==b.keyCode)return;x(c),b.preventDefault()}})}function z(){n(),s(),q(),b.tagBox&&b.tagBox.init()}function A(){return a(document).on("tinymce-editor-init",function(a,b){C=b,b.on("focus",function(){L=!0})}).on("click.press-this keypress.press-this",".suggested-media-thumbnail",function(b){("click"===b.type||13===b.keyCode)&&l(a(this))}),a(".post-actions").on("click.press-this",function(c){var d=a(c.target);d.hasClass("draft-button")?k("draft"):d.hasClass("publish-button")?k("publish"):d.hasClass("preview-button")&&(j(),b.opener&&b.opener.focus(),a("#wp-preview").val("dopreview"),a("#pressthis-form").attr("target","_blank").submit().attr("target",""),a("#wp-preview").val(""))}),t(),w(),y(),a(".options-open").on("click.press-this",u),a(".options-close").on("click.press-this",v),a(".options-panel, .options-panel-back").on("focusout.press-this",function(){setTimeout(function(){var b=document.activeElement,c=a(b);!H||!b||c.hasClass("options-panel-back")||"BODY"!==b.nodeName&&(c.closest(".options-panel").length||c.closest(".options-open").length)||v()},50)}),a("#post-formats-select input").on("change",function(){var b=a(this);b.is(":checked")&&a("#post-option-post-format").text(a('label[for="'+b.attr("id")+'"]').text()||"")}),a(b).on("beforeunload.press-this",function(){return F||C&&C.isDirty()?c("saveAlert"):void 0}),a("button.add-cat-toggle").on("click.press-this",function(){var b=a(this);b.toggleClass("is-toggled"),b.attr("aria-expanded","false"===b.attr("aria-expanded")?"true":"false"),a(".setting-modal .add-category, .categories-search-wrapper").toggleClass("is-hidden")}),a("button.add-cat-submit").on("click.press-this",m),a(".categories-search").on("keyup.press-this",function(){var b=a(this).val().toLowerCase()||"";/[\x20-\xFF]+/.test(b)&&b.length<2||(a.each(M,function(a,b){b.node.removeClass("is-hidden searched-parent")}),b&&a.each(M,function(a,c){-1===c.text.indexOf(b)?c.node.addClass("is-hidden"):c.parents.addClass("searched-parent")}))}),!0}function B(){a(".categories-select").find("li").each(function(){var b=a(this);M.push({node:b,parents:b.parents("li"),text:b.children(".category").text().toLowerCase()})})}var C,D,E,F=!1,G=document.createElement("textarea"),H=!1,I=b.wpPressThisConfig||{},J=b.wpPressThisData||{},K=128,L=!1,M=[],N="is-off-screen",O="is-hidden",P=N+" "+O,Q=function(){var a=document.documentElement.style;return"undefined"!=typeof a.transition?"transitionend":"undefined"!=typeof a.WebkitTransition?"webkitTransitionEnd":!1}();return a(document).ready(function(){z(),A(),B()}),{renderNotice:o,renderError:p}};b.wp=b.wp||{},b.wp.pressThis=new c}(jQuery,window);