PageSourceSearch

https://bahai-news.info/javascripts/DV/events/navigation.js

js bahai-news.info collected 2026-10-02 14:21:57 UTC 1,848 bytes, 53 lines download raw bytes

1_.extend(DV.Schema.events, {
2  handleNavigation: function(e){
3    var el          = this.viewer.$(e.target);
4    var triggerEl   = el.closest('.DV-trigger');
5    var noteEl      = el.closest('.DV-annotationMarker');
6    var chapterEl   = el.closest('.DV-chapter');
7    if (!triggerEl.length) return;
8
9    if (el.hasClass('DV-expander')) {
10      return chapterEl.toggleClass('DV-collapsed');
11
12    }else if (noteEl.length) {
13      var aid         = noteEl[0].id.replace('DV-annotationMarker-','');
14      var annotation  = this.models.annotations.getAnnotation(aid);
15      var pageNumber  = parseInt(annotation.index,10)+1;
16
17      if(this.viewer.state === 'ViewText'){
18        this.loadText(annotation.index);
19
20        // this.viewer.history.save('text/p'+pageNumber);
21      }else{
22        if (this.viewer.state === 'ViewThumbnails') {
23          this.viewer.open('ViewDocument');
24        }
25        this.viewer.pageSet.showAnnotation(annotation);
26      }
27
28    } else if (chapterEl.length) {
29      // its a header, take it to the page
30      chapterEl.removeClass('DV-collapsed');
31      var cid           = parseInt(chapterEl[0].id.replace('DV-chapter-',''), 10);
32      var chapterIndex  = parseInt(this.models.chapters.getChapterPosition(cid),10);
33      var pageNumber    = parseInt(chapterIndex,10)+1;
34
35      if(this.viewer.state === 'ViewText'){
36        this.loadText(chapterIndex);
37        // this.viewer.history.save('text/p'+pageNumber);
38      }else if(this.viewer.state === 'ViewDocument' ||
39               this.viewer.state === 'ViewThumbnails'){
40        this.helpers.jump(chapterIndex);
41        // this.viewer.history.save('document/p'+pageNumber);
42        if (this.viewer.state === 'ViewThumbnails') {
43          this.viewer.open('ViewDocument');
44        }
45      }else{
46        return false;
47      }
48
49    }else{
50      return false;
51    }
52  }
53});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.