summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2010-11-11 18:15:56 +0100
committerYorhel <git@yorhel.nl>2010-11-11 18:15:56 +0100
commit16fe685a3f89faa61716e5b23d0a9b2fdd30fe1f (patch)
treede7e0c395de56278a9b6bb1ff5b01a292381f56f
parent2a7236184180f24169d454396b482d923beb21b5 (diff)
Producer release listing: added dev/pub info and expand/collapse link
It's an awesome feature now. :-)
-rw-r--r--data/script.js23
-rw-r--r--data/style.css36
-rw-r--r--lib/VNDB/DB/Releases.pm1
-rw-r--r--lib/VNDB/Handler/Producers.pm14
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';