Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function TableOfContents () {
- this.getSections = function() {
- /*
- - return an array of section objects
- - in case there there is no table of content, return an empty array
- */
- }
- this.scrollToSection = function(index: number) {
- /*
- - scroll to a section with index in array returned by this.getSections
- - perform change to the page so that the section become available for reading, such as expanding the collapsed section
- */
- }
- // OPTIONAL
- this.visibleSectionIndexes = function() {
- /*
- - return an array of visible section's indexes
- - in case there there is no table of content, return an empty array
- */
- }
- // OPTIONAL
- this.startVisibleSectionCallBack = function () {
- /*
- - start page visible section call back
- - using this call back, the reader app could know which section is currently visible to the user and highlighting the location in table of content
- - implementation to be discussed. It might not be a good idea to modify window.onscroll directly
- */
- var handleScroll = function() {
- var visible = tableOfContents.visibleSectionIndexes();
- if (visible.length > 0) {
- window.location = 'pagescroll:scrollEnded?start=' + visible[0] + '&length=' + visible.length;
- }
- }
- window.onscroll = handleScroll;
- handleScroll();
- }
- // OPTIONAL
- this.stopVisibleSectionCallBack = function () {
- /*
- - stop page visible section call back
- */
- window.onscroll = undefined;
- }
- }
- function Section(title: string, level: number) {}
Add Comment
Please, Sign In to add comment