From 2301f0d2c726a1352494ad0f3bba8c5138b4fedd Mon Sep 17 00:00:00 2001 From: Yorhel Date: Wed, 21 Oct 2009 13:37:42 +0200 Subject: Wrote producer relation editor interface Again, mostly copied from the VN relation editor... --- data/lang.txt | 48 ++++++++++++++++++++++++ data/script.js | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ data/style.css | 10 +++++ 3 files changed, 173 insertions(+) (limited to 'data') diff --git a/data/lang.txt b/data/lang.txt index 9d7bf027..df894718 100644 --- a/data/lang.txt +++ b/data/lang.txt @@ -2296,6 +2296,54 @@ ru*: cs*: hu*: +:_pedit_rel_sel +en : Selected producers +ru*: +cs*: +hu*: + +:_pedit_rel_add +en : Add producer +ru*: +cs*: +hu*: + +:_pedit_rel_addbut +en : add +ru*: +cs*: +hu*: + +:_pedit_rel_del +en : remove +ru*: +cs*: +hu*: + +:_pedit_rel_none +en : Nothing selected. +ru*: +cs*: +hu*: + +:_pedit_rel_findformat +en : Producer textbox should start with an ID (e.g. "p7:") +ru*: +cs*: +hu*: + +:_pedit_rel_notfound +en : Producer not found +ru*: +cs*: +hu*: + +:_pedit_rel_double +en : Producer already selected! +ru*: +cs*: +hu*: + # Browse/search producers diff --git a/data/script.js b/data/script.js index a6600f9f..8ab9b003 100644 --- a/data/script.js +++ b/data/script.js @@ -5,6 +5,7 @@ * iv -> image viewer * jt -> Javascript Tabs * med -> Release media selector + * prr -> Producer relation editor * rl -> Release List dropdown * rpr -> Release <-> producer linking * rvn -> Release <-> visual novel linking @@ -1533,6 +1534,120 @@ if(byId('jt_box_rel_prod')) +/* P R O D U C E R R E L A T I O N S (/p+/edit) */ + +function prrLoad() { + // read the current relations + var rels = byId('prodrelations').value.split('|||'); + for(var i=0; i1; i++) { + var rel = rels[i].split(',', 3); + prrAdd(rel[0], rel[1], rel[2]); + } + prrEmpty(); + + // bind the add-link + byName(byClass(byId('relation_new'), 'td', 'tc_add')[0], 'a')[0].onclick = prrFormAdd; + + // dropdown + dsInit(byName(byClass(byId('relation_new'), 'td', 'tc_prod')[0], 'input')[0], '/xml/producers.xml?q=', function(item, tr) { + tr.appendChild(tag('td', { style: 'text-align: right; padding-right: 5px'}, 'p'+item.getAttribute('id'))); + tr.appendChild(tag('td', shorten(item.firstChild.nodeValue, 40))); + }, function(item) { + return 'p'+item.getAttribute('id')+':'+item.firstChild.nodeValue; + }, prrFormAdd); +} + +function prrAdd(rel, pid, title) { + var sel = tag('select', {onchange: prrSerialize}); + var ops = byName(byClass(byId('relation_new'), 'td', 'tc_rel')[0], 'select')[0].options; + for(var i=0; i