1 |
commit: 662d15c1d2c5bb896985fd551a3649fcd280429e |
2 |
Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Jan 2 03:20:16 2019 +0000 |
4 |
Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Jan 2 03:20:16 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/blogs-gentoo.git/commit/?id=662d15c1 |
7 |
|
8 |
Update public-post-preview 2.8.0 |
9 |
|
10 |
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org> |
11 |
|
12 |
.../js/gutenberg-integration.js | 1 + |
13 |
.../js/public-post-preview.dev.js | 111 ------------- |
14 |
.../public-post-preview/js/public-post-preview.js | 2 +- |
15 |
.../js/public-post-preview.min.js | 2 +- |
16 |
.../js/src/components/preview-toggle/index.js | 171 +++++++++++++++++++++ |
17 |
plugins/public-post-preview/js/src/index.js | 6 + |
18 |
.../languages/public-post-preview.php | 19 +++ |
19 |
.../languages/public-post-preview.pot | 24 +++ |
20 |
.../public-post-preview/public-post-preview.php | 167 +++++++++++++------- |
21 |
plugins/public-post-preview/readme.txt | 17 +- |
22 |
10 files changed, 346 insertions(+), 174 deletions(-) |
23 |
|
24 |
diff --git a/plugins/public-post-preview/js/gutenberg-integration.js b/plugins/public-post-preview/js/gutenberg-integration.js |
25 |
new file mode 100644 |
26 |
index 0000000..6bf327c |
27 |
--- /dev/null |
28 |
+++ b/plugins/public-post-preview/js/gutenberg-integration.js |
29 |
@@ -0,0 +1 @@ |
30 |
+this.publicPostPreview=this.publicPostPreview||{},this.publicPostPreview.main=function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=22)}([ |
31 |
function(e,t){!function(){e.exports=this.wp.element}()},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t){!function(){e.exports=this.wp.i18n}()},function(e,t,r){"use strict";(function(e){r.d(t,"a",function(){return c});var n=r(17),i=void 0!==e?e:{},a=Object(n.a)(i),c=(a.flush,a.hydrate,a.cx,a.merge,a.getRegisteredStyles,a.injectGlobal,a.keyframes,a.css);a.sheet,a.caches}).call(this,r(21))},function(e,t){!function(){e.exports=this.wp.components}()},function(e,t){!function(){e.exports=this.wp.compose}()},function(e,t){!function(){e.exports=this.wp.editPost}()},function(e,t){!function(){e.exports=this.wp.plugins}()},function(e,t,r){var n=r(18);e.exports=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},i=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Ob |
32 |
ject.getOwnPropertyDescriptor(r,e).enumerable}))),i.forEach(function(t){n(e,t,r[t])})}return e}},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function r(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}},function(e,t,r){var n=r(19),i=r(1);e.exports=function(e,t){return!t||"object"!==n(t)&&"function"!=typeof t?i(e):t}},function(e,t){function r(t){return e.exports=r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},r(t)}e.exports=r},function(e,t,r){var n=r(20);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}} |
33 |
),t&&n(e,t)}},function(e,t){!function(){e.exports=this.lodash}()},function(e,t,r){e.exports=function(){"use strict";return function(e){function t(t){if(t)try{e(t+"}")}catch(e){}}return function(r,n,i,a,c,o,s,u,l,f){switch(r){case 1:if(0===l&&64===n.charCodeAt(0))return e(n+";"),"";break;case 2:if(0===u)return n+"/*|*/";break;case 3:switch(u){case 102:case 112:return e(i[0]+n),"";default:return n+(0===f?"/*|*/":"")}case-2:n.split("/*|*/}").forEach(t)}}}}()},function(e,t){!function(){e.exports=this.wp.data}()},function(e,t,r){"use strict";var n=function(e){var t={};return function(r){return void 0===t[r]&&(t[r]=e(r)),t[r]}},i={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,fontWeight:1,lineHeight: |
34 |
1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};var a=function(e){for(var t,r=e.length,n=r^r,i=0;r>=4;)t=1540483477*(65535&(t=255&e.charCodeAt(i)|(255&e.charCodeAt(++i))<<8|(255&e.charCodeAt(++i))<<16|(255&e.charCodeAt(++i))<<24))+((1540483477*(t>>>16)&65535)<<16),n=1540483477*(65535&n)+((1540483477*(n>>>16)&65535)<<16)^(t=1540483477*(65535&(t^=t>>>24))+((1540483477*(t>>>16)&65535)<<16)),r-=4,++i;switch(r){case 3:n^=(255&e.charCodeAt(i+2))<<16;case 2:n^=(255&e.charCodeAt(i+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(i)))+((1540483477*(n>>>16)&65535)<<16)}return n=1540483477*(65535&(n^=n>>>13))+((1540483477*(n>>>16)&65535)<<16),((n^=n>>>15)>>>0).toString(36)};var c=function(e){function t(e,t,n){var i=t.trim().split(d);t=i;var a=i.length,c=e.length;switch(c){case 0:case 1:var o=0;for(e=0===c?"":e[0]+" ";o<a;++o) |
35 |
t[o]=r(e,t[o],n).trim();break;default:var s=o=0;for(t=[];o<a;++o)for(var u=0;u<c;++u)t[s++]=r(e[u]+" ",i[o],n).trim()}return t}function r(e,t,r){var n=t.charCodeAt(0);switch(33>n&&(n=(t=t.trim()).charCodeAt(0)),n){case 38:return t.replace(b,"$1"+e.trim());case 58:return e.trim()+t.replace(b,"$1"+e.trim());default:if(0<1*r&&0<t.indexOf("\f"))return t.replace(b,(58===e.charCodeAt(0)?"":"$1")+e.trim())}return e+t}function n(e,t,r,a){var c=e+";",o=2*t+3*r+4*a;if(944===o){e=c.indexOf(":",9)+1;var s=c.substring(e,c.length-1).trim();return s=c.substring(0,e).trim()+s+";",1===_||2===_&&i(s,1)?"-webkit-"+s+s:s}if(0===_||2===_&&!i(c,1))return c;switch(o){case 1015:return 97===c.charCodeAt(10)?"-webkit-"+c+c:c;case 951:return 116===c.charCodeAt(3)?"-webkit-"+c+c:c;case 963:return 110===c.charCodeAt(5)?"-webkit-"+c+c:c;case 1009:if(100!==c.charCodeAt(4))break;case 969:case 942:return"-webkit-"+c+c;case 978:return"-webkit-"+c+"-moz-"+c+c;case 1019:case 983:return"-webkit-"+c+"-moz-"+c+"-ms-"+c+c |
36 |
;case 883:if(45===c.charCodeAt(8))return"-webkit-"+c+c;if(0<c.indexOf("image-set(",11))return c.replace(A,"$1-webkit-$2")+c;break;case 932:if(45===c.charCodeAt(4))switch(c.charCodeAt(5)){case 103:return"-webkit-box-"+c.replace("-grow","")+"-webkit-"+c+"-ms-"+c.replace("grow","positive")+c;case 115:return"-webkit-"+c+"-ms-"+c.replace("shrink","negative")+c;case 98:return"-webkit-"+c+"-ms-"+c.replace("basis","preferred-size")+c}return"-webkit-"+c+"-ms-"+c+c;case 964:return"-webkit-"+c+"-ms-flex-"+c+c;case 1023:if(99!==c.charCodeAt(8))break;return"-webkit-box-pack"+(s=c.substring(c.indexOf(":",15)).replace("flex-","").replace("space-between","justify"))+"-webkit-"+c+"-ms-flex-pack"+s+c;case 1005:return h.test(c)?c.replace(f,":-webkit-")+c.replace(f,":-moz-")+c:c;case 1e3:switch(t=(s=c.substring(13).trim()).indexOf("-")+1,s.charCodeAt(0)+s.charCodeAt(t)){case 226:s=c.replace(m,"tb");break;case 232:s=c.replace(m,"tb-rl");break;case 220:s=c.replace(m,"lr");break;default:return c}return"-w |
37 |
ebkit-"+c+"-ms-"+s+c;case 1017:if(-1===c.indexOf("sticky",9))break;case 975:switch(t=(c=e).length-10,o=(s=(33===c.charCodeAt(t)?c.substring(0,t):c).substring(e.indexOf(":",7)+1).trim()).charCodeAt(0)+(0|s.charCodeAt(7))){case 203:if(111>s.charCodeAt(8))break;case 115:c=c.replace(s,"-webkit-"+s)+";"+c;break;case 207:case 102:c=c.replace(s,"-webkit-"+(102<o?"inline-":"")+"box")+";"+c.replace(s,"-webkit-"+s)+";"+c.replace(s,"-ms-"+s+"box")+";"+c}return c+";";case 938:if(45===c.charCodeAt(5))switch(c.charCodeAt(6)){case 105:return s=c.replace("-items",""),"-webkit-"+c+"-webkit-box-"+s+"-ms-flex-"+s+c;case 115:return"-webkit-"+c+"-ms-flex-item-"+c.replace(C,"")+c;default:return"-webkit-"+c+"-ms-flex-line-pack"+c.replace("align-content","").replace(C,"")+c}break;case 973:case 989:if(45!==c.charCodeAt(3)||122===c.charCodeAt(4))break;case 931:case 953:if(!0===O.test(e))return 115===(s=e.substring(e.indexOf(":")+1)).charCodeAt(0)?n(e.replace("stretch","fill-available"),t,r,a).replace(":fill- |
38 |
available",":stretch"):c.replace(s,"-webkit-"+s)+c.replace(s,"-moz-"+s.replace("fill-",""))+c;break;case 962:if(c="-webkit-"+c+(102===c.charCodeAt(5)?"-ms-"+c:"")+c,211===r+a&&105===c.charCodeAt(13)&&0<c.indexOf("transform",10))return c.substring(0,c.indexOf(";",27)+1).replace(p,"$1-webkit-$2")+c}return c}function i(e,t){var r=e.indexOf(1===t?":":"{"),n=e.substring(0,3!==t?r:10);return r=e.substring(r+1,e.length-1),R(2!==t?n:n.replace(x,"$1"),r,t)}function a(e,t){var r=n(t,t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2));return r!==t+";"?r.replace(k," or ($1)").substring(4):"("+t+")"}function c(e,t,r,n,i,a,c,o,u,l){for(var f,h=0,p=t;h<z;++h)switch(f=I[h].call(s,e,p,r,n,i,a,c,o,u,l)){case void 0:case!1:case!0:case null:break;default:p=f}if(p!==t)return p}function o(e){return void 0!==(e=e.prefix)&&(R=null,e?"function"!=typeof e?_=1:(_=2,R=e):_=0),o}function s(e,r){var o=e;if(33>o.charCodeAt(0)&&(o=o.trim()),o=[o],0<z){var s=c(-1,r,o,o,S,j,0,0,0,0);void 0!==s&&"string"==typeof s&&(r=s |
39 |
)}var f=function e(r,o,s,f,h){for(var p,d,b,m,k,C=0,x=0,O=0,A=0,I=0,R=0,$=b=p=0,U=0,T=0,M=0,F=0,H=s.length,V=H-1,D="",G="",L="",W="";U<H;){if(d=s.charCodeAt(U),U===V&&0!==x+A+O+C&&(0!==x&&(d=47===x?10:47),A=O=C=0,H++,V++),0===x+A+O+C){if(U===V&&(0<T&&(D=D.replace(l,"")),0<D.trim().length)){switch(d){case 32:case 9:case 59:case 13:case 10:break;default:D+=s.charAt(U)}d=59}switch(d){case 123:for(p=(D=D.trim()).charCodeAt(0),b=1,F=++U;U<H;){switch(d=s.charCodeAt(U)){case 123:b++;break;case 125:b--;break;case 47:switch(d=s.charCodeAt(U+1)){case 42:case 47:e:{for($=U+1;$<V;++$)switch(s.charCodeAt($)){case 47:if(42===d&&42===s.charCodeAt($-1)&&U+2!==$){U=$+1;break e}break;case 10:if(47===d){U=$+1;break e}}U=$}}break;case 91:d++;case 40:d++;case 34:case 39:for(;U++<V&&s.charCodeAt(U)!==d;);}if(0===b)break;U++}switch(b=s.substring(F,U),0===p&&(p=(D=D.replace(u,"").trim()).charCodeAt(0)),p){case 64:switch(0<T&&(D=D.replace(l,"")),d=D.charCodeAt(1)){case 100:case 109:case 115:case 45:T=o;brea |
40 |
k;default:T=P}if(F=(b=e(o,T,b,d,h+1)).length,0<z&&(k=c(3,b,T=t(P,D,M),o,S,j,F,d,h,f),D=T.join(""),void 0!==k&&0===(F=(b=k.trim()).length)&&(d=0,b="")),0<F)switch(d){case 115:D=D.replace(y,a);case 100:case 109:case 45:b=D+"{"+b+"}";break;case 107:b=(D=D.replace(v,"$1 $2"))+"{"+b+"}",b=1===_||2===_&&i("@"+b,3)?"@-webkit-"+b+"@"+b:"@"+b;break;default:b=D+b,112===f&&(G+=b,b="")}else b="";break;default:b=e(o,t(o,D,M),b,f,h+1)}L+=b,b=M=T=$=p=0,D="",d=s.charCodeAt(++U);break;case 125:case 59:if(1<(F=(D=(0<T?D.replace(l,""):D).trim()).length))switch(0===$&&(p=D.charCodeAt(0),45===p||96<p&&123>p)&&(F=(D=D.replace(" ",":")).length),0<z&&void 0!==(k=c(1,D,o,r,S,j,G.length,f,h,f))&&0===(F=(D=k.trim()).length)&&(D="\0\0"),p=D.charCodeAt(0),d=D.charCodeAt(1),p){case 0:break;case 64:if(105===d||99===d){W+=D+s.charAt(U);break}default:58!==D.charCodeAt(F-1)&&(G+=n(D,p,d,D.charCodeAt(2)))}M=T=$=p=0,D="",d=s.charCodeAt(++U)}}switch(d){case 13:case 10:47===x?x=0:0===1+p&&107!==f&&0<D.length&&(T=1,D+="\ |
41 |
0"),0<z*N&&c(0,D,o,r,S,j,G.length,f,h,f),j=1,S++;break;case 59:case 125:if(0===x+A+O+C){j++;break}default:switch(j++,m=s.charAt(U),d){case 9:case 32:if(0===A+C+x)switch(I){case 44:case 58:case 9:case 32:m="";break;default:32!==d&&(m=" ")}break;case 0:m="\\0";break;case 12:m="\\f";break;case 11:m="\\v";break;case 38:0===A+x+C&&(T=M=1,m="\f"+m);break;case 108:if(0===A+x+C+E&&0<$)switch(U-$){case 2:112===I&&58===s.charCodeAt(U-3)&&(E=I);case 8:111===R&&(E=R)}break;case 58:0===A+x+C&&($=U);break;case 44:0===x+O+A+C&&(T=1,m+="\r");break;case 34:case 39:0===x&&(A=A===d?0:0===A?d:A);break;case 91:0===A+x+O&&C++;break;case 93:0===A+x+O&&C--;break;case 41:0===A+x+C&&O--;break;case 40:if(0===A+x+C){if(0===p)switch(2*I+3*R){case 533:break;default:p=1}O++}break;case 64:0===x+O+A+C+$+b&&(b=1);break;case 42:case 47:if(!(0<A+C+O))switch(x){case 0:switch(2*d+3*s.charCodeAt(U+1)){case 235:x=47;break;case 220:F=U,x=42}break;case 42:47===d&&42===I&&F+2!==U&&(33===s.charCodeAt(F+2)&&(G+=s.substring(F,U |
42 |
+1)),m="",x=0)}}0===x&&(D+=m)}R=I,I=d,U++}if(0<(F=G.length)){if(T=o,0<z&&void 0!==(k=c(2,G,T,r,S,j,F,f,h,f))&&0===(G=k).length)return W+G+L;if(G=T.join(",")+"{"+G+"}",0!=_*E){switch(2!==_||i(G,2)||(E=0),E){case 111:G=G.replace(g,":-moz-$1")+G;break;case 112:G=G.replace(w,"::-webkit-input-$1")+G.replace(w,"::-moz-$1")+G.replace(w,":-ms-input-$1")+G}E=0}}return W+G+L}(P,o,r,0,0);return 0<z&&void 0!==(s=c(-2,f,o,o,S,j,f.length,0,0,0))&&(f=s),E=0,j=S=1,f}var u=/^\0+/g,l=/[\0\r\f]/g,f=/: */g,h=/zoo|gra/,p=/([,: ])(transform)/g,d=/,\r+?/g,b=/([\t\r\n ])*\f?&/g,v=/@(k\w+)\s*(\S*)\s*/,w=/::(place)/g,g=/:(read-only)/g,m=/[svh]\w+-[tblr]{2}/,y=/\(\s*(.*)\s*\)/g,k=/([\s\S]*?);/g,C=/-self|flex-/g,x=/[^]*?(:[rp][el]a[\w-]+)[^]*/,O=/stretch|:\s*\w+\-(?:conte|avail)/,A=/([^-])(image-set\()/,j=1,S=1,E=0,_=1,P=[],I=[],z=0,R=null,N=0;return s.use=function e(t){switch(t){case void 0:case null:z=I.length=0;break;default:switch(t.constructor){case Array:for(var r=0,n=t.length;r<n;++r)e(t[r]);break;case |
43 |
Function:I[z++]=t;break;case Boolean:N=0|!!t}}return e},s.set=o,void 0!==e&&o(e),s},o=r(15),s=r.n(o),u=/[A-Z]|^ms/g,l=n(function(e){return e.replace(u,"-$&").toLowerCase()}),f=function(e,t){return null==t||"boolean"==typeof t?"":1===i[e]||45===e.charCodeAt(1)||isNaN(t)||0===t?t:t+"px"},h=function e(t){for(var r=t.length,n=0,i="";n<r;n++){var a=t[n];if(null!=a){var c=void 0;switch(typeof a){case"boolean":break;case"function":0,c=e([a()]);break;case"object":if(Array.isArray(a))c=e(a);else for(var o in c="",a)a[o]&&o&&(c&&(c+=" "),c+=o);break;default:c=a}c&&(i&&(i+=" "),i+=c)}}return i},p="undefined"!=typeof document;function d(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key||""),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),(void 0!==e.container?e.container:document.head).appendChild(t),t}var b=function(){function e(e){this.isSpeedy=!0,this.tags=[],this.ctr=0,this.opts=e}var t=e.prototype;return t.injec |
44 |
t=function(){if(this.injected)throw new Error("already injected!");this.tags[0]=d(this.opts),this.injected=!0},t.speedy=function(e){if(0!==this.ctr)throw new Error("cannot change speedy now");this.isSpeedy=!!e},t.insert=function(e,t){if(this.isSpeedy){var r=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}(this.tags[this.tags.length-1]);try{r.insertRule(e,r.cssRules.length)}catch(e){0}}else{var n=d(this.opts);this.tags.push(n),n.appendChild(document.createTextNode(e+(t||"")))}this.ctr++,this.ctr%65e3==0&&this.tags.push(d(this.opts))},t.flush=function(){this.tags.forEach(function(e){return e.parentNode.removeChild(e)}),this.tags=[],this.ctr=0,this.injected=!1},e}();t.a=function(e,t){if(void 0!==e.__SECRET_EMOTION__)return e.__SECRET_EMOTION__;void 0===t&&(t={});var r,n,i=t.key||"css",o=s()(function(e){r+=e,p&&d.insert(e,w)});void 0!==t.prefix&&(n={prefix:t.prefix});var u={regist |
45 |
ered:{},inserted:{},nonce:t.nonce,key:i},d=new b(t);p&&d.inject();var v=new c(n);v.use(t.stylisPlugins)(o);var w="";function g(e,t){if(null==e)return"";switch(typeof e){case"boolean":return"";case"function":if(void 0!==e.__emotion_styles){var r=e.toString();return r}return g.call(this,void 0===this?e():e(this.mergedProps,this.context),t);case"object":return function(e){if(k.has(e))return k.get(e);var t="";return Array.isArray(e)?e.forEach(function(e){t+=g.call(this,e,!1)},this):Object.keys(e).forEach(function(r){"object"!=typeof e[r]?void 0!==u.registered[e[r]]?t+=r+"{"+u.registered[e[r]]+"}":t+=l(r)+":"+f(r,e[r])+";":Array.isArray(e[r])&&"string"==typeof e[r][0]&&void 0===u.registered[e[r][0]]?e[r].forEach(function(e){t+=l(r)+":"+f(r,e)+";"}):t+=r+"{"+g.call(this,e[r],!1)+"}"},this),k.set(e,t),t}.call(this,e);default:var n=u.registered[e];return!1===t&&void 0!==n?n:e}}var m,y,k=new WeakMap,C=/label:\s*([^\s;\n{]+)\s*;/g,x=function(e){var t=!0,r="",n="";null==e||void 0===e.raw?(t=!1 |
46 |
,r+=g.call(this,e,!1)):r+=e[0];for(var i=arguments.length,c=new Array(i>1?i-1:0),o=1;o<i;o++)c[o-1]=arguments[o];return c.forEach(function(n,i){r+=g.call(this,n,46===r.charCodeAt(r.length-1)),!0===t&&void 0!==e[i+1]&&(r+=e[i+1])},this),y=r,r=r.replace(C,function(e,t){return n+="-"+t,""}),m=function(e,t){return a(e+t)+t}(r,n),r};function O(e,t){void 0===u.inserted[m]&&(r="",v(e,t),u.inserted[m]=r)}var A=function(){var e=x.apply(this,arguments),t=i+"-"+m;return void 0===u.registered[t]&&(u.registered[t]=y),O("."+t,e),t};function j(e,t){var r="";return t.split(" ").forEach(function(t){void 0!==u.registered[t]?e.push(t):r+=t+" "}),r}function S(e,t){var r=[],n=j(r,e);return r.length<2?e:n+A(r,t)}function E(e){u.inserted[e]=!0}if(p){var _=document.querySelectorAll("[data-emotion-"+i+"]");Array.prototype.forEach.call(_,function(e){d.tags[0].parentNode.insertBefore(e,d.tags[0]),e.getAttribute("data-emotion-"+i).split(" ").forEach(E)})}var P={flush:function(){p&&(d.flush(),d.inject()),u.inse |
47 |
rted={},u.registered={}},hydrate:function(e){e.forEach(E)},cx:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return S(h(t))},merge:S,getRegisteredStyles:j,injectGlobal:function(){O("",x.apply(this,arguments))},keyframes:function(){var e=x.apply(this,arguments),t="animation-"+m;return O("","@keyframes "+t+"{"+e+"}"),t},css:A,sheet:d,caches:u};return e.__SECRET_EMOTION__=P,P}},function(e,t){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},function(e,t){function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(t){return"function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?e.exports=n=function(e){return r(e)}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbo |
48 |
l&&e!==Symbol.prototype?"symbol":r(e)},n(t)}e.exports=n},function(e,t){function r(t,n){return e.exports=r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},r(t,n)}e.exports=r},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){"use strict";r.r(t);var n=r(7),i=r(8),a=r.n(i),c=r(9),o=r.n(c),s=r(10),u=r.n(s),l=r(11),f=r.n(l),h=r(12),p=r.n(h),d=r(13),b=r.n(d),v=r(1),w=r.n(v),g=r(0),m=r(14),y=r(3),k=r(2),C=r(4),x=r(16),O=r(6),A=r(5),j=window,S=j.ajaxurl,E=j.DSPublicPostPreviewData,_=Object(y.a)("flex-direction:column;align-items:stretch;margin-top:10px;"),P=Object(y.a)("width:100%;margin-right:12px;"),I=Object(y.a)("font-style:italic;color:#666;margin:.2em 0 0 !important;"),z=Object(y.a)("display:flex;justify-content:flex-start;align-items:center;margin:0;"),R=function(e){function t(e){var r;return o()(this,t),(r=f()(this,p()(t).call(this,e))).state={previewEnabled:E.p |
49 |
reviewEnabled,previewUrl:E.previewUrl,hasCopied:!1},r.previewUrlInput=Object(g.createRef)(),r.onChange=r.onChange.bind(w()(w()(r))),r.onPreviewUrlInputFocus=r.onPreviewUrlInputFocus.bind(w()(w()(r))),r}return b()(t,e),u()(t,[{key:"onChange",value:function(e){var t=this;this.request({checked:e,post_ID:this.props.postId},function(){t.setState({previewEnabled:!t.state.previewEnabled})})}},{key:"onPreviewUrlInputFocus",value:function(){this.previewUrlInput.current.focus(),this.previewUrlInput.current.select()}},{key:"request",value:function(e,t){jQuery.ajax({type:"POST",url:S,data:a()({action:"public-post-preview",_ajax_nonce:E.nonce},e),success:t})}},{key:"render",value:function(){var e=this,t=this.state,r=t.previewEnabled,n=t.previewUrl,i=t.hasCopied,a=i?Object(k.__)("Preview URL copied","public-post-preview"):Object(k.__)("Copy the preview URL","public-post-preview");return Object(g.createElement)(g.Fragment,null,Object(g.createElement)(O.PluginPostStatusInfo,null,Object(g.createElem |
50 |
ent)(C.CheckboxControl,{label:Object(k.__)("Enable public preview","public-post-preview"),checked:r,onChange:this.onChange})),r&&Object(g.createElement)(O.PluginPostStatusInfo,{className:_},Object(g.createElement)("p",{className:z},Object(g.createElement)("label",{htmlFor:"public-post-preview-url",className:"screen-reader-text"},Object(k.__)("Preview URL","public-post-preview")),Object(g.createElement)("input",{ref:this.previewUrlInput,type:"text",id:"public-post-preview-url",className:P,value:n,readOnly:!0,onFocus:this.onPreviewUrlInputFocus}),Object(g.createElement)(C.ClipboardButton,{text:n,label:a,onCopy:function(){return e.setState({hasCopied:!0})},onFinishCopy:function(){return e.setState({hasCopied:!1})},"aria-disabled":i,icon:Object(g.createElement)(C.SVG,{width:"20",height:"20",viewBox:"0 0 14 16",xmlns:"http://www.w3.org/2000/svg",focusable:"false"},Object(g.createElement)(C.Path,{fillRule:"evenodd",d:"M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9z |
51 |
M2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z"}))})),Object(g.createElement)("p",{className:I},Object(k.__)("Copy and share this preview URL.","public-post-preview"))))}}]),t}(g.Component),N=Object(A.compose)([Object(x.withSelect)(function(e){var t=e("core").getPostType,r=e("core/editor"),n=r.getCurrentPostId,i=r.getEditedPostAttribute,a=t(i("type"));return{postId:n(),status:i("status"),isViewable:Object(m.get)(a,["viewable"],!1)}}),Object(A.ifCondition)(function(e){return e.isViewable}),Object(A.ifCondition)(function(e){var t=e.status;return-1===["auto-draft","publish","private"].indexOf(t)})])(R);Object(n.registerPlugin)("public-post-preview",{render:N})}]); |
52 |
\ No newline at end of file |
53 |
|
54 |
diff --git a/plugins/public-post-preview/js/public-post-preview.dev.js b/plugins/public-post-preview/js/public-post-preview.dev.js |
55 |
deleted file mode 100644 |
56 |
index bdd8e37..0000000 |
57 |
--- a/plugins/public-post-preview/js/public-post-preview.dev.js |
58 |
+++ /dev/null |
59 |
@@ -1,111 +0,0 @@ |
60 |
-( function( $ ) { |
61 |
- DSPublicPostPreview = { |
62 |
- |
63 |
- /** |
64 |
- * Initializes the plugin. |
65 |
- * |
66 |
- * @since 2.0.0 |
67 |
- */ |
68 |
- initialize : function() { |
69 |
- var t = this; |
70 |
- |
71 |
- t.checkbox = $( '#public-post-preview' ); |
72 |
- t.link = $( '#public-post-preview-link' ); |
73 |
- t.nonce = $( '#public_post_preview_wpnonce' ); |
74 |
- t.status = $( '#public-post-preview-ajax' ); |
75 |
- |
76 |
- if ( ! t.checkbox.prop( 'checked' ) ) |
77 |
- t.link.hide(); |
78 |
- |
79 |
- t.checkbox.bind( 'change', function() { |
80 |
- t.change(); |
81 |
- } ); |
82 |
- }, |
83 |
- |
84 |
- /** |
85 |
- * Handles a checkbox change. |
86 |
- * |
87 |
- * @since 2.0.0 |
88 |
- */ |
89 |
- change : function() { |
90 |
- var t = this, |
91 |
- checked = t.checkbox.prop( 'checked' ) ? 1 : 0; |
92 |
- |
93 |
- // Toggle visibility of the link |
94 |
- t.link.toggle(); |
95 |
- |
96 |
- // Disable the checkbox, to prevent double AJAX requests |
97 |
- t.checkbox.prop( 'disabled', 'disabled' ); |
98 |
- |
99 |
- t.request( |
100 |
- { |
101 |
- _ajax_nonce : t.nonce.val(), |
102 |
- checked : checked, |
103 |
- post_ID : $( '#post_ID' ).val() |
104 |
- }, |
105 |
- function( data ) { |
106 |
- // data is '1' if it's a successful request |
107 |
- if ( data ) { |
108 |
- if ( checked ) { |
109 |
- t.status.text( DSPublicPostPreviewL10n.enabled ); |
110 |
- t._pulsate( t.status, 'green' ); |
111 |
- } else { |
112 |
- t.status.text( DSPublicPostPreviewL10n.disabled ); |
113 |
- t._pulsate( t.status, 'red' ); |
114 |
- } |
115 |
- } |
116 |
- |
117 |
- // Enable the checkbox again |
118 |
- t.checkbox.prop('disabled', ''); |
119 |
- } |
120 |
- ); |
121 |
- }, |
122 |
- |
123 |
- /** |
124 |
- * Does the AJAX request. |
125 |
- * |
126 |
- * @since 2.0.0 |
127 |
- * |
128 |
- * @param {Object} data The data to send. |
129 |
- * @param {Object} callback Callback function for a successfull request. |
130 |
- */ |
131 |
- request : function( data, callback ) { |
132 |
- $.ajax( { |
133 |
- type: 'POST', |
134 |
- url: ajaxurl, |
135 |
- data: $.extend( |
136 |
- data, |
137 |
- { |
138 |
- action: 'public-post-preview' |
139 |
- } |
140 |
- ), |
141 |
- success : callback |
142 |
- } ); |
143 |
- }, |
144 |
- |
145 |
- /** |
146 |
- * Helper for a pulse effect. |
147 |
- * |
148 |
- * @since 2.0.0 |
149 |
- * |
150 |
- * @param {Object} e The element. |
151 |
- * @param {String} color The text color of the element. |
152 |
- */ |
153 |
- _pulsate : function( e, color ) { |
154 |
- e.css( 'color', color ) |
155 |
- .animate( { opacity: 0 }, 600, 'linear' ) |
156 |
- .animate( { opacity: 1 }, 600, 'linear' ) |
157 |
- .animate( { opacity: 0 }, 600, 'linear' ) |
158 |
- .animate( { opacity: 1 }, 600, 'linear' ) |
159 |
- .animate( { opacity: 0 }, 600, 'linear', function() { |
160 |
- e.text( '' ); |
161 |
- } ); |
162 |
- } |
163 |
- }; |
164 |
- |
165 |
- // Document is ready. |
166 |
- $( function() { |
167 |
- DSPublicPostPreview.initialize(); |
168 |
- } ); |
169 |
- |
170 |
-} )( jQuery ); |
171 |
|
172 |
diff --git a/plugins/public-post-preview/js/public-post-preview.js b/plugins/public-post-preview/js/public-post-preview.js |
173 |
index cc5d1e1..e25a188 100644 |
174 |
--- a/plugins/public-post-preview/js/public-post-preview.js |
175 |
+++ b/plugins/public-post-preview/js/public-post-preview.js |
176 |
@@ -32,7 +32,7 @@ |
177 |
*/ |
178 |
change : function() { |
179 |
var t = this, |
180 |
- checked = t.checkbox.prop( 'checked' ) ? 1 : 0; |
181 |
+ checked = t.checkbox.prop( 'checked' ) ? 'true' : 'false'; |
182 |
|
183 |
// Toggle visibility of the link |
184 |
t.link.toggle(); |
185 |
|
186 |
diff --git a/plugins/public-post-preview/js/public-post-preview.min.js b/plugins/public-post-preview/js/public-post-preview.min.js |
187 |
index 09df216..4de40d9 100644 |
188 |
--- a/plugins/public-post-preview/js/public-post-preview.min.js |
189 |
+++ b/plugins/public-post-preview/js/public-post-preview.min.js |
190 |
@@ -1 +1 @@ |
191 |
-(function(a){DSPublicPostPreview={initialize:function(){var b=this;b.checkbox=a("#public-post-preview");b.link=a("#public-post-preview-link");b.nonce=a("#public_post_preview_wpnonce");b.status=a("#public-post-preview-ajax");b.status.css("opacity",0);b.checkbox.bind("change",function(){b.change();});b.link.find("input").on("focus",function(){a(this).select();});},change:function(){var b=this,c=b.checkbox.prop("checked")?1:0;b.link.toggle();b.checkbox.prop("disabled","disabled");b.request({_ajax_nonce:b.nonce.val(),checked:c,post_ID:a("#post_ID").val()},function(d){if(d){if(c){b.status.text(DSPublicPostPreviewL10n.enabled);b._pulsate(b.status,"green");}else{b.status.text(DSPublicPostPreviewL10n.disabled);b._pulsate(b.status,"red");}}b.checkbox.prop("disabled","");});},request:function(b,c){a.ajax({type:"POST",url:ajaxurl,data:a.extend(b,{action:"public-post-preview"}),success:c});},_pulsate:function(c,b){c.css("color",b).animate({opacity:1},600,"linear").animate({opacity:0},600,"linea |
192 |
r",function(){c.empty();});}};a(DSPublicPostPreview.initialize());})(jQuery); |
193 |
\ No newline at end of file |
194 |
+(function(a){DSPublicPostPreview={initialize:function(){var b=this;b.checkbox=a("#public-post-preview");b.link=a("#public-post-preview-link");b.nonce=a("#public_post_preview_wpnonce");b.status=a("#public-post-preview-ajax");b.status.css("opacity",0);b.checkbox.bind("change",function(){b.change();});b.link.find("input").on("focus",function(){a(this).select();});},change:function(){var b=this,c=b.checkbox.prop("checked")?"true":"false";b.link.toggle();b.checkbox.prop("disabled","disabled");b.request({_ajax_nonce:b.nonce.val(),checked:c,post_ID:a("#post_ID").val()},function(d){if(d){if(c){b.status.text(DSPublicPostPreviewL10n.enabled);b._pulsate(b.status,"green");}else{b.status.text(DSPublicPostPreviewL10n.disabled);b._pulsate(b.status,"red");}}b.checkbox.prop("disabled","");});},request:function(b,c){a.ajax({type:"POST",url:ajaxurl,data:a.extend(b,{action:"public-post-preview"}),success:c});},_pulsate:function(c,b){c.css("color",b).animate({opacity:1},600,"linear").animate({opacity:0} |
195 |
,600,"linear",function(){c.empty();});}};a(DSPublicPostPreview.initialize());})(jQuery); |
196 |
\ No newline at end of file |
197 |
|
198 |
diff --git a/plugins/public-post-preview/js/src/components/preview-toggle/index.js b/plugins/public-post-preview/js/src/components/preview-toggle/index.js |
199 |
new file mode 100644 |
200 |
index 0000000..9650286 |
201 |
--- /dev/null |
202 |
+++ b/plugins/public-post-preview/js/src/components/preview-toggle/index.js |
203 |
@@ -0,0 +1,171 @@ |
204 |
+/** |
205 |
+ * External dependencies |
206 |
+ */ |
207 |
+import { get } from 'lodash'; |
208 |
+import { css } from 'emotion' |
209 |
+ |
210 |
+import { __ } from '@wordpress/i18n'; |
211 |
+import { |
212 |
+ CheckboxControl, |
213 |
+ ClipboardButton, |
214 |
+ Path, |
215 |
+ SVG, |
216 |
+} from '@wordpress/components'; |
217 |
+import { |
218 |
+ Component, |
219 |
+ createRef, |
220 |
+ Fragment, |
221 |
+} from '@wordpress/element'; |
222 |
+import { withSelect } from '@wordpress/data'; |
223 |
+import { PluginPostStatusInfo } from '@wordpress/edit-post'; |
224 |
+import { ifCondition, compose } from '@wordpress/compose'; |
225 |
+ |
226 |
+const { |
227 |
+ ajaxurl, |
228 |
+ DSPublicPostPreviewData, |
229 |
+} = window; |
230 |
+ |
231 |
+const pluginPostStatusInfoPreviewUrl = css` |
232 |
+ flex-direction: column; |
233 |
+ align-items: stretch; |
234 |
+ margin-top: 10px; |
235 |
+` |
236 |
+ |
237 |
+const pluginPostStatusInfoPreviewUrlInput = css` |
238 |
+ width: 100%; |
239 |
+ margin-right: 12px; |
240 |
+` |
241 |
+ |
242 |
+const pluginPostStatusInfoPreviewDescription = css` |
243 |
+ font-style: italic; |
244 |
+ color: #666; |
245 |
+ margin: .2em 0 0 !important; |
246 |
+` |
247 |
+ |
248 |
+const pluginPostStatusInfoPreviewUrlInputWrapper = css` |
249 |
+ display: flex; |
250 |
+ justify-content: flex-start; |
251 |
+ align-items: center; |
252 |
+ margin: 0; |
253 |
+` |
254 |
+ |
255 |
+class PreviewToggle extends Component { |
256 |
+ |
257 |
+ constructor( props ) { |
258 |
+ super( props ) |
259 |
+ |
260 |
+ this.state = { |
261 |
+ previewEnabled: DSPublicPostPreviewData.previewEnabled, |
262 |
+ previewUrl: DSPublicPostPreviewData.previewUrl, |
263 |
+ hasCopied: false, |
264 |
+ } |
265 |
+ |
266 |
+ this.previewUrlInput = createRef(); |
267 |
+ |
268 |
+ this.onChange = this.onChange.bind( this ); |
269 |
+ this.onPreviewUrlInputFocus = this.onPreviewUrlInputFocus.bind( this ); |
270 |
+ } |
271 |
+ |
272 |
+ onChange( checked ) { |
273 |
+ this.request( { |
274 |
+ checked, |
275 |
+ post_ID: this.props.postId |
276 |
+ }, () => { |
277 |
+ this.setState( { previewEnabled: ! this.state.previewEnabled } ); |
278 |
+ } ) |
279 |
+ } |
280 |
+ |
281 |
+ onPreviewUrlInputFocus() { |
282 |
+ this.previewUrlInput.current.focus(); |
283 |
+ this.previewUrlInput.current.select(); |
284 |
+ } |
285 |
+ |
286 |
+ request( data, callback ) { |
287 |
+ jQuery.ajax( { |
288 |
+ type: 'POST', |
289 |
+ url: ajaxurl, |
290 |
+ data: { |
291 |
+ action: 'public-post-preview', |
292 |
+ _ajax_nonce: DSPublicPostPreviewData.nonce, |
293 |
+ ...data |
294 |
+ }, |
295 |
+ success: callback, |
296 |
+ } ); |
297 |
+ } |
298 |
+ |
299 |
+ render() { |
300 |
+ const { |
301 |
+ previewEnabled, |
302 |
+ previewUrl, |
303 |
+ hasCopied |
304 |
+ } = this.state; |
305 |
+ |
306 |
+ const ariaCopyLabel = hasCopied ? __( 'Preview URL copied', 'public-post-preview' ) : __( 'Copy the preview URL', 'public-post-preview' ); |
307 |
+ |
308 |
+ return ( |
309 |
+ <Fragment> |
310 |
+ <PluginPostStatusInfo> |
311 |
+ <CheckboxControl |
312 |
+ label={ __( 'Enable public preview', 'public-post-preview' ) } |
313 |
+ checked={ previewEnabled } |
314 |
+ onChange={ this.onChange } |
315 |
+ /> |
316 |
+ </PluginPostStatusInfo> |
317 |
+ { previewEnabled && |
318 |
+ <PluginPostStatusInfo className={ pluginPostStatusInfoPreviewUrl }> |
319 |
+ <p className={ pluginPostStatusInfoPreviewUrlInputWrapper }> |
320 |
+ <label htmlFor="public-post-preview-url" className="screen-reader-text">{ __( 'Preview URL', 'public-post-preview' ) }</label> |
321 |
+ <input |
322 |
+ ref={ this.previewUrlInput } |
323 |
+ type="text" |
324 |
+ id="public-post-preview-url" |
325 |
+ className={ pluginPostStatusInfoPreviewUrlInput } |
326 |
+ value={ previewUrl } |
327 |
+ readOnly |
328 |
+ onFocus={ this.onPreviewUrlInputFocus } |
329 |
+ /> |
330 |
+ <ClipboardButton |
331 |
+ text={ previewUrl } |
332 |
+ label={ ariaCopyLabel } |
333 |
+ onCopy={ () => this.setState( { hasCopied: true } ) } |
334 |
+ onFinishCopy={ () => this.setState( { hasCopied: false } ) } |
335 |
+ aria-disabled={ hasCopied } |
336 |
+ icon={ <SVG width="20" height="20" viewBox="0 0 14 16" xmlns="http://www.w3.org/2000/svg" focusable="false" ><Path fillRule="evenodd" d="M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9zM2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z"/></SVG> } |
337 |
+ /> |
338 |
+ </p> |
339 |
+ <p className={ pluginPostStatusInfoPreviewDescription }> |
340 |
+ { __( 'Copy and share this preview URL.', 'public-post-preview' ) } |
341 |
+ </p> |
342 |
+ </PluginPostStatusInfo> |
343 |
+ } |
344 |
+ </Fragment> |
345 |
+ ); |
346 |
+ } |
347 |
+} |
348 |
+ |
349 |
+export default compose( [ |
350 |
+ withSelect( ( select ) => { |
351 |
+ const { |
352 |
+ getPostType, |
353 |
+ } = select( 'core' ); |
354 |
+ const { |
355 |
+ getCurrentPostId, |
356 |
+ getEditedPostAttribute, |
357 |
+ } = select( 'core/editor' ); |
358 |
+ const postType = getPostType( getEditedPostAttribute( 'type' ) ); |
359 |
+ |
360 |
+ return { |
361 |
+ postId: getCurrentPostId(), |
362 |
+ status: getEditedPostAttribute( 'status' ), |
363 |
+ isViewable: get( postType, [ 'viewable' ], false ), |
364 |
+ }; |
365 |
+ } ), |
366 |
+ ifCondition( ( { isViewable } ) => isViewable ), |
367 |
+ ifCondition( ( { status } ) => { |
368 |
+ return [ |
369 |
+ 'auto-draft', |
370 |
+ 'publish', |
371 |
+ 'private', |
372 |
+ ].indexOf( status ) === -1; |
373 |
+ } ), |
374 |
+] )( PreviewToggle ); |
375 |
|
376 |
diff --git a/plugins/public-post-preview/js/src/index.js b/plugins/public-post-preview/js/src/index.js |
377 |
new file mode 100644 |
378 |
index 0000000..d56dfc6 |
379 |
--- /dev/null |
380 |
+++ b/plugins/public-post-preview/js/src/index.js |
381 |
@@ -0,0 +1,6 @@ |
382 |
+import { registerPlugin } from '@wordpress/plugins'; |
383 |
+import { default as PreviewToggle } from './components/preview-toggle'; |
384 |
+ |
385 |
+registerPlugin( 'public-post-preview', { |
386 |
+ render: PreviewToggle, |
387 |
+} ); |
388 |
|
389 |
diff --git a/plugins/public-post-preview/languages/public-post-preview.php b/plugins/public-post-preview/languages/public-post-preview.php |
390 |
new file mode 100644 |
391 |
index 0000000..118fa0f |
392 |
--- /dev/null |
393 |
+++ b/plugins/public-post-preview/languages/public-post-preview.php |
394 |
@@ -0,0 +1,19 @@ |
395 |
+<?php |
396 |
+/* THIS IS A GENERATED FILE. DO NOT EDIT DIRECTLY. */ |
397 |
+$generated_i18n_strings = array( |
398 |
+ // Reference: js/src/components/preview-toggle/index.js:103 |
399 |
+ __( 'Preview URL copied', 'public-post-preview' ), |
400 |
+ |
401 |
+ // Reference: js/src/components/preview-toggle/index.js:103 |
402 |
+ __( 'Copy the preview URL', 'public-post-preview' ), |
403 |
+ |
404 |
+ // Reference: js/src/components/preview-toggle/index.js:109 |
405 |
+ __( 'Enable public preview', 'public-post-preview' ), |
406 |
+ |
407 |
+ // Reference: js/src/components/preview-toggle/index.js:117 |
408 |
+ __( 'Preview URL', 'public-post-preview' ), |
409 |
+ |
410 |
+ // Reference: js/src/components/preview-toggle/index.js:137 |
411 |
+ __( 'Copy and share this preview URL.', 'public-post-preview' ) |
412 |
+); |
413 |
+/* THIS IS THE END OF THE GENERATED FILE */ |
414 |
|
415 |
diff --git a/plugins/public-post-preview/languages/public-post-preview.pot b/plugins/public-post-preview/languages/public-post-preview.pot |
416 |
new file mode 100644 |
417 |
index 0000000..6939e77 |
418 |
--- /dev/null |
419 |
+++ b/plugins/public-post-preview/languages/public-post-preview.pot |
420 |
@@ -0,0 +1,24 @@ |
421 |
+msgid "" |
422 |
+msgstr "" |
423 |
+"Content-Type: text/plain; charset=utf-8\n" |
424 |
+"X-Generator: babel-plugin-makepot\n" |
425 |
+ |
426 |
+#: js/src/components/preview-toggle/index.js:103 |
427 |
+msgid "Preview URL copied" |
428 |
+msgstr "" |
429 |
+ |
430 |
+#: js/src/components/preview-toggle/index.js:103 |
431 |
+msgid "Copy the preview URL" |
432 |
+msgstr "" |
433 |
+ |
434 |
+#: js/src/components/preview-toggle/index.js:109 |
435 |
+msgid "Enable public preview" |
436 |
+msgstr "" |
437 |
+ |
438 |
+#: js/src/components/preview-toggle/index.js:117 |
439 |
+msgid "Preview URL" |
440 |
+msgstr "" |
441 |
+ |
442 |
+#: js/src/components/preview-toggle/index.js:137 |
443 |
+msgid "Copy and share this preview URL." |
444 |
+msgstr "" |
445 |
\ No newline at end of file |
446 |
|
447 |
diff --git a/plugins/public-post-preview/public-post-preview.php b/plugins/public-post-preview/public-post-preview.php |
448 |
index 5130a0a..742a93c 100644 |
449 |
--- a/plugins/public-post-preview/public-post-preview.php |
450 |
+++ b/plugins/public-post-preview/public-post-preview.php |
451 |
@@ -1,33 +1,31 @@ |
452 |
<?php |
453 |
/** |
454 |
* Plugin Name: Public Post Preview |
455 |
- * Version: 2.6.0 |
456 |
+ * Version: 2.8.0 |
457 |
* Description: Enables you to give a link to anonymous users for public preview of any post type before it is published. |
458 |
* Author: Dominik Schilling |
459 |
- * Author URI: http://wphelper.de/ |
460 |
+ * Author URI: https://wphelper.de/ |
461 |
* Plugin URI: https://dominikschilling.de/wp-plugins/public-post-preview/en/ |
462 |
- * |
463 |
* Text Domain: public-post-preview |
464 |
- * |
465 |
* License: GPLv2 or later |
466 |
* |
467 |
* Previously (2009-2011) maintained by Jonathan Dingman and Matt Martz. |
468 |
* |
469 |
- * Copyright (C) 2012-2017 Dominik Schilling |
470 |
+ * Copyright (C) 2012-2018 Dominik Schilling |
471 |
* |
472 |
- * This program is free software; you can redistribute it and/or |
473 |
- * modify it under the terms of the GNU General Public License |
474 |
- * as published by the Free Software Foundation; either version 2 |
475 |
- * of the License, or (at your option) any later version. |
476 |
+ * This program is free software; you can redistribute it and/or |
477 |
+ * modify it under the terms of the GNU General Public License |
478 |
+ * as published by the Free Software Foundation; either version 2 |
479 |
+ * of the License, or (at your option) any later version. |
480 |
* |
481 |
- * This program is distributed in the hope that it will be useful, |
482 |
- * but WITHOUT ANY WARRANTY; without even the implied warranty of |
483 |
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
484 |
- * GNU General Public License for more details. |
485 |
+ * This program is distributed in the hope that it will be useful, |
486 |
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of |
487 |
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
488 |
+ * GNU General Public License for more details. |
489 |
* |
490 |
- * You should have received a copy of the GNU General Public License |
491 |
- * along with this program; if not, write to the Free Software |
492 |
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
493 |
+ * You should have received a copy of the GNU General Public License |
494 |
+ * along with this program; if not, write to the Free Software |
495 |
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
496 |
*/ |
497 |
|
498 |
/** |
499 |
@@ -63,7 +61,7 @@ class DS_Public_Post_Preview { |
500 |
add_action( 'post_submitbox_misc_actions', array( __CLASS__, 'post_submitbox_misc_actions' ) ); |
501 |
add_action( 'save_post', array( __CLASS__, 'register_public_preview' ), 20, 2 ); |
502 |
add_action( 'wp_ajax_public-post-preview', array( __CLASS__, 'ajax_register_public_preview' ) ); |
503 |
- add_action( 'admin_enqueue_scripts' , array( __CLASS__, 'enqueue_script' ) ); |
504 |
+ add_action( 'admin_enqueue_scripts', array( __CLASS__, 'enqueue_script' ) ); |
505 |
add_filter( 'display_post_states', array( __CLASS__, 'display_preview_state' ), 20, 2 ); |
506 |
} |
507 |
} |
508 |
@@ -89,24 +87,65 @@ class DS_Public_Post_Preview { |
509 |
return; |
510 |
} |
511 |
|
512 |
- $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; |
513 |
+ if ( |
514 |
+ ( method_exists( get_current_screen(), 'is_block_editor' ) && get_current_screen()->is_block_editor() ) || |
515 |
+ ( function_exists( 'is_gutenberg_page' ) && is_gutenberg_page() ) |
516 |
+ ) { |
517 |
+ wp_enqueue_script( |
518 |
+ 'public-post-preview-gutenberg', |
519 |
+ plugins_url( 'js/gutenberg-integration.js', __FILE__ ), |
520 |
+ array( |
521 |
+ 'lodash', |
522 |
+ 'wp-compose', |
523 |
+ 'wp-components', |
524 |
+ 'wp-data', |
525 |
+ 'wp-edit-post', |
526 |
+ 'wp-element', |
527 |
+ 'wp-i18n', |
528 |
+ ), |
529 |
+ '20181127', |
530 |
+ true |
531 |
+ ); |
532 |
|
533 |
- wp_enqueue_script( |
534 |
- 'public-post-preview', |
535 |
- plugins_url( "js/public-post-preview$suffix.js", __FILE__ ), |
536 |
- array( 'jquery' ), |
537 |
- '20160403', |
538 |
- true |
539 |
- ); |
540 |
+ $post = get_post(); |
541 |
+ wp_localize_script( |
542 |
+ 'public-post-preview-gutenberg', |
543 |
+ 'DSPublicPostPreviewData', |
544 |
+ array( |
545 |
+ 'previewEnabled' => self::is_public_preview_enabled( $post ), |
546 |
+ 'previewUrl' => self::get_preview_link( $post ), |
547 |
+ 'nonce' => wp_create_nonce( 'public-post-preview_' . $post->ID ), |
548 |
+ ) |
549 |
+ ); |
550 |
|
551 |
- wp_localize_script( |
552 |
- 'public-post-preview', |
553 |
- 'DSPublicPostPreviewL10n', |
554 |
- array( |
555 |
- 'enabled' => __( 'Enabled!', 'public-post-preview' ), |
556 |
- 'disabled' => __( 'Disabled!', 'public-post-preview' ), |
557 |
- ) |
558 |
- ); |
559 |
+ if ( function_exists( 'gutenberg_get_jed_locale_data' ) ) { |
560 |
+ $locale_data = gutenberg_get_jed_locale_data( 'public-post-preview' ); |
561 |
+ wp_add_inline_script( |
562 |
+ 'public-post-preview-gutenberg', |
563 |
+ 'wp.i18n.setLocaleData( ' . wp_json_encode( $locale_data ) . ', "public-post-preview" );', |
564 |
+ 'before' |
565 |
+ ); |
566 |
+ } |
567 |
+ } else { |
568 |
+ $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; |
569 |
+ |
570 |
+ wp_enqueue_script( |
571 |
+ 'public-post-preview', |
572 |
+ plugins_url( "js/public-post-preview$suffix.js", __FILE__ ), |
573 |
+ array( 'jquery' ), |
574 |
+ '20180914', |
575 |
+ true |
576 |
+ ); |
577 |
+ |
578 |
+ wp_localize_script( |
579 |
+ 'public-post-preview', |
580 |
+ 'DSPublicPostPreviewL10n', |
581 |
+ array( |
582 |
+ 'enabled' => __( 'Enabled!', 'public-post-preview' ), |
583 |
+ 'disabled' => __( 'Disabled!', 'public-post-preview' ), |
584 |
+ ) |
585 |
+ ); |
586 |
+ } |
587 |
} |
588 |
|
589 |
/** |
590 |
@@ -187,10 +226,9 @@ class DS_Public_Post_Preview { |
591 |
$post = get_post(); |
592 |
} |
593 |
|
594 |
- wp_nonce_field( 'public_post_preview', 'public_post_preview_wpnonce' ); |
595 |
+ wp_nonce_field( 'public-post-preview_' . $post->ID, 'public_post_preview_wpnonce' ); |
596 |
|
597 |
- $preview_post_ids = self::get_preview_post_ids(); |
598 |
- $enabled = in_array( $post->ID, $preview_post_ids ); |
599 |
+ $enabled = self::is_public_preview_enabled( $post ); |
600 |
?> |
601 |
<label><input type="checkbox"<?php checked( $enabled ); ?> name="public_post_preview" id="public-post-preview" value="1" /> |
602 |
<?php _e( 'Enable public preview', 'public-post-preview' ); ?> <span id="public-post-preview-ajax"></span></label> |
603 |
@@ -198,12 +236,25 @@ class DS_Public_Post_Preview { |
604 |
<div id="public-post-preview-link" style="margin-top:6px"<?php echo $enabled ? '' : ' class="hidden"'; ?>> |
605 |
<label> |
606 |
<input type="text" name="public_post_preview_link" class="regular-text" value="<?php echo esc_attr( self::get_preview_link( $post ) ); ?>" style="width:99%" readonly /> |
607 |
- <span class="description"><?php _e( '(Copy and share this link.)', 'public-post-preview' ); ?></span> |
608 |
+ <span class="description"><?php _e( 'Copy and share this preview URL.', 'public-post-preview' ); ?></span> |
609 |
</label> |
610 |
</div> |
611 |
<?php |
612 |
} |
613 |
|
614 |
+ /** |
615 |
+ * Checks if a public preview is enabled for a post. |
616 |
+ * |
617 |
+ * @since 2.7.0 |
618 |
+ * |
619 |
+ * @param WP_Post $post The post object. |
620 |
+ * @return bool True if a public preview is enabled, false if not. |
621 |
+ */ |
622 |
+ private static function is_public_preview_enabled( $post ) { |
623 |
+ $preview_post_ids = self::get_preview_post_ids(); |
624 |
+ return in_array( $post->ID, $preview_post_ids, true ); |
625 |
+ } |
626 |
+ |
627 |
/** |
628 |
* Returns the public preview link. |
629 |
* |
630 |
@@ -220,25 +271,25 @@ class DS_Public_Post_Preview { |
631 |
public static function get_preview_link( $post ) { |
632 |
if ( 'page' == $post->post_type ) { |
633 |
$args = array( |
634 |
- 'page_id' => $post->ID, |
635 |
+ 'page_id' => $post->ID, |
636 |
); |
637 |
- } else if ( 'post' == $post->post_type ) { |
638 |
+ } elseif ( 'post' == $post->post_type ) { |
639 |
$args = array( |
640 |
- 'p' => $post->ID, |
641 |
+ 'p' => $post->ID, |
642 |
); |
643 |
} else { |
644 |
$args = array( |
645 |
- 'p' => $post->ID, |
646 |
- 'post_type' => $post->post_type, |
647 |
+ 'p' => $post->ID, |
648 |
+ 'post_type' => $post->post_type, |
649 |
); |
650 |
} |
651 |
|
652 |
$args['preview'] = true; |
653 |
- $args['_ppp'] = self::create_nonce( 'public_post_preview_' . $post->ID ); |
654 |
+ $args['_ppp'] = self::create_nonce( 'public_post_preview_' . $post->ID ); |
655 |
|
656 |
$link = add_query_arg( $args, home_url( '/' ) ); |
657 |
|
658 |
- return apply_filters( 'ppp_preview_link', $link, $post->ID, $post ); |
659 |
+ return apply_filters( 'ppp_preview_link', $link, $post->ID, $post ); |
660 |
} |
661 |
|
662 |
/** |
663 |
@@ -298,7 +349,7 @@ class DS_Public_Post_Preview { |
664 |
* @return bool Returns false on a failure, true on a success. |
665 |
*/ |
666 |
public static function unregister_public_preview_on_status_change( $new_status, $old_status, $post ) { |
667 |
- $disallowed_status = self::get_published_statuses(); |
668 |
+ $disallowed_status = self::get_published_statuses(); |
669 |
$disallowed_status[] = 'trash'; |
670 |
|
671 |
if ( in_array( $new_status, $disallowed_status ) ) { |
672 |
@@ -318,7 +369,7 @@ class DS_Public_Post_Preview { |
673 |
* @return bool Returns false on a failure, true on a success. |
674 |
*/ |
675 |
public static function unregister_public_preview_on_edit( $post_id, $post ) { |
676 |
- $disallowed_status = self::get_published_statuses(); |
677 |
+ $disallowed_status = self::get_published_statuses(); |
678 |
$disallowed_status[] = 'trash'; |
679 |
|
680 |
if ( in_array( $post->post_status, $disallowed_status ) ) { |
681 |
@@ -356,36 +407,37 @@ class DS_Public_Post_Preview { |
682 |
* @since 2.0.0 |
683 |
*/ |
684 |
public static function ajax_register_public_preview() { |
685 |
- check_ajax_referer( 'public_post_preview' ); |
686 |
- |
687 |
$preview_post_id = (int) $_POST['post_ID']; |
688 |
+ |
689 |
+ check_ajax_referer( 'public-post-preview_' . $preview_post_id ); |
690 |
+ |
691 |
$post = get_post( $preview_post_id ); |
692 |
|
693 |
- if ( ( 'page' == $post->post_type && ! current_user_can( 'edit_page', $preview_post_id ) ) || ! current_user_can( 'edit_post', $preview_post_id ) ) { |
694 |
- wp_die( 0 ); |
695 |
+ if ( ! current_user_can( 'edit_post', $preview_post_id ) ) { |
696 |
+ wp_send_json_error( 'cannot_edit' ); |
697 |
} |
698 |
|
699 |
if ( in_array( $post->post_status, self::get_published_statuses() ) ) { |
700 |
- wp_die( 0 ); |
701 |
+ wp_send_json_error( 'invalid_post_status' ); |
702 |
} |
703 |
|
704 |
$preview_post_ids = self::get_preview_post_ids(); |
705 |
|
706 |
- if ( empty( $_POST['checked'] ) && in_array( $preview_post_id, $preview_post_ids ) ) { |
707 |
+ if ( 'false' === $_POST['checked'] && in_array( $preview_post_id, $preview_post_ids ) ) { |
708 |
$preview_post_ids = array_diff( $preview_post_ids, (array) $preview_post_id ); |
709 |
- } elseif ( ! empty( $_POST['checked'] ) && ! in_array( $preview_post_id, $preview_post_ids ) ) { |
710 |
+ } elseif ( 'true' === $_POST['checked'] && ! in_array( $preview_post_id, $preview_post_ids ) ) { |
711 |
$preview_post_ids = array_merge( $preview_post_ids, (array) $preview_post_id ); |
712 |
} else { |
713 |
- wp_die( 0 ); |
714 |
+ wp_send_json_error( 'unknown_status' ); |
715 |
} |
716 |
|
717 |
$ret = self::set_preview_post_ids( $preview_post_ids ); |
718 |
|
719 |
if ( ! $ret ) { |
720 |
- wp_die( 0 ); |
721 |
+ wp_send_json_error( 'not_saved' ); |
722 |
} |
723 |
|
724 |
- wp_die( 1 ); |
725 |
+ wp_send_json_success(); |
726 |
} |
727 |
|
728 |
/** |
729 |
@@ -423,6 +475,7 @@ class DS_Public_Post_Preview { |
730 |
if ( ! headers_sent() ) { |
731 |
nocache_headers(); |
732 |
} |
733 |
+ add_action( 'wp_head', 'wp_no_robots' ); |
734 |
|
735 |
add_filter( 'posts_results', array( __CLASS__, 'set_post_to_publish' ), 10, 2 ); |
736 |
} |
737 |
@@ -449,7 +502,7 @@ class DS_Public_Post_Preview { |
738 |
} |
739 |
|
740 |
if ( ! in_array( $post_id, self::get_preview_post_ids() ) ) { |
741 |
- wp_die( __( 'No Public Preview available!', 'public-post-preview' ) ); |
742 |
+ wp_die( __( 'No public preview available!', 'public-post-preview' ) ); |
743 |
} |
744 |
|
745 |
return true; |
746 |
|
747 |
diff --git a/plugins/public-post-preview/readme.txt b/plugins/public-post-preview/readme.txt |
748 |
index c286709..ebd6f19 100644 |
749 |
--- a/plugins/public-post-preview/readme.txt |
750 |
+++ b/plugins/public-post-preview/readme.txt |
751 |
@@ -1,9 +1,9 @@ |
752 |
=== Public Post Preview === |
753 |
Contributors: ocean90 |
754 |
Tags: public, post, preview, posts, custom post types, draft |
755 |
-Requires at least: 3.5 |
756 |
-Tested up to: 4.7 |
757 |
-Stable tag: 2.6.0 |
758 |
+Requires at least: 4.6 |
759 |
+Tested up to: 5.0 |
760 |
+Stable tag: 2.8.0 |
761 |
License: GPLv2 or later |
762 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html |
763 |
|
764 |
@@ -40,7 +40,8 @@ To upload the plugin through WordPress, instead of FTP: |
765 |
|
766 |
== Screenshots == |
767 |
|
768 |
-1. Edit Posts Page |
769 |
+1. Setting in block editor |
770 |
+2. Setting in classic editor |
771 |
|
772 |
== Usage == |
773 |
* To enable a public post preview check the box below the edit post box. |
774 |
@@ -71,6 +72,14 @@ function my_nonce_life() { |
775 |
Or use the [Public Post Preview Configurator](https://wordpress.org/plugins/public-post-preview-configurator/). |
776 |
|
777 |
== Change Log == |
778 |
+ |
779 |
+= 2.8.0 (2018-11-27): = |
780 |
+* Add support for WordPress 5.0 and the new block editor. |
781 |
+ |
782 |
+= 2.7.0 (2018-09-14): = |
783 |
+* Initial support for Gutenberg. |
784 |
+* Block robots for public post previews. Props [@westonruter](https://github.com/westonruter). |
785 |
+ |
786 |
= 2.6.0 (2017-04-27): = |
787 |
* Make `DS_Public_Post_Preview::get_preview_link()` public. Props [@rcstr](https://github.com/rcstr). |
788 |
* Send no-cache headers for public post previews. |