1
var crossroads = require('crossroads');
2
var hasher = require('hasher');
4
var translator = require('ot-translator');
5
var Event = require('ot-event');
8
var PouchDB = require('pouchdb-browser');
9
$(["test", "test2", "anonymous"]).each(function (i, username) {
10
new PouchDB("private_" + username).destroy();
11
new PouchDB("shared_lists_" + username).destroy();
15
//other properties set when logged in are:
19
// private: new PouchDB('...'),
20
// shared_lists: new PouchDB('...'),
22
// - onUserDbChanges = {
23
// private: function (callback) {...; return function cancel() {...};},
24
// shared_lists: function (callback) {...; return function cancel() {...};},
27
//when redirecting to the login page, you can set:
28
//- next (with a url as accepted by hasher.setHash)
29
languageChanged: new Event(),
30
languageChangeDone: new Event(),
36
exports.session.languageChanged.handle(function () {
37
var otWeb = _("OpenTeacher Web");
39
document.title = otWeb;
40
$("#header-title").text(otWeb);
42
$("#license-and-source-link").text(_("License information and source code"));
45
function translate() {
46
//browserLanguage for IE
47
lang = navigator.language || navigator.browserLanguage;
48
translator(translationIndex, lang, function (tr) {
49
// nicer than exporting and using 'main._' everywhere
51
exports.session.languageChanged.send();
52
exports.session.languageChangeDone.send();
57
exports.session.languageChangeDone.handle(function () {
59
crossroads.ignoreState = true;
60
function parseHash(newHash, oldHash) {
61
crossroads.parse(newHash);
63
hasher.initialized.add(parseHash);
64
hasher.changed.add(parseHash);
68
//when there's no hash path to specify otherwise, go to the
70
hasher.replaceHash("login");