Skip to content

Instantly share code, notes, and snippets.

@ahirschberg
Last active August 29, 2015 14:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ahirschberg/4956646ad8b5bf3f8310 to your computer and use it in GitHub Desktop.
Save ahirschberg/4956646ad8b5bf3f8310 to your computer and use it in GitHub Desktop.
All the objects used in LibriFox
function createApp () {
'use strict';
// Create objects
var settings = new SettingsManager({
asyncStorage: asyncStorage
}),
mediaManager = new MediaManager(),
fileManager = new FileManager({
storage_device: lf_getDeviceStorage(),
mediaManager: mediaManager
}),
httpRequestHandler = new HttpRequestHandler(),
player = new Player({
fileManager: fileManager
}),
deviceStoragesManager = new DeviceStoragesManager({
settings: settings,
fileManager: fileManager
}),
bookReferenceManager = new BookReferenceManager({
asyncStorage: asyncStorage,
fileManager: fileManager
}),
bookStorageManager = new BookStorageManager({
deviceStoragesManager: deviceStoragesManager,
referenceManager: bookReferenceManager
}),
fsBookReferenceManager = new FilesystemBookReferenceManager({
deviceStoragesManager: deviceStoragesManager,
mediaManager: mediaManager,
bookReferenceManager: bookReferenceManager
}),
playerProgressManager = new PlayerProgressManager({
player: player,
referenceManager: bookReferenceManager
}),
bookDownloadManager = new BookDownloadManager({
httpRequestHandler: httpRequestHandler,
storageManager: bookStorageManager,
fileManager: fileManager
}),
bookPlayerPageGenerator = new BookPlayerPageGenerator({
fileManager: fileManager,
player: player
}),
storedBookPageGenerator = new StoredBookPageGenerator({
player_data_handle: bookPlayerPageGenerator.getDataHandle(),
}),
searchedBookPageGenerator = new SearchedBookPageGenerator({
httpRequestHandler: httpRequestHandler,
selectors: {
page: '#searchedBookPage',
list: '.searched-chapters-list',
book_title: '.book-title-disp',
book_description: '.book-desc-disp',
footer_alert: '#stored-chapters-shortcut-footer'
},
bookDownloadManager: bookDownloadManager,
fsBookReferenceManager: fsBookReferenceManager,
stored_chapters_data_handle: storedBookPageGenerator.getDataHandle()
}),
searchResultsPageGenerator = new SearchResultsPageGenerator({
httpRequestHandler: httpRequestHandler,
sr_chapters_data_handle: searchedBookPageGenerator.getDataHandle()
}),
storedBooksListPageGenerator = new StoredBooksListPageGenerator({
bookReferenceManager: bookReferenceManager,
fsBookReferenceManager: fsBookReferenceManager,
stored_chapters_data_handle: storedBookPageGenerator.getDataHandle(),
player: player
}),
settingsPageGenerator = new SettingsPageGenerator({
settings: settings,
deviceStoragesManager: deviceStoragesManager
});
// Register events (pagecreate, pageshow, etc)
storedBooksListPageGenerator.registerEvents({
list: '#stored-books-list',
page: '#storedBooksList',
});
storedBookPageGenerator.registerEvents({
header_title: '.book-title',
list: '#stored-chapters-list',
page: '#storedBookPage',
book_actions_popup: '#chapterActionsMenu'
});
bookPlayerPageGenerator.registerEvents({
page: '#bookPlayer',
header: '.player-header',
controls: {
container: '.player-controls',
play: '.play',
next: '.next',
stepback: '.back-30',
position: '.time-slider',
position_text: '.time-readout',
duration_text: '.total-duration-readout'
}
});
searchResultsPageGenerator.registerEvents({
page: "#bookSearch",
form: "#search-form",
search: "#books-search-bar",
results_list: '#results-listing',
settings_popup: '#search-settings',
no_results_msg: '.no-available-books'
});
searchedBookPageGenerator.registerEvents();
settingsPageGenerator.registerEvents({
page: '#mainSettings',
folder_path_form: '#user-folder-form'
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment