summaryrefslogtreecommitdiff
path: root/web-ui/app/js/page/router/url_params.js
blob: d4fb28f54b71cb08243e4b666eff6db7b68ea1ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
define([], function () {

  function defaultTag() {
    return 'inbox';
  }

  function getDocumentHash() {
    return document.location.hash.replace(/\/$/, '');
  }

  function hashTag(hash) {
    if (hasMailIdent(hash)) {
      return /\/(.+)\/mail\/\d+$/.exec(getDocumentHash())[1];
    }
    return hash.substring(2);
  }


  function getTag() {
    if (document.location.hash !== '') {
      return hashTag(getDocumentHash());
    }
    return defaultTag();
  }

  function hasMailIdent() {
    return getDocumentHash().match(/mail\/\d+$/);
  }

  function getMailIdent() {
    return /mail\/(\d+)$/.exec(getDocumentHash())[1];
  }

  return {
    getTag: getTag,
    hasMailIdent: hasMailIdent,
    getMailIdent: getMailIdent,
    defaultTag: defaultTag
  };
});