]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/js/ui/default/booking/common.js
LP 1779467: Fix SyntaxError: missing ) after argument list
[working/Evergreen.git] / Open-ILS / web / js / ui / default / booking / common.js
1 dojo.require("dijit.form.Button");
2
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.
7  */
8 function init_auto_l10n(el) {
9     function do_it(myel, cls) {
10         if (cls) {
11             var clss = cls.split(" ");
12             for (var k in clss) {
13                 var parts = clss[k].match(/^AUTO_ATTR_([A-Z]+)_.+$/);
14                 if (parts && localeStrings[clss[k]]) {
15                     myel.setAttribute(
16                         parts[1].toLowerCase(), localeStrings[clss[k]]
17                     );
18                 } else if (clss[k].match(/^AUTO_/) && localeStrings[clss[k]]) {
19                     myel.innerHTML = localeStrings[clss[k]];
20                 }
21             }
22         }
23     }
24
25     for (var i in el.attributes) {
26         if (el.attributes[i].nodeName == "class") {
27             do_it(el, el.attributes[i].value);
28             break;
29         }
30     }
31     for (var i in el.childNodes) {
32         if (el.childNodes[i].nodeType == 1) { // element node?
33             init_auto_l10n(el.childNodes[i]); // recurse!
34         }
35     }
36 }
37
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());
45     return name;
46 }
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];
52 }
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];
59 }
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");
63 }
64 function my_ils_error(leader, e) {
65     var s = leader + "\n";
66     var keys = [
67         "ilsevent", "desc", "textcode", "servertime", "pid", "stacktrace"
68     ];
69     for (var i in keys) {
70         if (e[keys[i]]) s += ("\t" + keys[i] + ": " + e[keys[i]] + "\n");
71     }
72     return s;
73 }
74 function set_datagrid_empty_store(grid, flattener) {
75     grid.setStore(
76         new dojo.data.ItemFileReadStore(
77             {"data": flattener([])}
78         )
79     );
80 }