From 02a767af957d150c3b33a39fce9f1012caeb6d24 Mon Sep 17 00:00:00 2001 From: Agata Cyra Date: Tue, 13 Jun 2023 13:57:25 +0200 Subject: [PATCH 01/14] Add Greek letter for mu --- .DS_Store | Bin 0 -> 8196 bytes .../components/userView/data/headersSpecials.js | 4 ++-- .../components/userView/data/table/noDataView.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5abab18123ec1ce4006908f29905a9462474d5d5 GIT binary patch literal 8196 zcmeHMPjAyO9R0cL)>Iv+NJH8MDH7LGMj2xjm#%9MlYqmD-~gy3YqgbSan+`)rm0fT z@E!OHT=^t?7f$egwpZm3-318{*pmGm`#n2({w1kXA`;C>?*Y*!5jn_=833c`3ALw!euwihn5iLkUOMzM{%oanKy@Swl^fwHDu2IWL zsF^X2nOT?}iZELb;VL?bhDKXj2do2G2YBzkLLLoicn~D^?|bN}epgA!N_0e$dem2V zPF1>~GYV3w&ncAyg+~#xk36P+k}vM0_-o)x%y5c%Mk(&c>$v`OJTzY)zWBpnFpjpi zzKYyRes!(j6r7UtwsRtL85cWq(FzEF` zdGl%z_T;oFCt+`_v>n~y6rEzXym@)KTidO;wffGi;$GHkTNQWv;m&MUbZ+0h|KzZH z8k~jlgYuDtd4$moeY`07`V!ZF-Wi2~43E*yn!NF5obu%x`r<3KN+v2S-W?|pr>>?e)i9Kr3Ghh{}UQ(g_ ziz|5iKF&=7ql^#mPuz_8SHQI%fjNL8%Z6(Sw!?P|_!Fgw=puP8?9ui7KYd4R*XtGc z(c@peBQic@?uv+GkfM}7h=qhdSZtfD1J;3s11q|=Spv3~fB#?bZN)lZ9r*Vg5cyW8 z)x>pO{V+{mBJZ_bc9_s8eF*m literal 0 HcmV?d00001 diff --git a/app/public/components/userView/data/headersSpecials.js b/app/public/components/userView/data/headersSpecials.js index ca7735e9a..01a99d0cb 100644 --- a/app/public/components/userView/data/headersSpecials.js +++ b/app/public/components/userView/data/headersSpecials.js @@ -14,7 +14,7 @@ const runsViews = { name: 'Name', - run_number: 'Run number', + run_number: 'Run #', time_start: 'Start time', time_end: 'End time', time_trg_start: 'Trg. start', @@ -25,7 +25,7 @@ const runsViews = { triggers_conf: 'Triggers conf.', fill_number: 'Fill number', run_type: 'Run type', - mu: 'Mu', + mu: '\u03BC', l3_current: 'L3 curr. [A]', dipole_current: 'Dipole curr. [A]', }; diff --git a/app/public/components/userView/data/table/noDataView.js b/app/public/components/userView/data/table/noDataView.js index 59fe65448..07dbfce5b 100644 --- a/app/public/components/userView/data/table/noDataView.js +++ b/app/public/components/userView/data/table/noDataView.js @@ -61,7 +61,7 @@ export default function noDataView( const noDataMessage = h('h3', 'No data found'); const noDataExplanation = h('h5', `${ dataPointer.page === pagesNames.periods - ? 'Please sysnchronize with outer services' + ? 'Please synchronize with outer services' : 'There is no data to be displayed here' }`); From b45b35a771048fc7a3da507c06c11a4d9ed97c79 Mon Sep 17 00:00:00 2001 From: Agata Cyra Date: Tue, 13 Jun 2023 14:03:29 +0200 Subject: [PATCH 02/14] Use # in place of word number --- app/public/components/userView/data/headersSpecials.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/public/components/userView/data/headersSpecials.js b/app/public/components/userView/data/headersSpecials.js index 01a99d0cb..d577b6f2c 100644 --- a/app/public/components/userView/data/headersSpecials.js +++ b/app/public/components/userView/data/headersSpecials.js @@ -23,7 +23,7 @@ const runsViews = { ir: 'IR [Hz]', filling_scheme: 'Filling scheme', triggers_conf: 'Triggers conf.', - fill_number: 'Fill number', + fill_number: 'Fill #', run_type: 'Run type', mu: '\u03BC', l3_current: 'L3 curr. [A]', @@ -36,7 +36,7 @@ const dpViews = { pass_type: 'Type', jira: 'Jira', ml: 'ML', - number_of_events: 'Events number', + number_of_events: 'Events #', software_version: 'Soft. version', size: 'Size', }; @@ -47,7 +47,7 @@ const mcViews = { jira: 'Jira', ml: 'ML', pwg: 'PWG', - number_of_events: 'Events number', + number_of_events: 'Events #', }; const headersSpecials = { From 02ce7d67654a23fe5b8a61d8ac16c02dbf9da59e Mon Sep 17 00:00:00 2001 From: Agata Cyra Date: Tue, 13 Jun 2023 14:19:55 +0200 Subject: [PATCH 03/14] Replace trash icon with X --- .../components/userView/sidebar/multiButtonController.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/public/components/userView/sidebar/multiButtonController.js b/app/public/components/userView/sidebar/multiButtonController.js index 873d6b48c..40dfd5e19 100644 --- a/app/public/components/userView/sidebar/multiButtonController.js +++ b/app/public/components/userView/sidebar/multiButtonController.js @@ -12,7 +12,7 @@ * or submit itself to any jurisdiction. */ -import { h, iconShareBoxed, iconReload, iconTrash } from '/js/src/index.js'; +import { h, iconShareBoxed, iconReload, iconX } from '/js/src/index.js'; export function multiButtonController(model, pageName, index) { const page = model.fetchedData[pageName]; @@ -106,7 +106,7 @@ const deletePageButton = (model, pageName, index) => h('a.menu-item', { model.fetchedData.delete(pageName, index); model.notify(); }, -}, iconTrash()); +}, iconX()); const reloadPageButton = (model, pageName, index, url) => h('a.menu-item', { onclick: () => { From 93b6ad04f0d29a9085ed620c830f962f248a061d Mon Sep 17 00:00:00 2001 From: Agata Cyra Date: Tue, 13 Jun 2023 16:47:51 +0200 Subject: [PATCH 04/14] Center of mass energy image --- .DS_Store | Bin 8196 -> 8196 bytes app/.DS_Store | Bin 0 -> 6148 bytes app/public/.DS_Store | Bin 0 -> 6148 bytes .../userView/data/headersSpecials.js | 4 +++- app/public/styles/.DS_Store | Bin 0 -> 6148 bytes app/public/styles/icons.css | 7 +++++++ app/public/styles/images/.DS_Store | Bin 0 -> 6148 bytes app/public/styles/images/other/.DS_Store | Bin 0 -> 6148 bytes .../images/other/Center of Mass Energy.svg | 7 +++++++ 9 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 app/.DS_Store create mode 100644 app/public/.DS_Store create mode 100644 app/public/styles/.DS_Store create mode 100644 app/public/styles/images/.DS_Store create mode 100644 app/public/styles/images/other/.DS_Store create mode 100644 app/public/styles/images/other/Center of Mass Energy.svg diff --git a/.DS_Store b/.DS_Store index 5abab18123ec1ce4006908f29905a9462474d5d5..8a8199a0aa11131c2c37e36e0be13a7e5bb97017 100644 GIT binary patch delta 78 zcmZp1XmOa}&nUJrU^hRb*km37O?GC6M1}%}g2~T>8#pYD40IHX%q%D8iP#H6CCY+} d@^bR?(is>S7&jXUd}Q0qF7b_Jv!n<+GXOl36vqGn delta 35 rcmZp1XmOa}&nU7nU^hRb$YdS?&CQa6@7N|bJlV`H@r`9;1v@hU)IbaR diff --git a/app/.DS_Store b/app/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..bc65b335aa2efb9548c02e9f9cddcf2690490e6d GIT binary patch literal 6148 zcmeHKO-~a+7=EX%?N);6K@%<}n|N(XMMFZktQ8JkT>=L+b(dCLU1pl@mL5oxJ;RUT z>M!xXaKh)E86vwyy%7WRHt#(1@x1f#v@_EoA~BeaUJ`YP$b&OB9wWKMxSf5;YPNk;BIOFXZzT6B#0Bzn-RSDTAP+k5t6 zef$0JdwML@8RicYI9s)?TD%6|VGu1aVM2i> zRM;nmFyW~8EibTG7&PG|?Bhe&k%fJs2t7Lb_cfhFV9=#b0jEG&fx0Pn`2OGh^ZUOX z5D2GPuMkaHk6V0vtw`>Hq)$ literal 0 HcmV?d00001 diff --git a/app/public/.DS_Store b/app/public/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..7b8a5fcda4e91cd1b78e44deacb2d820ba4f6ab9 GIT binary patch literal 6148 zcmeHKL2uJA82#L}tJ?|G14z3dMdCV*GSH-Hm(q;`2QC!B0Z>VnZVOA}s!127sZ!7I zANUJg`6c`pPVhe4otm_}a6qW?C)v-j-*e*U#EywbbSL3sq81TJB*tnJ*^1zHPD@d- zHFtqR_n|1E0a8Zk65CZc2b=@{n*;pqHtB>E4QYh@=KFmStCJvB0or+Sc!sq5TL(%+ z4XsJ&lp;E#UHU|6N%6g;Xo8tgi1pz!_~%$7h7=by;z3Cx3!0^Sh_5AnjV{PX&$vga z=U+?AAx6tjQ+kHVS&1p><(#>4ob1fE1!p#~_GNTMG5TKR$*tTVPe<1AAHgV&(yZP7 zDJmP)+GbtW<(B-=J6Cxx^Rr3X^~dk{>a|jFFfaSTn`n^tTlbDslKD|G7;8Zk4nTST zHcCR3chw{bQ?2cp2HB8}erx;s`e3iUR-geM18?n z5dy2djyo3T!1GZU|7CBS#42G=SyQ74youmV$r(NKi_X;P61)NBt3229zR0fKu*?1O zye~2(dQ>#Vdvc1WP?Q(n6FvKje8|@}>@3QywH=`wm~+56@V5@|`rsikb}Y^e>ZJpj zJ^}!%sMdip|1Pk`v)HjXGl&+1FjAnA3VXy5Mvi*V@;Vl0292DAJ$wjzXJJn$Lf;+z zdzwz7W65gg5S?{gTZ$?8&_FH$L9Zco(-H{1C~kV_H7e~PDXtWoR8-amOO7eQpmXwL zdd)BCf5|C%v%4|=NP8?L%)sp1ot-CX-%7h$B2wLP|20vYh&(uB%}4QwaX%5H9d@wSEv_C+~$(Jq%FS^L}Bt zk?rt&&+oN2FE96ZJKMqT-u`quu=TfZ_NG(c+j#lv-BIsHHq7-Eo*$<0#Ta|;@Bw&y z3**0tMtP?5GsKzGGBfp)GS&uqT3ng~b&JgTc|%i76c7bOftdns1@c<6h*U%YQ9u;1 z3h??6z!^h_l|{33pfE=OU>#v&sPiu%a{`BfFfy)aWRu(Ot zlskMVcW32JD9YR&*AGlOsnDX7qJSu{sKA%@4picTv{J7Tq)CbzaWMf7Tx$desM5HJidEMeB~EjQBKZst z!<8rDbzo+8kP-u@icjrGyZ`-|S$lu-?s@@0wMN}90A&F1Fp(BNVD^AfKc#zCkQRzl zG)5Sk5X&^!j`TTk1RR0aOMupH0cub^h|RCu`rWu;$i%o*Xz@Yo-}LKif+`mrqh!5>GS6H_x7LoZ(`0Z zYK8j|+egtmxxfO?6@?{Lk-ZW=1(GIQ2JZvPQg>H~8-El^p>`;Asia{-80D`l6Xt z-a0VjD*$Q{o7u2TzyB1YMSaoCD)yi$8;WW}m0U5D4aasZe!ggC)rNzT%ZHLDE4iU4 zemah?*&UQ`)#Z+WBQQ^3!B)$3{_j72|DO+XHAlb^cvl2eaWB|w;gsZTy*D{JYc-~y qn8?U4v&tcu$#KjDI*QjYv0QoD}h_EVdiWA literal 0 HcmV?d00001 diff --git a/app/public/styles/images/other/.DS_Store b/app/public/styles/images/other/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..2a9f92f8e45274631528dd6184875011c8ecedba GIT binary patch literal 6148 zcmeHKyG{c!5FA5_NHi&-^A7}xKQK`!sNn-30n!9c;w8~t$7jRr1H|bRiHZWvM!RFL zJ$7!2+gku-@p5wl%m7U3hIqFyHd{9z*(#bfk!^qdlz#c)#*s`4NC7Dz1*Cu!*sXxoUfT2^P*Dm< z0V(jUfW03o-LNJ0f&S`X@D_kLVcLyj?%EwK*_ zI*Q-SbMoer9ZK=rnXkSbr3ETV0Vyz4U_YiatN&;89sU21q?r_u0{=>ZGFe_M7ks3w zt)qvtT3hK?^e^LH-_GErnCPXL6D!4sKlW7{bG;?@flg=M=|p`9m@YCY@D~bv0!2O` AOaK4? literal 0 HcmV?d00001 diff --git a/app/public/styles/images/other/Center of Mass Energy.svg b/app/public/styles/images/other/Center of Mass Energy.svg new file mode 100644 index 000000000..58eaa4e34 --- /dev/null +++ b/app/public/styles/images/other/Center of Mass Energy.svg @@ -0,0 +1,7 @@ + + + + + + + From 94dfe17c1945599c425c4dd0a547d1e08b3d29bb Mon Sep 17 00:00:00 2001 From: Agata Cyra Date: Tue, 13 Jun 2023 16:51:03 +0200 Subject: [PATCH 05/14] Cleanup :broom: --- .DS_Store | Bin 8196 -> 0 bytes app/.DS_Store | Bin 6148 -> 0 bytes app/public/.DS_Store | Bin 6148 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store delete mode 100644 app/.DS_Store delete mode 100644 app/public/.DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 8a8199a0aa11131c2c37e36e0be13a7e5bb97017..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHM%We}f6uoZJW}*}nBtYFDjl{NuQc7sVCQXw?C1BAYSO5w$P1L5Hj-zDKsH!Su z4gbI|u;okm7glht?N;+3s8SK7!j|mgvCp+V$JaA+6Cx6garY6?5)nDbjO7xFUnK75 zoJn)0D1di1CuhccU-#P5Dqt1(FBRbD zgNw{qH#pU(9vvuD2ms8ZStZof$3M{J24LObR3loDgf<0gQ(;03VPXfN&Cy>s{HaE5 zPD0I$am>uZL@2_99>P_05_OHXv^%Fzm;&rm zY8GN2h}+%53G&pQdbA7v16b)juFyVwLQO7q{T?dsv$UMj0KTpST&*uYh~q0kaQ_EE}pN*bbi- z@W;v`qT}RRSfk(bulhu+)oRP`lc$$G5g8pary^n>q$s5id?BF^Hrpnvzy%e^Y2H!^ z*qZ(O{{=_0G^>DB;5sTG^38U$ft8=L+b(dCLU1pl@mL5oxJ;RUT z>M!xXaKh)E86vwyy%7WRHt#(1@x1f#v@_EoA~BeaUJ`YP$b&OB9wWKMxSf5;YPNk;BIOFXZzT6B#0Bzn-RSDTAP+k5t6 zef$0JdwML@8RicYI9s)?TD%6|VGu1aVM2i> zRM;nmFyW~8EibTG7&PG|?Bhe&k%fJs2t7Lb_cfhFV9=#b0jEG&fx0Pn`2OGh^ZUOX z5D2GPuMkaHk6V0vtw`>Hq)$ diff --git a/app/public/.DS_Store b/app/public/.DS_Store deleted file mode 100644 index 7b8a5fcda4e91cd1b78e44deacb2d820ba4f6ab9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKL2uJA82#L}tJ?|G14z3dMdCV*GSH-Hm(q;`2QC!B0Z>VnZVOA}s!127sZ!7I zANUJg`6c`pPVhe4otm_}a6qW?C)v-j-*e*U#EywbbSL3sq81TJB*tnJ*^1zHPD@d- zHFtqR_n|1E0a8Zk65CZc2b=@{n*;pqHtB>E4QYh@=KFmStCJvB0or+Sc!sq5TL(%+ z4XsJ&lp;E#UHU|6N%6g;Xo8tgi1pz!_~%$7h7=by;z3Cx3!0^Sh_5AnjV{PX&$vga z=U+?AAx6tjQ+kHVS&1p><(#>4ob1fE1!p#~_GNTMG5TKR$*tTVPe<1AAHgV&(yZP7 zDJmP)+GbtW<(B-=J6Cxx^Rr3X^~dk{>a|jFFfaSTn`n^tTlbDslKD|G7;8Zk4nTST zHcCR3chw{bQ?2cp2HB8}erx;s`e3iUR-geM18?n z5dy2djyo3T!1GZU|7CBS#42G=SyQ74youmV$r(NKi_X;P61)NBt3229zR0fKu*?1O zye~2(dQ>#Vdvc1WP?Q(n6FvKje8|@}>@3QywH=`wm~+56@V5@|`rsikb}Y^e>ZJpj zJ^}!%sMdip|1Pk`v)HjXGl&+1FjAnA3VXy5Mvi*V@;Vl0292DAJ$wjzXJJn$Lf;+z zdzwz7W6 Date: Tue, 13 Jun 2023 17:12:24 +0200 Subject: [PATCH 06/14] Remove .DS_Store files --- app/public/styles/.DS_Store | Bin 6148 -> 0 bytes app/public/styles/images/.DS_Store | Bin 6148 -> 0 bytes app/public/styles/images/other/.DS_Store | Bin 6148 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 app/public/styles/.DS_Store delete mode 100644 app/public/styles/images/.DS_Store delete mode 100644 app/public/styles/images/other/.DS_Store diff --git a/app/public/styles/.DS_Store b/app/public/styles/.DS_Store deleted file mode 100644 index 9186f62e34885538f8f623df16a747d2663a2e79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKO>5gg5S?{gTZ$?8&_FH$L9Zco(-H{1C~kV_H7e~PDXtWoR8-amOO7eQpmXwL zdd)BCf5|C%v%4|=NP8?L%)sp1ot-CX-%7h$B2wLP|20vYh&(uB%}4QwaX%5H9d@wSEv_C+~$(Jq%FS^L}Bt zk?rt&&+oN2FE96ZJKMqT-u`quu=TfZ_NG(c+j#lv-BIsHHq7-Eo*$<0#Ta|;@Bw&y z3**0tMtP?5GsKzGGBfp)GS&uqT3ng~b&JgTc|%i76c7bOftdns1@c<6h*U%YQ9u;1 z3h??6z!^h_l|{33pfE=OU>#v&sPiu%a{`BfFfy)aWRu(Ot zlskMVcW32JD9YR&*AGlOsnDX7qJSu{sKA%@4picTv{J7Tq)CbzaWMf7Tx$desM5HJidEMeB~EjQBKZst z!<8rDbzo+8kP-u@icjrGyZ`-|S$lu-?s@@0wMN}90A&F1Fp(BNVD^AfKc#zCkQRzl zG)5Sk5X&^!j`TTk1RR0aOMupH0cub^h|RCu`rWu;$i%o*Xz@Yo-}LKif+`mrqh!5>GS6H_x7LoZ(`0Z zYK8j|+egtmxxfO?6@?{Lk-ZW=1(GIQ2JZvPQg>H~8-El^p>`;Asia{-80D`l6Xt z-a0VjD*$Q{o7u2TzyB1YMSaoCD)yi$8;WW}m0U5D4aasZe!ggC)rNzT%ZHLDE4iU4 zemah?*&UQ`)#Z+WBQQ^3!B)$3{_j72|DO+XHAlb^cvl2eaWB|w;gsZTy*D{JYc-~y qn8?U4v&tcu$#KjDI*QjYv0QoD}h_EVdiWA diff --git a/app/public/styles/images/other/.DS_Store b/app/public/styles/images/other/.DS_Store deleted file mode 100644 index 2a9f92f8e45274631528dd6184875011c8ecedba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKyG{c!5FA5_NHi&-^A7}xKQK`!sNn-30n!9c;w8~t$7jRr1H|bRiHZWvM!RFL zJ$7!2+gku-@p5wl%m7U3hIqFyHd{9z*(#bfk!^qdlz#c)#*s`4NC7Dz1*Cu!*sXxoUfT2^P*Dm< z0V(jUfW03o-LNJ0f&S`X@D_kLVcLyj?%EwK*_ zI*Q-SbMoer9ZK=rnXkSbr3ETV0Vyz4U_YiatN&;89sU21q?r_u0{=>ZGFe_M7ks3w zt)qvtT3hK?^e^LH-_GErnCPXL6D!4sKlW7{bG;?@flg=M=|p`9m@YCY@D~bv0!2O` AOaK4? From a990c477cbd93ab9cbb2eec5e860eb19c6fe0f23 Mon Sep 17 00:00:00 2001 From: Agata Cyra Date: Wed, 14 Jun 2023 17:03:40 +0200 Subject: [PATCH 07/14] Discussion with Chiara --- .../userView/data/headersSpecials.js | 8 ++-- .../components/userView/data/table/filter.js | 1 - .../components/userView/data/table/header.js | 26 +++++-------- .../components/userView/data/table/row.js | 10 +++-- app/public/styles/custom.css | 2 + app/public/styles/custom/filter/filter.css | 1 + app/public/styles/custom/table.css | 39 ++++++++++++++++++- app/public/styles/icons.css | 14 +------ app/public/styles/images/20/Eye.svg | 9 ----- .../images/other/Center of Mass Energy.svg | 12 +++--- 10 files changed, 68 insertions(+), 54 deletions(-) delete mode 100644 app/public/styles/images/20/Eye.svg diff --git a/app/public/components/userView/data/headersSpecials.js b/app/public/components/userView/data/headersSpecials.js index 778fa1155..e21b1de61 100644 --- a/app/public/components/userView/data/headersSpecials.js +++ b/app/public/components/userView/data/headersSpecials.js @@ -16,7 +16,7 @@ import { h } from '/js/src/index.js'; const runsViews = { name: 'Name', - run_number: 'Run #', + run_number: 'Run', time_start: 'Start time', time_end: 'End time', time_trg_start: 'Trg. start', @@ -25,7 +25,7 @@ const runsViews = { ir: 'IR [Hz]', filling_scheme: 'Filling scheme', triggers_conf: 'Triggers conf.', - fill_number: 'Fill #', + fill_number: 'Fill', run_type: 'Run type', mu: '\u03BC', l3_current: 'L3 curr. [A]', @@ -38,7 +38,7 @@ const dpViews = { pass_type: 'Type', jira: 'Jira', ml: 'ML', - number_of_events: 'Events #', + number_of_events: 'Events', software_version: 'Soft. version', size: 'Size', }; @@ -49,7 +49,7 @@ const mcViews = { jira: 'Jira', ml: 'ML', pwg: 'PWG', - number_of_events: 'Events #', + number_of_events: 'Events', }; const headersSpecials = { diff --git a/app/public/components/userView/data/table/filter.js b/app/public/components/userView/data/table/filter.js index 73bfe6b1e..c532da141 100644 --- a/app/public/components/userView/data/table/filter.js +++ b/app/public/components/userView/data/table/filter.js @@ -97,7 +97,6 @@ const createClickableLabel = (model, field) => }, className: field.marked ? 'active' : '', }, - h(`${field.marked ? '.eye-20' : '.hide-20'}`), getHeaderSpecial(model, field), h('span.tooltiptext', field.marked ? 'hide' : 'display'))); diff --git a/app/public/components/userView/data/table/header.js b/app/public/components/userView/data/table/header.js index 9aa43d634..323be4e63 100644 --- a/app/public/components/userView/data/table/header.js +++ b/app/public/components/userView/data/table/header.js @@ -27,24 +27,16 @@ const columnsHeadersArray = (visibleFields, data, model) => }, h('.relative', [ headerSpecPresent(model, f) !== nonDisplayable ? [ h('.inline', getHeaderSpecial(model, f)), - headerSpecPresent(model, f) === filterApplicableHeader - ? h('.inline', - h('.vertical-center', - h('div.sort-up-20.pointer', { - onclick: () => sort(f.name, data, model, -1), - class: data.sorting.order === -1 && data.sorting.field === f.name - ? 'selected' : - '', - }), + h('.', + data.sorting.order === -1 ? + h('div.sort-up-20.pointer', { + onclick: () => sort(f.name, data, model, -data.sorting.order), + }) : + h('div.sort-down-20.pointer', { - onclick: () => sort(f.name, data, model, 1), - class: data.sorting.order === 1 && data.sorting.field === f.name - ? 'selected' - : '', - }))) - : '', - ] : '', - ]))); + onclick: () => sort(f.name, data, model, -data.sorting.order), + })), + ]: '' ]))); const rowsOptions = (model, data) => h('th', { scope: 'col' }, diff --git a/app/public/components/userView/data/table/row.js b/app/public/components/userView/data/table/row.js index b7742d370..ecea80ab5 100644 --- a/app/public/components/userView/data/table/row.js +++ b/app/public/components/userView/data/table/row.js @@ -18,19 +18,21 @@ import { reduceSerialIf } from '../../../../utils/utils.js'; // eslint-disable-next-line no-unused-vars const detectorIcon = (model, item, n) => h('.tooltip.noBorderBottom.pointer', - h('svg', { width: '50px', height: '50px' }, - h('circle', + h('svg', { width: '20px', height: '20px' }, + h('circle.black-font', { cx: '50%', cy: '50%', - r: '15px', + r: '8px', // /* *Stroke: '#F7B538', strokes for the limited acceptance flags only *'stroke-width': '3', */ fill: '#8CB369', - })), + // content: '99', + }, '90')), + h('.black-font', '90'), h('span.detector-tooltip-field', `run_det_id: ${item[n]}`)); export default function row( diff --git a/app/public/styles/custom.css b/app/public/styles/custom.css index 917a391f9..dc986fc48 100644 --- a/app/public/styles/custom.css +++ b/app/public/styles/custom.css @@ -138,11 +138,13 @@ display: block !important; cursor: pointer; padding: 10px; + color: grey; } .clickable-label.active { background-color: var(--active-color); border-radius: 10px; + color: #1D3557; } .no-spacing { diff --git a/app/public/styles/custom/filter/filter.css b/app/public/styles/custom/filter/filter.css index a216d5731..23eccfa16 100644 --- a/app/public/styles/custom/filter/filter.css +++ b/app/public/styles/custom/filter/filter.css @@ -4,6 +4,7 @@ padding-top: 10px; background-color: var(--color-white); z-index: 2 !important; + font-size: xx-small; } .filter-panel-content { diff --git a/app/public/styles/custom/table.css b/app/public/styles/custom/table.css index 61d61afc3..e1cc81c7e 100644 --- a/app/public/styles/custom/table.css +++ b/app/public/styles/custom/table.css @@ -33,6 +33,12 @@ background-color: var(--active-color) !important; } +/* +.track :nth-child(even) { + background-color: #D7EDFC; +} +*/ + .track.row-selected-color-alpha:hover { background-color: var(--focus-color) !important; } @@ -42,8 +48,39 @@ table tbody tr.row-selected-color-alpha { } table.data-table thead { - height: 50px; + height: 50px !important; + font-size: x-small; +} + +table.data-table tbody tr { + max-height: 20px !important; + margin: -5em !important; + padding: -5em !important; + font-size: xx-small !important; +} + +/* +table.data-table :nth-child(even) { + background-color: #D7EDFC; +} +*/ + +.black-font { + color: white !important; + z-index: 1 !important; + position: relative !important; + top: -20.5px !important; +} + + +/*table.data-table tbody tr td { + background-color: #1e90ff; + max-height: 6px !important; + margin: 0 !important; + padding: 0 !important; + font-size: x-small !important; } +*/ input[type="checkbox"] { appearance: none; diff --git a/app/public/styles/icons.css b/app/public/styles/icons.css index 52418ed24..b8cf64f66 100644 --- a/app/public/styles/icons.css +++ b/app/public/styles/icons.css @@ -38,6 +38,7 @@ background-image: url('./images/20/Sort\ Down.svg'); width: 20px; height: 20px; + scale: 0.5; } .sort-down-20.selected { @@ -49,6 +50,7 @@ background-image: url('./images/20/Sort\ Up.svg'); width: 20px; height: 20px; + scale: 0.5; } .sort-up-20.selected { @@ -77,18 +79,6 @@ display: inline-block; } -.eye-20 { - background-image: url('./images/20/Eye.svg'); - width: 20px; - height: 20px; -} - -.hide-20 { - background-image: url('./images/20/Hide.svg'); - width: 20px; - height: 20px; -} - .clear-filters-20 { background-image: url('./images/20/Clear\ Filters.svg'); width: 20px; diff --git a/app/public/styles/images/20/Eye.svg b/app/public/styles/images/20/Eye.svg deleted file mode 100644 index 6f075e118..000000000 --- a/app/public/styles/images/20/Eye.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/app/public/styles/images/other/Center of Mass Energy.svg b/app/public/styles/images/other/Center of Mass Energy.svg index 58eaa4e34..ad76b763b 100644 --- a/app/public/styles/images/other/Center of Mass Energy.svg +++ b/app/public/styles/images/other/Center of Mass Energy.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + From 0c3c2a541648be95efc1ffefd1581d2849d7cf51 Mon Sep 17 00:00:00 2001 From: Agata Cyra Date: Fri, 16 Jun 2023 09:25:20 +0200 Subject: [PATCH 08/14] Update center of mass energy icon --- app/public/styles/images/20/Hide.svg | 9 --------- .../styles/images/other/Center of Mass Energy.svg | 12 ++++++------ 2 files changed, 6 insertions(+), 15 deletions(-) delete mode 100644 app/public/styles/images/20/Hide.svg diff --git a/app/public/styles/images/20/Hide.svg b/app/public/styles/images/20/Hide.svg deleted file mode 100644 index 863eaec83..000000000 --- a/app/public/styles/images/20/Hide.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/app/public/styles/images/other/Center of Mass Energy.svg b/app/public/styles/images/other/Center of Mass Energy.svg index ad76b763b..85b48b3cb 100644 --- a/app/public/styles/images/other/Center of Mass Energy.svg +++ b/app/public/styles/images/other/Center of Mass Energy.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + From b0d837b0a8faa3a7570f10325a08a2d3c6488b01 Mon Sep 17 00:00:00 2001 From: Agata Cyra Date: Fri, 16 Jun 2023 09:45:51 +0200 Subject: [PATCH 09/14] Add the sorting row --- .../components/userView/data/table/header.js | 23 +++----- .../userView/data/table/sortingRow.js | 52 +++++++++++++++++++ .../userView/data/table/tablePanel.js | 2 + 3 files changed, 61 insertions(+), 16 deletions(-) create mode 100644 app/public/components/userView/data/table/sortingRow.js diff --git a/app/public/components/userView/data/table/header.js b/app/public/components/userView/data/table/header.js index 323be4e63..639789c2f 100644 --- a/app/public/components/userView/data/table/header.js +++ b/app/public/components/userView/data/table/header.js @@ -13,8 +13,7 @@ */ import { h } from '/js/src/index.js'; -import { filterApplicableHeader, getHeaderSpecial, headerSpecPresent, nonDisplayable } from '../headersSpecials.js'; -import { sort } from '../../../../utils/sort.js'; +import { getHeaderSpecial, headerSpecPresent, nonDisplayable } from '../headersSpecials.js'; export default function tableHeader(visibleFields, data, model) { return h('thead', @@ -22,26 +21,18 @@ export default function tableHeader(visibleFields, data, model) { } const columnsHeadersArray = (visibleFields, data, model) => - visibleFields.map((f) => h(`th.${model.getCurrentDataPointer().page}-${f.name.includes('detector') ? 'detector' : f.name}-header`, { + visibleFields.map((f) => [h(`th.${model.getCurrentDataPointer().page}-${f.name.includes('detector') ? 'detector' : f.name}-header`, { scope: 'col', }, h('.relative', [ - headerSpecPresent(model, f) !== nonDisplayable ? [ - h('.inline', getHeaderSpecial(model, f)), - h('.', - data.sorting.order === -1 ? - h('div.sort-up-20.pointer', { - onclick: () => sort(f.name, data, model, -data.sorting.order), - }) : - - h('div.sort-down-20.pointer', { - onclick: () => sort(f.name, data, model, -data.sorting.order), - })), - ]: '' ]))); + headerSpecPresent(model, f) !== nonDisplayable ? + h('.inline', getHeaderSpecial(model, f)) + : '' ])), + ]); const rowsOptions = (model, data) => h('th', { scope: 'col' }, h('.relative', - h(`input.abs-center${data.rows.every((r) => r.marked) ? '.ticked' : ''}`, { + h(`input.hidden.abs-center${data.rows.every((r) => r.marked) ? '.ticked' : ''}`, { type: 'checkbox', onclick: (e) => { for (const row of data.rows) { diff --git a/app/public/components/userView/data/table/sortingRow.js b/app/public/components/userView/data/table/sortingRow.js new file mode 100644 index 000000000..716e6a996 --- /dev/null +++ b/app/public/components/userView/data/table/sortingRow.js @@ -0,0 +1,52 @@ +/** + * @license + * Copyright 2019-2020 CERN and copyright holders of ALICE O2. + * See http://alice-o2.web.cern.ch/copyright for details of the copyright holders. + * All rights not expressly granted are reserved. + * + * This software is distributed under the terms of the GNU General Public + * License v3 (GPL Version 3), copied verbatim in the file "COPYING". + * + * In applying this license CERN does not waive the privileges and immunities + * granted to it by virtue of its status as an Intergovernmental Organization + * or submit itself to any jurisdiction. + */ + +import { h } from '/js/src/index.js'; +import { filterApplicableHeader, getHeaderSpecial, headerSpecPresent, nonDisplayable } from '../headersSpecials.js'; +import { sort } from '../../../../utils/sort.js'; + +export default function sortingRow(visibleFields, data, model) { + return h('thead', + h('tr', [rowsOptions(model, data)].concat(columnsHeadersArray(visibleFields, data, model)))); +} + +const columnsHeadersArray = (visibleFields, data, model) => + visibleFields.map((f) => [h(`th.${model.getCurrentDataPointer().page}-${f.name.includes('detector') ? 'detector' : f.name}-header`, { + scope: 'col', + }, h('.relative', [ + headerSpecPresent(model, f) === filterApplicableHeader ? [ + h('.inline', data.sorting.order === -1 ? + h('div.sort-up-20.pointer', { + onclick: () => sort(f.name, data, model, -data.sorting.order), + }) : + + h('div.sort-down-20.pointer', { + onclick: () => sort(f.name, data, model, -data.sorting.order), + })), + ]: '' ])), + ]); + + const rowsOptions = (model, data) => + h('th', { scope: 'col' }, + h('.relative', + h(`input.abs-center${data.rows.every((r) => r.marked) ? '.ticked' : ''}`, { + type: 'checkbox', + onclick: (e) => { + for (const row of data.rows) { + row.marked = e.target.checked; + } + model.notify(); + }, + checked: data.rows.every((r) => r.marked), + }))); \ No newline at end of file diff --git a/app/public/components/userView/data/table/tablePanel.js b/app/public/components/userView/data/table/tablePanel.js index 5ac6a5551..de5eeb48c 100644 --- a/app/public/components/userView/data/table/tablePanel.js +++ b/app/public/components/userView/data/table/tablePanel.js @@ -24,6 +24,7 @@ import filter from './filter.js'; import noDataView from './noDataView.js'; import { RCT } from '../../../../config.js'; +import sortingRow from './sortingRow.js'; const { pagesNames } = RCT; /** @@ -67,6 +68,7 @@ export default function tablePanel(model) { : ''}`, }, [ tableHeader(visibleFields, data, model), + sortingRow(visibleFields, data, model), tableBody(model, visibleFields, data, cellsSpecials, dataPointer.page), ])), pager(model, data, 2)) From 853de08be262bb246e795c3c0e10ac883d292744 Mon Sep 17 00:00:00 2001 From: Agata Cyra Date: Fri, 16 Jun 2023 11:53:50 +0200 Subject: [PATCH 10/14] Favicon --- app/public/index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/app/public/index.html b/app/public/index.html index 0d43874bb..6aab941c5 100644 --- a/app/public/index.html +++ b/app/public/index.html @@ -17,6 +17,7 @@ RCT prototype + From fdbdaa7626f2adf27ed1bf0bc6dc6813b862e7f4 Mon Sep 17 00:00:00 2001 From: Agata Cyra Date: Fri, 16 Jun 2023 12:15:45 +0200 Subject: [PATCH 11/14] Add ALICE logo as favicon --- app/public/index.html | 2 +- app/public/styles/images/favicon/favicon.ico | Bin 0 -> 9662 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 app/public/styles/images/favicon/favicon.ico diff --git a/app/public/index.html b/app/public/index.html index 6aab941c5..82ce2e258 100644 --- a/app/public/index.html +++ b/app/public/index.html @@ -15,9 +15,9 @@ - RCT prototype + RCT prototype diff --git a/app/public/styles/images/favicon/favicon.ico b/app/public/styles/images/favicon/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..ff3324db93403c4ae07c917ab2f8c9b9df6fad86 GIT binary patch literal 9662 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 WNJT Date: Fri, 16 Jun 2023 12:54:01 +0200 Subject: [PATCH 12/14] Cleanup :broom: --- .../userView/data/headersSpecials.js | 2 +- .../components/userView/data/table/header.js | 14 ++++---- .../components/userView/data/table/row.js | 4 +-- .../userView/data/table/sortingRow.js | 34 ++++++++++--------- package-lock.json | 11 ++++++ package.json | 5 ++- 6 files changed, 44 insertions(+), 26 deletions(-) diff --git a/app/public/components/userView/data/headersSpecials.js b/app/public/components/userView/data/headersSpecials.js index e21b1de61..bc06048d9 100644 --- a/app/public/components/userView/data/headersSpecials.js +++ b/app/public/components/userView/data/headersSpecials.js @@ -13,7 +13,7 @@ */ import { h } from '/js/src/index.js'; - + const runsViews = { name: 'Name', run_number: 'Run', diff --git a/app/public/components/userView/data/table/header.js b/app/public/components/userView/data/table/header.js index 639789c2f..608dfcc8a 100644 --- a/app/public/components/userView/data/table/header.js +++ b/app/public/components/userView/data/table/header.js @@ -21,12 +21,14 @@ export default function tableHeader(visibleFields, data, model) { } const columnsHeadersArray = (visibleFields, data, model) => - visibleFields.map((f) => [h(`th.${model.getCurrentDataPointer().page}-${f.name.includes('detector') ? 'detector' : f.name}-header`, { - scope: 'col', - }, h('.relative', [ - headerSpecPresent(model, f) !== nonDisplayable ? - h('.inline', getHeaderSpecial(model, f)) - : '' ])), + visibleFields.map((f) => [ + h(`th.${model.getCurrentDataPointer().page}-${f.name.includes('detector') ? 'detector' : f.name}-header`, { + scope: 'col', + }, h('.relative', [ + headerSpecPresent(model, f) !== nonDisplayable ? + h('.inline', getHeaderSpecial(model, f)) + : '', + ])), ]); const rowsOptions = (model, data) => diff --git a/app/public/components/userView/data/table/row.js b/app/public/components/userView/data/table/row.js index ecea80ab5..fd4d887e8 100644 --- a/app/public/components/userView/data/table/row.js +++ b/app/public/components/userView/data/table/row.js @@ -30,9 +30,9 @@ const detectorIcon = (model, item, n) => *'stroke-width': '3', */ fill: '#8CB369', - // content: '99', + // Content: '99', }, '90')), - h('.black-font', '90'), + h('.black-font', '90'), h('span.detector-tooltip-field', `run_det_id: ${item[n]}`)); export default function row( diff --git a/app/public/components/userView/data/table/sortingRow.js b/app/public/components/userView/data/table/sortingRow.js index 716e6a996..1f7e1157a 100644 --- a/app/public/components/userView/data/table/sortingRow.js +++ b/app/public/components/userView/data/table/sortingRow.js @@ -13,7 +13,7 @@ */ import { h } from '/js/src/index.js'; -import { filterApplicableHeader, getHeaderSpecial, headerSpecPresent, nonDisplayable } from '../headersSpecials.js'; +import { filterApplicableHeader, headerSpecPresent } from '../headersSpecials.js'; import { sort } from '../../../../utils/sort.js'; export default function sortingRow(visibleFields, data, model) { @@ -22,22 +22,24 @@ export default function sortingRow(visibleFields, data, model) { } const columnsHeadersArray = (visibleFields, data, model) => - visibleFields.map((f) => [h(`th.${model.getCurrentDataPointer().page}-${f.name.includes('detector') ? 'detector' : f.name}-header`, { - scope: 'col', - }, h('.relative', [ - headerSpecPresent(model, f) === filterApplicableHeader ? [ - h('.inline', data.sorting.order === -1 ? - h('div.sort-up-20.pointer', { - onclick: () => sort(f.name, data, model, -data.sorting.order), - }) : - - h('div.sort-down-20.pointer', { - onclick: () => sort(f.name, data, model, -data.sorting.order), - })), - ]: '' ])), + visibleFields.map((f) => [ + h(`th.${model.getCurrentDataPointer().page}-${f.name.includes('detector') ? 'detector' : f.name}-header`, { + scope: 'col', + }, h('.relative', [ + headerSpecPresent(model, f) === filterApplicableHeader ? [ + h('.inline', data.sorting.order === -1 ? + h('div.sort-up-20.pointer', { + onclick: () => sort(f.name, data, model, -data.sorting.order), + }) : + + h('div.sort-down-20.pointer', { + onclick: () => sort(f.name, data, model, -data.sorting.order), + })), + ] : '', + ])), ]); - const rowsOptions = (model, data) => +const rowsOptions = (model, data) => h('th', { scope: 'col' }, h('.relative', h(`input.abs-center${data.rows.every((r) => r.marked) ? '.ticked' : ''}`, { @@ -49,4 +51,4 @@ const columnsHeadersArray = (visibleFields, data, model) => model.notify(); }, checked: data.rows.every((r) => r.marked), - }))); \ No newline at end of file + }))); diff --git a/package-lock.json b/package-lock.json index b60f4b4c7..1f38b7043 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,6 +29,7 @@ "mocha": "^10.1.0", "nodemon": "^2.0.20", "nyc": "^15.1.0", + "run-script-os": "^1.1.6", "sinon": "^14.0.1", "socks-proxy-agent": "^7.0.0" } @@ -4568,6 +4569,16 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/run-script-os": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/run-script-os/-/run-script-os-1.1.6.tgz", + "integrity": "sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw==", + "dev": true, + "bin": { + "run-os": "index.js", + "run-script-os": "index.js" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", diff --git a/package.json b/package.json index 0dd1e33ce..588cde1a5 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,9 @@ "scripts": { "eslint": "eslint app --ext .js --format html --output-file ./reports/static/static-analysis.html", "eslint:fix": "npm run eslint -- --fix", - "eslint:show": "npm run eslint; firefox ./reports/static/static-analysis.html", + "eslint:show": "run-script-os", + "eslint:show:linux": "npm run eslint; firefox ./reports/static/static-analysis.html", + "eslint:show:macos": "npm run eslint; open -a firefox ./reports/static/static-analysis.html", "static": "npm run eslint", "coverage:test": "mocha --exit test/*", "coverage:report": "nyc report --report=html --report=json", @@ -70,6 +72,7 @@ "mocha": "^10.1.0", "nodemon": "^2.0.20", "nyc": "^15.1.0", + "run-script-os": "^1.1.6", "sinon": "^14.0.1", "socks-proxy-agent": "^7.0.0" }, From 43b36c58a1602314c33c0bd6314adcd46b817850 Mon Sep 17 00:00:00 2001 From: Ehevi Date: Fri, 16 Jun 2023 15:01:12 +0200 Subject: [PATCH 13/14] Align buttons in data passes view --- app/public/components/userView/data/pagesCellsSpecials.js | 7 +++---- app/public/styles/custom/table.css | 1 + app/public/styles/custom/tables/data-passes.css | 4 ++++ app/public/styles/custom/tables/periods.css | 6 ------ 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/app/public/components/userView/data/pagesCellsSpecials.js b/app/public/components/userView/data/pagesCellsSpecials.js index 4c9eb8006..56b7952b3 100644 --- a/app/public/components/userView/data/pagesCellsSpecials.js +++ b/app/public/components/userView/data/pagesCellsSpecials.js @@ -81,9 +81,8 @@ pagesCellsSpecials[PN.periods] = { pagesCellsSpecials[PN.dataPasses] = { name: (model, item) => [ - item.name, - ' ', - viewButton( + h('td', item.name), + h('td', viewButton( model, 'runs', (e) => model.handleClick(e), @@ -98,7 +97,7 @@ pagesCellsSpecials[PN.dataPasses] = { '', // eslint-disable-next-line max-len `/?page=${PN.anchoragePerDatapass}&index=${item.name}&${DRP.rowsOnSite}=50&${DRP.site}=1&sorting=-name`, - ), + )), ], size: (model, item) => getReadableFileSizeString(Number(item.size)), }; diff --git a/app/public/styles/custom/table.css b/app/public/styles/custom/table.css index e1cc81c7e..d4a610340 100644 --- a/app/public/styles/custom/table.css +++ b/app/public/styles/custom/table.css @@ -93,6 +93,7 @@ input[type="checkbox"] { border: 0.15em solid var(--color-gray) !important; display: grid; place-content: center; + cursor: pointer; } input[type="checkbox"].ticked { diff --git a/app/public/styles/custom/tables/data-passes.css b/app/public/styles/custom/tables/data-passes.css index 9a78e2984..f7d0bdce4 100644 --- a/app/public/styles/custom/tables/data-passes.css +++ b/app/public/styles/custom/tables/data-passes.css @@ -46,6 +46,10 @@ text-align: left; } +.data-passes-table .dataPasses-name-cell :first-child { + margin-left: 80px; +} + /* Description */ .data-passes-table .dataPasses-description-cell, .data-passes-table .dataPasses-description-header { min-width: 300px; diff --git a/app/public/styles/custom/tables/periods.css b/app/public/styles/custom/tables/periods.css index 25f40b19b..effe320f4 100644 --- a/app/public/styles/custom/tables/periods.css +++ b/app/public/styles/custom/tables/periods.css @@ -46,12 +46,6 @@ text-align: left; } -/* -.periods-table .periods-name-cell a { - background-color: var(--focus-color); -} -*/ - .periods-table .periods-name-cell :first-child { margin-left: 80px; } From 681868f164856cbaeda25183b4ff56220fa138fe Mon Sep 17 00:00:00 2001 From: Ehevi Date: Fri, 16 Jun 2023 16:02:18 +0200 Subject: [PATCH 14/14] Color every second row of the table --- .../components/userView/data/table/row.js | 7 ++- app/public/styles/custom/table.css | 43 ++++++------------- 2 files changed, 16 insertions(+), 34 deletions(-) diff --git a/app/public/components/userView/data/table/row.js b/app/public/components/userView/data/table/row.js index fd4d887e8..a77409b8a 100644 --- a/app/public/components/userView/data/table/row.js +++ b/app/public/components/userView/data/table/row.js @@ -19,7 +19,7 @@ import { reduceSerialIf } from '../../../../utils/utils.js'; const detectorIcon = (model, item, n) => h('.tooltip.noBorderBottom.pointer', h('svg', { width: '20px', height: '20px' }, - h('circle.black-font', + h('circle', { cx: '50%', cy: '50%', @@ -31,15 +31,14 @@ const detectorIcon = (model, item, n) => */ fill: '#8CB369', // Content: '99', - }, '90')), - h('.black-font', '90'), + })), h('span.detector-tooltip-field', `run_det_id: ${item[n]}`)); export default function row( model, visibleFields, data, item, cellsSpecials, ) { const rowDivDef = reduceSerialIf( - 'tr.track', ['', '.d-none'], ['.row-selected-color-alpha', ''], + 'tr.track', ['.row-unselected-color-alpha', '.d-none'], ['.row-selected-color-alpha', ''], [!item.marked, data.hideMarkedRecords && item.marked], (a, b) => a + b, ); diff --git a/app/public/styles/custom/table.css b/app/public/styles/custom/table.css index d4a610340..1be3a1f49 100644 --- a/app/public/styles/custom/table.css +++ b/app/public/styles/custom/table.css @@ -29,15 +29,14 @@ position: relative !important; } -.track:hover { +.track.row-unselected-color-alpha:hover { background-color: var(--active-color) !important; } -/* -.track :nth-child(even) { - background-color: #D7EDFC; +.track.row-unselected-color-alpha:hover td { + background-color: var(--active-color) !important; } -*/ + .track.row-selected-color-alpha:hover { background-color: var(--focus-color) !important; @@ -47,6 +46,11 @@ table tbody tr.row-selected-color-alpha { background-color: var(--row-selected-color); } + +tbody tr.track.row-unselected-color-alpha:nth-child(odd) td { + background-color: var(--color-gray-lighter); +} + table.data-table thead { height: 50px !important; font-size: x-small; @@ -54,33 +58,12 @@ table.data-table thead { table.data-table tbody tr { max-height: 20px !important; - margin: -5em !important; - padding: -5em !important; - font-size: xx-small !important; -} + + margin: 0em !important; + padding: 0em !important; -/* -table.data-table :nth-child(even) { - background-color: #D7EDFC; -} -*/ - -.black-font { - color: white !important; - z-index: 1 !important; - position: relative !important; - top: -20.5px !important; -} - - -/*table.data-table tbody tr td { - background-color: #1e90ff; - max-height: 6px !important; - margin: 0 !important; - padding: 0 !important; - font-size: x-small !important; + font-size: xx-small !important; } -*/ input[type="checkbox"] { appearance: none;