From 438912c0c4a4075a5cd74cf9689451c9df4bbe34 Mon Sep 17 00:00:00 2001 From: Alib Date: Mon, 15 Mar 2010 17:56:22 +0100 Subject: New Jquery branch. Initial development version for istreamdev 1.0 --- .../.svn/text-base/jqt.autotitles.js.svn-base | 51 ++++++++++++ .../.svn/text-base/jqt.floaty.js.svn-base | 92 ++++++++++++++++++++ .../.svn/text-base/jqt.location.js.svn-base | 68 +++++++++++++++ .../.svn/text-base/jqt.offline.js.svn-base | 97 ++++++++++++++++++++++ 4 files changed, 308 insertions(+) create mode 100644 themes/extensions/.svn/text-base/jqt.autotitles.js.svn-base create mode 100644 themes/extensions/.svn/text-base/jqt.floaty.js.svn-base create mode 100644 themes/extensions/.svn/text-base/jqt.location.js.svn-base create mode 100644 themes/extensions/.svn/text-base/jqt.offline.js.svn-base (limited to 'themes/extensions/.svn/text-base') diff --git a/themes/extensions/.svn/text-base/jqt.autotitles.js.svn-base b/themes/extensions/.svn/text-base/jqt.autotitles.js.svn-base new file mode 100644 index 0000000..74ba6f8 --- /dev/null +++ b/themes/extensions/.svn/text-base/jqt.autotitles.js.svn-base @@ -0,0 +1,51 @@ +/* + + _/ _/_/ _/_/_/_/_/ _/ + _/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/ + _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ + _/ + _/ + + Created by David Kaneda + Documentation and issue tracking on Google Code + + Special thanks to Jonathan Stark + and pinch/zoom + + (c) 2009 by jQTouch project members. + See LICENSE.txt for license. + +*/ + +(function($) { + if ($.jQTouch) + { + $.jQTouch.addExtension(function AutoTitles(jQT){ + + var titleSelector='.toolbar h1'; + + $(function(){ + $('#jqt').bind('pageAnimationStart', function(e, data){ + if (data.direction === 'in'){ + var $title = $(titleSelector, $(e.target)); + var $ref = $(e.target).data('referrer'); + if ($title.length && $ref){ + $title.html($ref.text()); + } + } + }); + }); + + function setTitleSelector(ts){ + titleSelector=ts; + } + + return { + setTitleSelector: setTitleSelector + } + + }); + } +})(jQuery); \ No newline at end of file diff --git a/themes/extensions/.svn/text-base/jqt.floaty.js.svn-base b/themes/extensions/.svn/text-base/jqt.floaty.js.svn-base new file mode 100644 index 0000000..63fb5e6 --- /dev/null +++ b/themes/extensions/.svn/text-base/jqt.floaty.js.svn-base @@ -0,0 +1,92 @@ +/* + + _/ _/_/ _/_/_/_/_/ _/ + _/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/ + _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ + _/ + _/ + + Created by David Kaneda + Documentation and issue tracking on Google Code + + Special thanks to Jonathan Stark + and pinch/zoom + + (c) 2009 by jQTouch project members. + See LICENSE.txt for license. + +*/ + +(function($) { + if ($.jQTouch) + { + $.jQTouch.addExtension(function Floaty(jQT){ + + $.fn.makeFloaty = function(options){ + var defaults = { + align: 'top', + spacing: 20, + time: '.3s' + } + var settings = $.extend({}, defaults, options); + settings.align = (settings.align == 'top') ? 'top' : 'bottom'; + + return this.each(function(){ + var $el = $(this); + + $el.css({ + '-webkit-transition': 'top ' + settings.time + ' ease-in-out', + 'display': 'block', + 'min-height': '0 !important' + }).data('settings', settings); + + $(document).bind('scroll', function(){ + if ($el.data('floatyVisible') === true) + { + $el.scrollFloaty(); + } + }); + $el.scrollFloaty(); + }); + } + + $.fn.scrollFloaty = function(){ + return this.each(function(){ + var $el = $(this); + var settings = $el.data('settings'); + var wHeight = $('html').attr('clientHeight'); // WRONG + + var newY = window.pageYOffset + + ((settings.align == 'top') ? + settings.spacing : wHeight - settings.spacing - $el.get(0).offsetHeight); + + $el.css('top', newY).data('floatyVisible', true); + }); + } + + $.fn.hideFloaty = function(){ + return this.each(function(){ + var $el = $(this); + var oh = $el.get(0).offsetHeight; + + $el.css('top', -oh-10).data('floatyVisible', false); + }); + } + + $.fn.toggleFloaty = function(){ + return this.each(function(){ + var $el = $(this); + if ($el.data('floatyVisible') === true){ + $el.hideFloaty(); + } + else + { + $el.scrollFloaty(); + } + }); + } + }); + } +})(jQuery); \ No newline at end of file diff --git a/themes/extensions/.svn/text-base/jqt.location.js.svn-base b/themes/extensions/.svn/text-base/jqt.location.js.svn-base new file mode 100644 index 0000000..a944953 --- /dev/null +++ b/themes/extensions/.svn/text-base/jqt.location.js.svn-base @@ -0,0 +1,68 @@ +/* + + _/ _/_/ _/_/_/_/_/ _/ + _/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/ + _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ + _/ + _/ + + Created by David Kaneda + Documentation and issue tracking on Google Code + + Special thanks to Jonathan Stark + and pinch/zoom + + (c) 2009 by jQTouch project members. + See LICENSE.txt for license. + +*/ + +(function($) { + if ($.jQTouch) + { + $.jQTouch.addExtension(function Location(){ + + var latitude, longitude, callback; + + function checkGeoLocation() { + return navigator.geolocation; + } + function updateLocation(fn) { + if (checkGeoLocation()) + { + callback = fn; + navigator.geolocation.getCurrentPosition(savePosition); + return true; + } else { + console.log('Device not capable of geo-location.'); + fn(false); + return false; + } + } + function savePosition(position) { + latitude = position.coords.latitude; + longitude = position.coords.longitude; + if (callback) { + callback(getLocation()); + } + } + function getLocation() { + if (latitude && longitude) { + return { + latitude: latitude, + longitude: longitude + } + } else { + console.log('No location available. Try calling updateLocation() first.'); + return false; + } + } + return { + updateLocation: updateLocation, + getLocation: getLocation + } + }); + } +})(jQuery); \ No newline at end of file diff --git a/themes/extensions/.svn/text-base/jqt.offline.js.svn-base b/themes/extensions/.svn/text-base/jqt.offline.js.svn-base new file mode 100644 index 0000000..b333a16 --- /dev/null +++ b/themes/extensions/.svn/text-base/jqt.offline.js.svn-base @@ -0,0 +1,97 @@ +/* + + _/ _/_/ _/_/_/_/_/ _/ + _/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/ + _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ + _/ + _/ + + Created by David Kaneda + Documentation and issue tracking on Google Code + + Special thanks to Jonathan Stark + + Lots of this code is specifically derived from Jonathan's book, + "Building iPhone Apps with HTML, CSS, and JavaScript" + + (c) 2009 by jQTouch project members. + See LICENSE.txt for license. + +*/ + +(function($) { + if ($.jQTouch) + { + $.jQTouch.addExtension(function Offline(){ + + // Convenience array of status values + var cacheStatusValues = []; + cacheStatusValues[0] = 'uncached'; + cacheStatusValues[1] = 'idle'; + cacheStatusValues[2] = 'checking'; + cacheStatusValues[3] = 'downloading'; + cacheStatusValues[4] = 'updateready'; + cacheStatusValues[5] = 'obsolete'; + + // Listeners for all possible events + var cache = window.applicationCache; + cache.addEventListener('cached', logEvent, false); + cache.addEventListener('checking', logEvent, false); + cache.addEventListener('downloading', logEvent, false); + cache.addEventListener('error', logEvent, false); + cache.addEventListener('noupdate', logEvent, false); + cache.addEventListener('obsolete', logEvent, false); + cache.addEventListener('progress', logEvent, false); + cache.addEventListener('updateready', logEvent, false); + + // Log every event to the console + function logEvent(e) { + var online, status, type, message; + online = (isOnline()) ? 'yes' : 'no'; + status = cacheStatusValues[cache.status]; + type = e.type; + message = 'online: ' + online; + message+= ', event: ' + type; + message+= ', status: ' + status; + if (type == 'error' && navigator.onLine) { + message+= ' There was an unknown error, check your Cache Manifest.'; + } + console.log(message); + } + + function isOnline() { + return navigator.onLine; + } + + if (!$('html').attr('manifest')) { + console.log('No Cache Manifest listed on the tag.') + } + + // Swap in newly download files when update is ready + cache.addEventListener('updateready', function(e){ + // Don't perform "swap" if this is the first cache + if (cacheStatusValues[cache.status] != 'idle') { + cache.swapCache(); + console.log('Swapped/updated the Cache Manifest.'); + } + } + , false); + + // These two functions check for updates to the manifest file + function checkForUpdates(){ + cache.update(); + } + function autoCheckForUpdates(){ + setInterval(function(){cache.update()}, 10000); + } + + return { + isOnline: isOnline, + checkForUpdates: checkForUpdates, + autoCheckForUpdates: autoCheckForUpdates + } + }); + } +})(jQuery); \ No newline at end of file -- cgit v1.2.3