diff options
author | Samy Pessé <samypesse@gmail.com> | 2014-08-10 11:04:10 -0700 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2014-08-11 07:36:51 -0700 |
commit | 691d04e99470e566eb11e9e58fe8109eeda6094c (patch) | |
tree | 7b10d1e7ff105ef9a6b37b46f1d4f0af514d3ed3 /theme/javascript | |
parent | a54959ee4f879ea83a4a2f1e1457d0d3ca9836d5 (diff) | |
download | gitbook-691d04e99470e566eb11e9e58fe8109eeda6094c.zip gitbook-691d04e99470e566eb11e9e58fe8109eeda6094c.tar.gz gitbook-691d04e99470e566eb11e9e58fe8109eeda6094c.tar.bz2 |
Improve dropdown to make it global
Add dropdown for sharing
Diffstat (limited to 'theme/javascript')
-rw-r--r-- | theme/javascript/core/font-settings.js | 18 | ||||
-rwxr-xr-x | theme/javascript/gitbook.js | 6 | ||||
-rw-r--r-- | theme/javascript/utils/dropdown.js | 27 | ||||
-rwxr-xr-x | theme/javascript/utils/sharing.js | 2 |
4 files changed, 33 insertions, 20 deletions
diff --git a/theme/javascript/core/font-settings.js b/theme/javascript/core/font-settings.js index 9df15f7..63177ee 100644 --- a/theme/javascript/core/font-settings.js +++ b/theme/javascript/core/font-settings.js @@ -15,20 +15,6 @@ define([ "sans": 1 }; - var togglePopover = function(e) { - var $dropdown = $("#font-settings-wrapper .dropdown-menu"); - - $dropdown.toggleClass("open"); - e.stopPropagation(); - e.preventDefault(); - }; - - var closePopover = function(e) { - var $dropdown = $("#font-settings-wrapper .dropdown-menu"); - - $dropdown.removeClass("open"); - }; - var enlargeFontSize = function(e){ if (fontState.size < 4){ fontState.size++; @@ -108,10 +94,6 @@ define([ $(document).on('click', "#font-settings-wrapper .font-family-list .button", changeFontFamily); $(document).on('click', "#font-settings-wrapper .color-theme-list .button", changeColorTheme); - - $(document).on('click', ".book-header .toggle-font-settings", togglePopover); - $(document).on('click', "#font-settings-wrapper .dropdown-menu", function(e){ e.stopPropagation(); }); - $(document).on("click", closePopover); }; return { diff --git a/theme/javascript/gitbook.js b/theme/javascript/gitbook.js index 02a55fa..d0741cb 100755 --- a/theme/javascript/gitbook.js +++ b/theme/javascript/gitbook.js @@ -2,6 +2,7 @@ define([ "jQuery", "utils/storage", "utils/sharing", + "utils/dropdown", "core/events", "core/font-settings", @@ -11,7 +12,7 @@ define([ "core/progress", "core/sidebar", "core/search" -], function($, storage, sharing, events, fontSettings, state, keyboard, navigation, progress, sidebar, search){ +], function($, storage, sharing, dropdown, events, fontSettings, state, keyboard, navigation, progress, sidebar, search){ var start = function(config) { var $book; $book = state.$book; @@ -33,6 +34,9 @@ define([ // Bind sharing button sharing.init(); + // Bind dropdown + dropdown.init(); + // Init navigation navigation.init(); diff --git a/theme/javascript/utils/dropdown.js b/theme/javascript/utils/dropdown.js new file mode 100644 index 0000000..fe4e1f4 --- /dev/null +++ b/theme/javascript/utils/dropdown.js @@ -0,0 +1,27 @@ +define([ + "jQuery" +], function($) { + + var toggleDropdown = function(e) { + var $dropdown = $(e.currentTarget).parent().find(".dropdown-menu"); + + $dropdown.toggleClass("open"); + e.stopPropagation(); + e.preventDefault(); + }; + + var closeDropdown = function(e) { + $(".dropdown-menu").removeClass("open"); + }; + + // Bind all dropdown + var init = function() { + $(document).on('click', ".toggle-dropdown", toggleDropdown); + $(document).on('click', ".dropdown-menu", function(e){ e.stopPropagation(); }); + $(document).on("click", closeDropdown); + }; + + return { + init: init + }; +}); diff --git a/theme/javascript/utils/sharing.js b/theme/javascript/utils/sharing.js index 4889b40..1d133d3 100755 --- a/theme/javascript/utils/sharing.js +++ b/theme/javascript/utils/sharing.js @@ -22,7 +22,7 @@ define([ // Bind all sharing button var init = function() { - $(document).on("click", "a[data-sharing]", function(e) { + $(document).on("click", "a[data-sharing],button[data-sharing]", function(e) { if (e) e.preventDefault(); var type = $(this).data("sharing"); |