From bdfe918b137d2019339549873f6e6c8925ead1e9 Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Fri, 2 Oct 2020 07:46:45 +0100 Subject: [PATCH 1/1] MDL-67654 mod_forum: formchangechecker for discussion inline replies. --- .../amd/build/discussion_nested_v2.min.js | Bin 5843 -> 6521 bytes .../amd/build/discussion_nested_v2.min.js.map | Bin 26081 -> 27231 bytes mod/forum/amd/build/inpage_reply.min.js | Bin 2405 -> 2504 bytes mod/forum/amd/build/inpage_reply.min.js.map | Bin 14829 -> 15245 bytes mod/forum/amd/build/posts_list.min.js | Bin 1236 -> 1391 bytes mod/forum/amd/build/posts_list.min.js.map | Bin 7206 -> 7850 bytes mod/forum/amd/src/discussion_nested_v2.js | 15 +++++++++++++++ mod/forum/amd/src/inpage_reply.js | 6 ++++++ mod/forum/amd/src/posts_list.js | 9 +++++++++ 9 files changed, 30 insertions(+) diff --git a/mod/forum/amd/build/discussion_nested_v2.min.js b/mod/forum/amd/build/discussion_nested_v2.min.js index ebadb6211fa8b80caad5dcbdf9a1cfd3c696d248..645ee6ef8492e858fe25a608ae90c4e478f5ba64 100644 GIT binary patch delta 1427 zcmZux&u<$=6xLR4)`^owsqLgl6?L}lY6h*hNkuAQYiknR(4=YVgcGVlHQpWD3+vr< zJ)6YcT0xZ%2Tt%fA&y*nKtjr;ci_SS3Go*oB*YOeNc2+P?AlFeElYko@4fGv_j7(N z{d?`Z?5V>&78Zr2MZUwEuFoB9-V(iC9yE*luI~i<)l`&6d33qgtjfQU)|MAEm{(0j zIqp}Qk#7q(@QXfSG!D6lLjUOEsnTgBg1<9)U}HsP4<3*0Kwh1Lf5u*i$EpU`)eZPX zEdW)g;2X6B`Ak9S!Tij5c&-+dlj6}+_rqs|n z``SBrxoNju&k4CtsOfRPCE9)CW`gaE&q6(yJx%+@>OgTBz8}wDl(0$~bFpE%U80ru z+^*a3xQ4#B;D_<8^U}v~tQ9G^b(1*MXj-epfg9O5s7*MS-IIx}H`c6SCD1XJ4QN;i z)J~xeLT$;g3YW8u%(~@Ao@d-n!uk5l3>;-Yz0yOEN(=o_w5??++$Pz?D{0&?eSRRU z#U;2uSyb-A$CF=W(^xG%(UmaKKwFS$Eo^!zgQ20j@#vA2qMgA&{&uue-ODL zC-*cv2>I1sE{7adK3F_muc3y<{A2`)$NamA;THUU)=@U)?!pJt z*KnRcpPo|=j-E`r%5?pItF(g8f~#!7XEQ(Hlk)7`ys{48=HA4IViKO7TOQ~(5?wtf z&zJH#Jk5Q0AtGeKXvlqFktZl&reI-<3yO)sjeP(8C|%}#6qOCa4Xj7gnh0N)oMlOf&(P`vA8gx(W)=1oA@w?)q2+?NY<4U-urwWTp8xrLFaP`L2( z@R5ryV6=eI4aoTg_~Tn8#n~+ZF+abOepp0wN^7+{dXE_*O?8;jG+VZ`hd2SQ{am=; z>W&_(jgAO!BXhM?NiL=n}|izlE;o| zH^d`sL@hOCuv1gcWZ^0lC&%zD^bRh=8@RFS@S9t^h^1CD)lhU+F~rPvn&uBMX4^Ec zDSZ~tY{RP?ZBliF?3}qm#;y=YkJE?ER+UWdVuV_3%2pegE*&B^_os<6yj<4F(R6H2 zBpW-PlP#%|=I&0HN0VBlO(M0qG_{;=)5rXJvrbMR!(HL$xZpQQ1=jiJGrx*{7Jl)C zRZ|qxlA6+4Lm6~TDk>>c={1>2X}&xK{qP6jt#BU;9|%eKDfE_1_hE);@>MXRE1B9q gB)BWvIZ}OYG)bjaMLrZ&nm?IbMqdz8hn-mNFJX(?=>Px# diff --git a/mod/forum/amd/build/discussion_nested_v2.min.js.map b/mod/forum/amd/build/discussion_nested_v2.min.js.map index 3cab6b2f346d095973091dae95ca0ab339269519..a370455ff036ebd5ce586f96c9ea7b3154094dd9 100644 GIT binary patch delta 2645 zcma(TOKclORBIXpsuB)$i{skq=F`M(wvI!ZU#nJ~9k17p<2v8APKzqn-a2laUB_N0 zPEZxDs6wKQ5CVwA>Mmq;)H}MmNGl@{{Ot6Unnns zQogfJ?7FL#-KX_s;cu?$te0vQ+^Sa1DR1JfPVY3_@=n#d_rR&H=T~!f(aNt{`8BHw zh>~4$;e)7B0WOY>j2m^Uy1i(Xt-R|XRnfAoYR86?WK=`;8y`cXZ;CxDxp$r!!U+OW>pja|gmIWZ>o=!mhw4Fr%RPCPMq^P6zQ z@n$0ZOd5_9!scc*gUzR6VA%p%KYz6KD7xhm*J}E1%baZ;-DW#FqNnKO96d$(%$RF) z&9_|`M>AM%4@b}Y_$=uYF)hc~Ly|PCqofhK-vBGw6v&2vPjl@myq1t-S_cGY6kK!% zesGevx6!j~>Xw#bE3=^eK}?$m8xs{>JUN>-Bjy4Dp3GpiGNr-fxGebyKUyuoU2&;t*jFxR_caN$aG@#9Z;RAwE7G z?b>R~1Fg*$r!Oe`VSG$)dfp8ylhVd<65w!~#8rs5h6&@-hC?vvg(DSJ4UzK&(ZCOV zXFLr<{NW2K6XKa~s`c;`ih=uOCdoGC}4ZNcgr{_{#k4EjULq{#S#o-HnHzi;q9 zkYZM4;^31>ZU?cC-LMA_&~Y7I4pH4g zCETWPlCA;(j;HF&a|4}g$5G|kjEn21y9Zw{wya~gvfJXZ+U<1{|BYQOA--30o>5c$ z9yqhIK?4&Fj+gK>AI2&FRB~p8uu%Kx+XUqZi4xlw-{fYzade!a^ot4cxHq6|if?)Y zgHiw$XpJh(<)b81)->1hFdn1g*Iw;z1Le!YlBF(-j-VOYkTgdrw}uTf3F%u?h3;}Z z@ilr7pNpr#HbkW_xC^8Zom)FNG8pzO7%O$GVnY~gg`x-c0e%JXr4}CMFjhX!fwY`1 zvI|;`DLYA)aK%J!>WSqUO27o=;ie|u?hlSm?pGcq8$o#rIxvaEMSYqG00!ze^k_^h z_kRvk;mq8oc*wFL zP2DHF0~B<0s%lGKC>y>acCVj7wQoF<_c8b$HuKT3OfRG(M{i#d+`U2{$kppI7!JEv zsN&RI?$~aw1RK|#==+fat5|3VsfWVhNP8m-gomqCmOyCs+uhHP7$;3qN|2D!#PuUhLcmT! zBp%|1XfKQqmvZT~YE{Ws4z#^g&8_MMMG>OvrRpEhOAnoyO(+!&st>cDXMXeg<~QH- zUyK)9#UXKOgwfFsqC0FAhHJG;ew>?*BsjesH=6?E&?Tdt}_OKCpMW+_pspBV&_oc^-U{_RA!d;avuXDL7>$OA|+`@|B^oEO1JG(mFDg(W& zx9;LMz1?Qoeb5`l-+IU76fu`PJQvO!%1QvqqfWVaCp>XQ5(Glo8o=jvOTJx(+yy%3 zr?ou?ATHi4DGIDDPS4p@2cRlNcps8#e40dQ`l4MYeLc|E986gQ#w5;ICyWN(vLfbb z2OnEKg9`+PET>iEOrLU5CbJ%NCD)hnaN8=GD?ScKPWEm}VKQiGU2SMCw>0A8QY1W< z7IT@ys?$FEb3H&%8tYYwdWNNf%)gNMH1hZz#cUA#Ja-2R?wDSK{>^E+^w= z*288Z{>C0C-d3VN)cRlXXtp<#@z_4~Ez3$?8o?*Y<6Y_3u4Yu@@5wnc$3&}UJCoJ3yqp8 zEinUwvgZN3Q4IInw?F2*GUnhF5Jt&(%4^~>!2p??w;W7scZ!;80@-9x!Mh`V@)UR= ziFc(EXkg`_9y6U7baCM}bNM3)zKj`cV7rNlD; diff --git a/mod/forum/amd/build/inpage_reply.min.js b/mod/forum/amd/build/inpage_reply.min.js index 7a3bc75c65328aa432cda607aec2102d309f87a9..997e1c3957f29448984ea3296038878a705792e4 100644 GIT binary patch delta 139 zcmaDVbV7JT2uFQpnubzoUP@|OW?pKFlA>)%WkG6wnu4!ha(+>2d|G}{ZgNIqUV3VB zMrv|)YLR9&E*ZU|)Z)|^d1^LA# RdYO3ziRr09lM6V$0swywHJ$(f delta 16 XcmX>h{8VT|2*+ewPWH|FIJg)AHE9Jy diff --git a/mod/forum/amd/build/inpage_reply.min.js.map b/mod/forum/amd/build/inpage_reply.min.js.map index 817288889113802ddebcd3af028ca2d9ef9a5027..8dd41f9ad25746afdee1028a219f62a567ffc002 100644 GIT binary patch delta 551 zcmZ`$%Sr<=6s1KFcOtX}onkCvMM6huaU(A7q-oV!eA8uVXHsYS?o3K)LHq!5QQ}v) z61s5d-jDDP1YHTDU=mlNW^s~x&pDSv?sITGxO<;U7ZW&PcYIc^b^Mm?R@쩎^ zz9f7WFs_-h}4Ks9$-Ll37|{x5x_x*U;^?e)K5ZiU;$KBqnDLP z>REODU~{T5w7#Vy3sWFFvPHAFC}-BS{(ELgTk8bx0*Hr5Jlx2Mr-+eo>ArM%w7?Zr zmlcuK89oD07Esc<4$ zaUY!v4aH-0VR@tt>r~|=dlH&?6|;x5yYlo+qgr@b0l<-;!P)KD??_qNc|_BKlP+YYOFZRRA! e;o6e$P2VvYi|qGn{o?9Ub#soOL`M9SdB5 z9Op0{XGcR9A0X4n#XAoqVGQIs19_o3p^lE>K&Eq2zOzoCqhlbD?dS~F8v zZK!Yta$F6afTShZAZ-`#N@t*yKG+~_mvEiQpTxu%O(%1ThcgyWP863`$#VtSk?-mO yB%Qs0gsGbgkTi1x2^4vOOe~$eKwJi>X|H%PlcD!!C5a&U$yQeKo99@3WC8$jutB>3 diff --git a/mod/forum/amd/build/posts_list.min.js b/mod/forum/amd/build/posts_list.min.js index 12d10bbcf572d48783e2c88083c4f387748ace73..b8bb0af33c62760db92775e121608672fdf95c2c 100644 GIT binary patch delta 431 zcmZWlJ5Iwu6x7BPK!pUNNE2fTX*aT$L_iZ{8X6iZ=#U7``q^H4y=(jlL{@+!B-*=h z09sn^!4V93GoM>u+pD`xrgAu1RD6AV(FZ%QLsHMZ+>G3ylC0!P;)vAI z`fZB1-ba@vC(HI8yAmEvA6r~zUIuMGQ zD~X*poZ+4z2a(iHB3Y)4NAPKlENvs#nH=-Zh3u>T_d^5}g@?4jrRdzZ-`y zWdsucxFj{ussL=IO8EkuHkZ@rWKaqkh_cmNx4`~AM3?XRuZ+clo==`fY;A};-hNH=y?qq72J3+sZPaY` z(M}$k diff --git a/mod/forum/amd/build/posts_list.min.js.map b/mod/forum/amd/build/posts_list.min.js.map index 0423c5e42c5c7c6297425930e42cb740cad2c2d3..a9833fff278663532466b14140f4bc74a5e73286 100644 GIT binary patch delta 886 zcmZuvO;1x%5X~!TDXmW-B!(6>Pb8rYw=EB`FIk;Np^|TwjY7pJ)QpZum`$@M9!!}<_+ZoEhb{deOA|WbG|5Su(Gilz-B60d8A=pfo zWGOuoDDq#V}GJM0sS67)0lG}(CFaxrp*#}UCNpNg2oDF+L`(7gtv1yVbgQ>eki0Rtb9?sa-dqnD)#F}5Z-&dBo`F7>|1JBR99-sQRu!)I(FMOYKD9GG~S&wJr_1>`k1*FOZZ2$lO delta 424 zcmZ2wyUb!j&c*^mrpXtWWZ86-GV?M^Ccj|{kSug^^l{N~cJy`DDR*-812G*zg#YAt zX7|k-nddPw7EBIcRRSsmNhN{^_X;rE8N_xDpZt$adU8CQ%H&h5xxAKGWI}keAWFgN zEhZmeGvv)d5&@a8n70B&WF7k%UQ@70Fj$w_H_#48 zux3}CWS}$iCUfyv@&TO!6pjK}lIfH;Igm$^v0!sHk2UM$-GXyBrwCo-*gQ{$hY0|| C8F}mg diff --git a/mod/forum/amd/src/discussion_nested_v2.js b/mod/forum/amd/src/discussion_nested_v2.js index 6c0e89c8a20..1b8f3d2b063 100644 --- a/mod/forum/amd/src/discussion_nested_v2.js +++ b/mod/forum/amd/src/discussion_nested_v2.js @@ -245,6 +245,21 @@ const buildShowInPageReplyFormFunction = (additionalTemplateContext) => { } catch (e) { Notification.exception(e); } + + // Load formchangechecker module. + import('core/yui') + .then(Y => { + return new Promise(resolve => { + Y.use('moodle-core-formchangechecker', Y => { + resolve(Y); + }); + }); + }) + .then(Y => { + M.core_formchangechecker.init({formid: Y.one(postContainer[0].querySelector('form')).generateID()}); + return Y; + }) + .catch(); } inPageReplyCreateButton.fadeOut(ANIMATION_DURATION, () => { diff --git a/mod/forum/amd/src/inpage_reply.js b/mod/forum/amd/src/inpage_reply.js index 0f2d1c96e80..7a3e524b4ee 100644 --- a/mod/forum/amd/src/inpage_reply.js +++ b/mod/forum/amd/src/inpage_reply.js @@ -169,6 +169,12 @@ define([ submitButton.trigger(EVENTS.POST_CREATED, newid); hideSubmitButtonLoadingIcon(submitButton); allButtons.prop('disabled', false); + + // Tell formchangechecker we submitted the form. + if (typeof M.core_formchangechecker !== 'undefined') { + M.core_formchangechecker.reset_form_dirty_state(); + } + return currentRoot.find(Selectors.post.inpageReplyContent).hide(); }) .then(function() { diff --git a/mod/forum/amd/src/posts_list.js b/mod/forum/amd/src/posts_list.js index ca92955b8d1..fe88af34500 100644 --- a/mod/forum/amd/src/posts_list.js +++ b/mod/forum/amd/src/posts_list.js @@ -30,6 +30,7 @@ define([ 'core/templates', 'core/notification', 'core/pending', + 'core/yui', 'mod_forum/selectors', 'mod_forum/inpage_reply', ], function( @@ -37,6 +38,7 @@ define([ Templates, Notification, Pending, + Y, Selectors, InPageReply ) { @@ -76,6 +78,13 @@ define([ return currentRoot.find(Selectors.post.inpageReplyContent) .slideToggle(300, pending.resolve).find('textarea').focus(); }) + .then(function() { + // Load formchangechecker module. + Y.use('moodle-core-formchangechecker', () => { + M.core_formchangechecker.init({formid: `inpage-reply-${context.postid}`}); + }); + return; + }) .fail(Notification.exception); } else { var form = currentRoot.find(Selectors.post.inpageReplyContent); -- 2.43.0