1 dojo.require("dijit.form.Button");
3 /* Quick and dirty way to localize some strings; not recommended for reuse.
4 * I'm sure dojo provides a better mechanism for this, but at the moment
5 * this is faster to implement anew than figuring out the Right way to do
6 * the same thing w/ dojo.
8 function init_auto_l10n(el) {
9 function do_it(myel, cls) {
11 var clss = cls.split(" ");
13 var parts = clss[k].match(/^AUTO_ATTR_([A-Z]+)_.+$/);
14 if (parts && localeStrings[clss[k]]) {
16 parts[1].toLowerCase(), localeStrings[clss[k]]
18 } else if (clss[k].match(/^AUTO_/) && localeStrings[clss[k]]) {
19 myel.innerHTML = localeStrings[clss[k]];
25 for (var i in el.attributes) {
26 if (el.attributes[i].nodeName == "class") {
27 do_it(el, el.attributes[i].value);
31 for (var i in el.childNodes) {
32 if (el.childNodes[i].nodeType == 1) { // element node?
33 init_auto_l10n(el.childNodes[i]); // recurse!
38 function get_keys(L) { var K = []; for (var k in L) K.push(k); return K; }
39 function hide_dom_element(e) { e.style.display = "none"; };
40 function reveal_dom_element(e) { e.style.display = ""; };
41 function formal_name(u) {
42 var name = u.family_name() + ", " + u.first_given_name();
43 if (u.second_given_name())
44 name += (" " + u.second_given_name());
47 function humanize_timestamp_string(ts) {
48 /* For now, this discards time zones. */
49 var parts = ts.split("T");
50 var timeparts = parts[1].split("-")[0].split(":");
51 return parts[0] + " " + timeparts[0] + ":" + timeparts[1];
53 function humanize_timestamp_string2(ts) {
54 /* For now, this discards time zones, too. */
55 var parts = ts.split(" ");
56 parts[1] = parts[1].replace(/[\-\+]\d+$/, "");
57 var timeparts = parts[1].split("-")[0].split(":");
58 return parts[0] + " " + timeparts[0] + ":" + timeparts[1];
60 function is_ils_event(e) { return (e.ilsevent != undefined); }
61 function is_ils_actor_card_error(e) {
62 return (e.textcode == "ACTOR_CARD_NOT_FOUND");
64 function my_ils_error(leader, e) {
65 var s = leader + "\n";
67 "ilsevent", "desc", "textcode", "servertime", "pid", "stacktrace"
70 if (e[keys[i]]) s += ("\t" + keys[i] + ": " + e[keys[i]] + "\n");
74 function set_datagrid_empty_store(grid, flattener) {
76 new dojo.data.ItemFileReadStore(
77 {"data": flattener([])}