On 5/6/15, Jack Phoenix <[email protected]> wrote: > On Wed, May 6, 2015 at 9:06 PM, Brad Jorsch (Anomie) <[email protected]> > wrote: > >> On Wed, May 6, 2015 at 1:31 PM, Jack Phoenix <[email protected]> >> wrote: >> >> > I'm trying to build an autocompletion thingy that suggests categories >> based >> > on user input using the opensearch API [1]. >> >> >> Sounds like https://en.wikipedia.org/wiki/Wikipedia:HotCat >> > > Something like that, although not quite complicated. HotCat's current > version is ~3k lines of code, my JS is ~40 lines. > > >> How can I totally strip out the "Category:" >> > part and pretend it doesn't exist and never did? >> > >> >> Hit api.php?action=query&meta=siteinfo&siprop=namespaces to get the >> localized name of the Category namespace. Or you should be safe just >> removing everything up to the first colon. > > > Yeah, probably better to avoid the extra HTTP request. > > In any case, I managed to solve my issue for the time being, or so I > think. Defining a "response" callback and fiddling with the API-supplied > data there seems to do the trick: > https://www.mediawiki.org/w/index.php?title=User%3AJack_Phoenix%2FAutocompleteTest&type=revision&diff=1644379&oldid=1644324 > It does still feel a tad bit hacky to me, so if some JavaScript guru knows > of the proper way to do this, feel free to let me know! But at least now I > can safely throw out some old and icky code in favor of this new code. :) > >
I tried to do something similar, it might be useful to you as a starting point: https://commons.wikimedia.org/wiki/MediaWiki:Gadget-advanced-search.js (I was also surprised at how frustrating it was to make what sounded trivial work right). [I should note, I haven't really done any js in a long time, and that script was meant more as a proof of concept, so it might be slightly hacky] -- bawolff _______________________________________________ Wikitech-l mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/wikitech-l
