jQuery.uls bug fixes and keep template with the plugin

* The jQuery selectors should be referring to the menu for the current
  ULS instance rather than querying on the page. This allows multiple
  instances of ULS present in the page
* Keep the HTML template with the plugin. No more HTML added from hooks.
* Updated the example based on above change.
* Updated the hooks code.
* Some more documentation.

Change-Id: I48e2e167bc2c09b8653a142c50317c22e8ba1362
This commit is contained in:
Santhosh Thottingal
2012-08-17 16:26:08 +05:30
committed by Amir E. Aharoni
parent 5bd96823d6
commit f3ffe8bead
6 changed files with 101 additions and 163 deletions

View File

@@ -106,80 +106,4 @@ class UniversalLanguageSelectorHooks {
$vars['wgULSLanguages'] = Language::fetchLanguageNames( $wgContLang->getCode() );
return true;
}
/**
* Add the template for the ULS to the body.
* Hooks: SkinAfterContent
* @param $data string
* @param $skin Skin
* @return bool
* TODO: move to JavaScript side
* TODO: hardcoded English
*/
public static function addTemplate( &$data, $skin ) {
$data .= "
<div class='uls-menu'>
<div class='row'>
<span id='uls-close' class='icon-close'></span>
</div>
<div class='row'>
<div class='four columns'>
<h1>" . $skin->msg( 'uls-select-content-language' )->escaped() . "</h1>
</div>
<div class='three columns' id='settings-block'></div>
<div class='five columns' id='map-block'>
<div class='row'>
<div class='three columns uls-region' id='uls-region-4' data-regiongroup='4'>
<a>Worldwide</a>
</div>
<div class='nine columns'>
<div class='row uls-worldmap'>
<div class='four columns uls-region' id='uls-region-1' data-regiongroup='1'>
<a>America</a>
</div>
<div class='four columns uls-region' id='uls-region-2' data-regiongroup='2'>
<a>Europe<br>Middle East<br>Africa</a>
</div>
<div class='four columns uls-region' id='uls-region-3' data-regiongroup='3'>
<a>Asia<br>Australia<br>Pacific</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div id='search' class='row'>
<div class='one column'>
<span class='search-label'></span>
</div>
<div class='ten columns'>
<div id='search-input-block'>
<input type='text' class='filterinput' id='filtersuggestion' disabled='true' autocomplete='off' role='textbox' bound='true'/>
<input type='text' class='filterinput' data-clear='languagefilter-clear' data-suggestion='filtersuggestion' id='languagefilter' placeholder='Language search' bound='true'/>
</div>
</div>
<div class='one column'>
<span id='languagefilter-clear'></span>
</div>
</div>
<div class='row uls-language-list'></div>
<div class='row uls-no-results-view'>
<h2 class='ten columns end offset-by-one'>No results found for \"<span id='uls-no-found-search-term'></span>\"</h2>
<div id='uls-no-found-more'>
<div class='ten columns end offset-by-one'>
<p>You can search by language name, script name, ISO code of language or you can browse by region:
<a class='uls-region-link' data-region='NA' href='#'>America</a>,
<a class='uls-region-link' data-region='EU' href='#'>Europe</a>,
<a class='uls-region-link' data-region='ME' href='#'>Middle East</a>,
<a class='uls-region-link' data-region='AF' href='#'>Africa</a>,
<a class='uls-region-link' data-region='AS' href='#'>Asia</a>,
<a class='uls-region-link' data-region='PA' href='#'>Pacific</a> or
<a class='uls-region-link' data-region='WW' href='#'>Worldwide languages</a>.
</p>
</div>
</div>
</div>
</div>";
return true;
}
}