~ubuntu-branches/ubuntu/trusty/python-babel/trusty

« back to all changes in this revision

Viewing changes to doc/api/epydoc.js

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2013-10-28 10:11:31 UTC
  • mfrom: (4.1.2 sid)
  • Revision ID: package-import@ubuntu.com-20131028101131-zwbmm8sc29iemmlr
Tags: 1.3-2ubuntu1
* Merge from Debian unstable.  Remaining changes:
  - debian/rules: Run the testsuite during builds.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
function toggle_private() {
2
 
        // Search for any private/public links on this page.  Store
3
 
        // their old text in "cmd," so we will know what action to
4
 
        // take; and change their text to the opposite action.
5
 
        var cmd = "?";
6
 
        var elts = document.getElementsByTagName("a");
7
 
        for(var i=0; i<elts.length; i++) {
8
 
          if (elts[i].className == "privatelink") {
9
 
            cmd = elts[i].innerHTML;
10
 
            elts[i].innerHTML = ((cmd && cmd.substr(0,4)=="show")?
11
 
                                    "hide&nbsp;private":"show&nbsp;private");
12
 
          }
13
 
        }
14
 
        // Update all DIVs containing private objects.
15
 
        var elts = document.getElementsByTagName("div");
16
 
        for(var i=0; i<elts.length; i++) {
17
 
          if (elts[i].className == "private") {
18
 
            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
19
 
          }
20
 
          else if (elts[i].className == "public") {
21
 
            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"block":"none");
22
 
          }
23
 
        }
24
 
        // Update all table rows containing private objects.  Note, we
25
 
        // use "" instead of "block" becaue IE & firefox disagree on what
26
 
        // this should be (block vs table-row), and "" just gives the
27
 
        // default for both browsers.
28
 
        var elts = document.getElementsByTagName("tr");
29
 
        for(var i=0; i<elts.length; i++) {
30
 
          if (elts[i].className == "private") {
31
 
            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"");
32
 
          }
33
 
        }
34
 
        // Update all list items containing private objects.
35
 
        var elts = document.getElementsByTagName("li");
36
 
        for(var i=0; i<elts.length; i++) {
37
 
          if (elts[i].className == "private") {
38
 
            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?
39
 
                                        "none":"");
40
 
          }
41
 
        }
42
 
        // Update all list items containing private objects.
43
 
        var elts = document.getElementsByTagName("ul");
44
 
        for(var i=0; i<elts.length; i++) {
45
 
          if (elts[i].className == "private") {
46
 
            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
47
 
          }
48
 
        }
49
 
        // Set a cookie to remember the current option.
50
 
        document.cookie = "EpydocPrivate="+cmd;
51
 
      }
52
 
function show_private() {
53
 
        var elts = document.getElementsByTagName("a");
54
 
        for(var i=0; i<elts.length; i++) {
55
 
          if (elts[i].className == "privatelink") {
56
 
            cmd = elts[i].innerHTML;
57
 
            if (cmd && cmd.substr(0,4)=="show")
58
 
                toggle_private();
59
 
          }
60
 
        }
61
 
      }
62
 
function getCookie(name) {
63
 
        var dc = document.cookie;
64
 
        var prefix = name + "=";
65
 
        var begin = dc.indexOf("; " + prefix);
66
 
        if (begin == -1) {
67
 
          begin = dc.indexOf(prefix);
68
 
          if (begin != 0) return null;
69
 
        } else
70
 
        { begin += 2; }
71
 
        var end = document.cookie.indexOf(";", begin);
72
 
        if (end == -1)
73
 
        { end = dc.length; }
74
 
        return unescape(dc.substring(begin + prefix.length, end));
75
 
      }
76
 
function setFrame(url1, url2) {
77
 
          parent.frames[1].location.href = url1;
78
 
          parent.frames[2].location.href = url2;
79
 
      }
80
 
function checkCookie() {
81
 
        var cmd=getCookie("EpydocPrivate");
82
 
        if (cmd && cmd.substr(0,4)!="show" && location.href.indexOf("#_") < 0)
83
 
            toggle_private();
84
 
      }
85
 
function toggleCallGraph(id) {
86
 
        var elt = document.getElementById(id);
87
 
        if (elt.style.display == "none")
88
 
            elt.style.display = "block";
89
 
        else
90
 
            elt.style.display = "none";
91
 
      }
92
 
function expand(id) {
93
 
  var elt = document.getElementById(id+"-expanded");
94
 
  if (elt) elt.style.display = "block";
95
 
  var elt = document.getElementById(id+"-expanded-linenums");
96
 
  if (elt) elt.style.display = "block";
97
 
  var elt = document.getElementById(id+"-collapsed");
98
 
  if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
99
 
  var elt = document.getElementById(id+"-collapsed-linenums");
100
 
  if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
101
 
  var elt = document.getElementById(id+"-toggle");
102
 
  if (elt) { elt.innerHTML = "-"; }
103
 
}
104
 
 
105
 
function collapse(id) {
106
 
  var elt = document.getElementById(id+"-expanded");
107
 
  if (elt) elt.style.display = "none";
108
 
  var elt = document.getElementById(id+"-expanded-linenums");
109
 
  if (elt) elt.style.display = "none";
110
 
  var elt = document.getElementById(id+"-collapsed-linenums");
111
 
  if (elt) { elt.innerHTML = "<br />"; elt.style.display="block"; }
112
 
  var elt = document.getElementById(id+"-toggle");
113
 
  if (elt) { elt.innerHTML = "+"; }
114
 
  var elt = document.getElementById(id+"-collapsed");
115
 
  if (elt) {
116
 
    elt.style.display = "block";
117
 
    
118
 
    var indent = elt.getAttribute("indent");
119
 
    var pad = elt.getAttribute("pad");
120
 
    var s = "<tt class='py-lineno'>";
121
 
    for (var i=0; i<pad.length; i++) { s += "&nbsp;" }
122
 
    s += "</tt>";
123
 
    s += "&nbsp;&nbsp;<tt class='py-line'>";
124
 
    for (var i=0; i<indent.length; i++) { s += "&nbsp;" }
125
 
    s += "<a href='#' onclick='expand(\"" + id;
126
 
    s += "\");return false'>...</a></tt><br />";
127
 
    elt.innerHTML = s;
128
 
  }
129
 
}
130
 
 
131
 
function toggle(id) {
132
 
  elt = document.getElementById(id+"-toggle");
133
 
  if (elt.innerHTML == "-")
134
 
      collapse(id); 
135
 
  else
136
 
      expand(id);
137
 
  return false;
138
 
}
139
 
 
140
 
function highlight(id) {
141
 
  var elt = document.getElementById(id+"-def");
142
 
  if (elt) elt.className = "py-highlight-hdr";
143
 
  var elt = document.getElementById(id+"-expanded");
144
 
  if (elt) elt.className = "py-highlight";
145
 
  var elt = document.getElementById(id+"-collapsed");
146
 
  if (elt) elt.className = "py-highlight";
147
 
}
148
 
 
149
 
function num_lines(s) {
150
 
  var n = 1;
151
 
  var pos = s.indexOf("\n");
152
 
  while ( pos > 0) {
153
 
    n += 1;
154
 
    pos = s.indexOf("\n", pos+1);
155
 
  }
156
 
  return n;
157
 
}
158
 
 
159
 
// Collapse all blocks that mave more than `min_lines` lines.
160
 
function collapse_all(min_lines) {
161
 
  var elts = document.getElementsByTagName("div");
162
 
  for (var i=0; i<elts.length; i++) {
163
 
    var elt = elts[i];
164
 
    var split = elt.id.indexOf("-");
165
 
    if (split > 0)
166
 
      if (elt.id.substring(split, elt.id.length) == "-expanded")
167
 
        if (num_lines(elt.innerHTML) > min_lines)
168
 
          collapse(elt.id.substring(0, split));
169
 
  }
170
 
}
171
 
 
172
 
function expandto(href) {
173
 
  var start = href.indexOf("#")+1;
174
 
  if (start != 0 && start != href.length) {
175
 
    if (href.substring(start, href.length) != "-") {
176
 
      collapse_all(4);
177
 
      pos = href.indexOf(".", start);
178
 
      while (pos != -1) {
179
 
        var id = href.substring(start, pos);
180
 
        expand(id);
181
 
        pos = href.indexOf(".", pos+1);
182
 
      }
183
 
      var id = href.substring(start, href.length);
184
 
      expand(id);
185
 
      highlight(id);
186
 
    }
187
 
  }
188
 
}
189
 
 
190
 
function kill_doclink(id) {
191
 
  var parent = document.getElementById(id);
192
 
  parent.removeChild(parent.childNodes.item(0));
193
 
}
194
 
function auto_kill_doclink(ev) {
195
 
  if (!ev) var ev = window.event;
196
 
  if (!this.contains(ev.toElement)) {
197
 
    var parent = document.getElementById(this.parentID);
198
 
    parent.removeChild(parent.childNodes.item(0));
199
 
  }
200
 
}
201
 
 
202
 
function doclink(id, name, targets_id) {
203
 
  var elt = document.getElementById(id);
204
 
 
205
 
  // If we already opened the box, then destroy it.
206
 
  // (This case should never occur, but leave it in just in case.)
207
 
  if (elt.childNodes.length > 1) {
208
 
    elt.removeChild(elt.childNodes.item(0));
209
 
  }
210
 
  else {
211
 
    // The outer box: relative + inline positioning.
212
 
    var box1 = document.createElement("div");
213
 
    box1.style.position = "relative";
214
 
    box1.style.display = "inline";
215
 
    box1.style.top = 0;
216
 
    box1.style.left = 0;
217
 
  
218
 
    // A shadow for fun
219
 
    var shadow = document.createElement("div");
220
 
    shadow.style.position = "absolute";
221
 
    shadow.style.left = "-1.3em";
222
 
    shadow.style.top = "-1.3em";
223
 
    shadow.style.background = "#404040";
224
 
    
225
 
    // The inner box: absolute positioning.
226
 
    var box2 = document.createElement("div");
227
 
    box2.style.position = "relative";
228
 
    box2.style.border = "1px solid #a0a0a0";
229
 
    box2.style.left = "-.2em";
230
 
    box2.style.top = "-.2em";
231
 
    box2.style.background = "white";
232
 
    box2.style.padding = ".3em .4em .3em .4em";
233
 
    box2.style.fontStyle = "normal";
234
 
    box2.onmouseout=auto_kill_doclink;
235
 
    box2.parentID = id;
236
 
 
237
 
    // Get the targets
238
 
    var targets_elt = document.getElementById(targets_id);
239
 
    var targets = targets_elt.getAttribute("targets");
240
 
    var links = "";
241
 
    target_list = targets.split(",");
242
 
    for (var i=0; i<target_list.length; i++) {
243
 
        var target = target_list[i].split("=");
244
 
        links += "<li><a href='" + target[1] + 
245
 
               "' style='text-decoration:none'>" +
246
 
               target[0] + "</a></li>";
247
 
    }
248
 
  
249
 
    // Put it all together.
250
 
    elt.insertBefore(box1, elt.childNodes.item(0));
251
 
    //box1.appendChild(box2);
252
 
    box1.appendChild(shadow);
253
 
    shadow.appendChild(box2);
254
 
    box2.innerHTML =
255
 
        "Which <b>"+name+"</b> do you want to see documentation for?" +
256
 
        "<ul style='margin-bottom: 0;'>" +
257
 
        links + 
258
 
        "<li><a href='#' style='text-decoration:none' " +
259
 
        "onclick='kill_doclink(\""+id+"\");return false;'>"+
260
 
        "<i>None of the above</i></a></li></ul>";
261
 
  }
262
 
  return false;
263
 
}
264
 
 
265
 
function get_anchor() {
266
 
          var href = location.href;
267
 
          var start = href.indexOf("#")+1;
268
 
          if ((start != 0) && (start != href.length))
269
 
              return href.substring(start, href.length);
270
 
      }
271
 
function redirect_url(dottedName) {
272
 
          // Scan through each element of the "pages" list, and check
273
 
          // if "name" matches with any of them.
274
 
          for (var i=0; i<pages.length; i++) {
275
 
 
276
 
              // Each page has the form "<pagename>-m" or "<pagename>-c";
277
 
              // extract the <pagename> portion & compare it to dottedName.
278
 
              var pagename = pages[i].substring(0, pages[i].length-2);
279
 
              if (pagename == dottedName.substring(0,pagename.length)) {
280
 
 
281
 
                  // We've found a page that matches `dottedName`;
282
 
                  // construct its URL, using leftover `dottedName`
283
 
                  // content to form an anchor.
284
 
                  var pagetype = pages[i].charAt(pages[i].length-1);
285
 
                  var url = pagename + ((pagetype=="m")?"-module.html":
286
 
                                                        "-class.html");
287
 
                  if (dottedName.length > pagename.length)
288
 
                      url += "#" + dottedName.substring(pagename.length+1,
289
 
                                                        dottedName.length);
290
 
                  return url;
291
 
              }
292
 
          }
293
 
      }