diff options
author | Yorhel <git@yorhel.nl> | 2010-11-11 18:15:56 +0100 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2010-11-11 18:15:56 +0100 |
commit | 16fe685a3f89faa61716e5b23d0a9b2fdd30fe1f (patch) | |
tree | de7e0c395de56278a9b6bb1ff5b01a292381f56f | |
parent | 2a7236184180f24169d454396b482d923beb21b5 (diff) |
Producer release listing: added dev/pub info and expand/collapse link
It's an awesome feature now. :-)
-rw-r--r-- | data/script.js | 23 | ||||
-rw-r--r-- | data/style.css | 36 | ||||
-rw-r--r-- | lib/VNDB/DB/Releases.pm | 1 | ||||
-rw-r--r-- | lib/VNDB/Handler/Producers.pm | 14 |
4 files changed, 44 insertions, 30 deletions
diff --git a/data/script.js b/data/script.js index e8367fce..cdbac941 100644 --- a/data/script.js +++ b/data/script.js @@ -1950,6 +1950,29 @@ if(byId('expandall')) { heads[i].onclick = singletoggle; } +// expand/collapse release listing (/p+) +if(byId('expandprodrel')) { + var lnk = byId('expandprodrel'); + setexpand = function() { + var exp = !(getCookie('prodrelexpand') == 1); + setText(lnk, exp ? mt('_js_collapse') : mt('_js_expand')); + var l = byClass(byId('prodrel'), 'tr', 'rel'); + for(var i=0; i<l.length; i++) + setClass(l[i], 'hidden', !exp); + var l = byClass(byId('prodrel'), 'tr', exp ? 'vn_lst' : 'vn'); + for(var i=0; i<l.length; i++) { + setClass(l[i], 'vn', exp); + setClass(l[i], 'vn_lst', !exp); + } + }; + setexpand(); + lnk.onclick = function () { + setCookie('prodrelexpand', getCookie('prodrelexpand') == 1 ? 0 : 1); + setexpand(); + return false; + }; +} + // auto-complete tag search (/v/*) if(byId('advselect') && byId('ti')) { var trfunc = function(item, tr) { diff --git a/data/style.css b/data/style.css index 075ce00c..f7b0ab72 100644 --- a/data/style.css +++ b/data/style.css @@ -826,31 +826,17 @@ div.scr_uploader { visibility: hidden; overflow: hidden; width: 1px; height: 1px /***** Producer page/list *******/ -.prodrel table { - width: 100%; -} -.prodrel tr.vn td { - background: url($_boxbg$) repeat; - font-weight: bold; -} -.prodrel td.tc1 { - padding-left: 30px; - width: 80px; -} -.prodrel td.tc2 { - text-align: center; - width: 50px; -} -.prodrel td.tc3 { - text-align: right; - padding: 0; - width: 120px; -} -.prodrel td.tc5 { - text-align: right; - width: 25px; - padding: 0; -} +#prodrel { width: 100%; } +#prodrel tr.vn td { background: url($_boxbg$) repeat; font-weight: bold; } +#prodrel tr.vn i { display: none } +#prodrel tr.vn_lst td { padding: 1px } +#prodrel tr.vn_lst i { font-style: normal; display: block; float: left; width: 80px; padding: 0 0 0 40px; } +#prodrel td.tc1 { width: 80px; padding-left: 30px; } +#prodrel td.tc2 { width: 50px; text-align: center; } +#prodrel td.tc3 { width: 120px; text-align: right; padding: 0; } +#prodrel td.tc5 { width: 120px; color: $grayedout$; } +#prodrel td.tc6 { width: 25px; text-align: right; padding: 0; } +#expandprodrel { float: right; font-weight: bold; padding-bottom: 2px; border: none } .producerbrowse ul { float: left; diff --git a/lib/VNDB/DB/Releases.pm b/lib/VNDB/DB/Releases.pm index 466a7ab4..be954bd8 100644 --- a/lib/VNDB/DB/Releases.pm +++ b/lib/VNDB/DB/Releases.pm @@ -77,6 +77,7 @@ sub dbReleaseGet { $o{what} =~ /extended/ ? qw|rr.notes rr.catalog rr.gtin rr.resolution rr.voiced rr.freeware rr.doujin rr.ani_story rr.ani_ero r.hidden r.locked| : (), $o{what} =~ /changes/ ? (qw|c.requester c.comments r.latest u.username c.rev c.ihid c.ilock|, q|extract('epoch' from c.added) as added|) : (), + $o{pid} ? ('rp.developer', 'rp.publisher') : (), ); my $order = sprintf { diff --git a/lib/VNDB/Handler/Producers.pm b/lib/VNDB/Handler/Producers.pm index 12485629..2931e25f 100644 --- a/lib/VNDB/Handler/Producers.pm +++ b/lib/VNDB/Handler/Producers.pm @@ -129,7 +129,8 @@ sub _releases { # prodpage_(dev|pub) my $r = $self->dbReleaseGet(pid => $p->{id}, results => 999, what => 'vn platforms'); - div class => 'mainbox prodrel'; + div class => 'mainbox'; + a href => '#', id => 'expandprodrel', mt '_js_collapse'; h1 mt '_prodpage_rel'; if(!@$r) { p mt '_prodpage_norel'; @@ -146,15 +147,16 @@ sub _releases { } } - table; + table id => 'prodrel'; for my $v (@vn) { Tr class => 'vn'; - td colspan => 5; + td colspan => 6; + i; lit $self->{l10n}->datestr($vn{$v->{vid}}[0]{released}); end; a href => "/v$v->{vid}", title => $v->{original}, $v->{title}; end; end; for my $rel (@{$vn{$v->{vid}}}) { - Tr; + Tr class => 'rel'; td class => 'tc1'; lit $self->{l10n}->datestr($rel->{released}); end; td class => 'tc2', !defined($rel->{minage}) ? '' : minage $rel->{minage}; td class => 'tc3'; @@ -169,7 +171,9 @@ sub _releases { a href => "/r$rel->{id}", title => $rel->{original}||$rel->{title}, $rel->{title}; b class => 'grayedout', ' '.mt '_vnpage_rel_patch' if $rel->{patch}; end; - td class => 'tc5'; + td class => 'tc5', join ', ', + ($rel->{developer} ? mt '_prodpage_dev' : ()), ($rel->{publisher} ? mt '_prodpage_pub' : ()); + td class => 'tc6'; if($rel->{website}) { a href => $rel->{website}, rel => 'nofollow'; cssicon 'ext', mt '_vnpage_rel_extlink'; |