123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240 |
- String.prototype.trim = function() {
- return this.replace(/^\s+|\s+$/g,"");
- }
- String.prototype.trimLeft = function() {
- return this.replace(/^\s+/,"");
- }
- String.prototype.trimRight = function() {
- return this.replace(/\s+$/,"");
- }
- //Demos file list (in order of presentation)
- //THe page name is formed from the file name.
- var fileList = [
- 'Basic_swipe.html',
- 'Single_swipe.html',
- 'Any_finger_swipe.html',
- 'Finger_swipe.html',
- 'Swipe_status.html',
- 'Pinch.html',
- 'Pinch_status.html',
- 'Pinch_and_Swipe.html',
- 'Trigger_handlers.html',
- 'Stop_propagation.html',
- 'Handlers_and_events.html',
- 'Tap_vs_swipe.html',
- 'Hold.html',
- 'Excluded_children.html',
- 'Page_zoom.html',
- 'Thresholds.html',
- 'Enable_and_destroy.html',
- 'Page_scrolling.html',
- 'Options.html',
- 'Image_gallery_example.html'
- ];
- /**
- * Builds the demo page
- */
- function init() {
- buildTitle();
- buildCodeExample();
- buildNavigation();
- }
- /**
- * Creates the navigation components
- */
- function buildNavigation() {
- $('.navigation').each(function( index ) {
- $(this).html( getNavigation() );
- });
- $('.navigation_menu').each(function( index ) {
- $(this).html( getNavigationMenu() );
- })
- $('.navigation_list').each(function( index ) {
- $(this).html( getNavigationList() );
- })
- $('#menu').change( function() {
- location.href=$(this).val();
- });
- $('#menu li').click( function() {
- location.href=$(this).val();
- });
- $('.example_btn').click( function() {
- $(document).scrollTop( $("#test").offset().top );
- });
- $('.events code').click( function() {
- location.href = '../docs/%24.fn.swipe.html#event:' + $(this).text();
- });
- $('.properties code').click( function() {
- location.href = '../docs/%24.fn.swipe.defaults.html#' + $(this).text();
- });
- $('.methods code').click( function() {
- location.href = '../docs/%24.fn.swipe.html#' + $(this).text();
- });
- }
- /**
- * Builds the title element
- */
- function buildTitle() {
- $('.title').each(function( index ) {
- $(this).html( getTitle() );
- })
- }
- /**
- * Copies the <script> tag contents, and populates the demo pretty print div to display the
- * code example.
- */
- function buildCodeExample() {
- $('.prettyprint').each(function( index ) {
- //$(this).text( $("#"+$(this).attr('data-src')).html() );
- var src = $("#"+$(this).attr('data-src')).html();
- if(src) {
- var lines = src.split("\n");
- var trimedLines=[];
- var trimIndex=null;
- for (var i=0; i<lines.length; i++) {
- var line = lines[i];
- if(trimIndex===null) {
- var trimmed = line.trimLeft();
- if(line.length>0) {
- trimIndex = line.length - trimmed.length;
- }
- }
- if(line.length>0) {
- //Tabs to spaces
- line = line.replace(/\t/g, ' '); //not using $nbsp; as we want to display HTML tags, so we set the text value, not html
- trimedLines.push( line.substr(trimIndex) );
- }
- };
- var html = trimedLines.join("\n");
- $(this).text( html );
- }
- });
- //prettyPrint();
- }
- /**
- * Returns the current file being viewed.
- */
- function getCurrentFile() {
- var url = window.location.pathname;
- var file = url.substring(url.lastIndexOf('/')+1);
- return file;
- }
- /**
- * Returns the current page name
- */
- function getPageName( file ) {
- if(!file)
- file=getCurrentFile();
- var fileTokens = file.split("_");
- var fileName = fileTokens.join(" ");
- var nameTokens = fileName.split(".");
- nameTokens.pop();
- var name = nameTokens.join(" ");
- return name;
- }
- /**
- * Writes out the page title template
- */
- function getTitle() {
- var html = "<h2><a href=\"http://labs.rampinteractive.co.uk/touchSwipe/\">TouchSwipe</a> Demo</h2>";
- html += "<h3>to be viewed on touch based devices</h3>";
- html += "<h1>"+getPageName()+"<span class='navigation_menu pull-right'></span></h1>";
- return html;
- }
- /**
- * Returns HTML mark up for the pagination buttons
- */
- function getNavigation() {
- var index = fileList.indexOf( getCurrentFile() );
- var html ="<div class='pagination'>";
- if(index>0) {
- html += "<a class='pull-left btn' href='"+fileList[index-1]+"'><< "+getPageName(fileList[index-1])+"</a>";
- }
- if(index<fileList.length-1) {
- html += "<a class='pull-right btn' href='"+fileList[index+1]+"'>"+getPageName(fileList[index+1])+" >></a>";
- }
- html += "</div><div class='clear'></div>"
- return html;
- }
- /**
- * Returns HTML mark up for the drop down menu
- */
- function getNavigationMenu() {
- var html = "<select id='menu' class='pull_right'>";
- for(var i=0; i<fileList.length; i++) {
- var selected="";
- if(fileList[i] == getCurrentFile()) {
- selected=' selected ';
- }
- html+="<option value='"+fileList[i]+"'"+selected+">"+getPageName(fileList[i])+"</option>";
- }
- html += "</select>";
- return html;
- }
- /**
- * Returns HTML mark up for the list menu
- */
- function getNavigationList() {
- var html = "<ul>";
- for(var i=0; i<fileList.length; i++) {
- html+="<li><a href='"+fileList[i]+"'>"+getPageName(fileList[i])+"</a></li>";
- }
- html += "</ul>";
- return html;
- }
- $(function() {
- init();
- });
|