From 95c4cfc6e46365769f31ff46f4aea131eda9586c Mon Sep 17 00:00:00 2001 From: Mathieu De Keyzer Date: Sat, 27 Jan 2024 12:58:31 +0100 Subject: [PATCH] refactor: JS work in progress (#727) --- .../css/core/components/iframe_preview.scss | 4 + .../css/core/components/json_menu_nested.scss | 7 +- .../assets/css/core/helpers/mixins.scss | 16 +- .../assets/css/core/plugins/wysiwyg.scss | 28 +++ .../assets/images/anonymous.gif | Bin 0 -> 2891 bytes .../assets/images/background-img.png | Bin 0 -> 196 bytes EMS/admin-ui-bundle/assets/images/ball.svg | 1 + .../assets/images/big-logo.png | Bin 0 -> 75676 bytes .../images/elasticms_ball_only_circlegrey.png | Bin 0 -> 16761 bytes .../elasticms_ball_only_circlewhite.png | Bin 0 -> 16679 bytes EMS/admin-ui-bundle/assets/images/logo.png | Bin 0 -> 20511 bytes .../js/core/components/iframePreview.js | 58 +++++++ .../assets/js/core/components/revisionTask.js | 164 ++++++++++++++++++ EMS/admin-ui-bundle/assets/js/core/core.js | 49 +++++- .../assets/js/core/events/addedDomEvent.js | 5 +- .../assets/js/core/events/changeEvent.js | 12 ++ .../assets/js/core/helpers/queryString.js | 23 +++ .../assets/js/core/plugins/codeEditor.js | 48 ++++- .../assets/js/core/plugins/iframe.js | 13 ++ .../assets/js/core/plugins/job.js | 36 ++++ .../assets/js/core/plugins/wysiwyg.js | 1 + .../bootstrap5/elasticsearch/status.json.twig | 12 +- .../views/bootstrap5/form/fields.html.twig | 6 +- rector.php | 16 +- 24 files changed, 475 insertions(+), 24 deletions(-) create mode 100644 EMS/admin-ui-bundle/assets/css/core/components/iframe_preview.scss create mode 100644 EMS/admin-ui-bundle/assets/css/core/plugins/wysiwyg.scss create mode 100644 EMS/admin-ui-bundle/assets/images/anonymous.gif create mode 100644 EMS/admin-ui-bundle/assets/images/background-img.png create mode 100644 EMS/admin-ui-bundle/assets/images/ball.svg create mode 100644 EMS/admin-ui-bundle/assets/images/big-logo.png create mode 100644 EMS/admin-ui-bundle/assets/images/elasticms_ball_only_circlegrey.png create mode 100644 EMS/admin-ui-bundle/assets/images/elasticms_ball_only_circlewhite.png create mode 100644 EMS/admin-ui-bundle/assets/images/logo.png create mode 100644 EMS/admin-ui-bundle/assets/js/core/components/iframePreview.js create mode 100644 EMS/admin-ui-bundle/assets/js/core/components/revisionTask.js create mode 100644 EMS/admin-ui-bundle/assets/js/core/events/changeEvent.js create mode 100644 EMS/admin-ui-bundle/assets/js/core/helpers/queryString.js create mode 100644 EMS/admin-ui-bundle/assets/js/core/plugins/iframe.js create mode 100644 EMS/admin-ui-bundle/assets/js/core/plugins/job.js diff --git a/EMS/admin-ui-bundle/assets/css/core/components/iframe_preview.scss b/EMS/admin-ui-bundle/assets/css/core/components/iframe_preview.scss new file mode 100644 index 000000000..359ac2f55 --- /dev/null +++ b/EMS/admin-ui-bundle/assets/css/core/components/iframe_preview.scss @@ -0,0 +1,4 @@ +iframe.styleset-preview { + border-width: 0; + width: 100%; +} diff --git a/EMS/admin-ui-bundle/assets/css/core/components/json_menu_nested.scss b/EMS/admin-ui-bundle/assets/css/core/components/json_menu_nested.scss index 5c7d178bc..ec36fe408 100644 --- a/EMS/admin-ui-bundle/assets/css/core/components/json_menu_nested.scss +++ b/EMS/admin-ui-bundle/assets/css/core/components/json_menu_nested.scss @@ -1,3 +1,4 @@ +@import "@fortawesome/fontawesome-free/scss/variables"; @import "../helpers/mixins"; .json-menu-nested-component { @@ -143,9 +144,9 @@ background-color: white; } - .jmn-dropdown { @include icon-after("\f0d7"); } - .jmn-dropdown-add { @include icon-before("\f067"); } - .jmn-dropdown-more { @include icon-before("\f142", 0); } + .jmn-dropdown { @include icon-after($fa-var-caret-down); } + .jmn-dropdown-add { @include icon-before($fa-var-plus); } + .jmn-dropdown-more { @include icon-before($fa-var-ellipsis-v, 0); } .jmn-btn-move { cursor: move; diff --git a/EMS/admin-ui-bundle/assets/css/core/helpers/mixins.scss b/EMS/admin-ui-bundle/assets/css/core/helpers/mixins.scss index 42116eca9..f26ecff59 100644 --- a/EMS/admin-ui-bundle/assets/css/core/helpers/mixins.scss +++ b/EMS/admin-ui-bundle/assets/css/core/helpers/mixins.scss @@ -1,20 +1,22 @@ -@mixin icon($unicode) { - font-family: FontAwesome, serif; +@import "@fortawesome/fontawesome-free/scss/functions"; + +@mixin icon($icon) { + font-family: $fa-style-family; font-weight: 400; - content: $unicode; + content: fa-content($icon); } -@mixin icon-before($unicode, $marginRight : 5px) { +@mixin icon-before($icon, $marginRight : 5px) { &::before { - @include icon($unicode); + @include icon($icon); margin-right: $marginRight; } } -@mixin icon-after($unicode, $marginLeft : 5px) { +@mixin icon-after($icon, $marginLeft : 5px) { &::after { - @include icon($unicode); + @include icon($icon); margin-left: $marginLeft; } diff --git a/EMS/admin-ui-bundle/assets/css/core/plugins/wysiwyg.scss b/EMS/admin-ui-bundle/assets/css/core/plugins/wysiwyg.scss new file mode 100644 index 000000000..1308db696 --- /dev/null +++ b/EMS/admin-ui-bundle/assets/css/core/plugins/wysiwyg.scss @@ -0,0 +1,28 @@ +@import "@fortawesome/fontawesome-free/scss/functions"; +@import "@fortawesome/fontawesome-free/scss/variables"; + +// Specific to dialog popup +.cke_dialog { + .select2-container { + z-index:10020; + position:relative !important; + + .select2-selection--single .select2-selection__rendered .fa { + font-family: $fa-style-family !important; + } + } + + div.cke_dialog_ui_input_select { + display: block; + } +} + +// More generic change, because dialog z-index is higher than select2 dropdown. +.select2-dropdown { + z-index: 10051 !important; + position: absolute !important; +} + +.cke_combopanel { + width:350px !important; +} diff --git a/EMS/admin-ui-bundle/assets/images/anonymous.gif b/EMS/admin-ui-bundle/assets/images/anonymous.gif new file mode 100644 index 0000000000000000000000000000000000000000..9f458460a56e12cb5d4bd43685acd627952c0499 GIT binary patch literal 2891 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 XVChnr`lX;=uhA=oOLYPz5a94Hm}|Av literal 0 HcmV?d00001 diff --git a/EMS/admin-ui-bundle/assets/images/background-img.png b/EMS/admin-ui-bundle/assets/images/background-img.png new file mode 100644 index 0000000000000000000000000000000000000000..12bd7373d3c4e254b7b816db83ecdb2b36138724 GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqY)RhkE(~2D`1say6`%-bfk$L9 z0|U1(2s1Lwnj--eWH0gbb!C6d&B@KoQD5K54iu8j42dXl&d<$F%_{+N85o?4QWHy3 zQxwWGOEMJPJ$(aG^in|zH9TD$LnJOIzj^g4E5U(j>C&YqV%XH!m>P;$d;b6b?_TI! eUT(hkE&~IT2gj=HiGh(I!#rL6T-G@yGywn%Z8V(# literal 0 HcmV?d00001 diff --git a/EMS/admin-ui-bundle/assets/images/ball.svg b/EMS/admin-ui-bundle/assets/images/ball.svg new file mode 100644 index 000000000..4481a53b6 --- /dev/null +++ b/EMS/admin-ui-bundle/assets/images/ball.svg @@ -0,0 +1 @@ + diff --git a/EMS/admin-ui-bundle/assets/images/big-logo.png b/EMS/admin-ui-bundle/assets/images/big-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..75f4cc827b422b0711f1dc77ba5f7a1d664f9ee2 GIT binary patch literal 75676 zcmdp7g;&&HuwO!8Nnw=^fu*|}1gRwj1nCq|I;3+IMH-f736+xWUSOpgk?y6XTN>W_ zd*}TV@4&)2^SyWO+&eR$iSONrms%=B_|*6S0DuUhs;CP9U~ByQ;NhStA2D#6(f@F) z)m0P$5C49?wiYI$DL^+>BTw{<>3<$MYEnuz-zqN#+tf=>>@V7>93KLP-r0U(O< zuYBkB7JVA&m9CDC4lPyB(0CKFJCm{?(+{A=f*I0LlCSuTwguZ28{FgLtqo^T4}1VJYycBQo>Ta(pR@l3df@+&csKAM{h~vo*c`eBudm^ zVEsWL2m*T*A&<;JN-8wbFgpivm2lKPI4xLAyKPg5n#y9kfkM;rAfznALsK? zjdEwvqsMMCZbWWa{N0?XV92RQhawCt-^W-@Ug<>&#|TpM*sloVowR7kMg_;2)H0{^IRG8OzEki6rhc*72AY2N#eR2w` zWirRm!ZE0x{cnXQg_@y*ZXysVYj2&uCi8?W|ELb_#0m<(O)_i0u-;?sLD}~HTXDjp z6)FRLkdP;Jmd4zRD%|~F>U$Zy2vY_h1*UZ0$oOYdPuczxL*(ZaQby}Jn1+OmwMEit z;6LJ|t2)X;OZ<%&_}E+2@xS#QYVh5XL4>nCa!2CU|4}$aAB*Gr_Ch}Gt(l>oSpFC` z|4;f6ug4yy(rbze+pD&y=Ng1u{|5gKoWgYRT1DQnBAdN&|50>ji2z!dc9KSxPXs{X z-`>*vw{Y?ZE3#ATF{N1-c8AXI|0Q(*P~w&;iI~b_0yN^dlSkg!R(3`*&G3qBIWLo2H6Ga&P`Qnvl+Z$^Rq+_h4PzRJ$mW z#bK7r^Zci~{WA!P$l`ZQpEZ6Zd{GaUH<#Y2i2nN?pn}zod2K`+sli~mwR$LKLi?W_ z27d@Lqe>{Fg;y~xLl+HTc{}e7vC$4-3w9%|Ojr6Awm=*h>4seeh7^Z_SkVt$lu#a) zeo^18mRQ#3(|`#5+nS%x`8xVvwDNra?1yuSePj`(0Lwd&uwsJf+SUVjv6T&<=%-_8 zVAEsJ7-_stE9XW_S+^rxfErFISmK&?1PoeJQu9F3T9E|c>_J4YSoL@5?5pQ<< z0Gs3RJ|f1P!o?A-GRJxPz<^8fkW*oJ|Fk>$yQccTExf961=Ixf9|)S`-V+8sy?nfH z);fn}NF)xpB%r@Q{75s?5dKeLuj*a|RUHVMV~=3SYKaT58^}O4L-j)K%Nn%SlB~a@ z$M7I&(Ocvx#XV9-aglcin&Y@&9<1DTm3{<97~u||+B0+*WHyEHzBObUeRc;8?p|KT zw&OWEY&S=sMn&M2AFw;f6N`}Z$g|Z$q0Ou1^qXZf;0!6Hv;N2yt)+zm=28+7IMZ5$ zj8gwrqV}yTR-~wC?d9k>?q}{_2b;1qB)h92A^u}Mn;H7GRqwjxLV~hIFL4+nj!VqK zz#JI=pi8)27TFZmm8NTCim|7Q*z3)ssHCg}^OGAkUrwu2JorPFa=_bgRijZxuynSD z;gxWDJf+`3dp5STl3_m!#DSSj0}SzBevV?YG>KARc`vgvvr@zpOm2p0SpLP9;?k3& zBM(BQ`G^&uJpuyZ6>4ZcqwVH_IGkvraq&|b_%#4-{DiYAgsh&YbrSWk_%kf`>+AJ9 zn{Th#@AvGhUOVF)GECk*TWLIKIxg>KhQzG=L&_D~1AK)KFN^l>A32TQNLUw-F&I8I z%yP3Ha|i>%Sa_yV(lDf-_X)lCIo=8Z`Wb*B`v1W5mG?&|7c_#IV zE>aRn9Tt%=3Ecn|f;i}F@Je(J04`jsj0&r7AitT!(T2xa!x+{Ni{Zw9$9VCWRnwex zoysVcU%p!F_@bNp`~6HZxoJ-Zw|s zk=K8Y^g`~Z5h%ej`4hm&1CK2U`KiT8+0?;BLV7@8Xa!qoM*xy3;g#|~<>-n&HvG(w zA(+8WCFqcyCM6+wVR2E_2QG5Z#!97d$Kqc^kHq;m(t0u~Ud+mrRGmWLu$|sY0HUj| z$y_SkMA(S!JI0id#D&&Uo#$=(%|^&Uj!bACp!zCXNOQa)?7c3zP(F7lVs}uWu0RuK0F2{e|lD zOUk3S$6L(EAY=`>XRSZhAStV&!JB&^83>}LOK%4{$-b?_W77t+jG}|!FhAyuT{h+P zhlkNZsL5soZdABf-QVmJ3`i8#gXU3_srG zlOv-JFr+2Xu?=Sd+Z6wn&Ucp6;m18P950dClTFnC7so^xmgk3n7`l59TRn}MajM9xNibOVvcxMlCp$C9o;7*@>J3I zRAfAe!3L1B<^MdyPCqk(Q_fVX$N^sogCv|s$%#E%N=D<@tu#ia(L&VS7e)@wf9t%m zK+Pk4@UFN#PHB$gkq zbW3BY_NKkeRY%1H#Hu>gG42S4_@%4%<#?0xFRsQ<{M*IOkOMLq3Hyg|7+NfW`~EdC z?KZ-dGDiZICK|svA)MiHC~?$#ZsVtWW~}2PK|ttXQ0pg0}U_sHf+ZLX3P7pw}?4*P$OO zJdBp@(3loR-Hn#!G1=$)toY}z>RK2s$yX@5)M8jPV0-vZkst#Yc+vsW4eUnGKffCP ziVy8YWw@regw^cSn`&rLKAPR$Xu(ur6Vg5yxR?z_PhdM}czWex6WVetoN1S)DV}mQ zk0d~dFkGO$>KTtPM=X`^1~vizI;&J%^x3qS`gK{1SFz(E~5 z*sC{{r6};4oCL^)76)7uW(SIWCQF%S?XJ2Ld9$5=B7uWO8;EYxGW0L*0akszIM}QE zDXVT%sl2$uD99Kc0TpBuYeHXy{yY9tk53V=c;$Zflc95rCdtsd&~RuLnodCc811A& z3g3m$Vb1G-4>=v0%8d_^;lV6=A{i=&rT%Yih?()zOEP{^U*u~1z%Y-5u0$ZM;j%S) zA3Ia*s6dnt(lY7=Ctt(5>V_N0N<9|6H0Q;WN~t5hClFF#k%O8kaAM><6*4y1Bv~P!S%SA`Wv*SwiWol{zBq6h@6~ZX#~nXk1w|^7rkeRv+WLQM+;SH(lE2LbXW^ zMxB+?ob+wAFo{{5dXthc&^wZjd6cbP8rS|vT5$$f+But|uF9a0NeF8uBVM&Cnw$;2 zKdA`8i%|?w5)Q~AV2hmZmSp&JlmbhZATXiQS!J=Mp1tNZ+E`$#wQP)q3i!tssKoc# zk3k)&<)fgsz+r)CJZrh|G+v%ZPC7|r$6?7X^;DgzY<5_wPw#x?O8|11*;Sd%F+k+b z5*Zj0IqnxB{nB*cd%J2JAQ%s^(wRyM$=o^8P0&H|;gz^MiG5D6TLA9$beMSfV={2D z8rT_Yne~{2jekLVfujH86RxiNXUEUXwiGBaZjljW%+-xCZbKE#Qw-wKZnf3UJ^UwM z*q{~1_oRPLjj7SK#FWR5upJ=4&oLg%L0`A0C&QOWJjG4e&t4Rh7r8G<(DTmMv<3`u_EBCZA#@dbNWDG}niXV< z>!dZ1tmAZR+VA97qtS!rV68P%GN-Vt2W7YzwNj-1x|(7|LkiP{@_nUS@Uc`lMWR$q zV5lHdNaMbnVfyGQGX3&=hClk^^nIqLxH&?|1`5K1yyW3)d`h`prl|Ij1gdL}Lv|9< zg;@8b=>Ss8anXNIs(6jgq&SeNpxZl8XkC;Cj-Q0i#YaT;;-U(fuWRZX#NCO^_73vbb<6-@kJU|HG1}iRM zlVbdwR(I)i+ZwZ9)TQgm1={mOo2ifJP!^3I0-q7uTL3O^f$V7PST?6^j+;9VKUY2& zxNd|Z=%vuy<5A2)0KD>OpqqikUvt?5U1>c+;mH$x#i)O`KYn?>HId$)Ks9i0)Id(A6Nm*RCUZ@0Q;E?C-{CYKI@*5Ho zF_oj!)|ETR`<>?ktDY_MrQq0!!+d0-9442KjtT?dUiT!9nClXc3!-~!_UB{zSeGx| zCC`yghc{el8{<~$r(>q#w2EztJc%WPW%d4|D*L^;)y=`Pbrwl7U!;fQU|0WP6c9Gz zq`&I#mtFpP72RUM@%x1oBDGig zco8-a_E&Y%Dic&lSk?rD&oTs+PnI(HMuC?eZ3WnL-GgN$Hp>O+;h~0!arO~iErcGgv&SP zZhb-G86$Dj_x$f%4ok&UW~gPS)L;{aj@Q3zg&EB;MT@`F9mJzVwAi?Z`4UMe5*6!@ zuMMos2m*`K0zXt{Svo3w7=xtfn0UOoeL^{gY^x@>I-gxjaUEZK+EJu(CzZY+6XsF& zJ%|+a6V3M}!>QHaTU`w-@A9uif3fJ*kFMK{zPnqqyK!!qY%cZrmZUv4s)JV_phMpc z7{xJImVfMUyt-KN^Ugl&yR1cJG@N=A5Kw&tbmGElNc};Z&E({c?$!_;*)mi|v-WVK zXclXK9sk#O*5r2=pFp)9=0!)V!vySxNuNlIMff!YXtbt zd$<@csEa2%|Ezv+i5R%Uu*{2VM8~W{N`~@i@~(a}L?E}iVFYYWpnpw`UzD5VwzJ;E z^ER<^zd(m?kq-GeERe=!{+;FmuG4bfy$J0kem4K)P~+!H5eM@Uoowe%512UDX=u|6 z3SN1UJoddY{?kQTVcMVbsPs5sQ0O6xc*0Y4-e`i*bGWIB3^Wd4Z{0Ct&~+YmD>Gcp z#AviPp5movAdyYLEu`&tffI|p#Pjp~A(wKT1)>`>at)5c;|-8s&((_=AO zP}_8qJ&DNIM!r!-8Y#H3n5>2tnh|1nCey|V%+|@)uuYM{Rx5WBDWN?xH!}-sC{^l4ip}iX$pr38&@{U&aCDTe*%&YeRIHo;mJ+V<-Ow3k#NVkFz z5#Vousmi*j)IEOSSN7#$=$2sH)GX3Ia1YH%l3xEE) zP%-4OX*D1h!!og#{9BxQc@7i_5*e zRsn`2`;CQzJO2o}Jac-dYKB`WXH^${J{Por8HfO1gtj5eks@jA^*REd;^hilqjo*$ zI*JpErsNkv`6XC6EX!+?hXo>6K46Giwgm-I?yl|Jn$VxMHGwA2e0Szb+lWJ4E=)EX zk1^%$TqLpck6uz_1Ju6sV>4Oe1L4f)z}Kth@%^|MXy6#Q8-3Tkn<78B`lai}TN`Dv ze)Fkzj4Pu4$onW88fMDoGcQU_7UDX-?&#XV86kz{QNJB1wI(P%x1t5hQwo^J{r<;> z+)aS-V~8B8Aq6tNMrz!i*_L2{eeWz|P0DDNG4)h_`t`$grASTkQ^&c)N>@vg0QI{@^!pCu6x zSS`P2S{LX6TUN7AMrT<4#4N?Eb5+FB>BF5b-;is~58q<;+-%}2qB?rFHqfD$bAxp2 zhyG)`9pIkAOtxKCk`!+jxDwrO>eBO=dq4(~GHO3By9Rj>8fKsOKB$*I#A5JPEj35? zhwVEC(eA(Gx>r3_qHV>E74rL*^(ORJJ+q^BVHF!&U}9zO z+({YF0l2J;ItRzRc1bdZ14)86Pdp)s6}s&cqCbbeG*+|+C7O}%@9>W)GNHE&{FRTqngto5@C|dnOt@;uV)I+| zso9QWG0UgnXMddJ4JB4Y<91f*Ef-aH+&DTSob}35e|Ielhy4Uk$!i$N8QsjdU|ZE7JZYqy`UZ&+1RojLvQh>r-Mdg2PnEQdx+- zX3#~1z6HvO0Vjj{0<&doNl)S$v%QA5Ii{28u%hJ2et&a@94n>;vf^tImCDSfz_6(4 zBz||C%B%3s&_fJ9BQc}i79=aN5iGCT2zI126%O6(az^$t1w=?i$It(~HWH`jVok9= zx3%D=h%7=Tgkk5ZO5_(C3;<{QjWgAwm#`TVqG+sbf;nm|M^Lt4JZdHF_#*TWr8Aq{ zQx>)sVk1Z?{ylA?D)uCjj_x}c(zJthI|mQyT&=H;922{V|Kh5aq{Xe=#4g=8>>UTYGKKnYh*eO za_tC>>p!gL-+*5=ZQ*;aLzux3@ghj^#O&X!<~6m|5t%U( zaYEnDW;NCkFZAhkyGS2}iS1`tvmQBGy2Hm5dTeh!Lf+F1c)BWRL8~vCTA=59=EXmC z!}Kf>K9dv`q*@!1vy`aU$d;+sWL0&YXcsrw#o+U=Dd*tDHK+sf{C?+rx=UDf!(LVBEL~7j^IT_2=qml~$uFMl zsXioK~MrAX9~Huy6OA!eKC5QvSL)1nTsk!e_tHh6UEFTIl9^vzT#F=9A$cu z?~fgENk~Ir)<<`%7`-&_Z3S9=k@RoJi`2DIr5f{nBs7LvccDW2KABk2wevrKpFt;X zz9EiI3+gkNpq8IVAd+yGySXvJSKAtmF3(9i`pK4(xZ(()8%~l$;~2E5?@T1>F*byV z8*|r#4md2OS|T&{+zwqeBZ|V-!u2Zg-LkyM&Gt6X3UmlJ56hiLP`xI%Eg}*wH%H9NZGxAHP8R&!<&LRx;mOhF-H;4?|fq`4?pSjhE zEl0MwmT9X;aM`g@keN&lOV-Mt+S%)~ouF!@1r4TAXvkT|(8$bEhv2@OE3@Cp_H!dL&o4R!$Z+&VN;c~Kshlp8YnHlkJ{ zsfAh`ICn>Bvj*KX$Ssfq4OVC_UI|@k``@ktVjWnXoguz&AI(0~TA(Emt~R)D*wGJt z5F0(ecn1E=vs<;a$*B`PWczzg99|2PssJolw$?e@!g>kSVbl)qPy(*iW<9ycDbd9G zrfiS$A2X@(3|ndgEye5hX(fv8)T;M>$<|RSp_3p7X1Z?i`wXw?lgke;lE6g?i7ase zo+79Ic~iXZEpR2j)H^w>z^=`TKDwQ|sttjsGt5=q)#59CZ+0u{E*`VZvp~FPw%$OL z-19Z_o$ue?aM}Kr)y~G65aas4y8ycQIGB8M_VZ+0;7f(us#T?>Ye&t%WkxmFt2o>s#51U6wEVRwnH-ZdBtNsc;5zji=%yY0sJc{=Ig04%f zX;*x;Tz@3@vcok8?haKSt@_xXrJ6p~ivra835Lj^=#ZTCq2p8i;k3(L*X8>hLH7dW<&5oKLsr1gDO|P%pOL@V7e^%+o;)Xuv;SvV77_q+3J+h)D z1yUp4Df-fe2t_qp_oh49X5U2NIC`8vB$=yxEB;*)*?rdV@WVGw5m+}Xw zq55^S4KMIh{93Nl+9cSrGi-k5t+Y;gcBW`2Z9$Sy&7OMJ4eb#q>f82I9bU#NAnKWs zD@F?ipZPcsafA_a6y&!Z921{*RREhDGeqH_)FbZiQ$w{e0?6v+i##rk}N zx}ynQdsUOj#|a`$&oy~vNoO(Ndr7v*^OMDPjtJzkYb_j4K_9nDV{>Eg_p!^ zxkuH3lY5%O_z+6~6VO9VzsN#^(`!hNL>^pP$Kg{V*`MAT=<(_8CdpIKH(Q#~d-=I} z;Z1tEz1E_WnO^k4o`}(>?P*qQkfbs@`J*vg+NnkD;7KOm?E8Ed9^4^~ui6al$io8_ z)o6*5H#YMx2sG&P|J3AFRdamyeXJ*=syn5O8Ry^WsJ>@;>XUXPu-U(jOLjAlJAw03 zPI~UWEn(6^bfQK@tUlmhqZJ36)ZUNGd1q&QSbwn{*I(##;4>ZCn)TwKT`wt>8PQZH zQ}DQL>4z-tObX1fxIJA{zj$y9^k=swl;pi9ojPeO1MfJcFAu-)@n5m}w8y8}Q(l;! z5M5ST6;;U{qVl_{*x@Rd2hFe9Iau@@?`R%;jz55lWP>2g@;7mujVam4vAl$#dL4HQ z92+YV)J>yOVNDuwv_~2&@66ehaL2aMZ&6E?m+I8@wpp{9cbDZic^qa6HhpfO`q<5! zM*e3BQE0GS#7JVhw;e%8n1@kMmpyb+=xsPdexOMSXN0SiB1Csi7Jx8>!KdDJN6n=t zJdB(=r+7&SLF+Gh4@2~CgCW<;Qpi;2Y~9Wn<`{h{DSda%TxfghpZsg0-*WP}9UPKA zk`O@)X{ZXJx^8s}7tYCotHF4v%vRHZ4AVm^$T>rVh7ghb9FEAlY+dH)$6E75eiqd( zddI6~N!wUG;J5=IX40rnvC7QE*h`i-*;Aor;5DY2|0kNi0UGx_+aWSUfsKg~-)BND zaGk%4%<_E;FI-bU`RYqh*{G@KP+SJ0B(TF6oN{yCeOX=>)tk`UZ)Jg9AZgS=i*o&^ zsuZu#R5iDc&CzZMCwuE0?zw3@=z=X#4HxOh;R*$|OLsrRg2b5hi-*vofW=fnfL4np%FFC`Z47&$P z6=w61W(D5;V18h;<%l#$uN~WfJ|v&f`{tuVclQ>+(z{12XBH_ik)m@C>#Nw8hP!r; zxC=6+-zwx(HmPZPv2A2XFJk+)VXtjTA-9Cy<-UM&sri$fO^8Dx`(6v?aHkUoev3Vk z5I@-sSYkCzfaX=XF8e;LXA(Kp>y8IXK;2P)aV$>XqUOk=b84U;1>Y6Q09Dvi_vw8r z|B0~jb;wm51ohhG&OIk<9C_+IusAme`Le#sg8C?GR>XmW;mXQSTsnc;Jq48V6R;TWkwx#*j^5Pvs{C=~Xfi|uQ*>Kz7M2V;#`ay56_33~rP5*=*odX+u zy*L_Zo2X6Eimsvj)f03E}0D%S}NV@nWE@x8nNr z9nP=$g2nvKtoN$2_lmL>ko>fT#ODvowGq>Dc;fBYHh=P;w`+0gBQWT3i^Ey#Do4t1qUmQ z$1ki)2=E|4N*wKFyR^y2M7CsB@7!z7*fQ%uo>a8Xpu>r4E#Ws$Z|3syKT|7+>KIy0UL< zS+iNIzh;L`s%QzXKXt`)oI&J&p5=rFhrA;gwDCO-OgI(47H5Py@ETyVzA=7HVa*GI zIAmbqMZEMxKrnb(;F?(%g zW3@0127l1;;Vh)TGrQ|X_w*eQL4sM_>6(W7W3jjc6ij?@A*a8m5`z(+O4qc|_x?;B zzT|@boLV@(XxdX+k`Oe-4}EmRk1UET}WmiqYiVZr1RsY z%fc?DlfQ~(x#x4kog)f$dylVX^0ATZNhpf0Fv}v8?F&8*PPq z_`=T4n{X~j@lt)dR*JNOY5Kxp6arCR&&3b$9fXAGc1s}(M1zWWKLY24tPggze=Sw) z(uE}xG_g*E(9AH_c((=>jAECUC*^TE#Uo#6@f^Dv!=JX3$!Vgj?A`irI$gA$B?+2i zrd)VGo80gLo}I@qu@}nVf$EyHGWODpTFk?xPk+&F$Fo2dO_HS(P0Z=GqaM70NsEQ* zOKiOECtquiAM-EFe|S~H1NyTi7nN5k%BnH3+3awbm|nMU8x^4F;^p1!e-t7* z-VZYzg&%6G#*%wpW$CZV3PdB~LWP^-97C6u=<_n(1GJTvdUF`F^HRC6K!VxASBiG~ z0Z*=24zo1-DDy{Dbs)>spAXe@|;%D8~;LPU?%g?@_ zPy-iW+lG=KZw<njpELj-BG&KtdW7ZvDVB};lnSrs zN$yS>P9P$&dQVe!9-fUsenHNpZ~Lx;vn=iAuQn5JdmM(IAi^G@9^51-8JZ|mQfLpv zeW9vbM4PxxFfW8m!`@ws0wy`9R~L}{9Ct5{nT8HGbBqTFHBHR}=c!oq4|@7;&aqdu z+}cDLfdR3JtU3LatqfU4GBV0nvY8Ohsyo3TD>#Nz(%YJ0Qy?F&4#QO@=$U>_ z-Ydw54Hjrby6Ndv(#08j5%~?
    J&w>Ie`#R4>|;mTnKMcIhaEx^TN*iuk4 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 { + height += parseInt(window.getComputedStyle(this.iframe, null).getPropertyValue(v).replace('px', ''), 10) + }) + + this.iframe.height = height + } + + #changeSelfTargetLinksToParent (body) { + const parser = new DOMParser() + const dom = parser.parseFromString(body, 'text/html') + ;[...dom.getElementsByTagName('a')].forEach((link) => { + if (!link.getAttribute('target')) { + link.setAttribute('target', '_parent') + } + }) + + return dom.documentElement.outerHTML + } +} + +export default IframePreview diff --git a/EMS/admin-ui-bundle/assets/js/core/components/revisionTask.js b/EMS/admin-ui-bundle/assets/js/core/components/revisionTask.js new file mode 100644 index 000000000..d96e0d70f --- /dev/null +++ b/EMS/admin-ui-bundle/assets/js/core/components/revisionTask.js @@ -0,0 +1,164 @@ +import ajaxModal from '../../../js/core/helpers/ajaxModal' +import Sortable from 'sortablejs' + +export default class RevisionTask { + constructor () { + this.dashboard() + + this.tasksTab = document.querySelector('#tab_tasks') + if (this.tasksTab !== null) { + this.revisionTasks = document.querySelector('div#revision-tasks') + this.revisionTaskLoading = this.revisionTasks.querySelector('div#revision-tasks-loading') + this.revisionTasksContent = this.revisionTasks.querySelector('div#revision-tasks-content') + this._addClickListeners() + this.loadTasks() + } + } + + dashboard () { + document.addEventListener('click', (e) => { + if (e.target.classList.contains('task-modal')) { + e.preventDefault() + ajaxModal.load({ url: e.target.dataset.url, title: e.target.dataset.title }) + } + if (e.target.classList.contains('btn-task-change-owner-modal')) { + e.preventDefault() + ajaxModal.load( + { url: e.target.dataset.url, title: e.target.dataset.title }, + (json) => { + if (Object.prototype.hasOwnProperty.call(json, 'modalSuccess') && json.modalSuccess === true) { + window.location.reload() + } + } + ) + } + }) + } + + loadTasks () { + fetch(this.revisionTasks.dataset.url, { + method: 'GET', + headers: { 'Content-Type': 'application/json' } + }) + .then((response) => { return response.json() }) + .then((json) => { + if (Object.prototype.hasOwnProperty.call(json, 'tab')) this._updateTab(json.tab) + }) + } + + _updateTab (tab) { + this.revisionTasksContent.outerHTML = tab + this.revisionTasksContent = this.revisionTasks.querySelector('div#revision-tasks-content') + this.revisionTaskLoading.style.display = 'none' + this.revisionTasksContent.style.display = 'block' + } + + _addClickListeners () { + this.tasksTab.addEventListener('click', (event) => { + const target = event.target + + if (target.classList.contains('btn-task-modal')) this._onClickButtonTaskCreateOrUpdate(target) + if (target.classList.contains('btn-task-handle')) this._onClickButtonHandle(target) + if (target.id === 'btn-tasks-reorder') this._onClickButtonTaskReorder(target) + if (target.id === 'btn-tasks-approved') this._onClickButtonTasksApproved(event, target) + + const closestTasksItem = target.closest('.tasks-item') + if (closestTasksItem || target.classList.contains('tasks-item')) { + this._onClickTaskItem(event, closestTasksItem ?? target) + } + }, true) + document.addEventListener('click', (event) => { + const target = event.target + if (target.id === 'btn-task-delete') this._onClickButtonTaskDelete(target) + }) + } + + _onClickButtonTaskCreateOrUpdate (button) { + ajaxModal.load({ url: button.dataset.url, title: button.dataset.title }, (json) => { + if (Object.prototype.hasOwnProperty.call(json, 'modalSuccess') && json.modalSuccess) { + this.loadTasks() + } + }) + } + + _onClickButtonTaskDelete (button) { + ajaxModal.load({ url: button.dataset.url, title: button.dataset.title }, (json) => { + if (Object.prototype.hasOwnProperty.call(json, 'modalSuccess') && json.modalSuccess) { + this.loadTasks() + } + }) + } + + _onClickButtonHandle (button) { + const formData = new FormData(this.tasksTab.querySelector('form')) + formData.set('handle', button.dataset.type) + + fetch(this.revisionTasks.dataset.url, { method: 'POST', body: formData }) + .then((response) => response.json()) + .then((json) => { + if (Object.prototype.hasOwnProperty.call(json, 'success') && json.success) this.loadTasks() + if (Object.prototype.hasOwnProperty.call(json, 'tab')) this._updateTab(json.tab) + }) + } + + _onClickButtonTaskReorder (button) { + this.tasksTab.classList.add('reorder') + button.style.display = 'none' + + const btnReorderCancel = this.tasksTab.querySelector('#btn-tasks-reorder-cancel') + const btnReorderSave = this.tasksTab.querySelector('#btn-tasks-reorder-save') + + btnReorderSave.style.display = 'inline-block' + btnReorderCancel.style.display = 'inline-block' + btnReorderCancel.removeAttribute('disabled') + + const tasksPlannedList = this.tasksTab.querySelector('ul#revision-tasks-planned-list') + tasksPlannedList.querySelectorAll('.tasks-item').item(0).classList.remove('tasks-item-current') + + Sortable.create(tasksPlannedList, { + fallbackTolerance: 3, + animation: 150, + ghostClass: 'dragging' + }) + + const finishReorder = () => { + this.loadTasks() + this.tasksTab.classList.remove('reorder') + } + + btnReorderCancel.onclick = () => finishReorder() + btnReorderSave.onclick = () => { + const taskIds = [] + tasksPlannedList.querySelectorAll('.tasks-item').forEach((item) => { + taskIds.push(item.dataset.id) + }) + fetch(btnReorderSave.dataset.url, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ taskIds }) + }).finally(() => finishReorder()) + } + } + + _onClickButtonTasksApproved (event, button) { + event.preventDefault() + const btnText = button.textContent + const toggleText = button.dataset.toggleText + const list = this.tasksTab.querySelector('ul#revision-tasks-approved') + + button.dataset.toggleText = btnText + button.innerHTML = toggleText + if (button.dataset.toggle === 'true') { + list.style.display = 'block' + button.dataset.toggle = 'false' + } else { + list.style.display = 'none' + button.dataset.toggle = 'true' + } + } + + _onClickTaskItem (event, link) { + event.preventDefault() + ajaxModal.load({ url: link.dataset.url, title: link.dataset.title }) + } +} diff --git a/EMS/admin-ui-bundle/assets/js/core/core.js b/EMS/admin-ui-bundle/assets/js/core/core.js index 70b9fcfd7..47131e016 100644 --- a/EMS/admin-ui-bundle/assets/js/core/core.js +++ b/EMS/admin-ui-bundle/assets/js/core/core.js @@ -4,7 +4,9 @@ import CodeEditor from './plugins/codeEditor' import CollapsibleCollection from './plugins/collapsibleCollection' import Datatable from './plugins/datatable' import File from './plugins/file' +import Iframe from './plugins/iframe' import Image from './plugins/image' +import Job from './plugins/job' import JsonMenuNested from './plugins/jsonMenuNested' import MediaLibrary from './plugins/mediaLibrary' import NestedSortable from './plugins/nestedSortable' @@ -15,8 +17,13 @@ import SymfonyCollection from './plugins/symfonyCollection' import Tooltip from './plugins/tooltip' import WYSIWYG from './plugins/wysiwyg' +import RevisionTask from './components/revisionTask' + +import { EMS_ADDED_DOM_EVENT } from './events/addedDomEvent' + class Core { constructor () { + this._statusUpdateUrl = document.body.getAttribute('data-status-url') this._domListeners = [ new Button(), new Choice(), @@ -24,7 +31,9 @@ class Core { new CollapsibleCollection(), new Datatable(), new File(), + new Iframe(), new Image(), + new Job(), new JsonMenuNested(), new MediaLibrary(), new NestedSortable(), @@ -35,8 +44,8 @@ class Core { new Tooltip(), new WYSIWYG() ] - document.addEventListener('emsAddedDomEvent', (event) => this.load(event.target)) - this.documentReady() + document.addEventListener(EMS_ADDED_DOM_EVENT, (event) => this.load(event.target)) + this.coreReady() } load (target) { @@ -47,12 +56,46 @@ class Core { this._domListeners.forEach((element) => element.load(target)) } - documentReady () { + coreReady () { if (document.readyState === 'complete' || document.readyState === 'interactive') { setTimeout(this.load(document), 1) } else { document.addEventListener('DOMContentLoaded', this.load(document)) } + this.initStatusRefresh() + this.components = [ + new RevisionTask() + ] + } + + initStatusRefresh () { + const self = this + window.setInterval(function () { + self.updateStatus() + }, 180000) + } + + updateStatus () { + const xhr = new XMLHttpRequest() + xhr.open('GET', this._statusUpdateUrl, true) + + xhr.onreadystatechange = function (event) { + if (this.readyState !== 4) { + return + } + + const statusLink = document.getElementById('status-overview') + if (this.status === 200) { + const json = JSON.parse(xhr.responseText) + statusLink.innerHTML = json.body + statusLink.setAttribute('title', json.title) + } else { + statusLink.setAttribute('title', `Error ${xhr.status}`) + statusLink.innerHTML = `Error ${xhr.status}` + } + } + + xhr.send() } } diff --git a/EMS/admin-ui-bundle/assets/js/core/events/addedDomEvent.js b/EMS/admin-ui-bundle/assets/js/core/events/addedDomEvent.js index c008b1066..14172191d 100644 --- a/EMS/admin-ui-bundle/assets/js/core/events/addedDomEvent.js +++ b/EMS/admin-ui-bundle/assets/js/core/events/addedDomEvent.js @@ -1,6 +1,7 @@ +export const EMS_ADDED_DOM_EVENT = 'emsAddedDomEvent' export class AddedDomEvent { constructor (target) { - this._event = new CustomEvent('emsAddedDomEvent', { target }) + this._event = new CustomEvent(EMS_ADDED_DOM_EVENT, { target }) this._target = target } @@ -8,3 +9,5 @@ export class AddedDomEvent { document.dispatchEvent(this._event) } } + +export default AddedDomEvent diff --git a/EMS/admin-ui-bundle/assets/js/core/events/changeEvent.js b/EMS/admin-ui-bundle/assets/js/core/events/changeEvent.js new file mode 100644 index 000000000..bdcfbb13f --- /dev/null +++ b/EMS/admin-ui-bundle/assets/js/core/events/changeEvent.js @@ -0,0 +1,12 @@ +export const EMS_CHANGE_EVENT = 'emsChangeEvent' +export class ChangeEvent { + constructor (input) { + this._event = new CustomEvent(EMS_CHANGE_EVENT, { input }) + this._input = input + } + + dispatch () { + document.dispatchEvent(this._event) + } +} +export default ChangeEvent diff --git a/EMS/admin-ui-bundle/assets/js/core/helpers/queryString.js b/EMS/admin-ui-bundle/assets/js/core/helpers/queryString.js new file mode 100644 index 000000000..3bbdfa4ac --- /dev/null +++ b/EMS/admin-ui-bundle/assets/js/core/helpers/queryString.js @@ -0,0 +1,23 @@ +export function queryString () { + // This function is anonymous, is executed immediately and + // the return value is assigned to QueryString! + const queryString = {} + const query = window.location.search.substring(1) + const vars = query.split('&') + for (let i = 0; i < vars.length; i++) { + const pair = vars[i].split('=') + // If first entry with this name + if (typeof queryString[pair[0]] === 'undefined') { + queryString[pair[0]] = decodeURIComponent(pair[1]) + // If second entry with this name + } else if (typeof queryString[pair[0]] === 'string') { + queryString[pair[0]] = [queryString[pair[0]], decodeURIComponent(pair[1])] + // If third or later entry with this name + } else { + queryString[pair[0]].push(decodeURIComponent(pair[1])) + } + } + return queryString +} + +export default queryString diff --git a/EMS/admin-ui-bundle/assets/js/core/plugins/codeEditor.js b/EMS/admin-ui-bundle/assets/js/core/plugins/codeEditor.js index cfcb3a6f2..aa9d4ef25 100644 --- a/EMS/admin-ui-bundle/assets/js/core/plugins/codeEditor.js +++ b/EMS/admin-ui-bundle/assets/js/core/plugins/codeEditor.js @@ -3,6 +3,12 @@ import ace from 'ace-builds/src-noconflict/ace' import 'ace-builds/webpack-resolver' export default class CodeEditor { load (target) { + this.loadEditors(target) + this.loadAceThemePickers(target) + this.loadAceModePickers(target) + } + + loadEditors (target) { const self = this const codeEditors = target.getElementsByClassName('ems-code-editor') for (let i = 0; i < codeEditors.length; i++) { @@ -33,7 +39,6 @@ export default class CodeEditor { minLines = hiddenField.data('min-lines') } - console.log(theme) const editor = ace.edit(pre, { mode: language, readOnly: disabled, @@ -86,4 +91,45 @@ export default class CodeEditor { console.log(this.aceConfig) return this.aceConfig } + + getModules (startingWith) { + const filteredModule = [] + const modules = ace.config.all().$moduleUrls + for (const [key] of Object.entries(modules)) { + if (!key.startsWith(startingWith)) { + continue + } + let caption = key.substring(startingWith.length).replaceAll('_', ' ') + caption = caption.charAt(0).toUpperCase() + caption.slice(1) + filteredModule.push({ + id: key, + text: caption + }) + } + return filteredModule + } + + loadAceThemePickers (target) { + const codeEditorThemeField = $(target).find('.code_editor_theme_ems') + if (codeEditorThemeField.length === 0) { + return + } + const modes = this.getModules('ace/theme/') + codeEditorThemeField.select2({ + data: modes, + placeholder: 'Select a theme' + }) + } + + loadAceModePickers (target) { + const codeEditorModeField = $(target).find('.code_editor_mode_ems') + if (codeEditorModeField.length === 0) { + return + } + const modes = this.getModules('ace/mode/') + codeEditorModeField.select2({ + data: modes, + placeholder: 'Select a language' + }) + } } diff --git a/EMS/admin-ui-bundle/assets/js/core/plugins/iframe.js b/EMS/admin-ui-bundle/assets/js/core/plugins/iframe.js new file mode 100644 index 000000000..2a2736eae --- /dev/null +++ b/EMS/admin-ui-bundle/assets/js/core/plugins/iframe.js @@ -0,0 +1,13 @@ +import IframePreview from '../components/iframePreview' +class Iframe { + #iframes = [] + + load (target) { + const iframes = target.querySelectorAll('iframe[data-iframe-body]') + for (let i = 0; i < iframes.length; i++) { + this.#iframes.push(new IframePreview(iframes[i])) + } + } +} + +export default Iframe diff --git a/EMS/admin-ui-bundle/assets/js/core/plugins/job.js b/EMS/admin-ui-bundle/assets/js/core/plugins/job.js new file mode 100644 index 000000000..4391707d4 --- /dev/null +++ b/EMS/admin-ui-bundle/assets/js/core/plugins/job.js @@ -0,0 +1,36 @@ +import $ from 'jquery' + +class Job { + load (target) { + this.loadStartJob(target) + this.loadRequestJob(target) + } + + loadStartJob (target) { + $(target).find('[data-start-job-url]').each(function () { + $.ajax({ + type: 'POST', + url: this.getAttribute('data-start-job-url') + }).always(function () { + location.reload() + }) + }) + } + + loadRequestJob (target) { + $(target).find('a.request_job').on('click', function (e) { + e.preventDefault() + window.ajaxRequest.post($(e.target).data('url')) + .success(function (message) { + window.ajaxRequest.post(message.jobUrl) + $('ul#commands-log').prepend('
  • ' + + '' + + 'Job #' + message.jobId + + '' + + '
  • ') + }) + }) + } +} + +export default Job diff --git a/EMS/admin-ui-bundle/assets/js/core/plugins/wysiwyg.js b/EMS/admin-ui-bundle/assets/js/core/plugins/wysiwyg.js index 1d71bc6ad..4ad01e2e3 100644 --- a/EMS/admin-ui-bundle/assets/js/core/plugins/wysiwyg.js +++ b/EMS/admin-ui-bundle/assets/js/core/plugins/wysiwyg.js @@ -7,6 +7,7 @@ import { Heading } from '@ckeditor/ckeditor5-heading' import { Link } from '@ckeditor/ckeditor5-link' import { List } from '@ckeditor/ckeditor5-list' import { Paragraph } from '@ckeditor/ckeditor5-paragraph' +import '../../../css/core/plugins/wysiwyg.scss' class WYSIWYG { load (target) { diff --git a/EMS/admin-ui-bundle/src/Resources/views/bootstrap5/elasticsearch/status.json.twig b/EMS/admin-ui-bundle/src/Resources/views/bootstrap5/elasticsearch/status.json.twig index 57e63389f..3f831af00 100644 --- a/EMS/admin-ui-bundle/src/Resources/views/bootstrap5/elasticsearch/status.json.twig +++ b/EMS/admin-ui-bundle/src/Resources/views/bootstrap5/elasticsearch/status.json.twig @@ -1,4 +1,8 @@ -{ - "status": {{ globalStatus|json_encode()|raw }}, - "body": {{ " #{globalStatus}"|json_encode()|raw }} -} +{%- trans_default_domain 'elements' -%} +{%- set title = "elements.status.#{globalStatus}"|trans -%} +{%- set response = { + status: globalStatus, + body: " #{title}", + title: title, +} -%} +{{- response|json_encode|raw -}} diff --git a/EMS/admin-ui-bundle/src/Resources/views/bootstrap5/form/fields.html.twig b/EMS/admin-ui-bundle/src/Resources/views/bootstrap5/form/fields.html.twig index 382d50017..e16dc80e8 100644 --- a/EMS/admin-ui-bundle/src/Resources/views/bootstrap5/form/fields.html.twig +++ b/EMS/admin-ui-bundle/src/Resources/views/bootstrap5/form/fields.html.twig @@ -127,10 +127,8 @@ {%- endblock ems_choice_row %} {% block colorpicker_widget -%} -
    - - {{ block('form_widget') }} -
    + {%- set type = 'color' -%} + {{- block('form_widget') -}} {%- endblock colorpicker_widget %} {% block select2_widget -%} diff --git a/rector.php b/rector.php index 2934901c5..1ca6ee66b 100644 --- a/rector.php +++ b/rector.php @@ -9,7 +9,21 @@ return static function (RectorConfig $rectorConfig): void { $rectorConfig->paths([ - __DIR__ . '/EMS', + __DIR__ . '/EMS/admin-ui-bundle/src', + __DIR__ . '/EMS/client-helper-bundle/src', + __DIR__ . '/EMS/client-helper-bundle/tests', + __DIR__ . '/EMS/common-bundle/src', + __DIR__ . '/EMS/common-bundle/tests', + __DIR__ . '/EMS/core-bundle/src', + __DIR__ . '/EMS/core-bundle/tests', + __DIR__ . '/EMS/form-bundle/src', + __DIR__ . '/EMS/form-bundle/tests', + __DIR__ . '/EMS/helpers/src', + __DIR__ . '/EMS/helpers/tests', + __DIR__ . '/EMS/submission-bundle/src', + __DIR__ . '/EMS/submission-bundle/tests', + __DIR__ . '/EMS/xliff/src', + __DIR__ . '/EMS/xliff/tests', __DIR__ . '/elasticms-admin/src', __DIR__ . '/elasticms-cli/src', __DIR__ . '/elasticms-web/src',