From 3bdba1a2fa20feea1858097842c2530f925a2052 Mon Sep 17 00:00:00 2001 From: Van Date: Sat, 3 Jan 2015 16:01:24 +0800 Subject: [PATCH] outline & menu bug --- static/css/side.css | 4 ++-- static/css/themes/black.css | 3 +-- static/css/themes/default.css | 3 +-- static/images/ico-file.png | Bin 6449 -> 6101 bytes static/js/editors.js | 13 +++++++++---- static/js/hotkeys.js | 6 ++++-- static/js/menu.js | 31 ++++++++++++++++++------------- static/js/tabs.js | 1 + static/js/wide.js | 33 +++++++++++++++++++++------------ 9 files changed, 57 insertions(+), 37 deletions(-) diff --git a/static/css/side.css b/static/css/side.css index 64d0855..8bcc8be 100644 --- a/static/css/side.css +++ b/static/css/side.css @@ -52,11 +52,11 @@ } #outline .ico { - margin: 2px 2px 0 2px; + margin: 1px 5px 0 5px; } .ico-func { - background-position: -122px -21px; + background-position: -123px -21px; } .ico-interface { diff --git a/static/css/themes/black.css b/static/css/themes/black.css index 7a9ce28..ac62b00 100644 --- a/static/css/themes/black.css +++ b/static/css/themes/black.css @@ -56,8 +56,7 @@ text-shadow: #292a2b 0px 1px 0px; } -.menu > ul > li > span:hover, -.menu > ul > li > span.selected { +.menu > ul > li.selected { background-color: #494949; color: #d4d4d4; box-shadow: 1px 0 0 0 #000000 inset, 1px 0 0 0 #000000, 0 1px 0 0 rgba(255, 255, 255, 0.15) inset; diff --git a/static/css/themes/default.css b/static/css/themes/default.css index 40bc43a..d186e6a 100644 --- a/static/css/themes/default.css +++ b/static/css/themes/default.css @@ -54,8 +54,7 @@ text-shadow: 0px 1px 0px #efefef; } -.menu > ul > li > span:hover, -.menu > ul > li > span.selected { +.menu > ul > li.selected { background-color: #cfcfcf; box-shadow: 1px 0 0 0 #b6b6b6 inset, 1px 0 0 0 #b6b6b6, 0 1px 0 0 rgba(255, 255, 255, 0.15) inset; color: #393939; diff --git a/static/images/ico-file.png b/static/images/ico-file.png index fd995a3cda549c24dd022ce945e75eb78267e38d..19fa86c87abc322d5b9918677d42d7fc3d32ed78 100644 GIT binary patch literal 6101 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 H+fV)r^cvs$ literal 6449 zcmeHMcU)81vyZx#)kRiZLAoxmC`AON2^f_cP*i$Ah)R^9`lqxlJ zl#m2OLAnGIFo6IfAOsRANq`V|aewdq`Tl=@y!-i_d(X_7^Er3U%$fPly$Lt$ttAf1 z9RvUX5+EB32LNC!APzK-ts{H2mFVhM$x5{^*6$ml!azJSX< z(7V1TtOCM)qoLtJ5hu(Y^}`yb4FG`S2_TEhPBA%4U`KI^E{s$ zpWj*>fjhOTJ$QAQUj#;Q%e>0UIU+N3r0Zq#W1iQV4!q;a%;i-P*P18-Yy1#?mDm&t z?l`^+0GQOl&!vWnUmW0XW#63KlcB>6k-J}0sD?WaWwj*j=M~vQ8!o0GzR+*c48jvs z&Co*qJr38wN#mWgiAxulJLmyE0szPf2zUgMCNo4)U8gY@BBF4iN|OlO8V&rw%=T&d zgEu3hsMZBu5d|1m-x(YmUH&rg;)|m}I5ib-)gA{7L9IY%q$ss4YH$?mf<~~n5%iRC zu$Ls@?_E*dlTBaeA$e=o=>BUEecVOO`83Y8FI!kU872D?djp=ASu(<%1`BV^IyRcR z5ax1w;1YjyE<)*_?YtHN`!DDZ)xKO^%S2bZTnSIRKdIwY*u_j$YpNCL?d%;hd1C)q z)Z9bX`-!Zr9g$tden6}2AUkQ|TW4qS8EDA%taTSKWDM^{3}AMT*&&9r z6wzqV+C-@94-epcWlrO@iAZYWGP~G@%JCtE3>j)~lqhD`FSelB4PH8%kyW5_hE-mD zrAbb%3(4_QGi&la!qZT2xNFqYj(xba4wPu!e7IWmqg-L)Jg$cK&SNg1b9x{L%Sti) zOwrln33Z9#ftW7(1K)4{?BZsf%a7&pCP?%>fXS;}3l7k}ItjU0^Mt}GaBCL^LtBq> ztVNmpn5Y^{_hTE_;bzCyX!5C@6sUfK@}_g@8`KxEB@C*D>B+X7itusADSr zaog$yRe$=XwsDXEL<@q?shI(FAQ^qzFKw&fP8!FxH>PolK!f<1NL%|WQ3A=4X9U~* z-PX3zV^J5Dz|3N(ttd~c!t?bL0pT;2Nat-P?^ze>edhUrs7ZLMp~X#K4B{M0jYPq`KHNEOQ?@R#*{|IT z!F_XHbQgqhr$U7e(;sE%d^sOz^L+8Qo{DYsNUsu}>?a7GT=age<4poj(aKc==%@F1 zj%+ALUqy4UzW{Du%H?F6*!OrqC#Dzr0gjvls6C#&Qj*O7O7`Gcf2l zeTA{UCYQW@34ca*~ZveuSqT6&lW4bQ5Sx73>|x(p7HU^K!r0{O}uYa*^N`=@6PU2DE^ov?X= zjRFb`NAUGaVs(o7Y7l(Nw?!7lkp6vU{2J~BZ*gil@5^wh_Ws~;fhC2!!-P3YE-z?0 zuGkZG0Dz03;Qf@oi7lH){x6EpY~)oP-NQ=QRc)wW&PM*yTtIa^65% zTFiGgTr42?%yNo+qM3elNry(HqYB0$IBVO-jMn) zR_0M{yjGUDzQ9z!E_eU&BZ{n*ymV+Ho8wVMrPF{;G)vd-z=_0rY;Sad`oy!Kv7%I8 zFx4{E>Ye}}i+k4Ef9_<5H!DkxM> z$O8cThK+Z+6ko53N~<$MMOrm(dm;!KY2tNJ@S?JdA~0zM_}+cxLr~zDs7ek7>!Z^+ z>#0dtSPRk8iptj(>K7y4bnkQZ^F&)^4aBe%{PK{ETizQAtqnmV3wDrA9BZuF%hfX~ zO(|||5Jk(rp=9%faxo4fP#gdD8-%K@$yiG}4S#v|1Cu}o0M_5;3?jD*Q~iYwY!{ep zHzylYtu? zR*;o+ktg>V;T9vxSRkZ?jF8R|Im<-9TlRq_;*?cT@es0-*GwjZzgo<5xa{(_bGG_1 zR`Vc|uRGB0xWrh}L_m+Wd|~40k$|n75;fUA(O3*^XCq`>k913>Uzk?>Ti-~3w1J(* z=XLygB%J2sX>e}@P(L2sWeCk#=g~c&X%pO$h7qswhYuenP2l?zpp!>W+ObM9>0V>Uex1cb01nqdC+Tg8{r_oTjP=yCq#ub%v%^ zJPv3M_55O&ufqa960=p9PiOeS)5hpe_$% z=O?LU`iQSl&6^K@HU0ZI;BU(B>AK22@@K_p=6<^Iobudm0O0S%-+$t@TMsAqi!qMW zFF-MoabjI8^7e7L@?7|&KhU0ZM$Xjd@wl9)AA?a0vPGS@sXTU|g`<6d^~EXTK6GXD zbyJ*r2&oB0^iX5n#Hn^F%MO0=Q%Z<7Li=`kXn{Iv+2Jc@?A1MVf$7p~5^nf5mp+_T zK&1v* zlZ=l`>*onGr_)rKMh$S**vM)NJeo}05jm06t2XClWhoCh;w&5CiJ24#@qImO!5JTM z={_3aypVb2*sX}3ZYL-xy04y$ojP)^oq%4iUs&=$S{Hlb3h#sGw=9;Xkg+qz$YX7f zeBsT1T}hsH`k0;V7d@<$CwoTI)9Hr8%8fogMvo49nr;v6dFV#s{Q7kF#@;8!dgIEY ze&DjJqY2=_%|_Xc*XfpU*wmwv;0ljBt&|^^%ojOjchRiRI8(TpCx%|9=*Svn7_VM3 z7xHFK?%>iJ`NG;#SFb-_Dwh-9sk^yPX_hJsPscJSreDj&$MM4(O{*Fj~p#u^$Lz0Vrl1f8bZB>JIE(IK|` z60%d`*SWM`R(-+g3M$4{wOV#+ZL!JnQvKyY4O|Ja46@u+=}acnT3+dtya7Yzz!Tpt zn-p#1MlIRBSMH=q$mjk$Bq_7TfbgC_n`L&OZeQKF2N_jPS2gaydMkh&MwRKAD}x)2 zHOg<4!UtuQ|J&+d2xr-&q6#Bn*OZe&1kNKu`m_rci#v+ij;Ltc;TAvCs9|HrkNxwo z-P#T2-A>K#?jFoq__Be$so3W(cW}S9dfv9W{LnF<#GZ#P9tCyh6;AcI5#Cnc?#0?{ zacZ2O)S9L%oL;&M*GjI`82-t_y`O|#?6O6KV|UPbK3%Xv zH)J_#XU&^I4)a{dG*LoV3Db%atAT{l%GFL>sEw=6AY-Ndc31$}dg0{^o8OTx*GCRa zvXa!W2@%*Fl+KuKYVy4};g-J|@B5k>+k?yDq_Tbt?~D7v*sme$kdMVHm4YCd!?awr zv?sQ!^6v7rN|YVMa*dJ@W1!^3%RJqTSm~|k(D6iP(}NvmMlUnS+vd4DSz&Uh?dl5Q zzwR5*G0+{}MF)ciEDBs_e|c2Oi{D08q6FLN!<$bffz$z%z;@(As&2Q$lW!IULwYoJ za70ya-x689lKIlmRSNLBVkN8t(WjW8nYbGso`m&I^4h}e z6eVK4ql7ysg9cTBamSle&r4=u$iQMm0)19fw0H0Lh&?e~AIeD&F=15mp2HM_7i$I} zH(puP8?SCKa$Tj@5BckV*!jDOural=-9{C7)Ti8k7jec-pDTY3682DpvnbJ8+ zsA&G!v2}B?;#Zw9SvcN$5u1w{*ty&n|1xquqa;u?FjA_|NRL8`YfSc-$VkTIW~gEY zb$h$^I@=IRNp(jDj_(t-uW354({*d55^9rXzPe=j@_Mt6eKcPy&rqU8u<@p-I$GLa z+Qwm;-lUlKFOK)%LR6VH!bVcbLix5q1M2HtExR!03m;R+QJsvLPni~h@3yHLva;9k zH>z$v+A`yJh5O|6Cy78BhI+Nh?nL|g;Ji2H{$e&I16Z#}2g$re*Mw)+okah+w=Islq})s!Z7>kz4(J$c};q>)y>_6 zriSzVhyQqrsOoUE5e$NfngE!B%7( zGoms6Oe^hcOEvkn&2U# zj#3Oj;x<1Dhe52O6s#q%9d2HsD166tTve8y<1w{INQLY^@o^r&7Pyow6?)gr{|iQn z?MPX9@zKo#OcPD^-m)?n{8^%mC5&_4UiHr*xwHhUwNmPz&a*MT?jFAG1>t`lv5e-N zXXSsjyoUW=b(P0(YSKK;*9t9zo*Q??99?KuKbyD6INoJ{oTeD4+xF)`z5&g*LM8~x zym_SGqjvhnvkMsFH{@4pfc%otaDL)_7S0XHOu5PnEMTO`pYa^Nf145}wOrLh43O?j zDW7UZrHZ*u^3EOGFxnzxhKG<*3^fXtg564~89MW;dR4nbeDVm}v%cKV72nBS=sGto z4m6vlV!tIWPwC{s{&Sq-F!;jBPd6pu2M=)*7a2#`!NK2~F#|@pFdwO~CJ!D@R~j~64vZj>h5v(0^*JFtWGWGw|xhZ zm2)*F9L+;;nI)sqQLys-jrTAI3=}k)vY?{K2&=BCGyNtacXGb-RG4yKx8qx0eVV zrJY?WlPpzw80>`-aL4I7tsaB)l75W?Em#k5!-=zzqpV=|zCEvzX2#eOkAljcyFC7R zZ)CTYUE@sD!pauQ@O>I$j@Kdm&(HWHH=++~d8SW8R z4(KDd(4{f}K&$qFpWltoT>c^E-v9NXcsu^K`(F! ul > li > a, .menu > ul> li > span").removeClass("selected"); + $(".menu .frame li").click(function () { + $(".frame").hide(); + $(".menu > ul > li").unbind().removeClass("selected"); + menu.subMenu(); }); - - }, _initShare: function () { $(".menu .ico-share").hover(function () { @@ -52,7 +51,7 @@ var menu = { urls.weibo = "http://v.t.sina.com.cn/share/share.php?title=" + title + "&url=" + url + "&pic=" + pic; urls.tencent = "http://share.v.t.qq.com/index.php?c=share&a=index&title=" + title + "&url=" + url + "&pic=" + pic; - + window.open(urls[key], "_blank", "top=100,left=200,width=648,height=618"); }); }, @@ -96,18 +95,24 @@ var menu = { }, // 焦点不在菜单上时需点击展开子菜单,否则为鼠标移动展开 subMenu: function () { - $(".menu > ul > li > a, .menu > ul> li > span").click(function () { + $(".menu > ul > li").click(function (event) { + if ($(event.target).closest(".frame").length === 1) { + return; + } var $it = $(this); - $it.next().show(); - $(".menu > ul > li > a, .menu > ul> li > span").removeClass("selected"); + $it.find('.frame').show(); + $(".menu > ul > li").removeClass("selected"); $(this).addClass("selected"); - $(".menu > ul > li > a, .menu > ul> li > span").unbind(); + $(".menu > ul > li").unbind(); - $(".menu > ul > li > a, .menu > ul> li > span").mouseover(function () { + $(".menu > ul > li").mouseover(function () { + if ($(event.target).closest(".frame").length === 1) { + return; + } $(".frame").hide(); - $(this).next().show(); - $(".menu > ul > li > a, .menu > ul> li > span").removeClass("selected"); + $(this).find('.frame').show(); + $(".menu > ul > li").removeClass("selected"); $(this).addClass("selected"); }); }); diff --git a/static/js/tabs.js b/static/js/tabs.js index 31a158d..e8f0015 100644 --- a/static/js/tabs.js +++ b/static/js/tabs.js @@ -110,6 +110,7 @@ $.extend(Tabs.prototype, { for (var i = 0; i < stack.length; i++) { if (id === stack[i]) { stack.splice(i, 1); + i--; } } diff --git a/static/js/wide.js b/static/js/wide.js index f4efe24..854f23c 100644 --- a/static/js/wide.js +++ b/static/js/wide.js @@ -19,11 +19,12 @@ var wide = { curEditor: undefined, curProcessId: undefined, // curent running process id (pid) refreshOutline: function () { - if (wide.curEditor.doc.getMode().name !== "go") { + if (!wide.curEditor || + (wide.curEditor && wide.curEditor.doc.getMode().name !== "go")) { $("#outline").html(''); return false; } - + var request = newWideRequest(); request.code = wide.curEditor.getValue(); @@ -36,20 +37,28 @@ var wide = { if (!data.succ) { return; } - + var outlineHTML = '
    ', - decls = ['funcDecls', 'interfaceDecls', 'structDecls', - 'constDecls', 'varDecls']; - + decls = ['constDecls', 'varDecls', 'funcDecls', + 'structDecls', 'interfaceDecls', 'typeDecls']; + for (var i = 0, max = decls.length; i < max; i++) { var key = decls[i]; for (var j = 0, maxj = data[key].length; j < maxj; j++) { - var name = data[key][j].Name; - outlineHTML += '
  • ' + name + '
  • '; + var obj = data[key][j]; + outlineHTML += '
  • ' + obj.Name + '
  • '; } } $("#outline").html(outlineHTML + '
'); + + $("#outline li").dblclick(function () { + var $it = $(this), + cursor = CodeMirror.Pos($it.data('line'), $it.data("ch")); + wide.curEditor.setCursor(cursor); + wide.curEditor.focus(); + }); } }); }, @@ -356,7 +365,7 @@ var wide = { } else { $(".bottom-window-group > .tabs-panel > div > div").height(bottomH - $bottomGroup.children(".tabs").height()); } - + if ($(".side-right").hasClass("side-right-max")) { $(".side-right > .tabs-panel > div").height(mainH - $bottomGroup.children(".tabs").height()); } else { @@ -479,7 +488,7 @@ var wide = { if (!($(event.target).closest(".frame").length > 0 || event.target.className === "frame")) { $(".frame").hide(); - $(".menu > ul > li > a, .menu > ul> li > span").unbind("mouseover").removeClass("selected"); + $(".menu > ul > li").unbind().removeClass("selected"); menu.subMenu(); } }); @@ -568,7 +577,7 @@ var wide = { }); // refresh outline - wide.randerOutline(); + wide.refreshOutline(); return; }