From 512ab2d82f92771542e8cfb8faa2cf4d76240035 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cau=C3=AA=20Marcondes?= <55978943+cauemarcondes@users.noreply.github.com> Date: Mon, 16 Aug 2021 12:44:45 -0400 Subject: [PATCH] [OBS] Editing navigation docs adding badge information (#108530) * Adding badge description * apm-new-badge_docs * adding warning * addressing PR comments * changing i18n * adjusting docs * addressing PR comments Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- x-pack/plugins/apm/public/plugin.ts | 6 +--- .../components/shared/page_template/README.md | 32 ++++++++++++++++++ .../components/shared/page_template/badge.png | Bin 0 -> 10163 bytes .../page_template/nav_name_with_badge.tsx | 28 +++++++++------ .../shared/page_template/page_template.tsx | 12 +++---- .../public/services/navigation_registry.ts | 4 +-- 6 files changed, 56 insertions(+), 26 deletions(-) create mode 100644 x-pack/plugins/observability/public/components/shared/page_template/badge.png diff --git a/x-pack/plugins/apm/public/plugin.ts b/x-pack/plugins/apm/public/plugin.ts index 32eed1cf53d8..1644e5ceed8e 100644 --- a/x-pack/plugins/apm/public/plugin.ts +++ b/x-pack/plugins/apm/public/plugin.ts @@ -95,10 +95,6 @@ const backendsTitle = i18n.translate('xpack.apm.navigation.backendsTitle', { defaultMessage: 'Backends', }); -const newBadgeLabel = i18n.translate('xpack.apm.navigation.newBadge', { - defaultMessage: 'NEW', -}); - export class ApmPlugin implements Plugin { constructor( private readonly initializerContext: PluginInitializerContext @@ -131,7 +127,7 @@ export class ApmPlugin implements Plugin { label: backendsTitle, app: 'apm', path: '/backends', - sideBadgeLabel: newBadgeLabel, + isNewFeature: true, onClick: () => { const { usageCollection } = pluginsStart as { usageCollection?: UsageCollectionStart; diff --git a/x-pack/plugins/observability/public/components/shared/page_template/README.md b/x-pack/plugins/observability/public/components/shared/page_template/README.md index 104b365e94fe..acc1d8017063 100644 --- a/x-pack/plugins/observability/public/components/shared/page_template/README.md +++ b/x-pack/plugins/observability/public/components/shared/page_template/README.md @@ -44,6 +44,8 @@ export interface NavigationEntry { matchFullPath?: boolean; // whether to ignore trailing slashes, defaults to `true` ignoreTrailingSlash?: boolean; + // shows NEW badge besides the navigation label, which will automatically disappear when menu item is clicked. + isNewFeature?: boolean; } ``` @@ -140,3 +142,33 @@ The `` component is a wrapper around the `7xs?qV0FaMJPDN4I+JE8y>@_VVsTA%aX+LEEV5IsAK%bJ(mc*B5 zpeo8UmHOa_G#?m=nnGkmq*22nV-t?FT(IyE$O1pq3aZIB2cDv~J?wVyos48<*{hEE z4P`%!XJG&Y0^hu_=s5svhkr=;`3dmRRFm`7Jj$tm^k)QzO^0Grb8T%z@efl^MyqQ` z6KNe_zLdkY=jZBz!7Zg0fH)&+=~>ar%iv|)SG$q4oB;JOysmxtbdPBJH_FMBSk%Jo zeWV1B;OOZ-(n`_S1mvTV3zz`mh@SWl0C6Yj$4hTJJcbI_mNcK0!Kmo3&6fu?b+@3-8bEx4~AP%8o?_!qB^IqZIT0$ag zZiPtzg90U5jBEw(`QtB(ols`|Bwl8xgpl^LTgMjzQd@NC%wSqI&Nu>+D&b5KX48b} zkZv3BYf>S%guAJ{G=-FHS!PJF5@upz_Dw6zBZ}hqmr-Oo>SS zE%l6es4vuHCz4npm=vBgJ7R@jG@EsENv%{!NKgol-OZ2wT}0E@GcUBsD&;%fIrw#F z!+iCuwDXW3fOUB$0JM)Wch(Rv^8nZElE9q0t#&(MCPpHTXzh>g;!nknr27qrnz16(OGT1xrVx#=@RWrFST3jAL5lKdhwD3qBlMsU_LQ%H3kmfV^v!*su8M02CwTx?? zU4E;E)MqtImW;rX!sCh6pXx3zGor?%fKt^GdighnnG<`HO%ozNO)mK`Nekm@dp%4R z(xjD<&EZNAwE`BSte}S9R=O`uR?TWbWOMk30a(3sCS0{qwUCl-$q&!u2 zdJjBmG~w^m-vz(FmSo-#%#UMNoS}S+?-O1NRo+B5rLE2J2)IqV)s>OymG0F7H%6)# zs~2nT)C|!kzfM-8QAxmxkWr)>RDdWv$lDg76g7R|Tns!?Q>7aofDATlJ8ze6$CVN4 zcD=bR2i0>Dgeo4{h zZn5r#u+Egt2^P<)NKLX>+PvkpeRa%m%yxXi9b`3P^=MUII;++u za2(W_)7ZuPzD>JL;vx3h;#I5aC)JcO7%uKV-%Y%lDm?H!bi7i$ ziaijS3A?hrEW9EQm#5JYlU9ff-GamS4{?k6qs(JAA>qZ`4@4&pg<=4TV z(UTahFR~TJOZ2A3r^8~dVx(er`r4v}V&qg_u{#$Rj)8(C^9>b-4b8qe#8>dR_dZDShD zK^FS zI?6nLFOVicBV^<7)8Tga=Wg0@bN^XWkF* zs>Uks`BzmpKN#$|e(1I|wE4K+IHWeux8ZzD^DO#kbJ5(N$5}uEAxRbH$bril7E$}? zd+v0T;Q8w6zGrz%X!ybZ<{RcP=_9F^`Q?4ut%JAQoy)_NkCu<$S<%%JvD)kWSg!-GeGPa$n4AzCR`Z8cMvliqS{SHOqSj**tpeedm< z5&zA(@DI<$3)NA*%<*(T7NW$APai3-Fz6GsdPo(_N^O^Yr zHKZ3P6DzYLbD~REVZ+MHz{c|HH`{hwEB-9L!eEEaYPp+l+|#>TpFQi;Spz*k=AGns zjLt0O3=egoZM#D_s$$wtd7#YBM(6B@)>ntMhcbsJcBjiVU5172dF}37BQYwOKQk5i zI+lg~E_Tr8BeM;{4YmzhncpxOG-lWubzLbX=N+iJio5pk{v*L_H_<>j=j%D z78-W*ebTty`fWtjmSN3e&E#h0zIWo=N$;!HuNIwaeRJ@Ob@{+M%XUYGQ+1^dqu*7?Z>1JZ96-Lez40?|+~YziY{mNcb)W0+#+S($ zV~SPOrwd9p%q5)Nl{A&+&uX@gD_1LH=#SKngsi;l?vv)exRyqgMyWB65oVEE5j0_C zkMb`si+25-`Ub5(aWfAeQ(>k>sEP2 z-1MGI=!Z~dm6xG?%Z6uR14MRyKhu|Qd=b z>L}WM)1DnJH8#vfwx;M0)R=M(#47J*@8?79ZhmQr1c=P%^a^{;3?KX4WnMM`eR{_S z$C>YA?ja~yD5}`VIIA8UdopWEXTy{E32QvQYu7^uv*UiZ&yKeIj?E_x+YOte8BK!r zHyzGC^P>1X=a)WX50f~>6t1Gbo}srhX963}&p!i!&A{aMm0gX#7|++B_(Jt?0sOIB zCVxpnRW+3LQPB@#s__1SN4QV{f`_YSae_6(EyO1RwWIZ|O>A)y(>~ody5xW`yaonD z@lgu@+6IO>if?Reioa9kr;W1co#H@(0P$ZORapJ!`UER~bpELk5<&qe zFoX{)9(nNp%Z4+}L-^k|;IF2HmXv}5jHG4e1P0qVTiUzih9;Q6I?x>C^_>BL7qov0 zoPs9JDQx^%D{YVqNJUxD%-)vG}=*_<=|pv zZ%6rOToY4!R~Hd#>OY45ef={}u!q%uEZI5#%Pp9Lz&{co2OB%^-($m6h5z&ls#|%0 zZS&i|MpG%7sHX&THr9b{>mV$Hf;4ryvfsmx zG}F+`lzLE;qjw7HN-NA57ta~{INkaLG5fAN##`3BKAs$>{CwBsJC?q-aw9PAIdaFDE|FcSP9X#g&+v<>BY@7KRnaanQP z+UQ^pblAM$;Si`O!xzNAMOpnrjrONBB}F?U{5xx8NfD@bcF5OCeyjD8(NB~ll_`{(hxJUxY*`HtF6c-fw^qWK zIPm~JAob?C?>E+&hwEV{TPT5A9s0B#tH!rWjF=Z1vpldExW;@YIVq%a5ORs4 zG!ZFO`CzlVQL(2FJq--+T@%ld_WzC-x0P_dy>ziu5G6QAV1h2vWfd5Hg;_)LP7D>* z9wgRmO|Ik7yQDr@sft@`cScy~LxWg_Qh^`Q5*N%Ft{aU-kTBpxMjR}GjPyu*R{k{th4b5wDq22-|Up{{Pl2gqMg-ANfsK~{P zJ{-iyZ_XPj5#a$v1w!q9q%1DYT)tXrl5#kWV*u6UWvosln?*$YTu&5Xf`B+My*?LcJ@I6N`V8(P{6JAJsabZ_7>h}P*zcyb$hrzHh3wP6HU?g z;HZh6Ch)4m>qfJl>w^q#t;qzj^rNFAv2?}zc4r>EVS_HG9W`$I$w(a`H_NyX4B`P5 zWIuFj-VuX5CF)M^XY7*W@DJp*j9Pf2tb!ITUyvRO95?S}%n7!SLN)2i*hj~l2SJ(b zz~N3Ov)|`B94q-E_|@;eZ6eevXV0#bDrKnoqa0 zDX*&GWv-rk$|r)k5ovgRzk^0yQrYZs5&(tLq@|@%?u;l@wt4-&=W#oUl`_@DXM5in zD2GGQJ+gx7dN?Cns`^T!?t?<*@1&vW(s4>&H)b}YPE7PT?Jt_7@8`>qyu7?B(Rz+> z&vO0V$t;x3dXvRTAegXKD(Tz(XpO-l=cPV=^jv9oBzW(mgRMJTG0~_30f9gaDlJ(_ zE-ww5Y%N^ZCJRqx6-izTrG&qci{0G*qQ%a~73As)X?Am$s5R~N5VM6hA*RUn5AJwy zkoo>=r#$tuRw?#UqwVN*ZZ^r;ZxkGdpX*dbMOnS+T#O9rH2|h0AdXzWu7iUm{F^s# zY_iE`jEETvfVROPDtl@Yj(~Kdb%B z@ZmljWm=}J7-v}V@TO4NjWHReL&DgCF65f9(3bH;P2>9+HhTqqiKr*G3 z$q@)XjEljRRY)vo&moY&byS`3a$ggcg4!;-LR*~o)caOmc0K2umGo}($gPW6apIU* zE`J=D>a~1>m)R&O&22uyZ?keqVLN(+U>v_4p_TPke^mxLUu9%A*q+&BS8KP`7u#K9 zvi}T{Z!uTlr@L3v#V)6dyI&=j3d7cj%1`VrkWpf{_!T$eX8-+lGnPYtu~MqO(Vb?2 zG#X19MKqlX8S|`RNhSrtiU>)k;TK%rsb+oJ!=F+nr=Luk-A{4~EL!E8fkt)m z79T3qsOco5Z_w9s?C#mLHQmC~`aWycMVsrrd%iDMOj~N?D`!^VH9!3@!(ILDSibpU z8;|U9yRby*bsL};J@fN^LY0yKaHPI+Dye?Ct4CZU<>n3G5JC9@5ighD5kI@_v)vo- zhf1#9@dpLl@@>aP$QqtnuISD^I?)hU92*ahN{lgY#rv?2SDYV(BqW?`K3Jiis15cg zCNoj7vZ}W=JE9QrN?~s78?FYgNzDS2L&F@nEIw>fZ(6!Ww@^_SsEhNQ_;7>ti%TkH7PHy$?+FTI|0_fFP`+k`- z%@twvS!J^t^#)8a68UIMtD{*QWxY+-#{yqasmIVhp8U!@j7ST&9$BE^*O0D^5f4JX z_O@_&c{0@-@~T%sA!i=3>x_~*C2DHx@mE`Cny78$3N!~V9Kbya8Z}22SMU;@^H|YL`BznmWLAu&oN$Y2)QUfOC<9^ zzE6BMkrL&_TRGjx$r|9ZH3a%J&!n`K<8d(l_<>>^U5(SF<8*bv_E>3WivqFAe+WT}$|I(;Za1pl! ze~>Ba{RorvYrP*EDOYw_o!#5K9otM^*El$Ronm9`0zS-3sakL>J6|&-?(P z6MViu1kN-;2Ktrc!-HgcBiq?92%qv=whI)XR|kB?CyB+yNSilDDWkWEo3kd&dih_z z`j*QkQ!`dDUBiW>PH3q3n+ zRA?hVt8(2ud14OZn=f!t`&VmmiDn5>AtGInUtDLQ2ZlRG8qfW9#=^7cP&Q5@d~-Zm zD8$0TvI;J1$c}y9HqsKvy?#%~pzc4&!BKm9NjA8xQ7CI#)I^-f^ZvES$6&2eZM2L7 zO?YM1M=N~Ci``KgwPs?mzC>c>)f#iEI=cyVqWakvb{b1Kq=GMn+>So1dT5${Y=*s) zQN<6l$IA^mZd-NANpo{^3!SW?hkg&XB0{#GOg9n5Fv+&ZmXp5!XmdBQSPL)bj%e1u zNO_d9m>)aNV~^;J>I`p|!V&@{vxTiA>Qv>uyJG?^`(?d_SDBYq1~K**Nx$s%_%aa_ zn}X5L)sjnC=RpcjHsr05H8^z3PD{qP@p+g!9F%Hl{*rkf*HH@vB?X+C zDo+(Q;R*JJSD2v38$T2TDSkv+-;PnT8LEx_!Cs-@CEAg|&DF-UF*x(1Auy-nN&j3 zBSPlXN3TT@l8Ks_ri#j~Y>Sw!wHY*SqoiB4W$g?@SuM0n^QO06Z0=;ve-@H+4Ro$N z_NUx~8~N47BewCamyiyEQCbuFvK{uFhVxkbnF0GwUyHBSJ{K{rl>heZ7Ip)IRw=+Y z4_6f5>M!bYaxUX?g}GWOSk?ginNAtcmRPj)ZpWIvJkQOah7y&BIO-DWsZBGy=ErOq z3>s}hsTf*h6sm4m@ixjO&WxD^XiWvSCCrM8b4JhIg;Aep%jZ8?Ayd=6G9kyuk30>R ze?3p%VaUSDdK#64SZUZ&S1~lHwI;0`g`uYS4GKyweP67tzyGUB44s@<8{^G~UA!)c zbB6Te3wsm3c@)CuVkciyhI3NVeBDp9&a( z=6f(6U7>$)YxTyHu2ACUicO{uPfJmW5GtK3Bl&Fb?28}qh3%`D*EQxWq$rGu0eh)U zPi-c_x1lmHDVvYADl(rjZd{Q%husmM-lKI@r$jkDngN^-%U$bT4KJtS`AAdUyG!t= z&!15nq-l7h<@&!38xRSVK#Z_eUe%@1b_`aySmi{IFyb-abUOF*g7kG%a^km!vRHoHh-PibWpgTpGW8F{K5~So4LFKJy`OesBx06~0}~;Q z;mtlV_oP*+gAde!#r$?uW;!{NbIkT~HYxI5d4#Q&#GD~K4?bJyaecOF?GApJzR_#Y z?Pff#v-L#+U%v$-bgNsXd@Lhk323XVwom&r?7z+PGe;DP9qiaM=+DmjIMY*|Nbg0T zST_+duAzpu`HbTiOGC5hP$-t8jErNHASHS)6dXOYj$aV3frkq>-|ZAQ%wLtvKt|L{ zD~p?jNA4zqua}2Hl-w&UmTG zhs)KMs0_E;T&6klJJaD|V`IxJsA`+)%E(f&*w9i`>%T(cYkC^WTJkvGM*Dc_&>h!g z=Xi5>qG=3)lw)&Pt+jg+IPW3<*(eCp2@4bUtb}Dm15c!{H&u49eC$?2D5_0QLuG{R zj5FE7&rfx#2Jh}fKgx|tJptpI?U$hfpodYomt9GH{q!ZQA&EvtcJ|7`fxYkTx2_W; z2-q77F`9W-yIz%h-ah)~e6}>glR#-abzGUD{91JaJwB=P`&N@iyMmoE*Yf^T z+|F6sEx-AQ%cb>X?DEGPGS;*r3&A0~4*>W`bO)zTAP zD~ce%rVtEg(kVLyZ4r2Z7MJEEOJiSYRK7h!2<}Z|h7Jxgo|5bjrXDU8V>H?>8}3RS z4a9pWU#FMZD6vA7i?}#B}nx=)_s0+S}QJY%t3PbIlqV+4fNv_OZH&{?k2Nd_4oOC z3gzfUyoX-8%cI4hWk$w5_U~qdO?yaBSfZk#3JQ;gIxILg2NK*rQ{ zLP27M!orXQGGA$Pr|`LN-Td{VZN=~413Vd@-H5H0}B%X!{JQ%xzjbr;S>wTb#{% z#;c_r77GLfo)e{ASnBGkPDN@G--gdV9L^oTviX6J!OYA|n?iaJ1|B#so+1wp>wb*F zWMPEb_;KAlB6v-AvNq_5grw10B(s%!%!XNn<$we|5|%>t+vc~1F=*}iZ0fw~=N33O z2!i-KkYRy|XMr8cyn*_5YQdIYSm0D;%9E9rAjo`mkWS%wcUgZB%4X7Bpku?~@o~sa zYZr!Gf2e#{TEOpzEzBwl&l$;)zN0J88f~IsNg?mFHtkVt|DX;8)!e5SUe~{LmM|+^ zyWf(WpRrJxbKsRz)fOYw_Z35`&G&u%iv;@J;iE)<>q#+ovzIoNVUjDbOmTwjHH-?`zD1nJv}S$o{t|9-!i%P9nZJ*yZ=xNFgI zXlK%UEFfUFmZUb>D6v2HN!Wf2h*m3bnd5iN41`v|!+yZHivB>0)G5AK(MKE;A$*$LO z=%FmIhY6=Ba`_c(wY$e?p`05^%2hJBe|PAoeQCW<)S~}+c8G&7d%r) zoiY#0xR_+mcdWO#HnBQQ!>PYtW%AkUh+30%Y1Hud#YT8aes|>M<_8U%c0YPrE;q&m ztYvi%w3q`8`kp`a|On%yL(h4w6UM6urt(lu$G9s)_4 zMN#$LojpeO)0rn~%x&%Z=_q=>H&5YA*CoI*{o)}t8&dncsqecug0sSL{JR@mEdH}r zBwVm1Zrt;$9}bmN$58ZikAh?cip;dYDnAvkPdWDm9o~di_!wQB54TRJB$bsl9m>t@FOUNB1ed^ng@X {label} - {isBadgeVisible && {badgeLabel}} + {isBadgeVisible && ( + + {i18n.translate('xpack.observability.navigation.newBadge', { + defaultMessage: 'NEW', + })} + + )} ); } diff --git a/x-pack/plugins/observability/public/components/shared/page_template/page_template.tsx b/x-pack/plugins/observability/public/components/shared/page_template/page_template.tsx index 5a9b07a15d71..965e5dba6a80 100644 --- a/x-pack/plugins/observability/public/components/shared/page_template/page_template.tsx +++ b/x-pack/plugins/observability/public/components/shared/page_template/page_template.tsx @@ -75,12 +75,8 @@ export function ObservabilityPageTemplate({ const badgeLocalStorageId = `observability.nav_item_badge_visible_${entry.app}${entry.path}`; return { id: `${sectionIndex}.${entryIndex}`, - name: entry.sideBadgeLabel ? ( - + name: entry.isNewFeature ? ( + ) : ( entry.label ), @@ -91,8 +87,8 @@ export function ObservabilityPageTemplate({ entry.onClick(event); } - // When side badge is defined hides it when the item is clicked - if (entry.sideBadgeLabel) { + // Hides NEW badge when the item is clicked + if (entry.isNewFeature) { hideBadge(badgeLocalStorageId); } diff --git a/x-pack/plugins/observability/public/services/navigation_registry.ts b/x-pack/plugins/observability/public/services/navigation_registry.ts index 7e0c8b304c07..6efa1e014c0c 100644 --- a/x-pack/plugins/observability/public/services/navigation_registry.ts +++ b/x-pack/plugins/observability/public/services/navigation_registry.ts @@ -30,8 +30,8 @@ export interface NavigationEntry { ignoreTrailingSlash?: boolean; // handler to be called when the item is clicked onClick?: (event: React.MouseEvent) => void; - // the label of the badge that is shown besides the navigation label - sideBadgeLabel?: string; + // shows NEW badge besides the navigation label, which will automatically disappear when menu item is clicked. + isNewFeature?: boolean; } export interface NavigationRegistry {