зеркало из https://github.com/mozilla/pjs.git
Improvements to dictionaries page, including some love from dalvay's CSS.
This commit is contained in:
Родитель
4c81981b8b
Коммит
3bf68c6eab
|
@ -441,3 +441,70 @@ p.install-button {
|
||||||
.clearfix {display: block;}
|
.clearfix {display: block;}
|
||||||
/* End hide from IE-mac */
|
/* End hide from IE-mac */
|
||||||
|
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
border: none;
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.dalvay-table {
|
||||||
|
border-collapse: separate;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.dalvay-table thead th {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.dalvay-table thead td,
|
||||||
|
table.dalvay-table thead th {
|
||||||
|
background: #f9fafa url(/img/dalvay/table/header.png) top repeat-x;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.dalvay-table thead .top-left {
|
||||||
|
background: url(/img/dalvay/table/top-left.png) top left no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.dalvay-table thead .top-right {
|
||||||
|
background: url(/img/dalvay/table/top-right.png) top right no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
td.left { border-left: 1px solid #d7d7d7; }
|
||||||
|
td.right { border-right: 1px solid #d7d7d7; }
|
||||||
|
|
||||||
|
table.dalvay-table tfoot td {
|
||||||
|
background: #f9fafa url(/img/dalvay/table/footer.png) bottom repeat-x;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.dalvay-table tfoot .bottom-left {
|
||||||
|
background: url(/img/dalvay/table/bottom-left.png) bottom left no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.dalvay-table tfoot .bottom-right {
|
||||||
|
background: url(/img/dalvay/table/bottom-right.png) bottom right no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.dalvay-table tfoot td { height: 12px; }
|
||||||
|
|
||||||
|
|
||||||
|
table.dalvay-table tr.odd td { background: #fff; }
|
||||||
|
table.dalvay-table tr.even td { background: #eee; }
|
||||||
|
table.dalvay-table tr:target td { background: yellow; }
|
||||||
|
table.dalvay-table td.curVersion { font-weight: bold; }
|
||||||
|
table.dalvay-table td.nya { text-align: center; }
|
||||||
|
|
||||||
|
table.dalvay-table td,
|
||||||
|
table.dalvay-table th {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.dalvay-table td.dl,
|
||||||
|
table.dalvay-table th.dl {
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.dalvay-table th {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
|
@ -1,6 +1,31 @@
|
||||||
function writeCurrentDictionary()
|
function writeCurrentDictionary()
|
||||||
{
|
{
|
||||||
document.writeln("<div class='corner-box'>Man, there is so going to be a special link here!</div>");
|
var q = document.location.search.substring(1);
|
||||||
|
var paramStrings = q.split("&");
|
||||||
|
var params = { };
|
||||||
|
for (var i = 0; i < paramStrings.length; i++) {
|
||||||
|
var asunder = paramStrings[i].split("=");
|
||||||
|
params[asunder[0]] = asunder[1];
|
||||||
|
}
|
||||||
|
var lang = params.lang || 'en-US';
|
||||||
|
|
||||||
|
if (!(lang in allDictionaries)) {
|
||||||
|
// Try just the language without region.
|
||||||
|
lang = lang.replace(/-.*/, "");
|
||||||
|
if (!(lang in allDictionaries))
|
||||||
|
return; // alas, nothing to be done...
|
||||||
|
}
|
||||||
|
|
||||||
|
dict = allDictionaries[lang];
|
||||||
|
document.write("<div class='corner-box'>Install dictionary");
|
||||||
|
if (dict.size)
|
||||||
|
document.write(" (", dict.size, "KB)");
|
||||||
|
document.write("<div class='install-button'><a href='",
|
||||||
|
dict.link, "'><span>", dict.entry.name);
|
||||||
|
if (dict.entry.localName != dict.entry.name)
|
||||||
|
document.write(" / ", dict.entry.localName);
|
||||||
|
document.writeln("</span></a>");
|
||||||
|
document.writeln("</div></div>");
|
||||||
}
|
}
|
||||||
|
|
||||||
function regionForCode(code)
|
function regionForCode(code)
|
||||||
|
@ -34,6 +59,9 @@ function regionForCode(code)
|
||||||
return { name: code, localName: code };
|
return { name: code, localName: code };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var allDictionariesOrdered = [];
|
||||||
|
var allDictionaries = { };
|
||||||
|
|
||||||
function addDictionary(code, link, size)
|
function addDictionary(code, link, size)
|
||||||
{
|
{
|
||||||
// Sometimes, there is more than one code in the name, yay
|
// Sometimes, there is more than one code in the name, yay
|
||||||
|
@ -46,6 +74,25 @@ function addDictionary(code, link, size)
|
||||||
}
|
}
|
||||||
|
|
||||||
var region = regionForCode(code);
|
var region = regionForCode(code);
|
||||||
document.writeln("<tr id='", code, "'><td><a href='", link, "' title='", code, "'>", region.name, ' / ',
|
var dict = {code: code, link: link, size: size, entry: region};
|
||||||
region.localName, "</td></tr>");
|
allDictionariesOrdered.push(dict);
|
||||||
|
allDictionaries[code] = dict;
|
||||||
|
}
|
||||||
|
|
||||||
|
function writeAllDictionaries()
|
||||||
|
{
|
||||||
|
for (var i = 0; i < allDictionariesOrdered.length; i++) {
|
||||||
|
var dict = allDictionariesOrdered[i];
|
||||||
|
var alt = i % 2 ? "even" : "odd";
|
||||||
|
document.write("<tr class='", alt, "'>");
|
||||||
|
document.write("<td class='left'>", dict.entry.name, "</td>");
|
||||||
|
document.write("<td>", dict.entry.localName, "</td>");
|
||||||
|
document.write("<td class='right'><a href='", dict.link,
|
||||||
|
"'>Install</a> (", dict.size, " KB)</td></tr>");
|
||||||
|
/*
|
||||||
|
document.writeln("<tr id='", dict.code, "'><td><a href='", dict.link,
|
||||||
|
"' title='", dict.code, "'>", dict.entry.name, '<br>',
|
||||||
|
dict.entry.localName, "</a> </td><td>", dict.size, "KB</td></tr>");
|
||||||
|
*/
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -1,25 +1,30 @@
|
||||||
<script src="https://www.stage.mozilla.com/js/download.js"></script>
|
<script src="https://www.mozilla.com/js/download.js"></script>
|
||||||
<script src="{$config.webpath}/js/dictionaries.js"></script>
|
<script src="{$config.webpath}/js/dictionaries.js"></script>
|
||||||
|
<script>
|
||||||
|
{section name=d loop=$dicts step=1 start=1}
|
||||||
|
addDictionary("{$dicts[d].code}", "{$dicts[d].uri}", {$dicts[d].size});
|
||||||
|
{/section}
|
||||||
|
</script>
|
||||||
|
|
||||||
<div id="mBody">
|
<div id="mBody">
|
||||||
<h1>Dictionaries</h1>
|
<h1>Dictionaries</h1>
|
||||||
|
|
||||||
<p>These dictionaries are available for use with Firefox's built-in spell-checking.</p>
|
<p>These dictionaries work with the spell-checking feature in Firefox 2.</p>
|
||||||
|
|
||||||
<script>writeCurrentDictionary();</script>
|
<script>writeCurrentDictionary();</script>
|
||||||
|
|
||||||
|
<h2>All dictionaries</h2>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
document.writeln("<table>");
|
document.writeln("<table class='dalvay-table'>");
|
||||||
{section name=d loop=$dicts step=1 start=1}
|
writeAllDictionaries();
|
||||||
addDictionary("{$dicts[d].code}", "{$dicts[d].uri}");
|
|
||||||
{/section}
|
|
||||||
document.writeln("</table>");
|
document.writeln("</table>");
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<noscript>
|
<noscript>
|
||||||
<ul>
|
<ul>
|
||||||
{section name=d loop=$dicts step=1 start=0}
|
{section name=d loop=$dicts step=1 start=0}
|
||||||
<li><a href="{$dicts[d].uri}">{$dicts[d].code}</a></li>
|
<li><a href="{$dicts[d].uri}">{$dicts[d].code}</a> ($dicts[d].size)KB)</li>
|
||||||
{/section}
|
{/section}
|
||||||
</ul>
|
</ul>
|
||||||
</noscript>
|
</noscript>
|
||||||
|
|
|
@ -515,7 +515,8 @@ class AMO_Object
|
||||||
$this->db->query("
|
$this->db->query("
|
||||||
SELECT
|
SELECT
|
||||||
REPLACE(m.guid, '{$suffix}', '') as code,
|
REPLACE(m.guid, '{$suffix}', '') as code,
|
||||||
v.uri
|
v.uri,
|
||||||
|
v.size
|
||||||
FROM
|
FROM
|
||||||
main m
|
main m
|
||||||
INNER JOIN version v ON m.id = v.id
|
INNER JOIN version v ON m.id = v.id
|
||||||
|
|
Загрузка…
Ссылка в новой задаче