diff --git a/resources/sprite/manifest/status.json b/resources/sprite/manifest/status.json index 43ca0f30ec..3079aa182e 100644 --- a/resources/sprite/manifest/status.json +++ b/resources/sprite/manifest/status.json @@ -151,6 +151,16 @@ "rule" : ".status-minus-white", "hash" : "c5a3771452dda603fbaee87371044f5a" }, + "status-oh-closed" : { + "name" : "status-oh-closed", + "rule" : ".status-oh-closed", + "hash" : "cbc6a0959ebad3e88cc3ac67743a7f3a" + }, + "status-oh-open" : { + "name" : "status-oh-open", + "rule" : ".status-oh-open", + "hash" : "e86f83bc40e77664c91c834b27816576" + }, "status-open-blue" : { "name" : "status-open-blue", "rule" : ".status-open-blue", @@ -176,6 +186,41 @@ "rule" : ".status-open-white", "hash" : "169dc0e8f36444ea30163181f9c88dc2" }, + "status-policy-admin" : { + "name" : "status-policy-admin", + "rule" : ".status-policy-admin", + "hash" : "1df35b15bd20880a5d20c0a2da446472" + }, + "status-policy-all" : { + "name" : "status-policy-all", + "rule" : ".status-policy-all", + "hash" : "ef0c0594968b04ed90ca8dc629a39e54" + }, + "status-policy-custom" : { + "name" : "status-policy-custom", + "rule" : ".status-policy-custom", + "hash" : "a432adf61806705c54ad7e110e063829" + }, + "status-policy-noone" : { + "name" : "status-policy-noone", + "rule" : ".status-policy-noone", + "hash" : "23b4a85b15930c46fa409e95d26be2c4" + }, + "status-policy-project" : { + "name" : "status-policy-project", + "rule" : ".status-policy-project", + "hash" : "bbc9e90f3353a357c5a39e703825504e" + }, + "status-policy-public" : { + "name" : "status-policy-public", + "rule" : ".status-policy-public", + "hash" : "4e6e9763dbb87dca73847e64ef0b87e6" + }, + "status-policy-unknown" : { + "name" : "status-policy-unknown", + "rule" : ".status-policy-unknown", + "hash" : "f32c8a68221f735e443cb8b18b41ee0e" + }, "status-question-blue" : { "name" : "status-question-blue", "rule" : ".status-question-blue", diff --git a/resources/sprite/status_1x/oh-closed.png b/resources/sprite/status_1x/oh-closed.png new file mode 100644 index 0000000000000000000000000000000000000000..184aad95ea5521208b81ff5d412eec946ce24b3b GIT binary patch literal 291 zcmeAS@N?(olHy`uVBq!ia0y~yVBiB`4mJh`26+$Niwq15k|nMYCBgY=CFO}lsSJ)O z`AMk?p1FzXsX?iUDV2pMQ*9U+7>;_nIEGZ*O8WEvzdf^MLuaGU0jA`TG97+~AmN4x zIp4GH3S}AVJN7VyTxJMjPN`3Dy0m3p!!lNfGFt(8hi!#SQ{p&6rZl|MS+T4_<2%zP z`GaN$O&CS}7?PNEW<6jtPBfHFskS@e>F|v$XI4S$E2b6qe>C2Zj}*S3a7W6Kk&#Pa zMOumP=a0vfCq3)*I5)drm(j+Bi(^Ncf}VqLeaAcot_2?@_(Mec)enj+xWQo}DN@yV rLTwS_gbIZaSqXzlvrjNG@i17i#wx2G>io~Zz`)??>gTe~DWM4fU(sVS literal 0 HcmV?d00001 diff --git a/resources/sprite/status_1x/oh-open.png b/resources/sprite/status_1x/oh-open.png new file mode 100644 index 0000000000000000000000000000000000000000..9f1fc4b07bb8f933a253d5c7aa916e6df0f9119b GIT binary patch literal 231 zcmeAS@N?(olHy`uVBq!ia0y~yVBiB`4mJh`26+$Niwq15k|nMYCBgY=CFO}lsSJ)O z`AMk?p1FzXsX?iUDV2pMQ*9U+7&<*&978H@CH?yU-=5iWMrWhX0jA`TG97+~AmN4x zx$a%<4lx(v1a~s39cWpSY0Kx!6Y%kCK&ghAU&AHt#${>?UNdDyFf4hr@Riwt+?Jay zzQVJ1*mMP-WONRA?7ZYc@&UnB1*Io01~T*>uUN3C!bVJV!3_>y!NwD6NuHLCCp6my hrzD(YWME`tc$pQv%k|{#lMD__yUQ7#PWa42EE>Ct=3c7Hefq{X+)78&qol`;+0DPZg3IG5A literal 0 HcmV?d00001 diff --git a/resources/sprite/status_1x/policy-all.png b/resources/sprite/status_1x/policy-all.png new file mode 100644 index 0000000000000000000000000000000000000000..abbee8a84aaf5ba3c4eac69767e79a0392f226eb GIT binary patch literal 340 zcmeAS@N?(olHy`uVBq!ia0y~yVBiB`4mJh`26+$Niwq15k|nMYCBgY=CFO}lsSJ)O z`AMk?p1FzXsX?iUDV2pMQ*9U+7`}PBIEGZ*O8WEvzdf^MgJ5K`>+vFKg{=Y|u8kF@ z0_kNTF8`F=9y={yOSFZ^Tq!z9lsX+G;O&Xn0^Q}nw`3mO=ed6uX# z7K%*j{pqlV^GIdD|99+|f-Sbr|QcB`JTY saN@2EsM*JwRn=>Hav~E06Ay#_d`G|A>S?nW7#J8lUHx3vIVCg!0HhFry#N3J literal 0 HcmV?d00001 diff --git a/resources/sprite/status_1x/policy-custom.png b/resources/sprite/status_1x/policy-custom.png new file mode 100644 index 0000000000000000000000000000000000000000..8831b81bb6a0172fbe1c2d21c731e950b18b98bb GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0y~yVBiB`4mJh`26+$Niwq15k|nMYCBgY=CFO}lsSJ)O z`AMk?p1FzXsX?iUDV2pMQ*9U+7}j{YIEGZ*S~BT1?_mX=7H6>xw*;0=j@MqONh;1R z>CL&&<6z#vxk9(rL+pvWt8S#xbL&40;a)S{&h&DnSKsKruJo?6+iK(WJGrhx%Xe^@ ze>9&XYNJ*6=KPhg7y(;_FzbUhbL!kyO7UEbT6U}S`YZovp^dMn8E*;Ai^^QRwf|Yx z)@`A(|C09QJUhe2t<;yhx^rs!yv4WJ#2%KcRr5HQ*Kcvd{LkytyxjYlco^iWLOwom Twd!SHU|{fc^>bP0l+XkKZqsJq literal 0 HcmV?d00001 diff --git a/resources/sprite/status_1x/policy-noone.png b/resources/sprite/status_1x/policy-noone.png new file mode 100644 index 0000000000000000000000000000000000000000..bdfeb186850fd33b1c89805618c6316d1665dd11 GIT binary patch literal 327 zcmeAS@N?(olHy`uVBq!ia0y~yVBiB`4mJh`26+$Niwq15k|nMYCBgY=CFO}lsSJ)O z`AMk?p1FzXsX?iUDV2pMQ*9U+7+!k1IEGZ*nlou5?;!&LS78@^9|tp!84W!S-r{Bp zTDSroXYzWupXM-NOk*}{@DcboecwZoqfQAgPjC8r|L)D_J2Gdzm@l~f;Mac<35$d> zI4oD(TKgl3P0O)aR2cKJm3MJX!X} zCvA4+!A-TtoIV>dTvhvgW|~)UuZJGP#;!{hi}#7``4GWBWs9QlhHKvYjqmxcRMfb< zZ}Wop7ngBg(pY=_+r^o3pA@~m`OM_-z3KfX^{w5rtWD?tFdW$(Z>w_ty8iT+7b8w; h{&-p^tIx>B(ET@Wce>9NWd;TY22WQ%mvv4FO#s)|iOv83 literal 0 HcmV?d00001 diff --git a/resources/sprite/status_1x/policy-project.png b/resources/sprite/status_1x/policy-project.png new file mode 100644 index 0000000000000000000000000000000000000000..c8bd8a26b9e1a674e23fc9bf3ef567a62697c736 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0y~yVBiB`4mJh`26+$Niwq15k|nMYCBgY=CFO}lsSJ)O z`AMk?p1FzXsX?iUDV2pMQ*9U+7?M3*978H@CH?vT-=5jBVd5$&ZR=_J3_%|Q-W~eZ zb%KS*RiXFAjzzUM>vM8ac(w_iWpiS9!=$F6K9A*n<5eTW37i>=HVSraWD?VO+kTwE uzDCM?qSSwp--U{tRboL?!Wfx&81z27HM~o=+sDAbz~JfX=d#Wzp$PyS)Ig^I literal 0 HcmV?d00001 diff --git a/resources/sprite/status_1x/policy-public.png b/resources/sprite/status_1x/policy-public.png new file mode 100644 index 0000000000000000000000000000000000000000..0abd52cef8f00192e1d599609c9f2228e55a8bf2 GIT binary patch literal 323 zcmeAS@N?(olHy`uVBq!ia0y~yVBiB`4mJh`26+$Niwq15k|nMYCBgY=CFO}lsSJ)O z`AMk?p1FzXsX?iUDV2pMQ*9U+7@m5%IEGZ*S`)O9_mF`=k8)K4lZ0YYV+zaml0;^& z7YmyDHZUw&e3m1T+3f^}LF3Nud)Jb8G8SGsdGY_<-+$#F&pBP!*x7sg@!DgF2c4Yw zH`wM(yS_xQjg$3(%#s!C^FP_Lz1Qhr>Pg+HB1kR-RmF6+O@Op`&$I(^83?N6Yx16m}bYHM(h5 z7=7Vc)*?BP`6(Ld1zp>v=2Wk}TK%SGHJ7$tT-g~L_OPSXTQ;Tiy0JZ}XZyWB{$2DQ cRtbjPlcI8Jw;J~{FfcH9y85}Sb4q9e02ls-1poj5 literal 0 HcmV?d00001 diff --git a/resources/sprite/status_1x/policy-unknown.png b/resources/sprite/status_1x/policy-unknown.png new file mode 100644 index 0000000000000000000000000000000000000000..91c035c46d1c1cdf624f68ece2d7ebd24c37f9c0 GIT binary patch literal 308 zcmeAS@N?(olHy`uVBq!ia0y~yVBiB`4mJh`26+$Niwq15k|nMYCBgY=CFO}lsSJ)O z`AMk?p1FzXsX?iUDV2pMQ*9U+7_ND`IEGZ*O8WEvzdf^MgJ5iO>hVu33ap2?9CR3t zh&NO?R=Yl7S|imc<}3=Lx2) zOul9eN$d)@1tN_@bnhHvNtxXsW!50VVCeCgb;Vl)0fz6&0gNZ^{>iAT;t2i1&~ab6 zo0&Jb;pPuU?*tKt+}RCkd|WPUVjAozt88X9eRY_gzU6SPf`|TV3A<37KwEKuRQG+0|Nttr>mdK II;Vst08Y$j!vFvP literal 0 HcmV?d00001 diff --git a/resources/sprite/status_2x/oh-closed.png b/resources/sprite/status_2x/oh-closed.png new file mode 100644 index 0000000000000000000000000000000000000000..e4489b2ebfe37da97e10bb18439d7f8c2adbbdf7 GIT binary patch literal 9136 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 AsQ>@~ literal 0 HcmV?d00001 diff --git a/resources/sprite/status_2x/oh-open.png b/resources/sprite/status_2x/oh-open.png new file mode 100644 index 0000000000000000000000000000000000000000..5a90b94ca3613d794e0f6d3b2b57bf0737fdaace GIT binary patch literal 9136 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 KKbLh*2~7ZI#XOGy literal 0 HcmV?d00001 diff --git a/resources/sprite/status_2x/policy-admin.png b/resources/sprite/status_2x/policy-admin.png new file mode 100644 index 0000000000000000000000000000000000000000..3e877ed56c20d1d7902435e66615a1ec8347e422 GIT binary patch literal 706 zcmeAS@N?(olHy`uVBq!ia0y~yV2}Y}4mJh`h9chkQy3T+BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztFr|39IEGZ*dNa*BLnKh7t$cBlv|^bZm#)f&C=Rxo zq{X+_uqaP*5_rQTlpA8Avdln1NZC#xaHB!1K#YLr#1~EuN8JJ(H*j<3vFIK#W0XIb z@`vva^YO&8w9RaeCtCY=em^(!^LyLxcZ$uWSsb6mZ+kQ8!6NQ&adi>fb#t0yH-r_( zKjhsb|H@iQXIcWEUze|G&awyV8b5qjN%z%EdK=J~&6y;**Lb$q{eYEwCyMGduP%sM z7~`?|!o3!`FzfL1T(c8-&Y5UTyShDj%{EKl3*WM17H;{*9H;N_LA9p%wqak!x@il( zx-VGpQQv}T_1v@PMGlr0aHN@<#VdE19p#K`@iVt$^jBQ}kv*eXpR=j*+gr=?kMq_A z@B1&HeuWJ+0AHqw?y?;mO!n;_i3}=rSFsA+IC=r_k`^Q*Hjy2yDeou z^$5N4;@!)Y^!e5I1J>atZGyQgOZlG1?q^wBaO&*b_8p%?x_->)J$)(jMbX3CnG*}m z%9gD%SaBg;t#W!aFN6|#v7~u^|aV&&oO_{d2Y41_M-x~ z-#eo14w;?U-I*~ht|9R2^ux(FUdTkX#WgW+2vVGVr99VSjaQCszxxKK`+cX>wrzR( z(WMdoI6oUfupZp?UV^sGpvFx&7fg%f)`>wVdj`*Pc3c zTk)=x!?#n6a|)A!H=R`PY`r<-S`PoZ*A{>N#`i4U-}!&{(JaZG%Q-e|yQz{EjrrIztFz)koaSW-rmGtNTe|u(I#>XpKMP*MfWirXQdT_XX`I3l z@=o!B;`R-hNlFO|4GcdyoUUoSBB*eW^{|6sY?00%=Os0)0>z4*r3tS$t8kA=SH^1Q1)a@ILB)*~ zri`a2FnZh-Qi$U?vf$QX$&U2I!0^tX3TEBcY(c6bDJ9Vgb}UD19b&jltvNmC$>%9v z*yQP;HQlQ;hjWXAhRbFF)u~y*JCm-nsZH>AuoB~RS73ixt`+@5HcCN9QC&Vr^gzuI r$qxI#i+9d1K6~V0wxUA=Bg3NYJ^FvsG8q{d7#KWV{an^LB{Ts5;nK^% literal 0 HcmV?d00001 diff --git a/resources/sprite/status_2x/policy-custom.png b/resources/sprite/status_2x/policy-custom.png new file mode 100644 index 0000000000000000000000000000000000000000..8379d7f70801e4d4f298888cb25d27e6564fe545 GIT binary patch literal 346 zcmeAS@N?(olHy`uVBq!ia0y~yV2}Y}4mJh`h9chkQy3T+BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztF#Pd!aSW-rmGtNTe|u(I#>XpKne!4|j~9vX%8E|x zS@I%XDZxTopnB2+3I7Rln{-;TVt9{4H@@Lf(qUeClj~CR`5-l>X+ImAWIL8W+$^GH z&b#Uw|NNyo7H10BlH#B2Xp8bXVI=XPb=JnYFI<`rFZiEPlar)SCuU%HR>5-WqYWbR z2eKstZ#J=bb4ImYb^21{rs;5gxereX+u{38S!%QD9p?BJEt1@j zVoxIjEWadOm^{U0vv`NO@Z+o%61$epUYI73u6SWWyn~iVhq<7ze#W$>FD*`I73`uF yB47DxJXMT*)q8#uV`fs%wp(rcS{WGG7(yRzO4xduwEAtelb_p4^a`8@ba#_U4>(!y+b!x(r5HBUI^WF3Q{QI9?@o~-9 zH{tWQUN5g*pB-Nv`+DE?eGEHJXKdU!QN!3Fq$Fw2u|;fx zK=zXd3C#bC6&UW%XJle9P;&3??QQuVy@7>Im4!ipkKuv*3;_Ywh8R`{E#{=h!i)xd z3<}dGNzCSG@MK~5R>AMD&u~VOA%Xwr;i(J<-u-W%&Cp&tZIq&3^WT>Mw|E&3m)T3o%Q?Ukc{_1W2G&iecG zhs1K-TBl8$Z`xN0@7^!tcl+6g>6srH>Mb=c9eO$6);i~{vDKx#)zcnSeAe|1IAs4- zt!-CCUg4h8)6^`^+{s#fui|w5A7$BXHjgLI*>+A*<5uZu;|XcIO1C92rzLP5N?=M9 z;B^#WH4$J7=4fW=X!Tg&7?l)|rNq$S>5~&x6XB7uXhUF5PRfKe8$wGO_N>{kY0)IE zii#@E|C#qU2`ex(6xjV!7oX0tU@dFIyg%yhlNn!3U`^Qn#oy0IwqYUDf?_iTO}n4| zeB2BT%t{7~)*l)aI+|2YG#agF=96fW%weuBVD$gc$iUI6(a|n)gSA>wx=2yJYoUza zVaXi~(-%svJIMQ@?e_Wfm~{@8-*6CUX_z2r*1|66bVN|nMe?G{7eV7A zY=urXg7zvbooV3o;w9`-O~)3#d{Jk@uj`zB!8=3xR z4@^HytMIR}s8j#P@lR!+;QdzlW9J`*bFeV+JGL!w-=Kbhqq8OF5a%J)L%D~956L9< z_BHx-_{}^w=UlhmEWPe^E$@`>>h4l6`CKCX<;<5yUv7Q*_NDPl=9l9y&R;6OV83ks z;`<7l1XMe!T*Q+s3iUVk+;G_AUgH^)mXIKjcp<4Eg(LYyibirqQpEv-vmcs|cui89 zIbn~d=MtMB-Id*6=4|m%o4hi`d6T&1#5wNklX^S9>+YUdD%9T_e8{H#<|}Uxfi_WdxiMV8$U~aF#Ra{ zG3#gChsA#`{qg%_{qy{X@1NImaBxL%9O0THutRx+#tF>~4GFynl?v|y#|~eQcnzNw z9xt|Cs7~ZdRDS63(CFdrL*62FU8<^`LB5hpaymRZc66n5nsoVe3AviOHoJDaRJ%++ z(sCr{Xj$jg?!5xb#jlI-i|UKM7mZ))6>xVY`^xJp-mC0TU88bI^_6Oz*CbV5mB%XC zD)YS_E;U)Iw8YPg*K_futV;_oiC*eY4UjCIX)trL(cw)Nk-9fCZc5!Ww45|&V$7zP zy?3_QEZ@^xGwqM*Pk*i?t~f4MuDx9QMX!n|i=Nl=)7Yq$8+AEi)T@uLcwcc#B}vsuO_fTX^=1~| zEO!(6jE7r#wi<28%lLaC?7H8Tylel~C@&XYSRD9#?z)z|3GX8BM%oJ6&WhW5Z_2(6 z`{vh8{Wpd2XhT{+vO%&&mPAIyy@Golr!?-om~>G++4XV7Lpo2hzSw#mx5!ugjIyKm)fw$1x}$?uNdt#`9*Z$#ge-#))&LP1CIi;^SORu*9v`$~g~ zZauy7`pmO8uWK&;+}*wLwBdBlaL?;1*X7LB%=5QfZ4WIE{_gZ$lb^N!u3W!OrR`yx z+j}|U^5UNF4cj(5SO1>f^R>_BzWtliex&b;EPri9tx|2?FQcEAYNG!X)V-?{|66zI zO{VD<(R%IwUjLUeOm4W;z~9)`=-SBbSmoI2`1xSf!PbNCoxV8rwd=GeJCD8WKB+|cKrBBKpPaHcA#=)N3hxB% zDgE=4MJ3VQsamNzDJQ9ZQp%;qB`;I{KIwY0Rb=~=X(7|Dytwku*>iZ%a zY86#hVythG|6#_jjln;E{CV*wot2GMoGX&+GIx6aZMl4HA-z+Yzrx-`|JmTO^+}25 zMw68#tIjN2^S9+j=O1DF)6S>ewR^Osw0~;zhp(H*WApRLl!q(ZE;B7J_Fo^~8rmBk z9kTsuK(^Pp2j^AhS5{wpoAciCY;o!H%Ja|X{STFnwJtsQ^3YwY-d(%8|A_ZrUHsMa zEBEw0`n<7bd+*#+xE^r##LXGES$sWx->?4>TX`+#?w!kvZeA(~{gaid9i8nbeQDaY zZ6&&2ZiVbl|NY@>?)7S`600cdr`Fl|0eK;Jp6sZ6Blhvyzv$W9FXyi>Ia;P$)?RY{ z+mCNPcRud;{AJzay9cYUeV4mqzQ2C?^%dX0G4EwJm&>x>b8q?0^0yOzE#6kQ_1`td zt&P_lzaHFnT&n+e`<6DVw$k=|Tf>S=wnfUi5_phqd{kp5rtM=8iEiX&{_k2EcB;rHA3&)0VR-LP@S--%C?pQ@kq54V@Ddl&yHV%Be=|EZr} zPfVTn^j7|=`&D5wVR5znzxHjMwfWfQvWM-@`tOx~|N66c%KVo3sr#4ImHyfG?{ATD zRs*bKby7%bgRnJ4$PkVdzUU-?wFOy$pzqelA_4haPJobIOzr^-Po)S1F zsVAf;yizPxAXoIUl(finp?Z^tHILpd`S?VC<(JGuFQu&Cma)F^yE}Pu;H=24+pS)I z*|+KMalVxF_cjvc8b3CK_r?I4d9+f18rj^$Dew}%3bM5oE`Txrr*Y*8hh;r#yeoU#XL+r=Vsd@^ zmYBC0d+(OLzjgRqossR^J?VSNd+RT3HXfBTE{FeI zv2lNOLPf!=kH;5IefU+~-ra28y54m*zm2{X{<-`4rucfbWASz~Wh%Zt__}xH@5{Bu z{%Pv>bKZ@H%WM0`%{)=X&n%fI)#})t!<){i z9e;Pau<5g=`OM?fzB9y&|1WoxRE&S9JY}`gd6)g2#(_UoS4;(KM*;kJa$X}|BiTl#myVdmp<%cIZD)qA^cZJzJDuX4|ASMNQw zUA$8MZs7&>)8>cuo2NaUFI-@=!Dxlq4$URDTeROe{&?JR@x=7N{6*r)*B*WN7{j@# z^O&dH$%~r5gS;>6Exmv5XUg^2ceN!m)C%>J#WLmV?!W(gpHC;nUrxrZeI$I{`q`&1-`^F!YTx_FuW^_E9sK+F_pcLfm(MTWf2e+Te%HV0|Ng)KUO%Dt z#JbZH58OQQb*B3)^M>_J|5qwRdW2gv1!)y|m$nb-spufC*McQrRHo+5lT@{H?|sgKm2oO^%p@yVA*cg=m`d!zBq zkEfpxmtW2A-6q(;c8S%HwYcp=d(fd34=)LFO*|Etbur42ZKGIW-^YEN8#`xuvYx!E z86LFzlH79tcYiiy=km{TJfre<>3OG3``%V>{{OOZ-kW31>ikb-{7x-=dQ0x2jn=H= zQ@+2xas1EBrs=JZk00+k);)iE&-A|Oy>lzV{%uKGQuO1=<6!3H?5o>W&%f$3ud=%A z<((?sZ%jM;9xqC;{W|GS>Q%P4Zp~_wwU?bu(_I$c8_j$B%eu_%*)icS171wo>9|+3 z$oqp?ymMtIP2SBUo61Du*d4a zO+|+5%?xI&49iOxR=6+-DK{`n9&qIjc%0m@Y6ZipinQ0i8yUo2G)nGhWHMU7sP=$k zp8&Ju1b)*CT>Obb(*%{A9JdIHtFWDP%$oT7giM#aYM`_UpRV)ni>^HU$Al*LWggjc zxGRx)L;A+|1)p|^#PHAKeBYk0ctP+F$J~-TB`ZtxU+})j?$kMAd!(OdAJ1Wx;7g{P zOn!@#hYnaxQ=1Ar2ee>?kXPL}7Jaa;0q+*=!Otf*CR~2V{ zFTZB$AF)5DnL?YkHNAG)dT5=9%u-*Km?=uXoYq9#={)5oJ5^))m&ubR{L;9qG+8ZM zp?!L_PW(cFRV!8=S@0!lr>|*huGq$-dozvm@KRr!QK*AV1+jjzr#;`#Wwe zxm|K?PJ&`?X0GVAw+*FJeV4!8ad#DS|KfSU6FwVG_q)#j?vLEJd69A9+t0s!@Wt@E z@5j~4eOW)SSh0(;@V9Sjt!xQ*)p2|2^8DzT<1>$5SDQ3BXwv;9yOw-?cjflgZSIzf zGuH=&eXg6z9L{%2)@r`;jOel{y6Y9@FJ17$B0tc#GbZyn=j~57PxS;ZTHd~je~zJ5 zyXF56P7hu0dw229I3^yxZkx!KW3k11*4;Q+ko+txJG`v_cmPlu|1Rx+HvfK&?T$qoeihlipZ@aMv;AM@b89Ft zze-@@d%zsHLHg4IuBZogJ_m%H99RT-k1%#RY?^57VQ$o_v_d1R&uu|#hWanD!)=Dg zR1)=)?j>kONPUwj6I|YP`T*|()(?h1cC*wu86~#(&0N>yD zUh1`q?Gu+vZa3~T+-cZrn4dl`u`?ku)%L)#lVQi#owqwAcx>az$Wu#?m>!TldHBTT zGp`S}e=_}0%{_rNkNX&RCwDLR^MEfJ@veFumyWO;Q9Gi&!cHhjNM0p+snOEhlpQH) zsnSm_Jvl3SL-d)*?Wv!pG>7nn{tPw0qIUIthDlaf_SEd~7gt`Gy|{Zt-l!sbN9LLI zMY*qXw_V?JF6qXn<7ST8%+m3<@0O{*&9^*banV|P_m3TNrMsW*d!zaE>HfWks*kk4 z$bK^2Yxkr7iUCF%Dm(O^B+tnDF|T8v#=I9DGuBzm`|+e@qsrYUn^*c|?!IjQcF|k8 z^95&QPHehqUT{G1_esU&hY#;8bN}^8r~j*1geafbPO<%3y&BQ__CcPOH!E*#epT-K zH*)^xn63V=yI$|r3zia_z0Ul3%-77|T=n?*@AuSheo+>%{gvzv>w^8C97EG8jZzb5Xv_+;aR=ZeBFCvRPEe@0^O%9-kVDz!6yKiT>v?QrB0c8?AOd(erx4w(RQQbwSM{M@?(zgNZt9na#7{Y3hSRuKO%qb zW=UdgWo>Wy#-+`@e`!dEMYmCxozQ8~?MpWW%=f&Ctw0FGY9%D8HWKk-jZ$=9}s&1(V;;7ygm) z%DWu6cTfAzJl6dFcX8X#%{7QO$&4m+Uk33q;sXU>-Uu_RbBeO z^?k{SoLhH3{+!nO(e;PQ<|kjjp4dL`y|lfF*`)f|`*&D8IKl$|eHL;sVmq++)}5GT zOafetb)q?Wc~^4s{#h|MRB~Pr{h7XvkD(!*O=C%shTyATW;_4g?)h!caCm*dJDV*> zbQu^J6p}rHd>I&WXD~1n_c1X1sAphkdd0v{u!w=-brb`G!4n1s{_V_b>dF`xcs6;u zIEGX(GPp48{?GXT|9=K#zyjk`bSz)Mz`zjC08&xjzH9-MhG?niSPs_LQ4z_=z`*eT zKZ6OwX^0fe04A6k5DgkUX84L#1E_F@W@-7{I{5un;5* zk^m`2HV~{DBw5k1`~w361IQEq|1+FsFhN)Vl19g1k5_aozreu2ppPVJ*ijLA0pu42 zP%wjR1YxLx^B|hBynWe!m>|eGQ0IYcW&pbzqzWd{Q4yKIz`zi|z`*bT7PkLk;R_36 z5DoK`00RTVdyokr46}xzpRwQ{SOrKFhATRjgIsxlfq_9DCI$-Qj*7?vBt8RNBa(kV zc2q=ytb(gUk^_kec2q=ufCbV6kPUFRfTS51K+y~Gay*m^iXjK6+Zn+cL7JeFU<#hZ zz&wV9(4YYs1k$*_qGNdiOd}|rDvR+(lP%JfoibQM*Ff4>d8z@X*u>;cw%G01&0%4dKhz6BS zAPkE&kQfMmWME(bl>y)w1POpJiiKEW600VVMr4du93xAC*b`yt4a9+4h{ZCDG6bXn z8RN0&B3kVWw-jt4G%?&qG7PQ&Nes@!V-dXWz~TW#P!@)j$Kdn~HxZGekc2R*K4dw# zMM#36xJEA5L3TWVS%{<#lSzz^Fm+)U0bAHn5qY4ZV>u`l!crQjtWcoPB9Iv{TOWe# z0CB(;f*7DA%)r0^i${6nvK1;1qOb)WNF0uFWGh%rflzopr0F!ZIzyJUM literal 0 HcmV?d00001 diff --git a/resources/sprite/status_2x/policy-project.png b/resources/sprite/status_2x/policy-project.png new file mode 100644 index 0000000000000000000000000000000000000000..4d777ca0b0527ee6037452dec04d16630c59d5e7 GIT binary patch literal 9136 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 E0PCC=m;e9( literal 0 HcmV?d00001 diff --git a/resources/sprite/status_2x/policy-unknown.png b/resources/sprite/status_2x/policy-unknown.png new file mode 100644 index 0000000000000000000000000000000000000000..349d5a5f5b05c20f7b36ef21e9305f801e52e7f0 GIT binary patch literal 497 zcmeAS@N?(olHy`uVBq!ia0y~yV2}Y}4mJh`h9chkQy3T+BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztFi!S#aSW-rbtdd|;9&!SUgMq4>}6UWFC1hO`tJC! z{+O}2-}07df?v#BE)OdYEr*v3S_b}SX5GB;E0X2JxjhrrF5XUmyDqHj*0#BSmYzMP z6Sp>Ah{yAN`p&q!-tqDiv)ffBF>4A)Pm^tA(};cK=ExD7tkH0MV&G~K{zLEYH3>u~ zt!Q*jSjFeSc5!d;gd^JyT;+fLm|39q;!3riuaZa9o-9_IU*&jerf$#q1F{C{D}El^ zROe{duDCR-X7dDjfqAzA5+vKyxy$c`>fcYyQ+%^Sf`z5_!Ssvu*4*~jTTQkKNU1HG zv!AJ2&#N_U)0ZWe1q`W>ptS-94yZJ7dr9*X!h)r!qTQ1z*)~+5G5vXnC}ZjDO$Kyu6(q-KTdpM8>sb zFPF0x-X-I&+p5S^95wTZ-s_n^^7$VY-(JqZ%%HEdD^;!1a~lH#1B0ilpUXO@geCwS C%hEdl literal 0 HcmV?d00001 diff --git a/scripts/celerity_mapper.php b/scripts/celerity_mapper.php index e087b7e59f..e7d27c92fb 100755 --- a/scripts/celerity_mapper.php +++ b/scripts/celerity_mapper.php @@ -96,7 +96,7 @@ $package_spec = array( 'phabricator-notification-css', 'phabricator-notification-menu-css', 'lightbox-attachment-css', - 'phabricator-header-view-css', + 'phui-header-view-css', 'phabricator-filetree-view-css', 'phabricator-nav-view-css', 'phabricator-side-menu-view-css', diff --git a/src/__celerity_resource_map__.php b/src/__celerity_resource_map__.php index 1d9730bec8..a65cc29b7a 100644 --- a/src/__celerity_resource_map__.php +++ b/src/__celerity_resource_map__.php @@ -702,15 +702,15 @@ celerity_register_resource_map(array( ), '/rsrc/image/sprite-status-X2.png' => array( - 'hash' => '3c57299b04fc21bee8a20d2d019bf6b6', - 'uri' => '/res/3c57299b/rsrc/image/sprite-status-X2.png', + 'hash' => 'b26f204c1b5ff01e3facbf78ccdc358b', + 'uri' => '/res/b26f204c/rsrc/image/sprite-status-X2.png', 'disk' => '/rsrc/image/sprite-status-X2.png', 'type' => 'png', ), '/rsrc/image/sprite-status.png' => array( - 'hash' => 'b76029c6bac69fd5bd9ab82d254f2ef1', - 'uri' => '/res/b76029c6/rsrc/image/sprite-status.png', + 'hash' => 'c1f9c28f3ab24a0f2d758331bb0f8a09', + 'uri' => '/res/c1f9c28f/rsrc/image/sprite-status.png', 'disk' => '/rsrc/image/sprite-status.png', 'type' => 'png', ), @@ -1149,7 +1149,7 @@ celerity_register_resource_map(array( ), 'diviner-shared-css' => array( - 'uri' => '/res/ef49b30b/rsrc/css/diviner/diviner-shared.css', + 'uri' => '/res/cba9c99e/rsrc/css/diviner/diviner-shared.css', 'type' => 'css', 'requires' => array( @@ -3014,7 +3014,7 @@ celerity_register_resource_map(array( ), 'phabricator-action-list-view-css' => array( - 'uri' => '/res/5478ce6c/rsrc/css/layout/phabricator-action-list-view.css', + 'uri' => '/res/c6219563/rsrc/css/layout/phabricator-action-list-view.css', 'type' => 'css', 'requires' => array( @@ -3080,7 +3080,7 @@ celerity_register_resource_map(array( ), 'phabricator-crumbs-view-css' => array( - 'uri' => '/res/ff818db7/rsrc/css/layout/phabricator-crumbs-view.css', + 'uri' => '/res/4d722e16/rsrc/css/layout/phabricator-crumbs-view.css', 'type' => 'css', 'requires' => array( @@ -3180,15 +3180,6 @@ celerity_register_resource_map(array( ), 'disk' => '/rsrc/css/application/flag/flag.css', ), - 'phabricator-header-view-css' => - array( - 'uri' => '/res/8b2bcc29/rsrc/css/layout/phabricator-header-view.css', - 'type' => 'css', - 'requires' => - array( - ), - 'disk' => '/rsrc/css/layout/phabricator-header-view.css', - ), 'phabricator-hovercard' => array( 'uri' => '/res/7fb94260/rsrc/js/core/Hovercard.js', @@ -3376,7 +3367,7 @@ celerity_register_resource_map(array( ), 'phabricator-property-list-view-css' => array( - 'uri' => '/res/fdcbf4ab/rsrc/css/layout/phabricator-property-list-view.css', + 'uri' => '/res/3a0ffc53/rsrc/css/layout/phabricator-property-list-view.css', 'type' => 'css', 'requires' => array( @@ -3747,7 +3738,7 @@ celerity_register_resource_map(array( ), 'phui-document-view-css' => array( - 'uri' => '/res/c95d4bdf/rsrc/css/phui/phui-document.css', + 'uri' => '/res/7928af2d/rsrc/css/phui/phui-document.css', 'type' => 'css', 'requires' => array( @@ -3781,9 +3772,18 @@ celerity_register_resource_map(array( ), 'disk' => '/rsrc/css/phui/phui-form-view.css', ), + 'phui-header-view-css' => + array( + 'uri' => '/res/7ce53631/rsrc/css/phui/phui-header-view.css', + 'type' => 'css', + 'requires' => + array( + ), + 'disk' => '/rsrc/css/phui/phui-header-view.css', + ), 'phui-icon-view-css' => array( - 'uri' => '/res/f78f4c64/rsrc/css/phui/phui-icon.css', + 'uri' => '/res/28fb5ae5/rsrc/css/phui/phui-icon.css', 'type' => 'css', 'requires' => array( @@ -4134,7 +4134,7 @@ celerity_register_resource_map(array( ), 'sprite-status-css' => array( - 'uri' => '/res/72b39c66/rsrc/css/sprite-status.css', + 'uri' => '/res/d61bb845/rsrc/css/sprite-status.css', 'type' => 'css', 'requires' => array( @@ -4171,7 +4171,7 @@ celerity_register_resource_map(array( ), array( 'packages' => array( - '606d1ed1' => + '2c60f04c' => array( 'name' => 'core.pkg.css', 'symbols' => @@ -4203,7 +4203,7 @@ celerity_register_resource_map(array( 24 => 'phabricator-notification-css', 25 => 'phabricator-notification-menu-css', 26 => 'lightbox-attachment-css', - 27 => 'phabricator-header-view-css', + 27 => 'phui-header-view-css', 28 => 'phabricator-filetree-view-css', 29 => 'phabricator-nav-view-css', 30 => 'phabricator-side-menu-view-css', @@ -4218,7 +4218,7 @@ celerity_register_resource_map(array( 39 => 'phabricator-property-list-view-css', 40 => 'phabricator-tag-view-css', ), - 'uri' => '/res/pkg/606d1ed1/core.pkg.css', + 'uri' => '/res/pkg/2c60f04c/core.pkg.css', 'type' => 'css', ), '8977e356' => @@ -4409,15 +4409,15 @@ celerity_register_resource_map(array( ), 'reverse' => array( - 'aphront-dialog-view-css' => '606d1ed1', - 'aphront-error-view-css' => '606d1ed1', - 'aphront-list-filter-view-css' => '606d1ed1', - 'aphront-pager-view-css' => '606d1ed1', - 'aphront-panel-view-css' => '606d1ed1', - 'aphront-table-view-css' => '606d1ed1', - 'aphront-tokenizer-control-css' => '606d1ed1', - 'aphront-tooltip-css' => '606d1ed1', - 'aphront-typeahead-control-css' => '606d1ed1', + 'aphront-dialog-view-css' => '2c60f04c', + 'aphront-error-view-css' => '2c60f04c', + 'aphront-list-filter-view-css' => '2c60f04c', + 'aphront-pager-view-css' => '2c60f04c', + 'aphront-panel-view-css' => '2c60f04c', + 'aphront-table-view-css' => '2c60f04c', + 'aphront-tokenizer-control-css' => '2c60f04c', + 'aphront-tooltip-css' => '2c60f04c', + 'aphront-typeahead-control-css' => '2c60f04c', 'differential-changeset-view-css' => '44bfe40c', 'differential-core-view-css' => '44bfe40c', 'differential-inline-comment-editor' => '5e9e5c4e', @@ -4431,7 +4431,7 @@ celerity_register_resource_map(array( 'differential-table-of-contents-css' => '44bfe40c', 'diffusion-commit-view-css' => 'c8ce2d88', 'diffusion-icons-css' => 'c8ce2d88', - 'global-drag-and-drop-css' => '606d1ed1', + 'global-drag-and-drop-css' => '2c60f04c', 'inline-comment-summary-css' => '44bfe40c', 'javelin-aphlict' => '8977e356', 'javelin-behavior' => 'f32597c9', @@ -4504,55 +4504,55 @@ celerity_register_resource_map(array( 'javelin-util' => 'f32597c9', 'javelin-vector' => 'f32597c9', 'javelin-workflow' => 'f32597c9', - 'lightbox-attachment-css' => '606d1ed1', + 'lightbox-attachment-css' => '2c60f04c', 'maniphest-task-summary-css' => '36d5d071', 'maniphest-transaction-detail-css' => '36d5d071', - 'phabricator-action-list-view-css' => '606d1ed1', - 'phabricator-application-launch-view-css' => '606d1ed1', + 'phabricator-action-list-view-css' => '2c60f04c', + 'phabricator-application-launch-view-css' => '2c60f04c', 'phabricator-busy' => '8977e356', 'phabricator-content-source-view-css' => '44bfe40c', - 'phabricator-core-css' => '606d1ed1', - 'phabricator-crumbs-view-css' => '606d1ed1', + 'phabricator-core-css' => '2c60f04c', + 'phabricator-crumbs-view-css' => '2c60f04c', 'phabricator-drag-and-drop-file-upload' => '5e9e5c4e', 'phabricator-dropdown-menu' => '8977e356', 'phabricator-file-upload' => '8977e356', - 'phabricator-filetree-view-css' => '606d1ed1', - 'phabricator-flag-css' => '606d1ed1', - 'phabricator-header-view-css' => '606d1ed1', + 'phabricator-filetree-view-css' => '2c60f04c', + 'phabricator-flag-css' => '2c60f04c', 'phabricator-hovercard' => '8977e356', - 'phabricator-jump-nav' => '606d1ed1', + 'phabricator-jump-nav' => '2c60f04c', 'phabricator-keyboard-shortcut' => '8977e356', 'phabricator-keyboard-shortcut-manager' => '8977e356', - 'phabricator-main-menu-view' => '606d1ed1', + 'phabricator-main-menu-view' => '2c60f04c', 'phabricator-menu-item' => '8977e356', - 'phabricator-nav-view-css' => '606d1ed1', + 'phabricator-nav-view-css' => '2c60f04c', 'phabricator-notification' => '8977e356', - 'phabricator-notification-css' => '606d1ed1', - 'phabricator-notification-menu-css' => '606d1ed1', + 'phabricator-notification-css' => '2c60f04c', + 'phabricator-notification-menu-css' => '2c60f04c', 'phabricator-object-selector-css' => '44bfe40c', 'phabricator-phtize' => '8977e356', 'phabricator-prefab' => '8977e356', 'phabricator-project-tag-css' => '36d5d071', - 'phabricator-property-list-view-css' => '606d1ed1', - 'phabricator-remarkup-css' => '606d1ed1', + 'phabricator-property-list-view-css' => '2c60f04c', + 'phabricator-remarkup-css' => '2c60f04c', 'phabricator-shaped-request' => '5e9e5c4e', - 'phabricator-side-menu-view-css' => '606d1ed1', - 'phabricator-standard-page-view' => '606d1ed1', - 'phabricator-tag-view-css' => '606d1ed1', + 'phabricator-side-menu-view-css' => '2c60f04c', + 'phabricator-standard-page-view' => '2c60f04c', + 'phabricator-tag-view-css' => '2c60f04c', 'phabricator-textareautils' => '8977e356', 'phabricator-tooltip' => '8977e356', - 'phabricator-transaction-view-css' => '606d1ed1', - 'phabricator-zindex-css' => '606d1ed1', - 'phui-button-css' => '606d1ed1', - 'phui-form-css' => '606d1ed1', - 'phui-form-view-css' => '606d1ed1', - 'phui-icon-view-css' => '606d1ed1', - 'phui-object-item-list-view-css' => '606d1ed1', - 'phui-spacing-css' => '606d1ed1', - 'sprite-apps-large-css' => '606d1ed1', - 'sprite-gradient-css' => '606d1ed1', - 'sprite-icons-css' => '606d1ed1', - 'sprite-menu-css' => '606d1ed1', - 'syntax-highlighting-css' => '606d1ed1', + 'phabricator-transaction-view-css' => '2c60f04c', + 'phabricator-zindex-css' => '2c60f04c', + 'phui-button-css' => '2c60f04c', + 'phui-form-css' => '2c60f04c', + 'phui-form-view-css' => '2c60f04c', + 'phui-header-view-css' => '2c60f04c', + 'phui-icon-view-css' => '2c60f04c', + 'phui-object-item-list-view-css' => '2c60f04c', + 'phui-spacing-css' => '2c60f04c', + 'sprite-apps-large-css' => '2c60f04c', + 'sprite-gradient-css' => '2c60f04c', + 'sprite-icons-css' => '2c60f04c', + 'sprite-menu-css' => '2c60f04c', + 'syntax-highlighting-css' => '2c60f04c', ), )); diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index fb3cc622e4..2e8ba176e5 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -754,6 +754,7 @@ phutil_register_library_map(array( 'PHUIFormLayoutView' => 'view/form/PHUIFormLayoutView.php', 'PHUIFormMultiSubmitControl' => 'view/form/control/PHUIFormMultiSubmitControl.php', 'PHUIFormPageView' => 'view/form/PHUIFormPageView.php', + 'PHUIHeaderView' => 'view/phui/PHUIHeaderView.php', 'PHUIIconExample' => 'applications/uiexample/examples/PHUIIconExample.php', 'PHUIIconView' => 'view/phui/PHUIIconView.php', 'PHUIListExample' => 'applications/uiexample/examples/PHUIListExample.php', @@ -1229,7 +1230,6 @@ phutil_register_library_map(array( 'PhabricatorHandleQuery' => 'applications/phid/query/PhabricatorHandleQuery.php', 'PhabricatorHash' => 'infrastructure/util/PhabricatorHash.php', 'PhabricatorHashTestCase' => 'infrastructure/util/__tests__/PhabricatorHashTestCase.php', - 'PhabricatorHeaderView' => 'view/layout/PhabricatorHeaderView.php', 'PhabricatorHelpController' => 'applications/help/controller/PhabricatorHelpController.php', 'PhabricatorHelpKeyboardShortcutController' => 'applications/help/controller/PhabricatorHelpKeyboardShortcutController.php', 'PhabricatorHovercardExample' => 'applications/uiexample/examples/PhabricatorHovercardExample.php', @@ -2839,6 +2839,7 @@ phutil_register_library_map(array( 'PHUIFormLayoutView' => 'AphrontView', 'PHUIFormMultiSubmitControl' => 'AphrontFormControl', 'PHUIFormPageView' => 'AphrontView', + 'PHUIHeaderView' => 'AphrontView', 'PHUIIconExample' => 'PhabricatorUIExample', 'PHUIIconView' => 'AphrontTagView', 'PHUIListExample' => 'PhabricatorUIExample', @@ -3363,7 +3364,6 @@ phutil_register_library_map(array( 'PhabricatorGlobalUploadTargetView' => 'AphrontView', 'PhabricatorHandleQuery' => 'PhabricatorCursorPagedPolicyAwareQuery', 'PhabricatorHashTestCase' => 'PhabricatorTestCase', - 'PhabricatorHeaderView' => 'AphrontView', 'PhabricatorHelpController' => 'PhabricatorController', 'PhabricatorHelpKeyboardShortcutController' => 'PhabricatorHelpController', 'PhabricatorHovercardExample' => 'PhabricatorUIExample', diff --git a/src/applications/calendar/controller/PhabricatorCalendarViewStatusController.php b/src/applications/calendar/controller/PhabricatorCalendarViewStatusController.php index 68ff80a538..b8f1a8ccd5 100644 --- a/src/applications/calendar/controller/PhabricatorCalendarViewStatusController.php +++ b/src/applications/calendar/controller/PhabricatorCalendarViewStatusController.php @@ -30,7 +30,7 @@ final class PhabricatorCalendarViewStatusController $nav->appendChild( array( - id(new PhabricatorHeaderView())->setHeader($page_title), + id(new PHUIHeaderView())->setHeader($page_title), $status_list, )); diff --git a/src/applications/conduit/controller/PhabricatorConduitAPIController.php b/src/applications/conduit/controller/PhabricatorConduitAPIController.php index 3a25e954b0..837674996e 100644 --- a/src/applications/conduit/controller/PhabricatorConduitAPIController.php +++ b/src/applications/conduit/controller/PhabricatorConduitAPIController.php @@ -385,10 +385,10 @@ final class PhabricatorConduitAPIController $result_panel->setHeader('Method Result'); $result_panel->appendChild($result_table); - $param_head = id(new PhabricatorHeaderView()) + $param_head = id(new PHUIHeaderView()) ->setHeader(pht('Method Parameters')); - $result_head = id(new PhabricatorHeaderView()) + $result_head = id(new PHUIHeaderView()) ->setHeader(pht('Method Result')); $method_uri = $this->getApplicationURI('method/'.$method.'/'); diff --git a/src/applications/config/controller/PhabricatorConfigGroupController.php b/src/applications/config/controller/PhabricatorConfigGroupController.php index 45cde11b08..bdd4c73cd9 100644 --- a/src/applications/config/controller/PhabricatorConfigGroupController.php +++ b/src/applications/config/controller/PhabricatorConfigGroupController.php @@ -21,7 +21,7 @@ final class PhabricatorConfigGroupController $title = pht('%s Configuration', $options->getName()); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($title); $list = $this->buildOptionList($options->getOptions()); diff --git a/src/applications/config/controller/PhabricatorConfigIssueListController.php b/src/applications/config/controller/PhabricatorConfigIssueListController.php index 9b9b60299b..f9b1333ca3 100644 --- a/src/applications/config/controller/PhabricatorConfigIssueListController.php +++ b/src/applications/config/controller/PhabricatorConfigIssueListController.php @@ -17,7 +17,7 @@ final class PhabricatorConfigIssueListController $list = $this->buildIssueList($issues); $list->setNoDataString(pht("There are no open setup issues.")); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader(pht('Open Phabricator Setup Issues')); $nav->appendChild( diff --git a/src/applications/config/controller/PhabricatorConfigListController.php b/src/applications/config/controller/PhabricatorConfigListController.php index addf01a073..a583fbb491 100644 --- a/src/applications/config/controller/PhabricatorConfigListController.php +++ b/src/applications/config/controller/PhabricatorConfigListController.php @@ -15,7 +15,7 @@ final class PhabricatorConfigListController $title = pht('Phabricator Configuration'); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($title); $nav->appendChild( diff --git a/src/applications/countdown/controller/PhabricatorCountdownViewController.php b/src/applications/countdown/controller/PhabricatorCountdownViewController.php index e65ca17f62..8efa57a979 100644 --- a/src/applications/countdown/controller/PhabricatorCountdownViewController.php +++ b/src/applications/countdown/controller/PhabricatorCountdownViewController.php @@ -41,7 +41,7 @@ final class PhabricatorCountdownViewController id(new PhabricatorCrumbView()) ->setName("C{$id}")); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($title); $actions = $this->buildActionListView($countdown); diff --git a/src/applications/daemon/controller/PhabricatorDaemonConsoleController.php b/src/applications/daemon/controller/PhabricatorDaemonConsoleController.php index a380c8e93b..ffaaf262f0 100644 --- a/src/applications/daemon/controller/PhabricatorDaemonConsoleController.php +++ b/src/applications/daemon/controller/PhabricatorDaemonConsoleController.php @@ -64,7 +64,7 @@ final class PhabricatorDaemonConsoleController 'n', )); - $completed_header = id(new PhabricatorHeaderView()) + $completed_header = id(new PHUIHeaderView()) ->setHeader(pht('Recently Completed Tasks (Last 15m)')); $completed_panel = new AphrontPanelView(); @@ -76,7 +76,7 @@ final class PhabricatorDaemonConsoleController ->withStatus(PhabricatorDaemonLogQuery::STATUS_ALIVE) ->execute(); - $daemon_header = id(new PhabricatorHeaderView()) + $daemon_header = id(new PHUIHeaderView()) ->setHeader(pht('Active Daemons')); $daemon_table = new PhabricatorDaemonLogListView(); diff --git a/src/applications/daemon/controller/PhabricatorDaemonLogViewController.php b/src/applications/daemon/controller/PhabricatorDaemonLogViewController.php index 8f3d198c90..69bac11505 100644 --- a/src/applications/daemon/controller/PhabricatorDaemonLogViewController.php +++ b/src/applications/daemon/controller/PhabricatorDaemonLogViewController.php @@ -30,7 +30,7 @@ final class PhabricatorDaemonLogViewController id(new PhabricatorCrumbView()) ->setName(pht('Daemon %s', $log->getID()))); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($log->getDaemon()); $tag = id(new PhabricatorTagView()) diff --git a/src/applications/daemon/controller/PhabricatorWorkerTaskDetailController.php b/src/applications/daemon/controller/PhabricatorWorkerTaskDetailController.php index c8b4e32756..cb035b715f 100644 --- a/src/applications/daemon/controller/PhabricatorWorkerTaskDetailController.php +++ b/src/applications/daemon/controller/PhabricatorWorkerTaskDetailController.php @@ -33,7 +33,7 @@ final class PhabricatorWorkerTaskDetailController } else { $title = pht('Task %d', $task->getID()); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader(pht('Task %d (%s)', $task->getID(), $task->getTaskClass())); @@ -41,7 +41,7 @@ final class PhabricatorWorkerTaskDetailController $actions = $this->buildActionListView($task); $properties = $this->buildPropertyListView($task); - $retry_head = id(new PhabricatorHeaderView()) + $retry_head = id(new PHUIHeaderView()) ->setHeader(pht('Retries')); $retry_info = $this->buildRetryListView($task); diff --git a/src/applications/differential/controller/DifferentialDiffViewController.php b/src/applications/differential/controller/DifferentialDiffViewController.php index cb2fd99e01..8122a0b605 100644 --- a/src/applications/differential/controller/DifferentialDiffViewController.php +++ b/src/applications/differential/controller/DifferentialDiffViewController.php @@ -114,7 +114,7 @@ final class DifferentialDiffViewController extends DifferentialController { } } - $property_head = id(new PhabricatorHeaderView()) + $property_head = id(new PHUIHeaderView()) ->setHeader(pht('Properties')); $property_view = new PhabricatorPropertyListView(); diff --git a/src/applications/differential/controller/DifferentialRevisionViewController.php b/src/applications/differential/controller/DifferentialRevisionViewController.php index 8ce7b19029..2610ce97dc 100644 --- a/src/applications/differential/controller/DifferentialRevisionViewController.php +++ b/src/applications/differential/controller/DifferentialRevisionViewController.php @@ -846,7 +846,7 @@ final class DifferentialRevisionViewController extends DifferentialController { $view->setHandles($handles); return array( - id(new PhabricatorHeaderView()) + id(new PHUIHeaderView()) ->setHeader(pht('Open Revisions Affecting These Files')), $view, ); diff --git a/src/applications/differential/view/DifferentialAddCommentView.php b/src/applications/differential/view/DifferentialAddCommentView.php index b17a0f7ea5..9fd58d5cd7 100644 --- a/src/applications/differential/view/DifferentialAddCommentView.php +++ b/src/applications/differential/view/DifferentialAddCommentView.php @@ -173,7 +173,7 @@ final class DifferentialAddCommentView extends AphrontView { } } - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($is_serious ? pht('Add Comment') : pht('Leap Into Action')); return hsprintf( diff --git a/src/applications/differential/view/DifferentialChangesetListView.php b/src/applications/differential/view/DifferentialChangesetListView.php index 53ead78627..2398863a5c 100644 --- a/src/applications/differential/view/DifferentialChangesetListView.php +++ b/src/applications/differential/view/DifferentialChangesetListView.php @@ -195,7 +195,7 @@ final class DifferentialChangesetListView extends AphrontView { } return array( - id(new PhabricatorHeaderView()) + id(new PHUIHeaderView()) ->setHeader($this->getTitle()) ->render(), phutil_tag( diff --git a/src/applications/differential/view/DifferentialDiffTableOfContentsView.php b/src/applications/differential/view/DifferentialDiffTableOfContentsView.php index 5a06782a94..b95096aa14 100644 --- a/src/applications/differential/view/DifferentialDiffTableOfContentsView.php +++ b/src/applications/differential/view/DifferentialDiffTableOfContentsView.php @@ -232,7 +232,7 @@ final class DifferentialDiffTableOfContentsView extends AphrontView { ->setAnchorName('toc') ->setNavigationMarker(true) ->render(), - id(new PhabricatorHeaderView()) + id(new PHUIHeaderView()) ->setHeader(pht('Table of Contents')) ->render(), pht('Coverage (All)'), diff --git a/src/applications/differential/view/DifferentialLocalCommitsView.php b/src/applications/differential/view/DifferentialLocalCommitsView.php index 9a47fe6f31..f7da850f6e 100644 --- a/src/applications/differential/view/DifferentialLocalCommitsView.php +++ b/src/applications/differential/view/DifferentialLocalCommitsView.php @@ -128,7 +128,7 @@ final class DifferentialLocalCommitsView extends AphrontView { $headers = phutil_tag('tr', array(), $headers); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader(pht('Local Commits')) ->render(); diff --git a/src/applications/differential/view/DifferentialRevisionDetailView.php b/src/applications/differential/view/DifferentialRevisionDetailView.php index e47e071150..ad1b912458 100644 --- a/src/applications/differential/view/DifferentialRevisionDetailView.php +++ b/src/applications/differential/view/DifferentialRevisionDetailView.php @@ -119,7 +119,7 @@ final class DifferentialRevisionDetailView extends AphrontView { } private function renderHeader(DifferentialRevision $revision) { - $view = id(new PhabricatorHeaderView()) + $view = id(new PHUIHeaderView()) ->setHeader($revision->getTitle($revision)); $view->addTag(self::renderTagForRevision($revision)); diff --git a/src/applications/differential/view/DifferentialRevisionUpdateHistoryView.php b/src/applications/differential/view/DifferentialRevisionUpdateHistoryView.php index 308019c984..05e6d9f24b 100644 --- a/src/applications/differential/view/DifferentialRevisionUpdateHistoryView.php +++ b/src/applications/differential/view/DifferentialRevisionUpdateHistoryView.php @@ -215,7 +215,7 @@ final class DifferentialRevisionUpdateHistoryView extends AphrontView { ''. ''. '', - id(new PhabricatorHeaderView()) + id(new PHUIHeaderView()) ->setHeader(pht('Revision Update History')) ->render(), phutil_implode_html("\n", $rows), diff --git a/src/applications/diffusion/controller/DiffusionBrowseController.php b/src/applications/diffusion/controller/DiffusionBrowseController.php index 822b1c5650..a2a73f3c44 100644 --- a/src/applications/diffusion/controller/DiffusionBrowseController.php +++ b/src/applications/diffusion/controller/DiffusionBrowseController.php @@ -95,7 +95,7 @@ final class DiffusionBrowseController extends DiffusionController { $box->addPadding(PHUI::PADDING_LARGE); $box->addMargin(PHUI::MARGIN_LARGE); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader(pht('README')); $content[] = array( diff --git a/src/applications/diffusion/controller/DiffusionCommitController.php b/src/applications/diffusion/controller/DiffusionCommitController.php index 0f8d5270a7..6e2d5c2d63 100644 --- a/src/applications/diffusion/controller/DiffusionCommitController.php +++ b/src/applications/diffusion/controller/DiffusionCommitController.php @@ -85,7 +85,7 @@ final class DiffusionCommitController extends DiffusionController { 'diffusion.commitparentsquery', array('commit' => $drequest->getCommit())); - $headsup_view = id(new PhabricatorHeaderView()) + $headsup_view = id(new PHUIHeaderView()) ->setHeader(nonempty($commit->getSummary(), pht('Commit Detail'))); $headsup_actions = $this->renderHeadsupActionList($commit, $repository); @@ -660,7 +660,7 @@ final class DiffusionCommitController extends DiffusionController { id(new AphrontFormSubmitControl()) ->setValue($is_serious ? pht('Submit') : pht('Cook the Books'))); - $header = new PhabricatorHeaderView(); + $header = new PHUIHeaderView(); $header->setHeader( $is_serious ? pht('Audit Commit') : pht('Creative Accounting')); diff --git a/src/applications/diffusion/controller/DiffusionController.php b/src/applications/diffusion/controller/DiffusionController.php index 9e55ce176f..f2ad87c859 100644 --- a/src/applications/diffusion/controller/DiffusionController.php +++ b/src/applications/diffusion/controller/DiffusionController.php @@ -133,7 +133,7 @@ abstract class DiffusionController extends PhabricatorController { $handles = $this->loadViewerHandles($phids); $view->setHandles($handles); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader(pht('Pending Differential Revisions')); return array( diff --git a/src/applications/diffusion/controller/DiffusionRepositoryController.php b/src/applications/diffusion/controller/DiffusionRepositoryController.php index 007d6e4bed..4aaff83af8 100644 --- a/src/applications/diffusion/controller/DiffusionRepositoryController.php +++ b/src/applications/diffusion/controller/DiffusionRepositoryController.php @@ -136,7 +136,7 @@ final class DiffusionRepositoryController extends DiffusionController { private function buildPropertiesTable(PhabricatorRepository $repository) { $user = $this->getRequest()->getUser(); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($repository->getName()); $view = id(new PhabricatorPropertyListView()) diff --git a/src/applications/diffusion/controller/DiffusionRepositoryEditController.php b/src/applications/diffusion/controller/DiffusionRepositoryEditController.php index 7c2682980e..119cef5347 100644 --- a/src/applications/diffusion/controller/DiffusionRepositoryEditController.php +++ b/src/applications/diffusion/controller/DiffusionRepositoryEditController.php @@ -18,19 +18,19 @@ final class DiffusionRepositoryEditController extends DiffusionController { $title = pht('Edit %s', $repository->getName()); - $content[] = id(new PhabricatorHeaderView()) + $content[] = id(new PHUIHeaderView()) ->setHeader($title); $content[] = $this->buildBasicActions($repository); $content[] = $this->buildBasicProperties($repository); - $content[] = id(new PhabricatorHeaderView()) + $content[] = id(new PHUIHeaderView()) ->setHeader(pht('Text Encoding')); $content[] = $this->buildEncodingActions($repository); $content[] = $this->buildEncodingProperties($repository); - $content[] = id(new PhabricatorHeaderView()) + $content[] = id(new PHUIHeaderView()) ->setHeader(pht('Edit History')); $xactions = id(new PhabricatorRepositoryTransactionQuery()) diff --git a/src/applications/diviner/controller/DivinerAtomController.php b/src/applications/diviner/controller/DivinerAtomController.php index 68bf067b8a..f51bf993cd 100644 --- a/src/applications/diviner/controller/DivinerAtomController.php +++ b/src/applications/diviner/controller/DivinerAtomController.php @@ -72,7 +72,7 @@ final class DivinerAtomController extends DivinerController { id(new PhabricatorCrumbView()) ->setName($atom_short_title)); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($this->renderFullSignature($symbol)) ->addTag( id(new PhabricatorTagView()) @@ -153,7 +153,7 @@ final class DivinerAtomController extends DivinerController { foreach ($tasks as $spec) { $section->addContent( - id(new PhabricatorHeaderView()) + id(new PHUIHeaderView()) ->setNoBackground(true) ->setHeader($spec['title'])); @@ -203,7 +203,7 @@ final class DivinerAtomController extends DivinerController { foreach ($methods as $spec) { $matom = last($spec['atoms']); - $method_header = id(new PhabricatorHeaderView()) + $method_header = id(new PHUIHeaderView()) ->setNoBackground(true); $inherited = $spec['inherited']; diff --git a/src/applications/diviner/controller/DivinerBookController.php b/src/applications/diviner/controller/DivinerBookController.php index 445be00baf..cb5f03aeed 100644 --- a/src/applications/diviner/controller/DivinerBookController.php +++ b/src/applications/diviner/controller/DivinerBookController.php @@ -32,7 +32,7 @@ final class DivinerBookController extends DivinerController { ->setName($book->getShortTitle()) ->setHref('/book/'.$book->getName().'/')); - $header = id(new PhabricatorHeaderView())->setHeader($book->getTitle()); + $header = id(new PHUIHeaderView())->setHeader($book->getTitle()); $document = new PHUIDocumentView(); $document->setHeader($header); diff --git a/src/applications/diviner/controller/DivinerLegacyController.php b/src/applications/diviner/controller/DivinerLegacyController.php index e5b7f32185..b38926b631 100644 --- a/src/applications/diviner/controller/DivinerLegacyController.php +++ b/src/applications/diviner/controller/DivinerLegacyController.php @@ -47,7 +47,7 @@ final class DivinerLegacyController extends DivinerController { id(new PhabricatorCrumbView()) ->setName(pht('Documentation'))); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader(pht('Documentation')); $document = new PHUIDocumentView(); diff --git a/src/applications/diviner/view/DivinerSectionView.php b/src/applications/diviner/view/DivinerSectionView.php index d88457c420..0f48858db6 100644 --- a/src/applications/diviner/view/DivinerSectionView.php +++ b/src/applications/diviner/view/DivinerSectionView.php @@ -28,7 +28,7 @@ final class DivinerSectionView extends AphrontTagView { public function getTagContent() { require_celerity_resource('diviner-shared-css'); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setBleedHeader(true) ->setHeader($this->header); diff --git a/src/applications/drydock/controller/DrydockLeaseListController.php b/src/applications/drydock/controller/DrydockLeaseListController.php index 43507b3ea4..8ae5e4add5 100644 --- a/src/applications/drydock/controller/DrydockLeaseListController.php +++ b/src/applications/drydock/controller/DrydockLeaseListController.php @@ -18,7 +18,7 @@ final class DrydockLeaseListController extends DrydockController { $title = pht('Leases'); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($title); $lease_list = $this->buildLeaseListView($leases); diff --git a/src/applications/drydock/controller/DrydockLeaseViewController.php b/src/applications/drydock/controller/DrydockLeaseViewController.php index f3c1be76df..36426e34eb 100644 --- a/src/applications/drydock/controller/DrydockLeaseViewController.php +++ b/src/applications/drydock/controller/DrydockLeaseViewController.php @@ -21,7 +21,7 @@ final class DrydockLeaseViewController extends DrydockController { $title = pht('Lease %d', $lease->getID()); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($title); $actions = $this->buildActionListView($lease); diff --git a/src/applications/drydock/controller/DrydockLogController.php b/src/applications/drydock/controller/DrydockLogController.php index f2ed9708cd..1a378df3cc 100644 --- a/src/applications/drydock/controller/DrydockLogController.php +++ b/src/applications/drydock/controller/DrydockLogController.php @@ -29,7 +29,7 @@ final class DrydockLogController extends DrydockController { $title = pht('Logs'); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($title); $table = $this->buildLogTableView($logs); diff --git a/src/applications/drydock/controller/DrydockResourceListController.php b/src/applications/drydock/controller/DrydockResourceListController.php index 505a6d1560..c94d64c085 100644 --- a/src/applications/drydock/controller/DrydockResourceListController.php +++ b/src/applications/drydock/controller/DrydockResourceListController.php @@ -8,7 +8,7 @@ final class DrydockResourceListController extends DrydockController { $title = pht('Resources'); - $resource_header = id(new PhabricatorHeaderView()) + $resource_header = id(new PHUIHeaderView()) ->setHeader($title); $pager = new AphrontPagerView(); diff --git a/src/applications/drydock/controller/DrydockResourceViewController.php b/src/applications/drydock/controller/DrydockResourceViewController.php index 422ee38b5b..30c06317f5 100644 --- a/src/applications/drydock/controller/DrydockResourceViewController.php +++ b/src/applications/drydock/controller/DrydockResourceViewController.php @@ -19,7 +19,7 @@ final class DrydockResourceViewController extends DrydockController { $title = 'Resource '.$resource->getID().' '.$resource->getName(); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($title); $actions = $this->buildActionListView($resource); @@ -33,7 +33,7 @@ final class DrydockResourceViewController extends DrydockController { ->needResources(true) ->execute(); - $lease_header = id(new PhabricatorHeaderView()) + $lease_header = id(new PHUIHeaderView()) ->setHeader(pht('Leases')); $lease_list = $this->buildLeaseListView($leases); diff --git a/src/applications/files/controller/PhabricatorFileInfoController.php b/src/applications/files/controller/PhabricatorFileInfoController.php index a7c7430982..6a0a7f2834 100644 --- a/src/applications/files/controller/PhabricatorFileInfoController.php +++ b/src/applications/files/controller/PhabricatorFileInfoController.php @@ -28,7 +28,7 @@ final class PhabricatorFileInfoController extends PhabricatorFileController { ->execute(); $this->loadHandles(array($file->getAuthorPHID())); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($file->getName()); $ttl = $file->getTTL(); @@ -88,7 +88,7 @@ final class PhabricatorFileInfoController extends PhabricatorFileController { $is_serious = PhabricatorEnv::getEnvConfig('phabricator.serious-business'); - $add_comment_header = id(new PhabricatorHeaderView()) + $add_comment_header = id(new PHUIHeaderView()) ->setHeader( $is_serious ? pht('Add Comment') diff --git a/src/applications/herald/controller/HeraldRuleViewController.php b/src/applications/herald/controller/HeraldRuleViewController.php index 2470042e8b..59523b80d6 100644 --- a/src/applications/herald/controller/HeraldRuleViewController.php +++ b/src/applications/herald/controller/HeraldRuleViewController.php @@ -21,7 +21,7 @@ final class HeraldRuleViewController extends HeraldController { return new Aphront404Response(); } - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($rule->getName()); $actions = $this->buildActionView($rule); diff --git a/src/applications/legalpad/controller/LegalpadDocumentSignController.php b/src/applications/legalpad/controller/LegalpadDocumentSignController.php index 59be4de1d9..fe6c74cfc1 100644 --- a/src/applications/legalpad/controller/LegalpadDocumentSignController.php +++ b/src/applications/legalpad/controller/LegalpadDocumentSignController.php @@ -119,7 +119,7 @@ final class LegalpadDocumentSignController extends LegalpadController { $title = $document_body->getTitle(); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($title); $content = array( diff --git a/src/applications/legalpad/controller/LegalpadDocumentViewController.php b/src/applications/legalpad/controller/LegalpadDocumentViewController.php index 0fa35851d1..4a4a3097b8 100644 --- a/src/applications/legalpad/controller/LegalpadDocumentViewController.php +++ b/src/applications/legalpad/controller/LegalpadDocumentViewController.php @@ -61,7 +61,7 @@ final class LegalpadDocumentViewController extends LegalpadController { $title = $document_body->getTitle(); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($title); $actions = $this->buildActionView($document); @@ -200,7 +200,7 @@ final class LegalpadDocumentViewController extends LegalpadController { ? pht('Add Comment') : pht('Debate Legislation'); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($title); $button_name = $is_serious diff --git a/src/applications/macro/controller/PhabricatorMacroViewController.php b/src/applications/macro/controller/PhabricatorMacroViewController.php index 129b7de352..2103541b7e 100644 --- a/src/applications/macro/controller/PhabricatorMacroViewController.php +++ b/src/applications/macro/controller/PhabricatorMacroViewController.php @@ -59,7 +59,7 @@ final class PhabricatorMacroViewController ->setTransactions($xactions) ->setMarkupEngine($engine); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($title_long); if ($macro->getIsDisabled()) { @@ -72,7 +72,7 @@ final class PhabricatorMacroViewController $is_serious = PhabricatorEnv::getEnvConfig('phabricator.serious-business'); - $add_comment_header = id(new PhabricatorHeaderView()) + $add_comment_header = id(new PHUIHeaderView()) ->setHeader( $is_serious ? pht('Add Comment') diff --git a/src/applications/maniphest/controller/ManiphestTaskDetailController.php b/src/applications/maniphest/controller/ManiphestTaskDetailController.php index 276b0a16c0..3f8f2ab43b 100644 --- a/src/applications/maniphest/controller/ManiphestTaskDetailController.php +++ b/src/applications/maniphest/controller/ManiphestTaskDetailController.php @@ -321,7 +321,7 @@ final class ManiphestTaskDetailController extends ManiphestController { 'tokenizers' => $tokenizer_map, )); - $comment_header = id(new PhabricatorHeaderView()) + $comment_header = id(new PHUIHeaderView()) ->setHeader($is_serious ? pht('Add Comment') : pht('Weigh In')); $preview_panel = hsprintf( @@ -372,7 +372,7 @@ final class ManiphestTaskDetailController extends ManiphestController { } private function buildHeaderView(ManiphestTask $task) { - $view = id(new PhabricatorHeaderView()) + $view = id(new PHUIHeaderView()) ->setHeader($task->getTitle()); $view->addTag(ManiphestView::renderTagForTask($task)); diff --git a/src/applications/meta/controller/PhabricatorApplicationDetailViewController.php b/src/applications/meta/controller/PhabricatorApplicationDetailViewController.php index 1ce99f771a..89d7be54d1 100644 --- a/src/applications/meta/controller/PhabricatorApplicationDetailViewController.php +++ b/src/applications/meta/controller/PhabricatorApplicationDetailViewController.php @@ -27,7 +27,7 @@ final class PhabricatorApplicationDetailViewController ->setName(pht('Applications')) ->setHref($this->getApplicationURI())); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($title); $status_tag = id(new PhabricatorTagView()) diff --git a/src/applications/paste/controller/PhabricatorPasteViewController.php b/src/applications/paste/controller/PhabricatorPasteViewController.php index cb8d9cfdf8..d6f0782add 100644 --- a/src/applications/paste/controller/PhabricatorPasteViewController.php +++ b/src/applications/paste/controller/PhabricatorPasteViewController.php @@ -104,7 +104,7 @@ final class PhabricatorPasteViewController extends PhabricatorPasteController { $is_serious = PhabricatorEnv::getEnvConfig('phabricator.serious-business'); - $add_comment_header = id(new PhabricatorHeaderView()) + $add_comment_header = id(new PHUIHeaderView()) ->setHeader( $is_serious ? pht('Add Comment') @@ -142,8 +142,16 @@ final class PhabricatorPasteViewController extends PhabricatorPasteController { } private function buildHeaderView(PhabricatorPaste $paste) { - return id(new PhabricatorHeaderView()) - ->setHeader($paste->getTitle()); + $descriptions = PhabricatorPolicyQuery::renderPolicyDescriptions( + $this->getRequest()->getUser(), + $paste, + $icon = true); + + $header = id(new PHUIHeaderView()) + ->setHeader($paste->getTitle()) + ->addProperty(PHUIHeaderView::PROPERTY_POLICY, + $descriptions[PhabricatorPolicyCapability::CAN_VIEW]); + return $header; } private function buildActionView( @@ -217,10 +225,6 @@ final class PhabricatorPasteViewController extends PhabricatorPasteController { $user, $paste); - $properties->addProperty( - pht('Visible To'), - $descriptions[PhabricatorPolicyCapability::CAN_VIEW]); - return $properties; } diff --git a/src/applications/people/controller/PhabricatorPeopleProfileController.php b/src/applications/people/controller/PhabricatorPeopleProfileController.php index 3a946996cd..074343f582 100644 --- a/src/applications/people/controller/PhabricatorPeopleProfileController.php +++ b/src/applications/people/controller/PhabricatorPeopleProfileController.php @@ -32,7 +32,7 @@ final class PhabricatorPeopleProfileController $picture = $user->loadProfileImageURI(); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($user->getUserName().' ('.$user->getRealName().')') ->setSubheader($profile->getTitle()) ->setImage($picture); diff --git a/src/applications/phame/controller/blog/PhameBlogViewController.php b/src/applications/phame/controller/blog/PhameBlogViewController.php index 6b2c4f0360..cde61e72d6 100644 --- a/src/applications/phame/controller/blog/PhameBlogViewController.php +++ b/src/applications/phame/controller/blog/PhameBlogViewController.php @@ -33,7 +33,7 @@ final class PhameBlogViewController extends PhameController { $nav = $this->renderSideNavFilterView(null); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($blog->getName()); $handle_phids = array_merge( diff --git a/src/applications/phame/controller/post/PhamePostViewController.php b/src/applications/phame/controller/post/PhamePostViewController.php index bf61f75d08..d303905445 100644 --- a/src/applications/phame/controller/post/PhamePostViewController.php +++ b/src/applications/phame/controller/post/PhamePostViewController.php @@ -43,7 +43,7 @@ final class PhamePostViewController extends PhameController { $nav->appendChild($crumbs); $nav->appendChild( - id(new PhabricatorHeaderView()) + id(new PHUIHeaderView()) ->setHeader($post->getTitle())); if ($post->isDraft()) { diff --git a/src/applications/phlux/controller/PhluxViewController.php b/src/applications/phlux/controller/PhluxViewController.php index 3d130f2b7e..8acc5a2f44 100644 --- a/src/applications/phlux/controller/PhluxViewController.php +++ b/src/applications/phlux/controller/PhluxViewController.php @@ -30,7 +30,7 @@ final class PhluxViewController extends PhluxController { ->setName($title) ->setHref($request->getRequestURI())); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($title); $actions = id(new PhabricatorActionListView()) diff --git a/src/applications/pholio/controller/PholioImageHistoryController.php b/src/applications/pholio/controller/PholioImageHistoryController.php index 7b6d17480f..1581385c6a 100644 --- a/src/applications/pholio/controller/PholioImageHistoryController.php +++ b/src/applications/pholio/controller/PholioImageHistoryController.php @@ -52,7 +52,7 @@ final class PholioImageHistoryController extends PholioController { $latest_image->getName(), $mock->getName()); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($title); require_celerity_resource('pholio-css'); diff --git a/src/applications/pholio/controller/PholioMockViewController.php b/src/applications/pholio/controller/PholioMockViewController.php index 409736854b..298aa84a45 100644 --- a/src/applications/pholio/controller/PholioMockViewController.php +++ b/src/applications/pholio/controller/PholioMockViewController.php @@ -67,8 +67,15 @@ final class PholioMockViewController extends PholioController { $title = $mock->getName(); - $header = id(new PhabricatorHeaderView()) - ->setHeader($title); + $descriptions = PhabricatorPolicyQuery::renderPolicyDescriptions( + $user, + $mock, + $icon = true); + + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->addProperty(PHUIHeaderView::PROPERTY_POLICY, + $descriptions[PhabricatorPolicyCapability::CAN_VIEW]); $actions = $this->buildActionView($mock); $properties = $this->buildPropertyView($mock, $engine); @@ -208,14 +215,6 @@ final class PholioMockViewController extends PholioController { pht('Created'), phabricator_datetime($mock->getDateCreated(), $user)); - $descriptions = PhabricatorPolicyQuery::renderPolicyDescriptions( - $user, - $mock); - - $properties->addProperty( - pht('Visible To'), - $descriptions[PhabricatorPolicyCapability::CAN_VIEW]); - if ($this->getManiphestTaskPHIDs()) { $properties->addProperty( pht('Maniphest Tasks'), @@ -241,7 +240,7 @@ final class PholioMockViewController extends PholioController { ? pht('Add Comment') : pht('History Beckons'); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($title); $button_name = $is_serious diff --git a/src/applications/phortune/controller/PhortuneAccountViewController.php b/src/applications/phortune/controller/PhortuneAccountViewController.php index 93f4c4071e..e010a223d5 100644 --- a/src/applications/phortune/controller/PhortuneAccountViewController.php +++ b/src/applications/phortune/controller/PhortuneAccountViewController.php @@ -29,7 +29,7 @@ final class PhortuneAccountViewController extends PhortuneController { ->setName(pht('Account')) ->setHref($request->getRequestURI())); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($title); $actions = id(new PhabricatorActionListView()) @@ -80,7 +80,7 @@ final class PhortuneAccountViewController extends PhortuneController { $request = $this->getRequest(); $user = $request->getUser(); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader(pht('Payment Methods')); $id = $account->getID(); @@ -141,7 +141,7 @@ final class PhortuneAccountViewController extends PhortuneController { $request = $this->getRequest(); $user = $request->getUser(); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader(pht('Purchase History')); return array( @@ -154,7 +154,7 @@ final class PhortuneAccountViewController extends PhortuneController { $request = $this->getRequest(); $user = $request->getUser(); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader(pht('Account History')); $xactions = id(new PhortuneAccountTransactionQuery()) diff --git a/src/applications/phortune/controller/PhortunePaymentMethodEditController.php b/src/applications/phortune/controller/PhortunePaymentMethodEditController.php index dc805378d2..28059f72f0 100644 --- a/src/applications/phortune/controller/PhortunePaymentMethodEditController.php +++ b/src/applications/phortune/controller/PhortunePaymentMethodEditController.php @@ -155,7 +155,7 @@ final class PhortunePaymentMethodEditController $request = $this->getRequest(); $title = pht('Add Payment Method'); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($title); $crumbs = $this->buildApplicationCrumbs(); diff --git a/src/applications/phortune/controller/PhortuneProductEditController.php b/src/applications/phortune/controller/PhortuneProductEditController.php index 1717096d2c..0e93ce29e2 100644 --- a/src/applications/phortune/controller/PhortuneProductEditController.php +++ b/src/applications/phortune/controller/PhortuneProductEditController.php @@ -144,7 +144,7 @@ final class PhortuneProductEditController extends PhabricatorController { ->setName($is_create ? pht('Create') : pht('Edit')) ->setHref($request->getRequestURI())); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader(pht('Edit Product')); return $this->buildApplicationPage( diff --git a/src/applications/phortune/controller/PhortuneProductListController.php b/src/applications/phortune/controller/PhortuneProductListController.php index 31d9de4601..fab506ff34 100644 --- a/src/applications/phortune/controller/PhortuneProductListController.php +++ b/src/applications/phortune/controller/PhortuneProductListController.php @@ -27,7 +27,7 @@ final class PhortuneProductListController extends PhabricatorController { ->setHref($this->getApplicationURI('product/edit/')) ->setIcon('create')); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader(pht('Product List')); $product_list = id(new PHUIObjectItemListView()) diff --git a/src/applications/phortune/controller/PhortuneProductViewController.php b/src/applications/phortune/controller/PhortuneProductViewController.php index 42d321591d..ec1b8a859e 100644 --- a/src/applications/phortune/controller/PhortuneProductViewController.php +++ b/src/applications/phortune/controller/PhortuneProductViewController.php @@ -23,7 +23,7 @@ final class PhortuneProductViewController extends PhortuneController { $title = pht('Product: %s', $product->getProductName()); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($product->getProductName()); $account = $this->loadActiveAccount($user); diff --git a/src/applications/phriction/controller/PhrictionDiffController.php b/src/applications/phriction/controller/PhrictionDiffController.php index 6fed1c0950..e6888bca7e 100644 --- a/src/applications/phriction/controller/PhrictionDiffController.php +++ b/src/applications/phriction/controller/PhrictionDiffController.php @@ -115,7 +115,7 @@ final class PhrictionDiffController $title = "Version $l vs $r"; - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($title); $crumbs->addCrumb( diff --git a/src/applications/phriction/controller/PhrictionDocumentController.php b/src/applications/phriction/controller/PhrictionDocumentController.php index 591b7aa7c7..442b7ad0d7 100644 --- a/src/applications/phriction/controller/PhrictionDocumentController.php +++ b/src/applications/phriction/controller/PhrictionDocumentController.php @@ -159,7 +159,7 @@ final class PhrictionDocumentController $crumbs->addCrumb($view); } - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($page_title); $page_content = id(new PHUIDocumentView()) diff --git a/src/applications/phriction/controller/PhrictionHistoryController.php b/src/applications/phriction/controller/PhrictionHistoryController.php index 859e73ee93..d260fbfb5d 100644 --- a/src/applications/phriction/controller/PhrictionHistoryController.php +++ b/src/applications/phriction/controller/PhrictionHistoryController.php @@ -144,7 +144,7 @@ final class PhrictionHistoryController ->setHref( PhrictionDocument::getSlugURI($document->getSlug(), 'history'))); - $header = new PhabricatorHeaderView(); + $header = new PHUIHeaderView(); $header->setHeader(pht('Document History for %s', phutil_tag( 'a', diff --git a/src/applications/policy/filter/PhabricatorPolicy.php b/src/applications/policy/filter/PhabricatorPolicy.php index 2c63c7ee5c..f35b3a7e14 100644 --- a/src/applications/policy/filter/PhabricatorPolicy.php +++ b/src/applications/policy/filter/PhabricatorPolicy.php @@ -6,6 +6,7 @@ final class PhabricatorPolicy { private $name; private $type; private $href; + private $icon; public static function newFromPolicyAndHandle( $policy_identifier, @@ -86,6 +87,29 @@ final class PhabricatorPolicy { return $this->href; } + public function getIcon() { + switch ($this->getType()) { + case PhabricatorPolicyType::TYPE_GLOBAL: + static $map = array( + PhabricatorPolicies::POLICY_PUBLIC => 'policy-public', + PhabricatorPolicies::POLICY_USER => 'policy-all', + PhabricatorPolicies::POLICY_ADMIN => 'policy-admin', + PhabricatorPolicies::POLICY_NOONE => 'policy-noone', + ); + return idx($map, $this->getPHID(), 'policy-unknown'); + break; + case PhabricatorPolicyType::TYPE_PROJECT: + return 'policy-project'; + break; + case PhabricatorPolicyType::TYPE_MASKED: + return 'policy-custom'; + break; + default: + return 'policy-unknown'; + break; + } + } + public function getSortKey() { return sprintf( '%02d%s', @@ -117,16 +141,27 @@ final class PhabricatorPolicy { } } - public function renderDescription() { + public function renderDescription($icon=false) { + $img = null; + if ($icon) { + $img = id(new PHUIIconView()) + ->setSpriteSheet(PHUIIconView::SPRITE_STATUS) + ->setSpriteIcon($this->getIcon()); + } + if ($this->getHref()) { $desc = phutil_tag( 'a', array( 'href' => $this->getHref(), + 'class' => 'policy-link', ), - $this->getName()); + array( + $img, + $this->getName(), + )); } else { - $desc = $this->getName(); + $desc = array($img, $this->getName()); } switch ($this->getType()) { @@ -140,6 +175,4 @@ final class PhabricatorPolicy { return $desc; } } - - } diff --git a/src/applications/policy/query/PhabricatorPolicyQuery.php b/src/applications/policy/query/PhabricatorPolicyQuery.php index 5143b4621c..93e139fe5b 100644 --- a/src/applications/policy/query/PhabricatorPolicyQuery.php +++ b/src/applications/policy/query/PhabricatorPolicyQuery.php @@ -17,7 +17,8 @@ final class PhabricatorPolicyQuery extends PhabricatorQuery { public static function renderPolicyDescriptions( PhabricatorUser $viewer, - PhabricatorPolicyInterface $object) { + PhabricatorPolicyInterface $object, + $icon=false) { $results = array(); $policies = null; @@ -31,7 +32,7 @@ final class PhabricatorPolicyQuery extends PhabricatorQuery { } if (isset($global[$policy])) { - $results[$capability] = $global[$policy]->renderDescription(); + $results[$capability] = $global[$policy]->renderDescription($icon); continue; } @@ -44,7 +45,7 @@ final class PhabricatorPolicyQuery extends PhabricatorQuery { ->execute(); } - $results[$capability] = $policies[$policy]->renderDescription(); + $results[$capability] = $policies[$policy]->renderDescription($icon); } return $results; diff --git a/src/applications/ponder/controller/PonderQuestionViewController.php b/src/applications/ponder/controller/PonderQuestionViewController.php index b2dfb00493..fb5179695a 100644 --- a/src/applications/ponder/controller/PonderQuestionViewController.php +++ b/src/applications/ponder/controller/PonderQuestionViewController.php @@ -44,7 +44,7 @@ final class PonderQuestionViewController extends PonderController { ->setActionURI("/ponder/answer/add/"); } - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($question->getTitle()); $actions = $this->buildActionListView($question); @@ -251,7 +251,7 @@ final class PonderQuestionViewController extends PonderController { $out[] = phutil_tag('br'); $out[] = phutil_tag('br'); - $out[] = id(new PhabricatorHeaderView()) + $out[] = id(new PHUIHeaderView()) ->setHeader($this->getHandle($author_phid)->getFullName()) ->setImage($this->getHandle($author_phid)->getImageURI()); diff --git a/src/applications/ponder/view/PonderAddAnswerView.php b/src/applications/ponder/view/PonderAddAnswerView.php index 5980f414b6..454d9ed137 100644 --- a/src/applications/ponder/view/PonderAddAnswerView.php +++ b/src/applications/ponder/view/PonderAddAnswerView.php @@ -21,7 +21,7 @@ final class PonderAddAnswerView extends AphrontView { $question = $this->question; - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader(pht('Add Answer')); $form = new AphrontFormView(); diff --git a/src/applications/project/controller/PhabricatorProjectProfileController.php b/src/applications/project/controller/PhabricatorProjectProfileController.php index 517c51694f..48ae73d481 100644 --- a/src/applications/project/controller/PhabricatorProjectProfileController.php +++ b/src/applications/project/controller/PhabricatorProjectProfileController.php @@ -59,7 +59,7 @@ final class PhabricatorProjectProfileController $tasks, $content); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($project->getName()) ->setSubheader(phutil_utf8_shorten($profile->getBlurb(), 1024)) ->setImage($picture); diff --git a/src/applications/releeph/controller/branch/ReleephBranchViewController.php b/src/applications/releeph/controller/branch/ReleephBranchViewController.php index 6297138b9e..6315c090c9 100644 --- a/src/applications/releeph/controller/branch/ReleephBranchViewController.php +++ b/src/applications/releeph/controller/branch/ReleephBranchViewController.php @@ -98,7 +98,7 @@ final class ReleephBranchViewController extends ReleephProjectController $id = $branch->getID(); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($branch->getDisplayName()); if (!$branch->getIsActive()) { diff --git a/src/applications/releeph/controller/project/ReleephProjectViewController.php b/src/applications/releeph/controller/project/ReleephProjectViewController.php index 5c1e5bf5a9..1e96de29d7 100644 --- a/src/applications/releeph/controller/project/ReleephProjectViewController.php +++ b/src/applications/releeph/controller/project/ReleephProjectViewController.php @@ -155,7 +155,7 @@ final class ReleephProjectViewController extends ReleephProjectController $id = $project->getID(); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($project->getName()); if (!$project->getIsActive()) { diff --git a/src/applications/releeph/controller/request/ReleephRequestViewController.php b/src/applications/releeph/controller/request/ReleephRequestViewController.php index e81a021ed4..4f4bccb12b 100644 --- a/src/applications/releeph/controller/request/ReleephRequestViewController.php +++ b/src/applications/releeph/controller/request/ReleephRequestViewController.php @@ -54,7 +54,7 @@ final class ReleephRequestViewController extends ReleephProjectController { ->setTransactions($xactions) ->setMarkupEngine($engine); - $add_comment_header = id(new PhabricatorHeaderView()) + $add_comment_header = id(new PHUIHeaderView()) ->setHeader('Plea or yield'); $draft = PhabricatorDraft::newFromUserAndKey( diff --git a/src/applications/settings/panel/PhabricatorSettingsPanelExternalAccounts.php b/src/applications/settings/panel/PhabricatorSettingsPanelExternalAccounts.php index 4f7513c335..3411ef5ec5 100644 --- a/src/applications/settings/panel/PhabricatorSettingsPanelExternalAccounts.php +++ b/src/applications/settings/panel/PhabricatorSettingsPanelExternalAccounts.php @@ -30,7 +30,7 @@ final class PhabricatorSettingsPanelExternalAccounts ->needImages(true) ->execute(); - $linked_head = id(new PhabricatorHeaderView()) + $linked_head = id(new PHUIHeaderView()) ->setHeader(pht('Linked Accounts and Authentication')); $linked = id(new PHUIObjectItemListView()) @@ -92,7 +92,7 @@ final class PhabricatorSettingsPanelExternalAccounts $linked->addItem($item); } - $linkable_head = id(new PhabricatorHeaderView()) + $linkable_head = id(new PHUIHeaderView()) ->setHeader(pht('Add External Account')); $linkable = id(new PHUIObjectItemListView()) diff --git a/src/applications/settings/panel/PhabricatorSettingsPanelSSHKeys.php b/src/applications/settings/panel/PhabricatorSettingsPanelSSHKeys.php index e47a2e2c3d..d9fd4742d0 100644 --- a/src/applications/settings/panel/PhabricatorSettingsPanelSSHKeys.php +++ b/src/applications/settings/panel/PhabricatorSettingsPanelSSHKeys.php @@ -152,7 +152,7 @@ final class PhabricatorSettingsPanelSSHKeys ->addCancelButton($this->getPanelURI()) ->setValue($save)); - $header_title = new PhabricatorHeaderView(); + $header_title = new PHUIHeaderView(); $header_title->setHeader($header); return id(new AphrontNullView()) diff --git a/src/applications/slowvote/controller/PhabricatorSlowvotePollController.php b/src/applications/slowvote/controller/PhabricatorSlowvotePollController.php index 27817151c7..e037c8fb71 100644 --- a/src/applications/slowvote/controller/PhabricatorSlowvotePollController.php +++ b/src/applications/slowvote/controller/PhabricatorSlowvotePollController.php @@ -41,10 +41,10 @@ final class PhabricatorSlowvotePollController )); } - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($poll->getQuestion()); - $xaction_header = id(new PhabricatorHeaderView()) + $xaction_header = id(new PHUIHeaderView()) ->setHeader(pht('Ongoing Deliberations')); $actions = $this->buildActionView($poll); @@ -166,7 +166,7 @@ final class PhabricatorSlowvotePollController $is_serious = PhabricatorEnv::getEnvConfig('phabricator.serious-business'); - $add_comment_header = id(new PhabricatorHeaderView()) + $add_comment_header = id(new PHUIHeaderView()) ->setHeader( $is_serious ? pht('Add Comment') diff --git a/src/applications/uiexample/examples/PHUIBoxExample.php b/src/applications/uiexample/examples/PHUIBoxExample.php index 13783ef957..c972e9e316 100644 --- a/src/applications/uiexample/examples/PHUIBoxExample.php +++ b/src/applications/uiexample/examples/PHUIBoxExample.php @@ -58,13 +58,13 @@ final class PHUIBoxExample extends PhabricatorUIExample { ->addPadding(PHUI::PADDING_LARGE) ->addMargin(PHUI::MARGIN_LARGE_BOTTOM)); - $head1 = id(new PhabricatorHeaderView()) + $head1 = id(new PHUIHeaderView()) ->setHeader(pht('Plain Box')); - $head2 = id(new PhabricatorHeaderView()) + $head2 = id(new PHUIHeaderView()) ->setHeader(pht('Plain Box with space')); - $head3 = id(new PhabricatorHeaderView()) + $head3 = id(new PHUIHeaderView()) ->setHeader(pht('Shadow Box with space')); $wrap1 = id(new PHUIBoxView()) diff --git a/src/applications/uiexample/examples/PHUIButtonExample.php b/src/applications/uiexample/examples/PHUIButtonExample.php index ff9e7e2266..10872bcb20 100644 --- a/src/applications/uiexample/examples/PHUIButtonExample.php +++ b/src/applications/uiexample/examples/PHUIButtonExample.php @@ -151,16 +151,16 @@ final class PHUIButtonExample extends PhabricatorUIExample { // Set it and forget it - $head1 = id(new PhabricatorHeaderView()) + $head1 = id(new PHUIHeaderView()) ->setHeader('phutil_tag'); - $head2 = id(new PhabricatorHeaderView()) + $head2 = id(new PHUIHeaderView()) ->setHeader('PHUIButtonView'); - $head3 = id(new PhabricatorHeaderView()) + $head3 = id(new PHUIHeaderView()) ->setHeader('Icon Buttons'); - $head4 = id(new PhabricatorHeaderView()) + $head4 = id(new PHUIHeaderView()) ->setHeader('Big Icon Buttons'); $wrap1 = id(new PHUIBoxView()) diff --git a/src/applications/uiexample/examples/PHUIColorPalletteExample.php b/src/applications/uiexample/examples/PHUIColorPalletteExample.php index 5e012354c3..a6ed3ed6c9 100644 --- a/src/applications/uiexample/examples/PHUIColorPalletteExample.php +++ b/src/applications/uiexample/examples/PHUIColorPalletteExample.php @@ -110,13 +110,13 @@ final class PHUIColorPalletteExample extends PhabricatorUIExample { ->setShadow(true) ->addPadding(PHUI::PADDING_LARGE); - $head1 = id(new PhabricatorHeaderView()) + $head1 = id(new PHUIHeaderView()) ->setHeader(pht('Greys')); - $head1b = id(new PhabricatorHeaderView()) + $head1b = id(new PHUIHeaderView()) ->setHeader(pht('Blues')); - $head2 = id(new PhabricatorHeaderView()) + $head2 = id(new PHUIHeaderView()) ->setHeader(pht('Colors')); $wrap1 = id(new PHUIBoxView()) diff --git a/src/applications/uiexample/examples/PHUIDocumentExample.php b/src/applications/uiexample/examples/PHUIDocumentExample.php index f44e5b94b1..70bffc8b58 100644 --- a/src/applications/uiexample/examples/PHUIDocumentExample.php +++ b/src/applications/uiexample/examples/PHUIDocumentExample.php @@ -51,7 +51,7 @@ final class PHUIDocumentExample extends PhabricatorUIExample { $divider = id(new PHUIListItemView) ->setType(PHUIListItemView::TYPE_DIVIDER); - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader('Installation'); $label1 = id(new PHUIListItemView()) diff --git a/src/applications/uiexample/examples/PHUIFeedStoryExample.php b/src/applications/uiexample/examples/PHUIFeedStoryExample.php index c4f4213a81..2a220c3f24 100644 --- a/src/applications/uiexample/examples/PHUIFeedStoryExample.php +++ b/src/applications/uiexample/examples/PHUIFeedStoryExample.php @@ -132,22 +132,22 @@ final class PHUIFeedStoryExample extends PhabricatorUIExample { ->setUser($user); - $head1 = id(new PhabricatorHeaderView()) + $head1 = id(new PHUIHeaderView()) ->setHeader(pht('Basic Story')); - $head2 = id(new PhabricatorHeaderView()) + $head2 = id(new PHUIHeaderView()) ->setHeader(pht('Title / Text Story')); - $head3 = id(new PhabricatorHeaderView()) + $head3 = id(new PHUIHeaderView()) ->setHeader(pht('Token Story')); - $head4 = id(new PhabricatorHeaderView()) + $head4 = id(new PHUIHeaderView()) ->setHeader(pht('Action Story')); - $head5 = id(new PhabricatorHeaderView()) + $head5 = id(new PHUIHeaderView()) ->setHeader(pht('Status Story')); - $head6 = id(new PhabricatorHeaderView()) + $head6 = id(new PHUIHeaderView()) ->setHeader(pht('One Line Story')); $wrap1 = diff --git a/src/applications/uiexample/examples/PHUIIconExample.php b/src/applications/uiexample/examples/PHUIIconExample.php index c0160a5594..f0cea628a8 100644 --- a/src/applications/uiexample/examples/PHUIIconExample.php +++ b/src/applications/uiexample/examples/PHUIIconExample.php @@ -162,19 +162,19 @@ final class PHUIIconExample extends PhabricatorUIExample { ->addPadding(PHUI::PADDING_MEDIUM) ->setShadow(true)); - $head1 = id(new PhabricatorHeaderView()) + $head1 = id(new PHUIHeaderView()) ->setHeader(pht('Action Icons!')); - $head2 = id(new PhabricatorHeaderView()) + $head2 = id(new PHUIHeaderView()) ->setHeader(pht('People!')); - $head3 = id(new PhabricatorHeaderView()) + $head3 = id(new PHUIHeaderView()) ->setHeader(pht('Tokens')); - $head4 = id(new PhabricatorHeaderView()) + $head4 = id(new PHUIHeaderView()) ->setHeader(pht('Payments')); - $head5 = id(new PhabricatorHeaderView()) + $head5 = id(new PHUIHeaderView()) ->setHeader(pht('Authentication')); $wrap1 = id(new PHUIBoxView()) diff --git a/src/applications/uiexample/examples/PHUIListExample.php b/src/applications/uiexample/examples/PHUIListExample.php index 811069af8e..004598a66d 100644 --- a/src/applications/uiexample/examples/PHUIListExample.php +++ b/src/applications/uiexample/examples/PHUIListExample.php @@ -187,16 +187,16 @@ final class PHUIListExample extends PhabricatorUIExample { ->addMargin(PHUI::MARGIN_MEDIUM) ->setShadow(true)); - $head1 = id(new PhabricatorHeaderView()) + $head1 = id(new PHUIHeaderView()) ->setHeader(pht('Unstyled')); - $head2 = id(new PhabricatorHeaderView()) + $head2 = id(new PHUIHeaderView()) ->setHeader(pht('Side Navigation')); - $head3 = id(new PhabricatorHeaderView()) + $head3 = id(new PHUIHeaderView()) ->setHeader(pht('Top Navigation')); - $head4 = id(new PhabricatorHeaderView()) + $head4 = id(new PHUIHeaderView()) ->setHeader(pht('Action Menu')); $wrap1 = id(new PHUIBoxView()) diff --git a/src/applications/uiexample/examples/PHUIObjectItemListExample.php b/src/applications/uiexample/examples/PHUIObjectItemListExample.php index 815fddb217..04003b6773 100644 --- a/src/applications/uiexample/examples/PHUIObjectItemListExample.php +++ b/src/applications/uiexample/examples/PHUIObjectItemListExample.php @@ -22,7 +22,7 @@ final class PHUIObjectItemListExample extends PhabricatorUIExample { $out = array(); - $head = id(new PhabricatorHeaderView()) + $head = id(new PHUIHeaderView()) ->setHeader(pht('Basic List')); $list = new PHUIObjectItemListView(); @@ -48,7 +48,7 @@ final class PHUIObjectItemListExample extends PhabricatorUIExample { $out[] = array($head, $list); - $head = id(new PhabricatorHeaderView()) + $head = id(new PHUIHeaderView()) ->setHeader(pht('Empty List')); $list = new PHUIObjectItemListView(); @@ -57,7 +57,7 @@ final class PHUIObjectItemListExample extends PhabricatorUIExample { $out[] = array($head, $list); - $head = id(new PhabricatorHeaderView()) + $head = id(new PHUIHeaderView()) ->setHeader(pht('Stacked List')); $list = new PHUIObjectItemListView(); $list->setStackable(true); @@ -81,7 +81,7 @@ final class PHUIObjectItemListExample extends PhabricatorUIExample { $out[] = array($head, $list); - $head = id(new PhabricatorHeaderView()) + $head = id(new PHUIHeaderView()) ->setHeader(pht('Plain List')); $list = new PHUIObjectItemListView(); $list->setPlain(true); @@ -110,7 +110,7 @@ final class PHUIObjectItemListExample extends PhabricatorUIExample { $out[] = array($head, $list); - $head = id(new PhabricatorHeaderView()) + $head = id(new PHUIHeaderView()) ->setHeader(pht('Card List')); $list = new PHUIObjectItemListView(); $list->setCards(true); @@ -157,7 +157,7 @@ final class PHUIObjectItemListExample extends PhabricatorUIExample { $out[] = array($head, $list); - $head = id(new PhabricatorHeaderView()) + $head = id(new PHUIHeaderView()) ->setHeader(pht('Grippable List')); $list = new PHUIObjectItemListView(); $list->setCards(true); @@ -189,7 +189,7 @@ final class PHUIObjectItemListExample extends PhabricatorUIExample { $out[] = array($head, $list); - $head = id(new PhabricatorHeaderView()) + $head = id(new PHUIHeaderView()) ->setHeader(pht('List With Actions')); $list = new PHUIObjectItemListView(); @@ -223,7 +223,7 @@ final class PHUIObjectItemListExample extends PhabricatorUIExample { $out[] = array($head, $list); - $head = id(new PhabricatorHeaderView()) + $head = id(new PHUIHeaderView()) ->setHeader(pht('Extras')); $list = new PHUIObjectItemListView(); @@ -268,7 +268,7 @@ final class PHUIObjectItemListExample extends PhabricatorUIExample { $out[] = array($head, $list); - $head = id(new PhabricatorHeaderView()) + $head = id(new PHUIHeaderView()) ->setHeader(pht('Effects')); $list = new PHUIObjectItemListView(); @@ -303,7 +303,7 @@ final class PHUIObjectItemListExample extends PhabricatorUIExample { $out[] = array($head, $list); - $head = id(new PhabricatorHeaderView()) + $head = id(new PHUIHeaderView()) ->setHeader(pht('Colors')); $list = new PHUIObjectItemListView(); diff --git a/src/applications/uiexample/examples/PHUITextExample.php b/src/applications/uiexample/examples/PHUITextExample.php index c6eb880898..47af6a6a47 100644 --- a/src/applications/uiexample/examples/PHUITextExample.php +++ b/src/applications/uiexample/examples/PHUITextExample.php @@ -73,7 +73,7 @@ final class PHUITextExample extends PhabricatorUIExample { ->setShadow(true) ->addPadding(PHUI::PADDING_MEDIUM); - $head1 = id(new PhabricatorHeaderView()) + $head1 = id(new PHUIHeaderView()) ->setHeader(pht('Basic Colors')); $wrap1 = id(new PHUIBoxView()) @@ -85,7 +85,7 @@ final class PHUITextExample extends PhabricatorUIExample { ->setShadow(true) ->addPadding(PHUI::PADDING_MEDIUM); - $head2 = id(new PhabricatorHeaderView()) + $head2 = id(new PHUIHeaderView()) ->setHeader(pht('Basic Transforms')); $wrap2 = id(new PHUIBoxView()) diff --git a/src/applications/uiexample/examples/PHUIWorkboardExample.php b/src/applications/uiexample/examples/PHUIWorkboardExample.php index c412fc67f3..342f51b679 100644 --- a/src/applications/uiexample/examples/PHUIWorkboardExample.php +++ b/src/applications/uiexample/examples/PHUIWorkboardExample.php @@ -161,13 +161,13 @@ final class PHUIWorkboardExample extends PhabricatorUIExample { ->addAction($person2) ->addAction($person3); - $head1 = id(new PhabricatorHeaderView()) + $head1 = id(new PHUIHeaderView()) ->setHeader(pht('Fixed Panel')); - $head2 = id(new PhabricatorHeaderView()) + $head2 = id(new PHUIHeaderView()) ->setHeader(pht('Fluid Panel')); - $head3 = id(new PhabricatorHeaderView()) + $head3 = id(new PHUIHeaderView()) ->setHeader(pht('Action Panel')); $wrap1 = id(new PHUIBoxView()) diff --git a/src/applications/uiexample/examples/PhabricatorActionHeaderExample.php b/src/applications/uiexample/examples/PhabricatorActionHeaderExample.php index c6558fe1f8..560cf9d988 100644 --- a/src/applications/uiexample/examples/PhabricatorActionHeaderExample.php +++ b/src/applications/uiexample/examples/PhabricatorActionHeaderExample.php @@ -13,7 +13,7 @@ final class PhabricatorActionHeaderExample extends PhabricatorUIExample { public function renderExample() { /* Colors */ - $title1 = id(new PhabricatorHeaderView()) + $title1 = id(new PHUIHeaderView()) ->setHeader(pht('Header Plain')); $header1 = id(new PhabricatorActionHeaderView()) @@ -54,7 +54,7 @@ final class PhabricatorActionHeaderExample extends PhabricatorUIExample { ->addMargin(PHUI::MARGIN_LARGE); /* Policy Icons */ - $title2 = id(new PhabricatorHeaderView()) + $title2 = id(new PHUIHeaderView()) ->setHeader(pht('With Policy Icons')); $header1 = id(new PhabricatorActionHeaderView()) @@ -102,7 +102,7 @@ final class PhabricatorActionHeaderExample extends PhabricatorUIExample { /* Action Icons */ - $title3 = id(new PhabricatorHeaderView()) + $title3 = id(new PHUIHeaderView()) ->setHeader(pht('With Action Icons')); $action1 = new PHUIIconView(); @@ -186,7 +186,7 @@ final class PhabricatorActionHeaderExample extends PhabricatorUIExample { ->addMargin(PHUI::MARGIN_LARGE); /* Action Icons */ - $title4 = id(new PhabricatorHeaderView()) + $title4 = id(new PHUIHeaderView()) ->setHeader(pht('With Tags')); $tag1 = id(new PhabricatorTagView()) diff --git a/src/applications/uiexample/examples/PhabricatorMultiColumnExample.php b/src/applications/uiexample/examples/PhabricatorMultiColumnExample.php index 6b3dc1a54b..bf43872f90 100644 --- a/src/applications/uiexample/examples/PhabricatorMultiColumnExample.php +++ b/src/applications/uiexample/examples/PhabricatorMultiColumnExample.php @@ -31,14 +31,14 @@ final class PhabricatorMultiColumnExample extends PhabricatorUIExample { ), 'Army of Darkness'); - $head1 = id(new PhabricatorHeaderView()) + $head1 = id(new PHUIHeaderView()) ->setHeader(pht('2 Column Fixed')); $layout1 = id(new AphrontMultiColumnView()) ->addColumn($column1) ->addColumn($column2) ->setGutter(AphrontMultiColumnView::GUTTER_MEDIUM); - $head2 = id(new PhabricatorHeaderView()) + $head2 = id(new PHUIHeaderView()) ->setHeader(pht('2 Column Fluid')); $layout2 = id(new AphrontMultiColumnView()) ->addColumn($column1) @@ -46,7 +46,7 @@ final class PhabricatorMultiColumnExample extends PhabricatorUIExample { ->setFluidLayout(true) ->setGutter(AphrontMultiColumnView::GUTTER_MEDIUM); - $head3 = id(new PhabricatorHeaderView()) + $head3 = id(new PHUIHeaderView()) ->setHeader(pht('4 Column Fixed')); $layout3 = id(new AphrontMultiColumnView()) ->addColumn($column1) @@ -55,7 +55,7 @@ final class PhabricatorMultiColumnExample extends PhabricatorUIExample { ->addColumn($column2) ->setGutter(AphrontMultiColumnView::GUTTER_SMALL); - $head4 = id(new PhabricatorHeaderView()) + $head4 = id(new PHUIHeaderView()) ->setHeader(pht('4 Column Fluid')); $layout4 = id(new AphrontMultiColumnView()) ->addColumn($column1) @@ -86,7 +86,7 @@ final class PhabricatorMultiColumnExample extends PhabricatorUIExample { $saturday = hsprintf('Saturday

StarCraft II'. '
All
Damn
Day'); - $head5 = id(new PhabricatorHeaderView()) + $head5 = id(new PHUIHeaderView()) ->setHeader(pht('7 Column Fluid')); $layout5 = id(new AphrontMultiColumnView()) ->addColumn($sunday) @@ -153,7 +153,7 @@ final class PhabricatorMultiColumnExample extends PhabricatorUIExample { $billing_title = pht('Billing Address'); $cc_title = pht('Payment Information'); - $head6 = id(new PhabricatorHeaderView()) + $head6 = id(new PHUIHeaderView()) ->setHeader(pht('Let\'s Go Shopping')); $layout6 = id(new AphrontMultiColumnView()) ->addColumn(hsprintf('

%s

%s', $shipping_title, $shipping)) diff --git a/src/applications/uiexample/examples/PhabricatorPropertyListExample.php b/src/applications/uiexample/examples/PhabricatorPropertyListExample.php index 58b751830d..6d1efc717c 100644 --- a/src/applications/uiexample/examples/PhabricatorPropertyListExample.php +++ b/src/applications/uiexample/examples/PhabricatorPropertyListExample.php @@ -54,7 +54,7 @@ final class PhabricatorPropertyListExample extends PhabricatorUIExample { 'haiku. it is very bad.
'. 'what did you expect?')); - $edge_cases_header = id(new PhabricatorHeaderView()) + $edge_cases_header = id(new PHUIHeaderView()) ->setHeader(pht('Edge Cases')); $edge_cases_view = new PhabricatorPropertyListView(); diff --git a/src/applications/uiexample/examples/PhabricatorTagExample.php b/src/applications/uiexample/examples/PhabricatorTagExample.php index 07a305db65..a63762a7e6 100644 --- a/src/applications/uiexample/examples/PhabricatorTagExample.php +++ b/src/applications/uiexample/examples/PhabricatorTagExample.php @@ -84,7 +84,7 @@ final class PhabricatorTagExample extends PhabricatorUIExample { ->addPadding(PHUI::PADDING_LARGE) ->addMargin(PHUI::MARGIN_LARGE); - $header1 = id(new PhabricatorHeaderView()) + $header1 = id(new PHUIHeaderView()) ->setHeader('Colors'); $colors = PhabricatorTagView::getColors(); @@ -103,7 +103,7 @@ final class PhabricatorTagExample extends PhabricatorUIExample { ->addPadding(PHUI::PADDING_LARGE) ->addMargin(PHUI::MARGIN_LARGE); - $header2 = id(new PhabricatorHeaderView()) + $header2 = id(new PHUIHeaderView()) ->setHeader('Holidays?'); diff --git a/src/applications/uiexample/examples/PhabricatorUIStatusExample.php b/src/applications/uiexample/examples/PhabricatorUIStatusExample.php index f98bb7ec34..ac18adad84 100644 --- a/src/applications/uiexample/examples/PhabricatorUIStatusExample.php +++ b/src/applications/uiexample/examples/PhabricatorUIStatusExample.php @@ -42,7 +42,7 @@ final class PhabricatorUIStatusExample extends PhabricatorUIExample { ->setTarget(pht('Zucchini')) ->setNote(pht('Slimy and gross. Yuck!'))); - $out[] = id(new PhabricatorHeaderView()) + $out[] = id(new PHUIHeaderView()) ->setHeader(pht('Fruit and Vegetable Status')); $out[] = id(new PHUIBoxView()) @@ -65,7 +65,7 @@ final class PhabricatorUIStatusExample extends PhabricatorUIExample { ->setTarget($name)); } - $out[] = id(new PhabricatorHeaderView()) + $out[] = id(new PHUIHeaderView()) ->setHeader(pht('All Icons')); $out[] = id(new PHUIBoxView()) diff --git a/src/view/form/PHUIPagedFormView.php b/src/view/form/PHUIPagedFormView.php index f204041ee1..53d8c0308f 100644 --- a/src/view/form/PHUIPagedFormView.php +++ b/src/view/form/PHUIPagedFormView.php @@ -257,7 +257,7 @@ final class PHUIPagedFormView extends AphrontTagView { $header = null; if ($selected_page->getPageName()) { - $header = id(new PhabricatorHeaderView()) + $header = id(new PHUIHeaderView()) ->setHeader($selected_page->getPageName()); } diff --git a/src/view/phui/PHUIDocumentView.php b/src/view/phui/PHUIDocumentView.php index ead1fb0d7e..8056951682 100644 --- a/src/view/phui/PHUIDocumentView.php +++ b/src/view/phui/PHUIDocumentView.php @@ -20,7 +20,7 @@ final class PHUIDocumentView extends AphrontTagView { return $this; } - public function setHeader(PhabricatorHeaderView $header) { + public function setHeader(PHUIHeaderView $header) { $header->setGradient(PhabricatorActionHeaderView::HEADER_LIGHTBLUE); $this->header = $header; return $this; diff --git a/src/view/layout/PhabricatorHeaderView.php b/src/view/phui/PHUIHeaderView.php similarity index 63% rename from src/view/layout/PhabricatorHeaderView.php rename to src/view/phui/PHUIHeaderView.php index 2f12cd6941..7cd9da5712 100644 --- a/src/view/layout/PhabricatorHeaderView.php +++ b/src/view/phui/PHUIHeaderView.php @@ -1,6 +1,9 @@ header = $header; @@ -51,14 +55,19 @@ final class PhabricatorHeaderView extends AphrontView { return $this; } + public function addProperty($property, $value) { + $this->properties[$property] = $value; + return $this; + } + public function render() { - require_celerity_resource('phabricator-header-view-css'); + require_celerity_resource('phui-header-view-css'); $classes = array(); - $classes[] = 'phabricator-header-shell'; + $classes[] = 'phui-header-shell'; if ($this->noBackground) { - $classes[] = 'phabricator-header-no-backgound'; + $classes[] = 'phui-header-no-backgound'; } if ($this->bleedHeader) { @@ -70,16 +79,20 @@ final class PhabricatorHeaderView extends AphrontView { $classes[] = 'gradient-'.$this->gradient.'-header'; } + if ($this->properties || $this->subheader) { + $classes[] = 'phui-header-tall'; + } + $image = null; if ($this->image) { $image = phutil_tag( 'span', array( - 'class' => 'phabricator-header-image', + 'class' => 'phui-header-image', 'style' => 'background-image: url('.$this->image.')', ), ''); - $classes[] = 'phabricator-header-has-image'; + $classes[] = 'phui-header-has-image'; } $header = array(); @@ -102,7 +115,7 @@ final class PhabricatorHeaderView extends AphrontView { $header[] = phutil_tag( 'span', array( - 'class' => 'phabricator-header-tags', + 'class' => 'phui-header-tags', ), array_interleave(' ', $this->tags)); } @@ -111,11 +124,35 @@ final class PhabricatorHeaderView extends AphrontView { $header[] = phutil_tag( 'div', array( - 'class' => 'phabricator-header-subheader', + 'class' => 'phui-header-subheader', ), $this->subheader); } + if ($this->properties) { + $property_list = array(); + foreach ($this->properties as $type => $property) { + switch ($type) { + case self::PROPERTY_STATE: + $property_list[] = $property; + break; + case self::PROPERTY_POLICY: + $property_list[] = $property; + break; + default: + throw new Exception('Incorrect Property Passed'); + break; + } + } + + $header[] = phutil_tag( + 'div', + array( + 'class' => 'phui-header-subheader', + ), + $property_list); + } + return phutil_tag( 'div', array( @@ -126,7 +163,7 @@ final class PhabricatorHeaderView extends AphrontView { phutil_tag( 'h1', array( - 'class' => 'phabricator-header-view', + 'class' => 'phui-header-view', ), $header), )); diff --git a/webroot/rsrc/css/diviner/diviner-shared.css b/webroot/rsrc/css/diviner/diviner-shared.css index b4d00f3dc6..a0708b33b3 100644 --- a/webroot/rsrc/css/diviner/diviner-shared.css +++ b/webroot/rsrc/css/diviner/diviner-shared.css @@ -69,10 +69,14 @@ a.diviner-atom-signature-name { padding: 0 8px 16px 0; } -body .diviner-document-section .phabricator-header-view { +body .diviner-document-section .phui-header-view { width: 100%; } +.phabricator-property-list-view + .diviner-document-section { + margin-top: -1px; +} + .diviner-message-not-documented { color: {$lightgreytext}; font-style: italic; @@ -112,7 +116,7 @@ body .diviner-document-section .phabricator-header-view { * Fix excessive padding between method headers and method documentation for * methods with no inherited context. */ -.diviner-document-section .phabricator-header-shell + .phabricator-remarkup { +.diviner-document-section .phui-header-shell + .phabricator-remarkup { padding-top: 0; } diff --git a/webroot/rsrc/css/layout/phabricator-action-list-view.css b/webroot/rsrc/css/layout/phabricator-action-list-view.css index 446b4e2b26..349972a6db 100644 --- a/webroot/rsrc/css/layout/phabricator-action-list-view.css +++ b/webroot/rsrc/css/layout/phabricator-action-list-view.css @@ -17,16 +17,20 @@ font-size: 12px; } -.device-desktop .phabricator-header-shell + .phabricator-action-list-view { +.device-desktop .phui-header-shell + .phabricator-action-list-view { margin-top: -33px; } -.device-desktop .phabricator-header-shell.phabricator-header-has-image + +.device-desktop .phui-header-shell.phui-header-tall + .phabricator-action-list-view { + margin-top: -55px; +} + +.device-desktop .phui-header-shell.phui-header-has-image + .phabricator-action-list-view { margin-top: -53px; } -.device .phabricator-header-shell + .phabricator-action-list-view { +.device .phui-header-shell + .phabricator-action-list-view { margin-top: -1px; } diff --git a/webroot/rsrc/css/layout/phabricator-crumbs-view.css b/webroot/rsrc/css/layout/phabricator-crumbs-view.css index 7b106ddb3f..14bb3c6a20 100644 --- a/webroot/rsrc/css/layout/phabricator-crumbs-view.css +++ b/webroot/rsrc/css/layout/phabricator-crumbs-view.css @@ -37,7 +37,7 @@ background: rgba(0,0,0,.1); } -.phabricator-crumbs-view + .phabricator-header-shell { +.phabricator-crumbs-view + .phui-header-shell { border-top: none; } diff --git a/webroot/rsrc/css/layout/phabricator-property-list-view.css b/webroot/rsrc/css/layout/phabricator-property-list-view.css index ffda2fdc39..a3e500ecb7 100644 --- a/webroot/rsrc/css/layout/phabricator-property-list-view.css +++ b/webroot/rsrc/css/layout/phabricator-property-list-view.css @@ -98,12 +98,12 @@ /* In the common case where we immediately follow a header, move back up 30px so we snuggle next to the header. */ -.device-desktop .phabricator-header-view +.device-desktop .phui-header-view + .phabricator-action-list-view { margin-top: -30px; } -.device-desktop .phabricator-header-view +.device-desktop .phui-header-view + .phabricator-action-list-view + .phabricator-property-list-view { margin-top: 0px; diff --git a/webroot/rsrc/css/phui/phui-document.css b/webroot/rsrc/css/phui/phui-document.css index c04acc9c65..72519cccbc 100644 --- a/webroot/rsrc/css/phui/phui-document.css +++ b/webroot/rsrc/css/phui/phui-document.css @@ -62,25 +62,25 @@ float: right; } -.phui-document-content .phabricator-header-shell { +.phui-document-content .phui-header-shell { border-top: none; border-bottom: 1px solid {$lightblueborder}; } .phui-document-content - .phabricator-header-shell.phabricator-header-no-backgound { + .phui-header-shell.phui-header-no-backgound { border-bottom: 1px solid {$thinblueborder}; margin: 0 0 16px 0; } .phui-document-content - .phabricator-header-shell.phabricator-header-no-backgound - .phabricator-header-view { + .phui-header-shell.phui-header-no-backgound + .phui-header-view { padding: 8px 0 4px; font-size: 14px; } -.phui-document-content .phabricator-header-view { +.phui-document-content .phui-header-view { padding: 16px; color: {$bluetext}; text-shadow: 0 1px 2px #fff; diff --git a/webroot/rsrc/css/layout/phabricator-header-view.css b/webroot/rsrc/css/phui/phui-header-view.css similarity index 59% rename from webroot/rsrc/css/layout/phabricator-header-view.css rename to webroot/rsrc/css/phui/phui-header-view.css index 71944e4cc3..e3522fba67 100644 --- a/webroot/rsrc/css/layout/phabricator-header-view.css +++ b/webroot/rsrc/css/phui/phui-header-view.css @@ -1,8 +1,8 @@ /** - * @provides phabricator-header-view-css + * @provides phui-header-view-css */ -.phabricator-header-shell { +.phui-header-shell { background-color: #e0e3ec; border-width: 1px 0; border-style: solid; @@ -10,12 +10,12 @@ overflow: hidden; } -body .phabricator-header-shell.phabricator-header-no-backgound { +body .phui-header-shell.phui-header-no-backgound { background-color: transparent; border: none; } -body .phabricator-header-shell.phabricator-bleed-header { +body .phui-header-shell.phui-bleed-header { background-color: {$lightgreybackground}; border-top: 1px solid {$thinblueborder}; border-bottom: none; @@ -23,13 +23,13 @@ body .phabricator-header-shell.phabricator-bleed-header { margin-bottom: 16px; } -body .phabricator-header-shell.phabricator-bleed-header - .phabricator-header-view { +body .phui-header-shell.phui-bleed-header + .phui-header-view { padding: 8px 24px 8px 16px; color: {$bluetext}; } -.phabricator-header-shell + .phabricator-form-view { +.phui-header-shell + .phabricator-form-view { border-top-width: 0; } @@ -37,30 +37,30 @@ body .phabricator-header-shell.phabricator-bleed-header margin-top: -1px; } -.phabricator-header-view { +.phui-header-view { padding: 16px; font-size: 15px; color: {$darkbluetext}; } -body.device-phone .phabricator-header-view { +body.device-phone .phui-header-view { padding: 12px 8px; } -.device-desktop .phabricator-header-view { +.device-desktop .phui-header-view { width: 66%; } -.phabricator-header-tags { +.phui-header-tags { margin-left: 12px; font-size: 13px; } -.phabricator-header-tags .phabricator-tag-view { +.phui-header-tags .phabricator-tag-view { margin-left: 4px; } -.phabricator-header-image { +.phui-header-image { display: inline-block; background-repeat: no-repeat; border: 1px solid white; @@ -70,9 +70,18 @@ body.device-phone .phabricator-header-view { float: left; } -.phabricator-header-subheader { +.phui-header-subheader { color: {$lightbluetext}; font-weight: normal; font-size: 13px; margin-top: 4px; } + +.phui-header-subheader .sprite-status { + display: inline-block; + margin: -2px 4px -2px 0; +} + +.phui-header-subheader .policy-link { + color: {$darkbluetext}; +} diff --git a/webroot/rsrc/css/phui/phui-icon.css b/webroot/rsrc/css/phui/phui-icon.css index 1e7ef4fd75..8a7b18b59d 100644 --- a/webroot/rsrc/css/phui/phui-icon.css +++ b/webroot/rsrc/css/phui/phui-icon.css @@ -18,7 +18,8 @@ } .phui-icon-view.sprite-apps, -.phui-icon-view.sprite-icons { +.phui-icon-view.sprite-icons, +.phui-icon-view.sprite-status { height: 14px; width: 14px; } diff --git a/webroot/rsrc/css/sprite-status.css b/webroot/rsrc/css/sprite-status.css index e5551dbd8c..d4135a1d95 100644 --- a/webroot/rsrc/css/sprite-status.css +++ b/webroot/rsrc/css/sprite-status.css @@ -13,7 +13,7 @@ only screen and (min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5) { .sprite-status { background-image: url(/rsrc/image/sprite-status-X2.png); - background-size: 120px 120px; + background-size: 135px 135px; } } @@ -51,225 +51,261 @@ only screen and (-webkit-min-device-pixel-ratio: 1.5) { } .status-add-red { - background-position: 0px -15px; + background-position: -120px 0px; } .status-add-white { - background-position: -15px -15px; + background-position: 0px -15px; } .status-down-blue { - background-position: -30px -15px; + background-position: -15px -15px; } .status-down-dark { - background-position: -45px -15px; + background-position: -30px -15px; } .status-down-green { - background-position: -60px -15px; + background-position: -45px -15px; } .status-down-red { - background-position: -75px -15px; + background-position: -60px -15px; } .status-down-white { - background-position: -90px -15px; + background-position: -75px -15px; } .status-info-blue { - background-position: -105px -15px; + background-position: -90px -15px; } .status-info-dark { - background-position: 0px -30px; + background-position: -105px -15px; } .status-info-green { - background-position: -15px -30px; + background-position: 0px -30px; } .status-info-red { - background-position: -30px -30px; + background-position: -15px -30px; } .status-info-white { - background-position: -45px -30px; + background-position: -30px -30px; } .status-left-blue { - background-position: -60px -30px; + background-position: -45px -30px; } .status-left-dark { - background-position: -75px -30px; + background-position: -60px -30px; } .status-left-green { - background-position: -90px -30px; + background-position: -75px -30px; } .status-left-red { - background-position: -105px -30px; + background-position: -90px -30px; } .status-left-white { - background-position: 0px -45px; + background-position: -105px -30px; } .status-minus-blue { - background-position: -15px -45px; + background-position: 0px -45px; } .status-minus-dark { - background-position: -30px -45px; + background-position: -15px -45px; } .status-minus-green { - background-position: -45px -45px; + background-position: -30px -45px; } .status-minus-red { - background-position: -60px -45px; + background-position: -45px -45px; } .status-minus-white { + background-position: -60px -45px; +} + +.status-oh-closed { background-position: -75px -45px; } -.status-open-blue { +.status-oh-open { background-position: -90px -45px; } -.status-open-dark { +.status-open-blue { background-position: -105px -45px; } -.status-open-green { +.status-open-dark { background-position: 0px -60px; } -.status-open-red { +.status-open-green { background-position: -15px -60px; } -.status-open-white { +.status-open-red { background-position: -30px -60px; } -.status-question-blue { +.status-open-white { background-position: -45px -60px; } -.status-question-dark { +.status-policy-admin { background-position: -60px -60px; } -.status-question-green { +.status-policy-all { background-position: -75px -60px; } -.status-question-red { +.status-policy-custom { background-position: -90px -60px; } -.status-question-white { +.status-policy-noone { background-position: -105px -60px; } -.status-reject-blue { +.status-policy-project { background-position: 0px -75px; } -.status-reject-dark { +.status-policy-public { background-position: -15px -75px; } -.status-reject-green { +.status-policy-unknown { background-position: -30px -75px; } -.status-reject-red { +.status-question-blue { background-position: -45px -75px; } -.status-reject-white { +.status-question-dark { background-position: -60px -75px; } -.status-right-blue { +.status-question-green { background-position: -75px -75px; } -.status-right-dark { +.status-question-red { background-position: -90px -75px; } -.status-right-green { +.status-question-white { background-position: -105px -75px; } -.status-right-red { +.status-reject-blue { background-position: 0px -90px; } -.status-right-white { +.status-reject-dark { background-position: -15px -90px; } -.status-time-green { +.status-reject-green { background-position: -30px -90px; } -.status-time-orange { +.status-reject-red { background-position: -45px -90px; } -.status-time-red { +.status-reject-white { background-position: -60px -90px; } -.status-time-yellow { +.status-right-blue { background-position: -75px -90px; } -.status-up-blue { +.status-right-dark { background-position: -90px -90px; } -.status-up-dark { +.status-right-green { background-position: -105px -90px; } -.status-up-green { +.status-right-red { background-position: 0px -105px; } -.status-up-red { +.status-right-white { background-position: -15px -105px; } -.status-up-white { +.status-time-green { background-position: -30px -105px; } -.status-warning-blue { +.status-time-orange { background-position: -45px -105px; } -.status-warning-dark { +.status-time-red { background-position: -60px -105px; } -.status-warning-green { +.status-time-yellow { background-position: -75px -105px; } -.status-warning-red { +.status-up-blue { background-position: -90px -105px; } -.status-warning-white { +.status-up-dark { background-position: -105px -105px; } + +.status-up-green { + background-position: 0px -120px; +} + +.status-up-red { + background-position: -15px -120px; +} + +.status-up-white { + background-position: -30px -120px; +} + +.status-warning-blue { + background-position: -45px -120px; +} + +.status-warning-dark { + background-position: -60px -120px; +} + +.status-warning-green { + background-position: -75px -120px; +} + +.status-warning-red { + background-position: -90px -120px; +} + +.status-warning-white { + background-position: -105px -120px; +} diff --git a/webroot/rsrc/image/sprite-status-X2.png b/webroot/rsrc/image/sprite-status-X2.png index 937fff3c2bdd1680a344c27bb8aff4f9cb9233ef..304bf3badee1942e5603d52f19389f9f7c21ad77 100644 GIT binary patch literal 35449 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

literal 26889
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

literal 9087
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