summaryrefslogtreecommitdiffstats
path: root/theme/javascript/core/font-settings.js
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2015-10-05 12:07:02 +0200
committerSamy Pessé <samypesse@gmail.com>2015-10-05 12:07:02 +0200
commit801e1b6059695a04134b513fef5f3051dab6cf5a (patch)
tree3d09bcee2a8421c01aa65ac7283d6e078d097b39 /theme/javascript/core/font-settings.js
parent14bb659b754e6da17cb8910a119d4d52c354776f (diff)
downloadgitbook-801e1b6059695a04134b513fef5f3051dab6cf5a.zip
gitbook-801e1b6059695a04134b513fef5f3051dab6cf5a.tar.gz
gitbook-801e1b6059695a04134b513fef5f3051dab6cf5a.tar.bz2
Add api to extend toolbar
Diffstat (limited to 'theme/javascript/core/font-settings.js')
-rw-r--r--theme/javascript/core/font-settings.js103
1 files changed, 0 insertions, 103 deletions
diff --git a/theme/javascript/core/font-settings.js b/theme/javascript/core/font-settings.js
deleted file mode 100644
index 63177ee..0000000
--- a/theme/javascript/core/font-settings.js
+++ /dev/null
@@ -1,103 +0,0 @@
-define([
- "jQuery",
- "utils/storage"
-], function($, storage) {
- var fontState;
-
- var THEMES = {
- "white": 0,
- "sepia": 1,
- "night": 2
- };
-
- var FAMILY = {
- "serif": 0,
- "sans": 1
- };
-
- var enlargeFontSize = function(e){
- if (fontState.size < 4){
- fontState.size++;
- fontState.save();
- }
- };
-
- var reduceFontSize = function(e){
- if (fontState.size > 0){
- fontState.size--;
- fontState.save();
- }
- };
-
- var changeFontFamily = function(){
- var index = $(this).data("font");
-
- fontState.family = index;
- fontState.save();
- };
-
- var changeColorTheme = function(){
- var $book = $(".book");
- var index = $(this).data("theme");
-
- if (fontState.theme !== 0)
- $book.removeClass("color-theme-"+fontState.theme);
-
- fontState.theme = index;
- if (fontState.theme !== 0)
- $book.addClass("color-theme-"+fontState.theme);
-
- fontState.save();
- };
-
- var update = function() {
- var $book = $(".book");
-
- $(".font-settings .font-family-list li").removeClass("active");
- $(".font-settings .font-family-list li:nth-child("+(fontState.family+1)+")").addClass("active");
-
- $book[0].className = $book[0].className.replace(/\bfont-\S+/g, '');
- $book.addClass("font-size-"+fontState.size);
- $book.addClass("font-family-"+fontState.family);
-
- if(fontState.theme !== 0) {
- $book[0].className = $book[0].className.replace(/\bcolor-theme-\S+/g, '');
- $book.addClass("color-theme-"+fontState.theme);
- }
- };
-
- var init = function(config) {
- var $toggle, $bookBody, $dropdown, $book;
-
- //Find DOM elements.
- $book = $(".book");
- $toggle = $(".book-header .toggle-font-settings");
- $dropdown = $("#font-settings-wrapper .dropdown-menu");
- $bookBody = $(".book-body");
-
- // Instantiate font state object
- fontState = storage.get("fontState", {
- size: config.size || 2,
- family: FAMILY[config.family || "sans"],
- theme: THEMES[config.theme || "white"]
- });
- fontState.save = function(){
- storage.set("fontState",fontState);
- update();
- };
-
- update();
-
- //Add event listeners
- $(document).on('click', "#enlarge-font-size", enlargeFontSize);
- $(document).on('click', "#reduce-font-size", reduceFontSize);
-
- $(document).on('click', "#font-settings-wrapper .font-family-list .button", changeFontFamily);
- $(document).on('click', "#font-settings-wrapper .color-theme-list .button", changeColorTheme);
- };
-
- return {
- init: init,
- update: update
- }
-}); \ No newline at end of file