X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=Tom-Marble%2Fdeck.js%2Fextensions%2Fgoto%2Fdeck.goto.js;fp=Tom-Marble%2Fdeck.js%2Fextensions%2Fgoto%2Fdeck.goto.js;h=6a90f16cd32985c3381643bf7860ab69de0e0d37;hb=d0f6c3cd6fa0c1b7dc83f3ae3d548209e4f1c6fd;hp=0000000000000000000000000000000000000000;hpb=8048db2de1e49dc68c0c2f8b2e133fe4a43dbd70;p=lp17-speaker-slides.git diff --git a/Tom-Marble/deck.js/extensions/goto/deck.goto.js b/Tom-Marble/deck.js/extensions/goto/deck.goto.js new file mode 100644 index 0000000..6a90f16 --- /dev/null +++ b/Tom-Marble/deck.js/extensions/goto/deck.goto.js @@ -0,0 +1,190 @@ +/*! +Deck JS - deck.goto +Copyright (c) 2011-2014 Caleb Troughton +Dual licensed under the MIT license. +https://github.com/imakewebthings/deck.js/blob/master/MIT-license.txt +*/ + +/* +This module adds the necessary methods and key bindings to show and hide a form +for jumping to any slide number/id in the deck (and processes that form +accordingly). The form-showing state is indicated by the presence of a class on +the deck container. +*/ +(function($, undefined) { + var $document = $(document); + var rootCounter; + + var bindKeyEvents = function() { + $document.unbind('keydown.deckgoto'); + $document.bind('keydown.deckgoto', function(event) { + var key = $.deck('getOptions').keys.goto; + if (event.which === key || $.inArray(event.which, key) > -1) { + event.preventDefault(); + $.deck('toggleGoTo'); + } + }); + }; + + var populateDatalist = function() { + var options = $.deck('getOptions'); + var $datalist = $(options.selectors.gotoDatalist); + + $.each($.deck('getSlides'), function(i, $slide) { + var id = $slide.attr('id'); + if (id) { + $datalist.append('