From 1f240193ef1aeeec1493d821aed3c9387fa3c899 Mon Sep 17 00:00:00 2001 From: Thibaud Colas Date: Wed, 31 Jan 2018 01:32:13 +0200 Subject: [PATCH] Add start of example for entity docs --- .../draftail_entity_stock_rendering.png | Bin 0 -> 7460 bytes .../images/draftail_entity_stock_source.gif | Bin 0 -> 59400 bytes .../customisation/page_editing_interface.rst | 32 ++++++++++++++++-- 3 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 docs/_static/images/draftail_entity_stock_rendering.png create mode 100644 docs/_static/images/draftail_entity_stock_source.gif diff --git a/docs/_static/images/draftail_entity_stock_rendering.png b/docs/_static/images/draftail_entity_stock_rendering.png new file mode 100644 index 0000000000000000000000000000000000000000..f4b15c6ee988100e129cc284bb431c5e381fc6c4 GIT binary patch literal 7460 zcmV+<9oyoGP)))!N_r_VVA}-owAW$JG z{rvm;@$T!{(#f{Dz2)=!|Ni~>_xQ`k!ub3D+}haNmjWakt76AY_RdwX&>(9ZiC@wWI z90UL`Q~&?`w3v5Pc9{D9|JlpFJ}@Q#0w&Pn@+~MMAOisF+RJNFGr`j1&f4Vt`SXTf zM4+9SpoC<)#?{KYr)Y_&|Ni-ta!`DpxWmTE*3{C~#mx!gi zqO7>*?ehQn?cA)t?#RC7#nJB6)$PsBD69*o~xUSbcmatw#NJL z-d#Kc)Nhj4WNgj?Kh#rW)Mb0pKUC63UDR7^&@)!_+RWC5rPfwe&>c+IfR)e$CGGe9 ziDynCL|WbL`GJA9>#R%jbgb?DZ|fTO%?SVb2!PWt)!z_6jr z-0k$|)U1(mH%3v|$GD=q$>ZA1(lS5s)5PuX^yaOS&Hz*2iha*KY3tqUXH6nVVu#_C zh0i5m>el5+J1&QMZ??(XOeFwtkgoUY+vcpG@A3WGba2D5nC;~8^7Q!N;^hDbMmS7k zW@coBiikV_0C<B$%tdh@G$Dosj}OTieUHK`H>JiD|L5 z|AB`8QCI%}0RL}B1Vs)2*4qEl*8k1X|IgF^(bWIJ#Qzx_{{R5~U}pc8qp)pq|8aN! zad!ViO8+}Q|0XE^E;9d_p8ut+|9x06(A59V(*Gh1ma_l=8RbbtK~#7F?7@Km0001h zp#7;AsR951000000001h*(s~UhG8Ixj^*7jGc%N#nHh5b%M{!#*HW3^PhuWDNn^lL zHYpndlOlkW!uvr=dEVzegzpED@*0EN8W-aH753=CgZ~g7VST{5^58e)#apq=_RODV zW#h;49^nZ-e;^PH$(yWjBpUPh;{IR)9<4z()v-WGrqY?LcEWSceKMvC@Fe+oAy_nT zrySkjjEE>l#Lk}!AUMZ(2UMz*DTAQF7cW#Kc(Uq$=t7*k_|(}`wNj=If&ex*(Ie;z z2EcUR9N1Au_!K1ko5-QjY_&VxzJAMj_F$M(*6IoH^gEsk7jZ+RcSgSEp2S1lHfj=LwGoNkUAr@da! ze?caMm79l zM0?jK9orM@9qm29LeD5-T)dQESDxyq^Lip_pEN5e868c7hYTGybSVA}8*W3J9>azY zA3n^cM+Fy$SgKmb4I82VPw;u&myG`Q7qK}rYXWIsY+9#@5uu?IC211T3ZeD&)L1BJTaqbABSvkcyMY*}Noiuq)Vd30) zmMRkm&(F8~Csv_p*OZbMv$@J}GBFlT@)Qr|&wVh z*|d0x-Gp-?r?8-CXT; zV`eQ&Pu7MStxkhKZt-eRRVLr}Xj;8Wq~52pYU= zx4~=Q{sR=dGuwiX9m#*R{o-AEMDv(_@3o0G}Y^||G#VTm-V#{$qqTctO_<|9X$dirPD!+o(VVOfU>upiqK zxln9VeJ{|VPV@SBI3Rs0TV zYYtIOd(is6?ZQ{-O&s>t>rTNh57uA5_3;;I@*tS0RUYh5T93Wz;?s;XXV0Ct z>k#u?xOfRMmCkGQfD#J811xCcfEfc438d&l)@WZ}??k%%n-UT!u%3@kEvGU>?7reF zg=H!*#q%pWog2o2Nc3vQLS&wIT*)rQH)NqwV&(X+;axSRp zZ<|nTJ)c+kl7WogJ^%zPG)4~)h0;Lp?s_d7&T#UAlra{h6twlTlUByuGfkZypmIeP zk*256^Hjm+y%tAMkZ&|r14UyD8sIN~I(sMv1x}TYw(>nCV(@4fYge5}>dE4wg1Px8 zP-Qj;(6IT*Gov@+BbqMFBVSC1TSIunx3?pS|KS`;ry zQp&>AQ4wJ)x^HfFy>m*5D?Tzzl2&vlM~fSsr@WLQNfm2hohv>(q_Z@QqXh`M&LJTo zk$WvdS!7sesp2MS-E8iRGo7y9Y7{C-x9g@J2@6Z9KTrw{yPbIXPGzG$mm?4*Qq;uA zz3+~aq&3}m*vnE#q||xC?fTW&Or)*{bW75E;TY}x`sAvzS8huT*&Xja@a3YTU&1&D zd1`m?V4J$G%rG{MVsBl$9w}{7*xc@VXyXswOgdYiMB3Q?LZyUm2A1-0D$A3XUwMZd z7;o16WabRyMDbFrj>c++N!8d4RXAsiD`(lZXD*b%U=UFZa#6pzS4nUA@FTA2DXP=m z5NWT4*<24O+?WJj(#U%eouq5`osJe^8Ex$|8g78T*RbLEOhR}NE_G%s*aBnOJz(&_ zDJX1Kr^&Iy!H7s{!vxYj3q6ges*mfLV(IZ-WhVrgf}H+n|3(S5i|kbKa#z_P$9m~P zXlQs_3k5gp5GplVRH7`-)j9cN9}d}?%N6Y7rV50!o74|WLYv+Eq3=6Q?e-%VE zDzN?ZLPzf`5L6eO85Vlm&$}6rvo<_Eowb=w{M1XK>e#aq*MLm^7ke zpH9bsK;2}E4-H9a5S9d~Bs!MSeW28h1Y=ZW6Q{!(kEPcM>oJ+&_BRza<3ab?Ey4WM#?$qV z%ZgH>V{@|U_=wbEzGq@KW2!pPx}fk%vW>Vfn-5f-;#=pwLtuA}4pFSq=U;sJ)mJ#! zv@{a3C+@Spc51r1(~4Ju-pfcS5vWV}v~sVggP4kSDk49x(U~wgKsH>A>wUV9*%sxF zNVF7{^@?xV!P9F=VY6qNpGXh-qr6s)|Z22KFRKrK%azzOJEgI?9ArW1vyOkwYR`Kkn@3)sLLP($EjF^ zQnX?pfd7+lOoBw;93>*xEh$0oNN=+c9U4QSj+5Z4smr}fW+dA=Fh-H<{tHZ)VL#5xyZ2qRX9$hA&daNs?el>dqg{UuH8fC~j%yD%(WC?XSCSv@P8ufi?ofR* z%B+*c#reZa(WN?@N!T~rF1J#AwOCawC?`Jr_Pg(Y`0m?pKm72-3I6uuN54b);>+KE z^@l%v_0=COO4bGw8F!zco2LMUt2m1w{~>?~HbP0agQ0La0FK!V`1sHfXvR5?NZ8`Q zM40p$IO`M`b9I_vUfVPn_?{#S?5EN5RM96!f9&g+x^B%5;-3d<2uthoTJUPM<0li6 zCfGFe$sjo<;jNrMd|ukI10+BJZ=XRmnUCQ{9-)T0yNp{{S*b+11H@4j}8 zXzKlO6`Q-R@bUJBKGtD9&TWE6xdd$}VqaiwJocJM@lz>I-Yc%239`>a=nt{zk_C^! z)vwX}exjh^O*{T=aEL`D$ucSIPl=?aXO7P;xPpAM&duhk0MEF*sJM8ZjkHy4<~Ltg z3zm!>x_C~uzih7Mi$DM6uU!7}=Rbb=x4-}6tE%$*f4aZ@fmi7tUw-kgpMLj)NHR}1 zyk1TkM1eDbg2?FwP6c6fS~nAEV1_7w#x=q!u;FBU6qDw_#DImiiX>PLnazOBJwCptyc* z-lX1r$<-TwMI=7Xfx;{tG;(l^%MHA}@rFWHj5?mV6Y7FbHEfVk;AIt?uL1%R*a>ao zdRkJmv!nV`>co!j?ZX51mt8@O1qoorF6q(UG-7tic`LWx;`NvgH-ZLQ&L^*ORPKT(z{+KFB7bZB>Gi~t6yn_4# zq^r(mrUhL+o>z=`&*1URIA4qN^Or8o*~J$OWZ`wFzC3?Z%HRL~&wu^{-@g3gpTGFx zU;q02qwgPo``r)UiE`ALiJ+tpF`F3$KJ=AL9H&m(bd(Pgjm+i%na%4sr>J1THn7!R zzArUw!%BnMtWJ~0F*rKK*&CilFThi^$MwA3tWh@#@Bqz-!b3Tge21Vel$_+VJJNY* zIft}7C$D(kJEY^B1_u*c^Y#M@51S{?SynxjQFDlD76T@I-QQUn;9y}9pxEr@L6mf} z>ACUP&8)~wU^DyX#uIRd1(@qI77}iE=3z5y3N184jK?81)yBE$LTCmW~ zW>J~ucpAqNMc}|g_RUYC=jd5gW#8O7V=wnr*$f6?LHgPq^7hgxR^Zt%P7oa}c%8YW zhGrEN6=#?8zTN?d48p@)Af~bzdnsrC7`L5U;k9cH5x>NsUsyCW5@s3%__robm0U7s z0ayPrkOHm_-?-f-Vsi4GZ<^a(>sdDkXo!odG=vt?eQw(Y5sIUV&9MzHt;G>aEwCVX zLWA}F>9tFKT@Q0h#qsdUFnC8{!i+r;p_T8eZ`uXkCKeM2GY(Xj*P~yDo7}TCq=Ls@ zg_(K>PQ9|u66f7+yLn2>FTco zI`r|U*FLCAdd6IxW)rw0h+hqGP~MI{iJrq##TJ@EuSwI=1i+{^)l?l8F&2}IbO0UW zXKO^q`qOURobBA2oXRJY25jEVo@~3!W`m2_%%eRl&i2Q36SDS5)zuuL8vL>lkLwM_ z5^Qb=K>@c0-cc9qJd@saYeOeio~;q|a+q;xA<1_%^3KI&=7UAt zS^~c4wh|p2uSpN|#PMC419;rou$DfVc>R6&Yi2V)@E8U($-0rO{o0lo%ZWWHkte*w znk5haJfST=908$3c+GNQjAl<=JMEsuxbX*X&Q)b zQH@*HR~`X*;ufAFyQPA6X3XXQ9d%+hD{p0Tk_qJ)XO<1Leg8W|w66F7ZC~auKbP}R zDB@$R0{&CiLPqT?W^~eI$_>7fB{uAictp+4~a}!Ex2vq4F~(m1{u7|IT%?Dz`?rt00H%ryA)-yQ$~h!M8!*-gt8UB+f;Li zT<`KPX@24Fjp8#>YSk_$W1ZC#Z~FyiA`jzq#7m1#Sqy+7r7qK{pET`NWX}(ip~qC| z!6|<#lcv@3kGmyRy#DgVtZvGYGw{=venBT(nNm!xz%qn}z_(3gw$J%S{e(w|O=E*`L)24=+6@*gRsyb^t?yp-HCu$4uw7!VZgJymKz z4sK_;+ErTA3K_%kq>rs;FR=%0-FXoP8VUc4di#n7iSSHW4_>OgbMXCMx2^Z4CECj1 z-Q;dKT;BIHD`GpVk9qSW1igA$DK8m3dvJk#cp6jp70(+wv{XQ*W7!a!ZEF#WKp{1! z7@^-Vyii$OuxzN+Mm>g}EXW>VmY1pq<*_LLFs_ZCxz5bPu2znNUPoPJhsxb1?6u@W4^<08{+FCOsuZ7&<4L*+V zqz#nrRIXS^f$vpHAcUg*R*t%Jx3Z!m#lF}6M#zN*cI@;GXF5-aYQ#g~;0s4$7-S}` z;wl`yp}Iw^&WQB5xt8Qp(!o^`3O8^>>7U4@__R2Z= z`8kDSXkQ`PvC(PD>)q>XZc^)md<+|urWJL&e98t*9(955#omgLV(JrKI!U3S(-KuFoRgPV zv~0MAUz+AG%_}G>oQG^3bmz${K&DvM9F+PHzd*_>TsquLC^dwLQtw@2>iwdkF_)H_ z1N|Mfx0y@LW^;L|xfJI?4;5m6g$HOf#1@~R!wiWIg4*3#p`*jD(4fw%Dky~@#-Y&4l&Y+~XOsd4WOOh+IL5q%+p`<#{OGkbm}V zB`P2U`ud`c0+}Jed_38yB)+`NrCw|r2^cSUY%pp%Tn#jr29%nOfq?;~jGmdSHm>ks zVvULd9Y38B<1xr6qk!kxe0|H=CLK_!1w@TO{-nUA2b?@5^wKF|Bo0@yo+1Zh9zg0e zd4=4ApgfJ9r>e2xmR3)-xwYDqyllLrMjq73d6QFU%BTU#DtdXv?i*s~um8usS;A@2 zMRE9g3HO2}+_h~ZQrWun9+3Ap_jizWmwCo#j-M$b zckcR?H|MTzZcG@k;%C!-D%SvvdhHr(I1IT&iG`oiNJilpK#hGpTay8ZSQ9Aqa#|^` zJpmXYq&VRqdd1#fi&YXmA6 zlZ1hU;K=FvXP-KfQkG7b5?-DrqjEt~c@ZID4iq7(=u>RKF?s#Hef@!Wt0SkPVzf{L6NIT&-OK!F4-QBG00004{eRt# iKxGU7000000008*{e_BxExQo_0000jM% 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 M00IPrkEu`qJ6TNOlmGw# literal 0 HcmV?d00001 diff --git a/docs/advanced_topics/customisation/page_editing_interface.rst b/docs/advanced_topics/customisation/page_editing_interface.rst index 90dd4f972..af14ef324 100644 --- a/docs/advanced_topics/customisation/page_editing_interface.rst +++ b/docs/advanced_topics/customisation/page_editing_interface.rst @@ -229,16 +229,42 @@ Creating new entities """"""""""""""""""""" .. warning:: - This is an advanced feature. Please carefully consider whether you really need this. You have been warned. + This is an advanced feature. Please carefully consider whether you really need this. Entities aren’t simply formatting buttons in the toolbar. They usually need to be much more versatile, communicating to APIs or requesting further user input. As such, * You will most likely need to write a **hefty dose of JavaScript**, some of it with React. * The API is very **low-level**. You will most likely need some **Draft.js knowledge**. -* There are a lot of ways for custom UIs within rich text to go wrong. Be prepared to spend a lot of time **testing in multiple browsers**. +* Custom UIs in rich text can be brittle. Be ready to spend time **testing in multiple browsers**. The good news is that having such a low-level API will enable third-party Wagtail plugins to innovate on rich text features, proposing new kinds of experiences. -But in the meantime, if this doesn’t seem worth the investment, consider implementing your UI through :doc:`StreamField <../topics/streamfield>` instead, which has a battle-tested API meant for Django developers. +But in the meantime, consider implementing your UI through :doc:`StreamField <../../topics/streamfield>` instead, which has a battle-tested API meant for Django developers. + +---- + +Here are the main requirements to create a new entity feature: + +* Like for inline styles and blocks, register an editor plugin. +* The editor plugin must define a ``source``: a React component responsible for creating new entity instances in the editor, using the Draft.js API. +* The editor plugin also needs a ``decorator`` (for inline entities) or ``block`` (for block entities): a React component responsible for displaying entity instances within the editor. +* Like for inline styles and blocks, set up the to/from DB conversion. +* The conversion usually is more involved, since entities contain data that needs to be serialised to HTML. + +To write the React components, Wagtail exposes its own React and Draft.js dependencies as global variables. Read more about this in :ref:`extending_clientside_components`. To go further, please look at the `Draftail documentation `_ as well as the `Draft.js exporter documentation `_. + +Here is a detailed example to showcase how those tools are used in the context of Wagtail. +For the sake of our example, we can imagine a news team working at a financial newspaper. +They want to write articles about the stock market, refer to specific stocks anywhere inside of their content (eg. $TSLA tokens in a sentence), and then have their article automatically enriched with the stock’s information (a link, a value, up or down, a sparkline). + +The editor toolbar could contain a "stock chooser" that displays a list of available stocks, then inserts the user’s selection as a textual token. For our example, we will just pick a stock at random: + +.. image:: ../../_static/images/draftail_entity_stock_source.gif + +Those tokens are then saved in the rich text on publish. When the news article is displayed on the site, we then insert live market data coming from an API next to each token: + +.. image:: ../../_static/images/draftail_entity_stock_rendering.png + + Extending the WYSIWYG Editor (``hallo.js``) +++++++++++++++++++++++++++++++++++++++++++