[09:56:03] hey, guys [09:56:33] Hello [09:57:08] has been the collapsible sidebar JS for Vector released already? [09:57:37] It's in the UsabilityInitiative extension [09:57:53] oh, awesome :) [09:57:56] Whether it's in the 1.16 version of that extension I don't know [10:09:15] I'm working with 1.17 anyway [10:09:19] thanks :) [10:09:32] also, I have an idea that came from my employer [10:09:52] sidebar navigation: it is to show you where you can go [10:09:58] but it also should show where you are [10:10:18] ie. if you're on the Main Page, the "Main Page" link should not be clickable [10:11:22] I already requested the SVN commit access to Mediawiki repository, so I'd like to do it first, but it may take some time for me to get that access anyway [10:11:30] so, I'm just throwing ideas here [10:11:35] Right [10:11:39] That's an interesting idea [10:11:47] But I'm afraid it won't really play nice with the sidebar cache [10:13:01] the cache stores the HTML representation of sidebar? [10:14:23] I think so [10:14:30] I'm not sure exactly which representation is cahced [10:15:08] okay, well, then I'll try to figure it out locally [10:15:38] I can look that up [10:16:07] Ah here you go [10:16:13] Only the array representation of the sidebar is cached [10:16:26] The HTML rendering doesn't seem to be [10:16:49] well, then that's easy to do :) [10:17:05] This is because each skin has its own sidebar rendering code [10:17:29] yeah, that's why I thought it wouldn't store HTML [10:18:22] well, I'll see if I can do some magic in Skin.php to make this idea happen [10:20:54] Skin::buildSidebar() is what builds and caches the sidebar array [10:20:58] buildSidebar() is then called in the various skin files [10:21:21] Ah, wait, it's not [10:21:36] buildSidebar() is called by SkinTemplate to set $this->data['sidebar'] for each skin [10:21:57] Then for instance in Vector.php line 547 you've got renderPortals( $this->data['sidebar'] ); ?> [10:24:47] so it can be checked there in SkinVector::renderPortals() [10:25:29] on the other hand somebody already thought about that and made $val[a'ctive'] [10:25:49] but it's always set to false in Skin.php [10:26:08] so, another placeholder for somebody who will do that, I guess ;) [10:26:26] Well, you would need to be careful with caching there [10:26:36] And set ['active'] only after pulling the array from cache [10:26:37] yeah [10:27:04] so, that involves going through the array one more time [10:30:17] it's tricky, 'cause addToSidebar() doesn't stores Title objects, only hrefs from them [10:30:45] Yes [10:30:54] You could make it store Titles [10:37:11] I think I found simpler idea [10:37:29] SkinVector:renderPortals() [10:38:04] I've just changed with getLocalURL() === $val['href'] ): ?> [10:38:18] will see how it works [10:38:30] That will probably sort of work [10:38:48] I think there will be edge cases in which it doesn't work, but it should be fine for vanilla sidebars AFAICT [10:45:33] yep [10:45:35] it works [11:01:41] you can check it out at [11:01:46] http://geneabase.com/wiki/Main_Page [14:15:50] How is the new JS loader going? [14:16:26] Kinda slowly this month because we're away so much [14:16:40] We had Wikimania before, Trevor's gonna go to OSCON on Wednesday and I'll be on vacation next week [14:18:02] $j.wikiEditor.modules.toolbar.$toolbar should be an object? [14:18:27] A jQuery object, I think [14:18:28] what is that $toolbar ? [14:18:38] javascript:alert($j.wikiEditor.modules.toolbar.$toolbar) gives undefined [14:18:56] but seems to be used in the wikiEditor internal code [14:19:19] I'm trying to find where are sections stored to retrieve them from javascript [14:20:28] You're right that is undefined [14:21:01] Ah, it's context.modules.toolbar.$toolbar [14:21:22] Where context = $j('#wpTextbox1').data('wikiEditor-context') [14:22:32] there it is [14:22:42] thanks [18:06:38] RoanKattouw: regarding http://www.mediawiki.org/wiki/Special:Code/MediaWiki/69165#c7742 [18:06:50] why should i use jquery functions there? [18:07:27] Because that's usually more readable [18:07:35] You're manipulating spans, not textnodes there, right? [18:07:43] textnodes [18:07:47] Hmm crap [18:07:50] wrapping them in spans [18:07:56] Well then at least add comments explaining what you're doing [18:08:05] And what .nodeType ==3 and .nodeType == 1 mean [18:08:11] k i'll do that then [18:08:25] i don't think i can achieve the same thing with jquery [18:08:37] That's right, jQuery doesn't like textnodes much [18:08:56] It's just that I'd like the code to be readable without having to open 5 w3schools.org tabs :) [18:09:11] lol [18:09:21] dom is basics;-) [18:09:30] Well DOM functions, sure [18:09:45] But at least those nodeType numbers should be commented [18:10:36] define constants somewhere [18:11:42] That's what DOM should be doing in the first place [18:17:50] RoanKattouw: hi [18:18:10] Morning [18:18:26] You have a few short novels, each titled 'fixme' [18:18:29] More underway [18:18:49] lol [18:19:22] RoanKattouw: shhh, just don't tell him, how dark future is in front of him [18:19:38] hah [18:19:48] RoanKattouw: when are you going to be done for the day? [18:19:52] Oh yeah, and Danny_B has been telling me some interesting things about accessibility [18:19:58] TrevorParscal: Around 1pm, 2pm [18:20:04] k [18:20:24] RoanKattouw: that CommunityHiring thing [18:20:34] What about it [18:20:43] is there a way to get a data dump of that? [18:22:45] Sure [18:23:31] aparently zac needs one [18:24:03] On its way [18:24:06] http://www.mediawiki.org/wiki/Special:Code/MediaWiki/68456 get fixed later on, and is still marked as fixme [18:25:33] Done [18:26:21] TrevorParscal: There's all of 11 applications in there [18:26:40] did you send it to him? [18:27:56] Oh my God [18:28:01] Andrew, what did you do [18:28:29] He stored each application in a JSON blob [18:29:02] ha ha [18:29:50] RoanKattouw: http://usability.wikimedia.org/wiki/Talk:Citron_Designs#Bolding_the_active_link :) [18:29:52] btw - I was confused about your CSSJanus class not declaring transform as a static function - which is why I instantiated it first... So, at least share the blame! :) [18:30:31] Wait [18:30:38] Can it even be called statically then? [18:31:24] Yes it can [18:31:28] I recall that PHP will let you [18:31:30] My fault, it should've been declared statically [18:31:36] It will, as long as you don't try to use $this [18:31:36] no worries [18:31:40] just wanted to share the blame [18:31:45] right [18:31:49] Even when you do use $this, it can sometimes patch things up [18:49:44] Holek: Maybe you could e-mail me a patch as well? [19:40:27] RoanKattouw: what's your e-mail then? [19:40:38] roan@wikimedia.org [19:42:52] sent [21:15:12] RoanKattouw: care if i un-fixme revisions when it's basic things? or should I just wait until you get back to them? [21:15:34] Sure, but please set them to new, not resolved [21:17:33] would you rather i just leave them as fixme? [21:17:59] don't want to make code review any more painful for you than it is [21:19:11] No worries [21:19:15] I just set one fixme->new [21:19:25] And left it open because it still needs further review [21:49:41] TrevorParscal: do you want my help on script loader stuff this week? [21:51:14] if so, we should discuss it before you head to portland [22:43:36] ugh, TrevorParscal i may hijack your expertise for a few hours at OSCON, the toc issue is driving me nuts [22:44:01] moving on to something else for a bit before i get more frustrated [22:58:29] adam_miller: sorry, was in a meeting [22:59:01] its ok, i emailed you as well [22:59:27] want to just reply to that? i need to head home [23:00:50] TrevorParscal: is that OK or should we talk about it quick? [23:43:23] sup werdna [23:43:31] i have a funny story for you