From 68586f46503fb4a4839abfe2ffcb6701260118d9 Mon Sep 17 00:00:00 2001 From: Dimo Dimov <961014+dimodi@users.noreply.github.com> Date: Thu, 13 Jun 2024 09:26:57 +0300 Subject: [PATCH] docs(grid): Remove Save and Cancel command buttons from Popup Editing examples --- .../grid/editing/images/popup-editing.png | Bin 11112 -> 0 bytes components/grid/editing/popup.md | 39 +++++++----------- 2 files changed, 14 insertions(+), 25 deletions(-) delete mode 100644 components/grid/editing/images/popup-editing.png diff --git a/components/grid/editing/images/popup-editing.png b/components/grid/editing/images/popup-editing.png deleted file mode 100644 index 1fd3e8afe75ae57d8138f18adb5583ce9b0be704..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11112 zcmbVy2UJr{w5~z|2{j=gMU+sai}cDjb8?bIeO+}*GA6PsSFTWMYN!}qxk3aG z3N3_~(9;3$2_-cC=xZCRhJ}SiM@QocAA7UV&`=Bp6BHC=YioOaeC+4v=j-bmEzB<> zB64tW5D*aH>FJ4gG3)5)SbCgdj~2l@njRe;iO8G55p>?B^85SyX5JXQlNs6`^Xu0y zjJFv+F=l6H2k&MkFCrfi5kWZN8((g1ZJ|X(zN962VKCldVIpXIeDMlnYg zgTJ^CLePoI8%771;G1jZO}(R?)Pw#`Ef6kjqJ*Gx4#cdjt@#mV>Sm62H{09WL)!-i zn22CP1N`qP$cc-<5n>8vJ|ZG$FH=Pm5jwc4i?N*W`1p8qq_4k|kzZ)2kZDjj!M(rN z$}?Ec8G{y))Q}RTL(mNl4&v9>!Z6H?Cfj~S~|sh z{vxWD{uavm9+C9ivf<(3ZmzC)4_hTs2|Y=XrlzLa+S=$aTZ^D*4GT{=Jsf{X#;$ z?neh$7#bSt8tAJ?3&9b$;Izzq%-1BBLZjWy)e8y=Xk_k3dm1R3csT2d z>ney@C<}3Mb3c6eP?nzV`}gno!8bO+7)M+CaDQ8Q5wx+cyrif|l#-y63SDYys)&T% z^z?MFw{w_{(%jr!d3ia$`gwr6rI3~}4ZD^IlEK0cgOBiww(?~~yP4cImQc}9R#S)) zmc=hG_Vx8uRaN2h(xZIC3>*R?gWMIhEiEkWNr`HTN-5eKD#*&o==0Ed2Kz*7J4Z_z zhMUT`>u`nm*%`UoscC57w>I%3Z}DBN002ZQn{q0c@++u&hegY(-}Nw(g5Q)pJw3&j z=JOi)+7Wmtf@T%f&=f`DPfwzp!=y#U@okNf0YR>j?)V@#BQ*%FP=Te3~dhgmT*Hb z-xd73f){^Uwr~cwHQ}ub!(?PcWIkLh;K%QOp-Dn&g6UL7W60Q^6Uw?G82+A6{5h1c zQpvnYcUt5E0fJp_{>53Zb;;L9 zi-AcT*Xodm%2#JX9@53Fkbb^sq&rG01@wz{`_;%8sF>*DM&Gr#$8Z}Rg>QrGN$9jm zY{7DAi+xelH{%9lsJA3(tWl8(YBbhZ^v5OGlQ^<_dFjC1QbcIlZltxU5XHCX=iGtX zsZ8H4sayQ1sdJWk()IkEbke3evV>3P`Fr>IJ)(WPKYpG6toTCY9^Eye5f()?OH@RT z6=wN-`5T$Zo4jR8J<>y7uWHLt5{;i^#WKbZi>1hq?h8&>TNrfXA8ua%Jv5KTs?2o0 zds3hNBAF^U`1?S#&96Xr^I!V0&ziaVAbv|Hok`7gP5hH?9IOm<-P4<)Yj@j$;Cf#6 z>i`+Rm(=%tTDFyvN3tq4{O}DovG?@&+gj^i6g4p$i#r18q(Lh~4O5|Nl(eR;LGnBM z0pH2ox?thY#OsznB-h43Sx7(LNek=js&UW5_`qMD1W81^G%yR>WNKF8KXe=r8yllD z&PuYbm(yXadD`{_F!b^1Z)+6jmu-(6k~G_>s;zmv=QNfi6e zbjUx3Zt)8#vDD-j19J71MMI;8d-FGpZz^GZkacy(0g9b{o!Ra;$Z*!ra-Tn4+rB@Xtz2uB+ zJK#{BQ-hlFA7lsq_$e|2MbmUs>eY~SmXuC6A=Nx_vhVK9TXi+oUM**V;MwOC){9jquUeRN2>Nmgi(prHL$ zK0mJsVcU5jXMw#B8&u&q(AO$tnp?3|itbPdfHx!8l&(VBQ5nPFlsZ^Zkfx{s84XC2 z|KIwIVM3(52?->;3Aw~{Dk_9B`dASBVJZ`Rd2J>ogsehF!_TJ-fiuC~P3Op8d&>A* zLLa5VuaCkJAlR-EV6G9MlTXRe_ygy&Z2sQcBZX&e-Q%O(QPps|=Iizb4Zk-ACCRdf zQ%0++kOz1&G^>-Yxh3zT^@EA+fr_;w@Vz2l015~{PO(gy7;hp2+p^?A(qGN z)vqfYHypiJz6m@Hvzz@j+CA9PlbTt;^$ZXn=mx0v>O&)or*r2AiG72{^(A2=DVm0Z zN}BJ+hl%J9Z#m1~7p&j0UwrZ*l+wzVl4}ZJJY!x6K{(^NvDEcwLNEd8@X# z+~Y)LK?Wh~6;vUfYh-}w`xAf!yh3U;IlB{mV38a3u$2P5B{1suE+yP}vLe@1&}H#L$WK*UDqqw#RmhB0_Gz-bNRbj*$hO!;out^1OaTT^4y0`G^2FX zZ>jy>+^Q;hBvgxBc;^dm+y617C4XZ$EbLYt5H4+Kl}lHcD%!DRCG~EHk`*;~Ref{f zc5(04%dWC=O1fsAD8ostRX#u!f%of;^;BpxRlW1>^}g_JCujbEIJ)j7B688xz2_;{ z-`&~xeWxyc<7QS_Tl(2(?Z-5-Im#xo{3xkI`!Z*K(K5pN-RcEW_kRRpLmMlq?x&#)_9Tg{ zg$q0FjeLQz{=Lzb00}OHB1IsgD1nH~1R^q3Av26q$ST-1?BJ)o+>=}pM1c>==DA_y zqFzLSV7g|`|KH<4A<*P+`uK;DL&x$5s2ysG{X9d8PF(lY73ER4%x_3!y`l9|JqtMC zH5Q~}$OPi%)z_@!}G&++zE{kT0+MNN*oD6r;X@)pidg=Z$L zwWnE6{kG{yxh0|5GQU{#@bPLtk)dnfNR4<~rR$Wpx%D+j@6$ z74jb|{!Jn*7%`^;8@L)y62$(b1FV$3I-uwhJ7{7-cU&D* zVjZlTXzm8}3$ru0eeKDcqB$6f;(vqkO#&;$mcY|%D8NbKFEqNgoXMz0URb~mBxLM) zN{({tvf&7Q57;HSltKGAy>v!3xC8taGq%Gm0hw>6p02Cj@K4k&|3rQ5Z`2=GxxNcG z-Fn8Q-T=b}>ZHe9ndro;8>Gp(OTP{Byngg0XHRE`UTIAN%(Y3^YaKqYRC@zU6R;jK zKlXUgbYw*veQk=o?S;b`Yx6ChL$hzzVc4b-CEAZJ9PAF#(|;6w4$Cw7XIrPN1ZVGC z9%sZ??{bm%wZ)X&>=%63vrOV`!kSy?eaErRx2&3#d;GI%gJ{Eyyd~qe#&-%3dAum6 z%2F{eRv@jau-h`x#_&S-VR5?K&(PmK6)-*kpr560x@I>zy& zywv&G`4rW7@W_sqBUJ}pSDv4~{)-JIO7GVlmQ&Hz<0>X%ldi*19i@m+a&uQ-r{4HZ(Bf$pALy@0SmYNFKv=eTCwAI$hVi} zRd?oTr2%Av^-x3!+F4D}@b-D}&#MM%pp||0JcG|Yk#305oePnG<6KBQa>)AV%Ux2t zj}gP_4W>iQw(Q^OA?VJU+(A-h*g_s%dUwDEV<$$NbX5>UeP^`H=t~#hfN+$)GA#8y z%mLK$8UlS26S6U>*+SVQr)-)Q_&op@hwKA?$?5z^&i8|>y?$5V;j;9N_e8{?F)G|y zK$-t?e$ZdYmrX(Rj*AolzGYCFHF}krFguqFOUqw~1eU$9UZ+vcP<7F2HGkJS)M?Iff`$9s7znAJa9JEytN?1`O7N1>3C9# zYwk$W4LG`bBlQ$2T}SLpddO0ySQ(=Vzi3%u{hrIOk`8eKLjqEuZWt9o7@HX>N*xZ0 zv3a(07xB{TDB10xU@fSh56%HpxB;1oHaZD5H$ar7P&FDh4N#)Zg}uS;znP%sKWj<> z8^@X-m(ToIk*z%y`W%0coh?D|f1Mk$kf`KyxVOV6+;c+)xXS-Khy2%sbBfj!^%O-L z{Ud)k_E@W7xEbMWlrW6tVh6TzN_;J^e>+>kcdEb~3F!%jVw-VEKoX`UL`ld~?$CVk ziG`|vO#qWsh)PZdO|J14cFBW?A75_9i}fl@)oItzMV74uJqd_>`hawRFA`8Ik`%*g zNc+|?VlDGNYejs5(GGM%ye1+o->5V!>K5iN*Az+GtHNGQ+yqz->uW$yhvNIe+1W*s zTxlb}GE#IV-n752(R^D}V#}qgDp;disM6pIB$IyySHEa_WfmeV`)+FTU3t`240{o= zk%xm#qmO?(BMbIS#@7w7mGPxP`2&`pn@SCH3b+L&<%dtUJe*t26X%0V9yEG;eus!p zCK@3q<`XmjNg-!Ib#6m`VU++G=3YW2~vh{hl+l9>Q;2q ziod~u5+$jooDQERqJ%I7ua=zv&mgbHCKH9^K2gss!G3dk&~fmLMwG z818cEo<)1fMJYPZB^tp~st{a+UFk$rvZ8d-AZJRTEq0fGE>!$;;U5;3aH%xt0`c!b z>`;QOir^(HpwjT3u%{XzdnUHi%%1b$M{EhJSLBV_eO?v$l)=d9sMu-zndDG1C_Py6 z@~|qzfJ*d13C)lyh}y0uq~!TE68`5r-7dG19=O=9Slc){*Zv9`=TCJCBJPmQ30&;j zl{k$}mkJqncHaFp6d9_a!ok5SD>ywNK18OK1q5s*A2#{rWp@pq6dS?~Dg(RAi ze{?{BSS`Wl;=XEI0u}NM5Gp~Gs&q5FPbF`|FsWTk!9c-<7tPi^#M}9aYP_q;yY_)rlYAqveTB zffxH%;dgh7rBu4=6jZHK2*q~iOOl5R%*@PB$!4<6 zEPSfF2N-3JeF}HhmQdT-$)67npIG^ljByM8;1OXz=Xe}L#Vh|ee7*EVoVhIa_lSh( zhcd|cxM`~efYBOZu$X>iQ0xAr(ZN~Pwe5^0IjR+3#P@eJO`Sq{6b9kE0&>6OB=)%s zx=D@T>(j&e%5K6vaN;}LU7``14+)blPyE28;l0XVxI8@~@cF}@G)PZwi|Wb5wDefE zl@8p)^m8v6`A)+jv;s^6nJSPZ=L~UcxjyqTF^a7!M;oz`S1v)?yts~#m2P})IePeJ znM&pVKH2`9xKkDu{Me<#MVDdi_$}Tddtb`~2et@4pZxbva(A5C!kPJWBZU z%=Zh45vVUE99_{E*7apQ-UG4m25fPsI?Hq8zD8@W{fN_|XX#(Zf8%v>n80b|t7-yt z!^um_HV}1Q&lg&%7pz9#{34h3KLkDP6P|scP`tR)J98=VpBVZcls4!q(NL-C0C3$j zAqc|aIp)<^p2!nvv)SV96!o-SgUz>9XgjJiD;wo=kn6t^d%vqBcLU&>UcmA7>qJDr z-!`(k;C|Mp+yXt4KJV!3T7F6PpQVFxq~aM6VFaA5gC=qw?rImvd08ac%rE_lpR@Ih zmB*$iO8=Eh%pLV@sU!jmKT;9av-|59{0V1>$Lf>wHyz(>IYAQh1o;z0kj!=3F!e%9 z8a_YL_-!Su?b`Em?+D;rW`w?ebd>Y$mx+DpWW+vafn)@5#5ryUt$CXvpko1;ZiC(Y zZ>*ndclBnM^l*RW?AhbEX%2BmXv6>6%1|-iRmx6OWNhjjE)O&})#d1-tlTbb4rHW3U3NL7Xk~+u)^O=KHfIya}?otIu7BK9xryw|9`J zhteQ;fCi8)J<5}y5%80RpD!+i8#eJCtGp}*SrAxMp*AS`ApJ=b1~`4D8x3~)EOt^9 zQG9YDL@@|NSchMEb+Yo zn;D4~O=+nOi;zxADgbi*A6?LV93k2{SbGnO%flREnIVN%Vr`hNKG7|BRQ4kfDy=m^ z;SH4YmcCsJD+=<&@$WHnOaRM4Q})0b$OUjS+27g{GkyM6L!dPUk}aI4Yuj48bVieA zR=_5cN)fa-_kadRD{3|a26!Z_c zMEIXc`K1~Sg@L7Y$E!f@y4c9K=CeadZb13KOQX?a4VNTz_ydJ+IpIG+e_)rCoy#(I zrUG5#)I5g+Za_PXkE##rQLb1@L($8=nBksxd@wpfcsl7OQSDG{qIr4TW7GE)&0$7P zBTJ#t;K+bstrG(Kvevx_^iucegnr5ge$y?aPM7}C$ur}}Za1n8FSAT~4o|J`NH~`9 zCmcUwgpxh-)=|%R&nr$HOn#XQSVXvE-p^|K4ASL^L3NysfzxiJ&;<={1Dv>$gRJs#(7$qv`3{bV8#;qa1fl4c{_dr0Am7cj zrQQ?}<$4#1fi*zgH+qXE@rA~u4J((V-ztRwE}nc2SIvXXwC=$NQbF^z30p3K?Rr`t z(Jdk!2co>zoM`m*#{TxSB#mh9t3;zHU_Zx#XM zT=8Bv-<|+!f15gct8MMUEU7YfnPAUV9QAj_%xJL$4Hyv;wFwPsyIyCpz0yYlhl*>N zns%*pcBb1@k;LtjOoJj=vAi4!pvOoNjRuqk49bRbO1Ftkx6y#kWwCr`y~jXf+zVo6 zap(BA+74&_uDSYLn9jT_!A}`2c>L@fPs3cmd}tN+Q^-L5WXfUF`QBa(h?)y)w(%Yf zJW;9$QJM&iGl8>au(1bvraFyMDH1_e)Q9$(+f~m}|`@ml)C9 zv7(|X%rcCe7!5IR`Wl#0;1y7+|PjQ87;C zcSM!0j$-vNyZqK`VoR(zm+n78sQ0S=3Bem(ybKghGkBVCYiW$k3O5_ zKJ0<{tEcN=g}ic+LN#>4{bfS#_o5O?vhy|5enGU{?z&oVUEt(UtZX1Ii5;k#Bblz( z0s_Y)x#Oz`t6XlUC&E7SA!EZny`aO{`T82Gm!ki6pCms`)kgeFeM5QD$N{=a%Y4$# zCAn?{tLHJ&J=FCXtwdUx^J#_r)5pGmU_RkV__L~8`2JRck)Ye}Z5$&LR%c>&Y?gnS zws1MT6-AM}yoor!wi~Tp2xQJjaY~+~yne$YiT(W($4G_MAs6W1?KFh>5CSYNl2pFc zj(J}=Fi*{VkCouRAS>e=kKUWwmjitM%!*yDTwYtBO%yQ(xPqSo29RJ$Fqg!HZsCdm zj>`o4=Il42Ek$Uv(!^2K_cZ-^eQ<+F7dt%Ggm7*L9d7K5bsmru6JTd9f>u+uNdqLo zrP&kW3I7thuR5&KW}2yo(k_lL>ya2yXqOZ0NpUeu(mJS(aY=pML1I2t6&00hTt z!608Uwc9L!-QPtbm|K2=5d2qnR=xh?>JH>TklNWLXN~qgzIlyN?Y(_oU-xo=6`NQL zjNOkG8~!|nmTF+v>7|4oe4MU!Cz2idOeXRQCH56>?Hl#3>Uk^UcJ8k`P?DgF!!eu3 z%TXR~>8vOYNfQt;In?jV^epxUA>UlWu~*JhOJvzguG6eZ6#^Q23KC)>G9q2Sf$-`` zit*E%GFoFS-O?)h#VgE3Tx{j5h|^2&8=Wrg6Fy`IMLIsNuFCLY`kXhJhJR)}&KCwK zefplYW7Ck`N93Se?5LkK@!LQKpSo+y3wFZb8OZP#EadSeUrNwj5t^I9u7OAy#zbS3 z#60--Lm|NHCXk35H5gFgV8F_PM5vd4-Nu&FZ|x3~OPUTqkSOW{EY3@jfvm-e zAoiJQiZzFGAV{EYtn+~EZQF@HS;r~KDcR=|9$_PQfaj_(1?cTpg(X_BUIJ~+P6INg|bt`vNmRlImRP*US&q=c(<6J2(i`dx`($)`}9d1Q! zbacV`?JG<4nrLU4IUx@}-km8`_95wFMb#DL$K^^(oXG6yheJ;qu807`roWU5wcjXF zkYzrFMuy;7^DaX8e~4?tcwZ|~P`9F5Ve=bS3Nc|~UPlLlbe;eW@n<;6-t+g2xVxI@ zdC*TEGQZ+oTG?Oi?W}Dpt6$akz72h-eA>s{VdmD0={s~Sn$Fx!lJW1LFAwfG`>M`f ziQIyU(Y>|lMaA577ZfRPkZ?TPzsGg=kCMKfb?QQt?Z7GJp19knmf9ue}4DB$lrTdM@%gIF(_ zEE1xG?w}HT#J*@%hEd+Tp%ImpQxbd~w^zA*8JPUoMif%f7pa)Dp0M0nKxT|5P2>KJeN|CmF*%h2_V*?_7r!{G$2=lCUDG=IPF*o`_as*qwy}^t}8iIm=#l~0x{q${SV6jND zpEJbv1RicJNCqMvNh|3>IG=(x#%B{i?1~MA@xSSYYPVUx|C2gLbhiie)C&jC^M%2; zs>oc0vvze0Pp?{XB(FYcA>?ZnV5W}@YG?oHyC>{1a-E(=1?UEY)Z;;o?+H0)$U*~l z-ovJ}myMvoT_RAQk-Dhu320JdANvr+s#3~t+HuE6UMqdz#`h}&UmEraNPYi6JODK= zkwY(uu*PN|4Hu4B@Z7RAv;!fMcfT$iB^F6bUS$9Q+?xZ@>*<$WI#-om_cNI;ZrLo0 z;B`7aam@h7m+9!;+a{;vsS+BzEg*|xn`$=gvQ+T89*kp1mt%+->c<2XRtE|>*|6tE zSD~-qP+?7gSq;$6SRPrNjcuk=^}V243<{xVj!Q=go1uyaIF;mKA8scrR~+1%QgXRJ zjoNdsdX_P)8JC1?WOztr>A~ebPnuDUL=Dl@wkXrg4P&cs5GnnTlBma3O5G7dK`{9A z^P%&N-j($n|0O9_DYS$(8LFHQ%~}=EUj{SoOtR9`_Z0dKEEYqG*QO?1LBZM~s`+rG zHi$sAU$3J1O-f_5NVyu>y<~95g)3=o?v?G+j*&ka75q38PCTSY%W~4osLq*Rtg8f-}|Q}+ztqYYpow%E#0kQ4a>mqzW@Kp#lojC+qLJ3>EHxWA8ms+jAs*%bYCR0q^%;s5$Fa zC^aM%4BY=LOkoi#20~a9pj7H(OE$iW7c&JeJ(Osxx3Ic7!N~G_jJ>_#v9DqSVqqO# z)?esIKP+jgtp#$eUE>pVd=s|paM>LJiN`!(c=-^SY9u(`b++&78DTUm4T%T8`?z~E zYh&%3vOjTUy`;MqNV$S;{ri{fJ$N4pXz zc*CYtK7FAWT-T*>;6T}N3~2y3jr7N$#K%Z>C=EMGjfP`z;n5>d^<(69s3AK_oTf|- z@ZiuGlR%x$79a~*QG~Z4|JL~kG^>%$1ofLC=5%#aor>*)68caption The Command buttons and the grid events let you handle data operations in Popup edit mode (see the code comments for details) +>caption Grid popup editing example. Please review the code comments ````CSHTML @using System.ComponentModel.DataAnnotations -@* Used for the model annotations only *@ Editing is cancelled for the first two records. @@ -49,21 +47,19 @@ The Popup editing mode supports [validation]({%slug common-features/input-valida - Update Edit Delete - Cancel @code { - void EditHandler(GridCommandEventArgs args) + private void EditHandler(GridCommandEventArgs args) { SampleData item = (SampleData)args.Item; // prevent opening for edit based on condition - if (item.ID < 3) + if (item.ID == 8) { args.IsCancelled = true;// the general approach for cancelling an event } @@ -71,7 +67,7 @@ The Popup editing mode supports [validation]({%slug common-features/input-valida Console.WriteLine("Edit event is fired."); } - async Task UpdateHandler(GridCommandEventArgs args) + private async Task UpdateHandler(GridCommandEventArgs args) { SampleData item = (SampleData)args.Item; @@ -84,7 +80,7 @@ The Popup editing mode supports [validation]({%slug common-features/input-valida Console.WriteLine("Update event is fired."); } - async Task DeleteHandler(GridCommandEventArgs args) + private async Task DeleteHandler(GridCommandEventArgs args) { SampleData item = (SampleData)args.Item; @@ -97,7 +93,7 @@ The Popup editing mode supports [validation]({%slug common-features/input-valida Console.WriteLine("Delete event is fired."); } - async Task CreateHandler(GridCommandEventArgs args) + private async Task CreateHandler(GridCommandEventArgs args) { SampleData item = (SampleData)args.Item; @@ -110,7 +106,7 @@ The Popup editing mode supports [validation]({%slug common-features/input-valida Console.WriteLine("Create event is fired."); } - async Task CancelHandler(GridCommandEventArgs args) + private async Task CancelHandler(GridCommandEventArgs args) { SampleData item = (SampleData)args.Item; @@ -130,7 +126,7 @@ The Popup editing mode supports [validation]({%slug common-features/input-valida public List MyData { get; set; } - async Task GetGridData() + private async Task GetGridData() { MyData = await MyService.Read(); } @@ -186,10 +182,6 @@ The Popup editing mode supports [validation]({%slug common-features/input-valida } ```` ->caption The result from the code snippet above, after the Edit button was clicked on the third row - -![Blazor Grid Popup Editing](images/popup-editing.png) - >note It is up to the data access logic to save the data once it is changed in the data collection, or to revert changes. The example above showcases the events that allow you to do that. In a real application, the code for handling data operations may be entirely different. ## Customization @@ -237,10 +229,8 @@ The `GridPopupEditFormSettings` nested tag exposes the following parameters to a - Update Edit Delete - Cancel @@ -276,7 +266,6 @@ You can specify a `ButtonsTemplate` in the `GridPopupEditFormSettings` to custom ## See Also - * [Live Demo: Grid Popup Editing](https://demos.telerik.com/blazor-ui/grid/editing-popup) - * [Custom Editor Template Per Field]({%slug components/grid/features/templates%}#edit-template) - * [Custom Editor Layout](https://github.com/telerik/blazor-ui/tree/master/grid/custom-popup-form) - +* [Live Demo: Grid Popup Editing](https://demos.telerik.com/blazor-ui/grid/editing-popup) +* [Custom Editor Template Per Field]({%slug components/grid/features/templates%}#edit-template) +* [Custom Editor Layout](https://github.com/telerik/blazor-ui/tree/master/grid/custom-popup-form)