diff options
author | Zach Copley <zach@status.net> | 2009-12-03 12:51:21 -0800 |
---|---|---|
committer | Zach Copley <zach@status.net> | 2009-12-03 12:51:21 -0800 |
commit | bf4ed35a90d5cc906dbae7c097551fb3a10f14d6 (patch) | |
tree | 6e4e4c172865c81ca8bc05672cd5e5f9256fc0fb /js | |
parent | 7ed3328c47ee9aac1d7663bce0c6c6349f7b2570 (diff) | |
parent | 9e0f89ba4ff1695c0137faa89c08f8b5c60050ac (diff) |
Merge branch '0.9.x'
* 0.9.x: (141 commits)
Reload the admin design panel page to show the new CSS when the
Only pick up new default site colors if the theme has NOT changed.
Delete design when user chooses to restore default design, instead
Localisation updates for !StatusNet from !translatewiki.net !sntrans
Do not rebuild/add .mo files by default
If an XHR notice is sent form a page that has no timeline, show a
Revert "If the page doesn't have .notices, silently skip the notice XHR response"
Revert "Clear/reset the XHR notice form on pages where there is no timeline"
Clear/reset the XHR notice form on pages where there is no timeline
If the page doesn't have .notices, silently skip the notice XHR response
Remove useless debugging statement
Moved form control styles (i.e., border and radius) out of base
add pluginhandler to list of daemons to shut down
Using box-shadow only on the current navigation item
Updated theme readme
Fix regression in password settings: users have been unable to change their passwords since introduction of ChangePassword event (later StartChangePassword) November 5 in commit d6ddb84132d7b9510ba82064c67f2a39822dab49
Ticket 2048: make OMB posting HTTP timeout configurable as $config['omb']['timeout']; defaults to 5 seconds instead of 20-second default in Yadis library
ticket 1100: add Drupal source link
Fix makefile wildcards for locale compilation (now works on Ubuntu 8.04)
typo fix: '$this' now spelled correctly. Looks like this'll fix acceptance of 'source' param for direct messages posted to API
...
Conflicts:
js/util.js
locale/ar/LC_MESSAGES/statusnet.po
locale/bg/LC_MESSAGES/statusnet.po
locale/ca/LC_MESSAGES/statusnet.po
locale/cs/LC_MESSAGES/statusnet.po
locale/de/LC_MESSAGES/statusnet.po
locale/el/LC_MESSAGES/statusnet.po
locale/en_GB/LC_MESSAGES/statusnet.po
locale/es/LC_MESSAGES/statusnet.po
locale/fi/LC_MESSAGES/statusnet.po
locale/fr/LC_MESSAGES/statusnet.po
locale/ga/LC_MESSAGES/statusnet.po
locale/he/LC_MESSAGES/statusnet.po
locale/is/LC_MESSAGES/statusnet.po
locale/it/LC_MESSAGES/statusnet.po
locale/ja/LC_MESSAGES/statusnet.po
locale/ko/LC_MESSAGES/statusnet.po
locale/mk/LC_MESSAGES/statusnet.po
locale/nb/LC_MESSAGES/statusnet.po
locale/nl/LC_MESSAGES/statusnet.po
locale/nn/LC_MESSAGES/statusnet.po
locale/pl/LC_MESSAGES/statusnet.po
locale/pt/LC_MESSAGES/statusnet.po
locale/pt_BR/LC_MESSAGES/statusnet.po
locale/ru/LC_MESSAGES/statusnet.po
locale/statusnet.po
locale/sv/LC_MESSAGES/statusnet.po
locale/te/LC_MESSAGES/statusnet.po
locale/tr/LC_MESSAGES/statusnet.po
locale/uk/LC_MESSAGES/statusnet.po
locale/vi/LC_MESSAGES/statusnet.po
locale/zh_CN/LC_MESSAGES/statusnet.po
locale/zh_TW/LC_MESSAGES/statusnet.po
plugins/Realtime/realtimeupdate.js
Diffstat (limited to 'js')
-rw-r--r-- | js/geometa.js | 31 | ||||
-rw-r--r-- | js/jquery.joverlay.js | 203 | ||||
-rw-r--r-- | js/jquery.joverlay.min.js | 4 | ||||
-rw-r--r-- | js/util.js | 87 |
4 files changed, 196 insertions, 129 deletions
diff --git a/js/geometa.js b/js/geometa.js index ced5be060..21deb1885 100644 --- a/js/geometa.js +++ b/js/geometa.js @@ -1,5 +1,5 @@ // A shim to implement the W3C Geolocation API Specification using Gears or the Ajax API -if ( typeof navigator.geolocation == "undefined" || navigator.geolocation.shim ) (function(){ +if (typeof navigator.geolocation == "undefined" || navigator.geolocation.shim ) (function(){ // -- BEGIN GEARS_INIT (function() { @@ -94,7 +94,7 @@ var GearsGeoLocation = (function() { } }; -})(); +}); var AjaxGeoLocation = (function() { // -- PRIVATE @@ -103,7 +103,7 @@ var AjaxGeoLocation = (function() { if (!hasGoogleLoader() && !loading) { loading = true; var s = document.createElement('script'); - s.src = 'http://www.google.com/jsapi?callback=_google_loader_apiLoaded'; + s.src = (document.location.protocol == "https:"?"https://":"http://") + 'www.google.com/jsapi?callback=_google_loader_apiLoaded'; s.type = "text/javascript"; document.getElementsByTagName('body')[0].appendChild(s); } @@ -161,22 +161,23 @@ var AjaxGeoLocation = (function() { var cl = google.loader.ClientLocation; var position = { - latitude: cl.latitude, - longitude: cl.longitude, - altitude: null, - accuracy: 43000, // same as Gears accuracy over wifi? - altitudeAccuracy: null, - heading: null, - velocity: null, - timestamp: new Date(), - + coords: { + latitude: cl.latitude, + longitude: cl.longitude, + altitude: null, + accuracy: 43000, // same as Gears accuracy over wifi? + altitudeAccuracy: null, + heading: null, + speed: null, + }, // extra info that is outside of the bounds of the core API address: { city: cl.address.city, country: cl.address.country, country_code: cl.address.country_code, region: cl.address.region - } + }, + timestamp: new Date() }; successCallback(position); @@ -208,9 +209,9 @@ var AjaxGeoLocation = (function() { } }; -})(); +}); // If you have Gears installed use that, else use Ajax ClientLocation -navigator.geolocation = (window.google && google.gears) ? GearsGeoLocation : AjaxGeoLocation; +navigator.geolocation = (window.google && google.gears) ? GearsGeoLocation() : AjaxGeoLocation(); })(); diff --git a/js/jquery.joverlay.js b/js/jquery.joverlay.js index e4effec8e..cf4e15998 100644 --- a/js/jquery.joverlay.js +++ b/js/jquery.joverlay.js @@ -1,6 +1,6 @@ /* Copyright (c) 2009 Alvaro A. Lima Jr http://alvarojunior.com/jquery/joverlay.html * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) - * Version: 0.7.1 (JUN 15, 2009) + * Version: 0.8 (OUT 19, 2009) * Requires: jQuery 1.3+ */ @@ -9,43 +9,54 @@ // Global vars var isIE6 = $.browser.msie && $.browser.version == 6.0; // =( var JOVERLAY_TIMER = null; - var JOVERLAY_ELEMENT_PREV = null; $.fn.jOverlay = function(options) { // Element exist? if ( $('#jOverlay').length ) {$.closeOverlay();} - // Clear Element Prev - JOVERLAY_ELEMENT_PREV = null; - // Clear Timer if (JOVERLAY_TIMER !== null) { clearTimeout( JOVERLAY_TIMER ); } // Set Options - var options = $.extend({}, $.fn.jOverlay.options, options); + var options = $.extend({}, $.fn.jOverlay.options, options || {}); - // private function - function center(id) { - if (options.center) { - $.center(id); - } - } + // success deprecated !!! Use onSuccess + var onSuccess = options.onSuccess || options.success; var element = this.is('*') ? this : '#jOverlayContent'; + var position = isIE6 ? 'absolute' : 'fixed'; + var isImage = /([^\/\\]+)\.(png|gif|jpeg|jpg|bmp)$/i.test( options.url ); var imgLoading = options.imgLoading ? "<img id='jOverlayLoading' src='"+options.imgLoading+"' style='position:"+position+"; z-index:"+(options.zIndex + 9)+";'/>" : ''; + // private function + function center(id) { + if (options.center) { + $.center(id); + } else if( isIE6 ) { + $.center('#jOverlayContent',{ + 'top' : $(window).scrollTop() + 'px', + 'marginLeft' : '', + 'marginTop' : '', + 'left' : '' + }); + } + } + $('body').prepend(imgLoading + "<div id='jOverlay' />" + "<div id='jOverlayContent' style='position:"+position+"; z-index:"+(options.zIndex + 5)+"; display:none;'/>" ); + // Cache options + $('#jOverlayContent').data('options', options); + // Loading Centered - $('#jOverlayLoading').load(function(){ + $('#jOverlayLoading').load(function() { center(this); }); @@ -57,35 +68,42 @@ // Overlay Style $('#jOverlay').css({ - backgroundColor : options.color, - position : position, - top : '0px', - left : '0px', - filter : 'alpha(opacity='+ (options.opacity * 100) +')', // IE =( - opacity : options.opacity, // Good Browser =D - zIndex : options.zIndex, - width : !isIE6 ? '100%' : $(window).width() + 'px', - height : !isIE6 ? '100%' : $(document).height() + 'px' + 'backgroundColor' : options.color, + 'position' : position, + 'top' : '0px', + 'left' : '0px', + 'filter' : 'alpha(opacity='+ (options.opacity * 100) +')', // IE =( + 'opacity' : options.opacity, // Good Browser =D + '-khtml-opacity' : options.opacity, + '-moz-opacity' : options.opacity, + 'zIndex' : options.zIndex, + 'width' : !isIE6 ? '100%' : $(window).width() + 'px', + 'height' : !isIE6 ? '100%' : $(document).height() + 'px' }).show(); + // INNER HTML + if ( $.trim(options.html) ) { + $(element).html(options.html); + } + // ELEMENT if ( this.is('*') ) { - JOVERLAY_ELEMENT_PREV = this.prev(); + $('#jOverlayContent').data('jOverlayElementPrev', this.prev() ); $('#jOverlayContent').html( - this.show().attr('display', options.autoHide ? 'none' : this.css('display') ) + this.show().data('display', options.autoHide ? 'none' : this.css('display') ) ); - + if ( !isImage ) { center('#jOverlayContent'); $('#jOverlayContent').show(); - + // Execute callback - if ( !options.url && $.isFunction( options.success ) ) { - options.success( this ); + if ( !options.url && $.isFunction( onSuccess ) ) { + onSuccess( this ); } } @@ -106,13 +124,14 @@ $( element ).html(this); center('#jOverlayContent'); + center('#jOverlayLoading'); $('#jOverlayLoading').fadeOut(500); $('#jOverlayContent').show(); // Execute callback - if ( $.isFunction( options.success ) ) { - options.success( this ); + if ( $.isFunction( onSuccess ) ) { + onSuccess( $(element) ); } }).error(function(){ @@ -138,8 +157,8 @@ center('#jOverlayContent'); // Execute callback - if ($.isFunction( options.success )) { - options.success(responseText); + if ( $.isFunction( onSuccess ) ) { + onSuccess( responseText ); } }, @@ -163,8 +182,8 @@ $(window).resize(function(){ $('#jOverlay').css({ - width: $(window).width() + 'px', - height: $(document).height() + 'px' + 'width' : $(window).width() + 'px', + 'height' : $(document).height() + 'px' }); center('#jOverlayContent'); @@ -174,11 +193,15 @@ } // Press ESC to close - $(document).keydown(function(event){ - if (event.keyCode == 27) { - $.closeOverlay(); - } - }); + if ( options.closeOnEsc ) { + $(document).keydown(function(event){ + if ( event.keyCode == 27 ) { + $.closeOverlay(); + } + }); + } else { + $(document).unbind('keydown'); + } // Click to close if ( options.bgClickToClose ) { @@ -188,12 +211,13 @@ // Timeout (auto-close) // time in millis to wait before auto-close // set to 0 to disable - if ( Number(options.timeout) > 0 ) { - jOverlayTimer = setTimeout( $.closeOverlay, Number(options.timeout) ); + if ( options.timeout && Number(options.timeout) > 0 ) { + JOVERLAY_TIMER = window.setTimeout( $.closeOverlay, Number(options.timeout) ); } // ADD CSS $('#jOverlayContent').css(options.css || {}); + }; // Resizing large images - orginal by Christian Montoya. @@ -202,68 +226,87 @@ var x = $(window).width() - 150; var y = $(window).height() - 150; if (imageWidth > x) { - imageHeight = imageHeight * (x / imageWidth); - imageWidth = x; - if (imageHeight > y) { - imageWidth = imageWidth * (y / imageHeight); - imageHeight = y; + imageHeight = imageHeight * (x / imageWidth); + imageWidth = x; + if (imageHeight > y) { + imageWidth = imageWidth * (y / imageHeight); + imageHeight = y; } - } else if (imageHeight > y) { - imageWidth = imageWidth * (y / imageHeight); - imageHeight = y; - if (imageWidth > x) { - imageHeight = imageHeight * (x / imageWidth); + } else if (imageHeight > y) { + imageWidth = imageWidth * (y / imageHeight); + imageHeight = y; + if (imageWidth > x) { + imageHeight = imageHeight * (x / imageWidth); imageWidth = x; } } - return {width:imageWidth, height:imageHeight}; + return {'width':imageWidth, 'height':imageHeight}; }; // Centered Element - $.center = function(element) { + $.center = function(element, css) { var element = $(element); var elemWidth = element.width(); - element.css({ - width : elemWidth + 'px', - marginLeft : '-' + (elemWidth / 2) + 'px', - marginTop : '-' + element.height() / 2 + 'px', - height : 'auto', - top : !isIE6 ? '50%' : $(window).scrollTop() + ($(window).height() / 2) + 'px', - left : '50%' - }); + element.css($.extend({},{ + 'width' : elemWidth + 'px', + 'marginLeft' : '-' + (elemWidth / 2) + 'px', + 'marginTop' : '-' + element.height() / 2 + 'px', + 'height' : 'auto', + 'top' : !isIE6 ? '50%' : $(window).scrollTop() + ($(window).height() / 2) + 'px', + 'left' : '50%' + }, css || {})); }; // Options default $.fn.jOverlay.options = { - method : 'GET', - data : '', - url : '', - color : '#000', - opacity : '0.6', - zIndex : 9999, - center : true, - imgLoading : '', - bgClickToClose : true, - success : null, - timeout : 0, - autoHide : true, - css : {} + 'method' : 'GET', + 'data' : '', + 'url' : '', + 'color' : '#000', + 'opacity' : '0.6', + 'zIndex' : 9999, + 'center' : true, + 'imgLoading' : '', + 'bgClickToClose' : true, + 'success' : null, // Deprecated : use onSuccess + 'onSuccess' : null, + 'timeout' : 0, + 'autoHide' : true, + 'css' : {}, + 'html' : '', + 'closeOnEsc' : true + }; + + // Set default options (GLOBAL) + // Overiding the default values. + $.fn.jOverlay.setDefaults = function(options) { + $.fn.jOverlay.options = $.extend({}, $.fn.jOverlay.options, options || {}); }; // Close $.closeOverlay = function() { + var content = $('#jOverlayContent'); + var options = content.data('options'); + var elementPrev = content.data('jOverlayElementPrev'); + + // Fix IE6 (SELECT) if (isIE6) { $("select").show(); } - if ( JOVERLAY_ELEMENT_PREV !== null ) { - if ( JOVERLAY_ELEMENT_PREV !== null ) { - var element = $('#jOverlayContent').children(); - JOVERLAY_ELEMENT_PREV.after( element.css('display', element.attr('display') ) ); - element.removeAttr('display'); - } + // Restore position + if ( elementPrev ) { + var contentChildren = content.children(); + elementPrev.after( contentChildren.css('display', contentChildren.data('display') ) ); + // Clear cache + contentChildren.removeData('display'); + content.removeData('jOverlayElementPrev'); } + // Clear options cache + content.removeData('options'); + + // Remove joverlay elements $('#jOverlayLoading, #jOverlayContent, #jOverlay').remove(); }; diff --git a/js/jquery.joverlay.min.js b/js/jquery.joverlay.min.js index 44cd46043..fa1ceb7b6 100644 --- a/js/jquery.joverlay.min.js +++ b/js/jquery.joverlay.min.js @@ -1,7 +1,7 @@ /* Copyright (c) 2009 Alvaro A. Lima Jr http://alvarojunior.com/jquery/joverlay.html * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) - * Version: 0.7.1 (JUN 15, 2009 + * Version: 0.8 (OUT 19, 2009) * Requires: jQuery 1.3+ * Packer from http://dean.edwards.name/packer/ */ -(function($){var g=$.browser.msie&&$.browser.version==6.0;var h=null;var i=null;$.fn.jOverlay=function(b){if($('#jOverlay').length){$.closeOverlay()}i=null;if(h!==null){clearTimeout(h)}var b=$.extend({},$.fn.jOverlay.options,b);function center(a){if(b.center){$.center(a)}}var c=this.is('*')?this:'#jOverlayContent';var d=g?'absolute':'fixed';var e=/([^\/\\]+)\.(png|gif|jpeg|jpg|bmp)$/i.test(b.url);var f=b.imgLoading?"<img id='jOverlayLoading' src='"+b.imgLoading+"' style='position:"+d+"; z-index:"+(b.zIndex+9)+";'/>":'';$('body').prepend(f+"<div id='jOverlay' />"+"<div id='jOverlayContent' style='position:"+d+"; z-index:"+(b.zIndex+5)+"; display:none;'/>");$('#jOverlayLoading').load(function(){center(this)});if(g){$('select').hide();$('#jOverlayContent select').show()}$('#jOverlay').css({backgroundColor:b.color,position:d,top:'0px',left:'0px',filter:'alpha(opacity='+(b.opacity*100)+')',opacity:b.opacity,zIndex:b.zIndex,width:!g?'100%':$(window).width()+'px',height:!g?'100%':$(document).height()+'px'}).show();if(this.is('*')){i=this.prev();$('#jOverlayContent').html(this.show().attr('display',b.autoHide?'none':this.css('display')));if(!e){center('#jOverlayContent');$('#jOverlayContent').show();if(!b.url&&$.isFunction(b.success)){b.success(this)}}}if(e){$('<img/>').load(function(){var a=$.resize(this.width,this.height);$(this).css({width:a.width,height:a.height});$(c).html(this);center('#jOverlayContent');$('#jOverlayLoading').fadeOut(500);$('#jOverlayContent').show();if($.isFunction(b.success)){b.success(this)}}).error(function(){alert('Image ('+b.url+') not found.');$.closeOverlay()}).attr({'src':b.url,'alt':b.url})}if(b.url&&!e){$.ajax({type:b.method,data:b.data,url:b.url,success:function(a){$('#jOverlayLoading').fadeOut(500);$(c).html(a).show();center('#jOverlayContent');if($.isFunction(b.success)){b.success(a)}},error:function(){alert('URL ('+b.url+') not found.');$.closeOverlay()}})}if(g){$(window).scroll(function(){center('#jOverlayContent')});$(window).resize(function(){$('#jOverlay').css({width:$(window).width()+'px',height:$(document).height()+'px'});center('#jOverlayContent')})}$(document).keydown(function(a){if(a.keyCode==27){$.closeOverlay()}});if(b.bgClickToClose){$('#jOverlay').click($.closeOverlay)}if(Number(b.timeout)>0){jOverlayTimer=setTimeout($.closeOverlay,Number(b.timeout))}$('#jOverlayContent').css(b.css||{})};$.resize=function(a,b){var x=$(window).width()-150;var y=$(window).height()-150;if(a>x){b=b*(x/a);a=x;if(b>y){a=a*(y/b);b=y}}else if(b>y){a=a*(y/b);b=y;if(a>x){b=b*(x/a);a=x}}return{width:a,height:b}};$.center=function(a){var a=$(a);var b=a.width();a.css({width:b+'px',marginLeft:'-'+(b/2)+'px',marginTop:'-'+a.height()/2+'px',height:'auto',top:!g?'50%':$(window).scrollTop()+($(window).height()/2)+'px',left:'50%'})};$.fn.jOverlay.options={method:'GET',data:'',url:'',color:'#000',opacity:'0.6',zIndex:9999,center:true,imgLoading:'',bgClickToClose:true,success:null,timeout:0,autoHide:true,css:{}};$.closeOverlay=function(){if(g){$("select").show()}if(i!==null){if(i!==null){var a=$('#jOverlayContent').children();i.after(a.css('display',a.attr('display')));a.removeAttr('display')}}$('#jOverlayLoading, #jOverlayContent, #jOverlay').remove()}})(jQuery); +(function($){var isIE6=$.browser.msie&&$.browser.version==6.0;var JOVERLAY_TIMER=null;$.fn.jOverlay=function(options){if($('#jOverlay').length){$.closeOverlay()}if(JOVERLAY_TIMER!==null){clearTimeout(JOVERLAY_TIMER)}var options=$.extend({},$.fn.jOverlay.options,options||{});var onSuccess=options.onSuccess||options.success;var element=this.is('*')?this:'#jOverlayContent';var position=isIE6?'absolute':'fixed';var isImage=/([^\/\\]+)\.(png|gif|jpeg|jpg|bmp)$/i.test(options.url);var imgLoading=options.imgLoading?"<img id='jOverlayLoading' src='"+options.imgLoading+"' style='position:"+position+"; z-index:"+(options.zIndex+9)+";'/>":'';function center(id){if(options.center){$.center(id)}else if(isIE6){$.center('#jOverlayContent',{'top':$(window).scrollTop()+'px','marginLeft':'','marginTop':'','left':''})}}$('body').prepend(imgLoading+"<div id='jOverlay' />"+"<div id='jOverlayContent' style='position:"+position+"; z-index:"+(options.zIndex+5)+"; display:none;'/>");$('#jOverlayContent').data('options',options);$('#jOverlayLoading').load(function(){center(this)});if(isIE6){$('select').hide();$('#jOverlayContent select').show()}$('#jOverlay').css({'backgroundColor':options.color,'position':position,'top':'0px','left':'0px','filter':'alpha(opacity='+(options.opacity*100)+')','opacity':options.opacity,'-khtml-opacity':options.opacity,'-moz-opacity':options.opacity,'zIndex':options.zIndex,'width':!isIE6?'100%':$(window).width()+'px','height':!isIE6?'100%':$(document).height()+'px'}).show();if($.trim(options.html)){$(element).html(options.html)}if(this.is('*')){$('#jOverlayContent').data('jOverlayElementPrev',this.prev());$('#jOverlayContent').html(this.show().data('display',options.autoHide?'none':this.css('display')));if(!isImage){center('#jOverlayContent');$('#jOverlayContent').show();if(!options.url&&$.isFunction(onSuccess)){onSuccess(this)}}}if(isImage){$('<img/>').load(function(){var resize=$.resize(this.width,this.height);$(this).css({width:resize.width,height:resize.height});$(element).html(this);center('#jOverlayContent');center('#jOverlayLoading');$('#jOverlayLoading').fadeOut(500);$('#jOverlayContent').show();if($.isFunction(onSuccess)){onSuccess($(element))}}).error(function(){alert('Image ('+options.url+') not found.');$.closeOverlay()}).attr({'src':options.url,'alt':options.url})}if(options.url&&!isImage){$.ajax({type:options.method,data:options.data,url:options.url,success:function(responseText){$('#jOverlayLoading').fadeOut(500);$(element).html(responseText).show();center('#jOverlayContent');if($.isFunction(onSuccess)){onSuccess(responseText)}},error:function(){alert('URL ('+options.url+') not found.');$.closeOverlay()}})}if(isIE6){$(window).scroll(function(){center('#jOverlayContent')});$(window).resize(function(){$('#jOverlay').css({'width':$(window).width()+'px','height':$(document).height()+'px'});center('#jOverlayContent')})}if(options.closeOnEsc){$(document).keydown(function(event){if(event.keyCode==27){$.closeOverlay()}})}else{$(document).unbind('keydown')}if(options.bgClickToClose){$('#jOverlay').click($.closeOverlay)}if(options.timeout&&Number(options.timeout)>0){JOVERLAY_TIMER=window.setTimeout($.closeOverlay,Number(options.timeout))}$('#jOverlayContent').css(options.css||{})};$.resize=function(imageWidth,imageHeight){var x=$(window).width()-150;var y=$(window).height()-150;if(imageWidth>x){imageHeight=imageHeight*(x/imageWidth);imageWidth=x;if(imageHeight>y){imageWidth=imageWidth*(y/imageHeight);imageHeight=y}}else if(imageHeight>y){imageWidth=imageWidth*(y/imageHeight);imageHeight=y;if(imageWidth>x){imageHeight=imageHeight*(x/imageWidth);imageWidth=x}}return{'width':imageWidth,'height':imageHeight}};$.center=function(element,css){var element=$(element);var elemWidth=element.width();element.css($.extend({},{'width':elemWidth+'px','marginLeft':'-'+(elemWidth/2)+'px','marginTop':'-'+element.height()/2+'px','height':'auto','top':!isIE6?'50%':$(window).scrollTop()+($(window).height()/2)+'px','left':'50%'},css||{}))};$.fn.jOverlay.options={'method':'GET','data':'','url':'','color':'#000','opacity':'0.6','zIndex':9999,'center':true,'imgLoading':'','bgClickToClose':true,'success':null,'onSuccess':null,'timeout':0,'autoHide':true,'css':{},'html':'','closeOnEsc':true};$.fn.jOverlay.setDefaults=function(options){$.fn.jOverlay.options=$.extend({},$.fn.jOverlay.options,options||{})};$.closeOverlay=function(){var content=$('#jOverlayContent');var options=content.data('options');var elementPrev=content.data('jOverlayElementPrev');if(isIE6){$("select").show()}if(elementPrev){var contentChildren=content.children();elementPrev.after(contentChildren.css('display',contentChildren.data('display')));contentChildren.removeData('display');content.removeData('jOverlayElementPrev')}content.removeData('options');$('#jOverlayLoading, #jOverlayContent, #jOverlay').remove()}})(jQuery);
\ No newline at end of file diff --git a/js/util.js b/js/util.js index 5c581afb9..73fcf37be 100644 --- a/js/util.js +++ b/js/util.js @@ -185,7 +185,7 @@ var SN = { // StatusNet $('#'+form_id+' #'+SN.C.S.NoticeActionSubmit).removeClass(SN.C.S.Disabled); $('#'+form_id+' #'+SN.C.S.NoticeActionSubmit).removeAttr(SN.C.S.Disabled, SN.C.S.Disabled); if (textStatus == 'timeout') { - alert ('Sorry! We had trouble sending your notice. The servers are overloaded. Please try again, and contact the site administrator if this problem persists'); + form.append('<p class="error>Sorry! We had trouble sending your notice. The servers are overloaded. Please try again, and contact the site administrator if this problem persists.</p>'); } else { if ($('.'+SN.C.S.Error, xhr.responseXML).length > 0) { @@ -193,7 +193,7 @@ var SN = { // StatusNet } else { if(jQuery.inArray(parseInt(xhr.status), SN.C.I.HTTP20x30x) < 0) { - alert('Sorry! We had trouble sending your notice ('+xhr.status+' '+xhr.statusText+'). Please report the problem to the site administrator if this happens again.'); + form.append('<p class="error>(Sorry! We had trouble sending your notice ('+xhr.status+' '+xhr.statusText+'). Please report the problem to the site administrator if this happens again.</p>'); } else { $('#'+form_id+' #'+SN.C.S.NoticeDataText).val(''); @@ -205,8 +205,9 @@ var SN = { // StatusNet success: function(data, textStatus) { var result; if ($('#'+SN.C.S.Error, data).length > 0) { - result = document._importNode($('p', data)[0], true); - alert(result.textContent || result.innerHTML); + result = document._importNode($('p', data)[0], true); + result = result.textContent || result.innerHTML; + form.append('<p class="error">'+result+'</p>'); } else { if($('body')[0].id == 'bookmarklet') { @@ -215,28 +216,37 @@ var SN = { // StatusNet if ($('#'+SN.C.S.CommandResult, data).length > 0) { result = document._importNode($('p', data)[0], true); - alert(result.textContent || result.innerHTML); + result = result.textContent || result.innerHTML; + form.append('<p class="success">'+result+'</p>'); } else { - notice = document._importNode($('li', data)[0], true); - if ($('#'+notice.id).length === 0) { - var notice_irt_value = $('#'+SN.C.S.NoticeInReplyTo).val(); - var notice_irt = '#notices_primary #notice-'+notice_irt_value; - if($('body')[0].id == 'conversation') { - if(notice_irt_value.length > 0 && $(notice_irt+' .notices').length < 1) { - $(notice_irt).append('<ul class="notices"></ul>'); + var notices = $('#notices_primary .notices'); + if (notices.length > 0) { + var notice = document._importNode($('li', data)[0], true); + if ($('#'+notice.id).length === 0) { + var notice_irt_value = $('#'+SN.C.S.NoticeInReplyTo).val(); + var notice_irt = '#notices_primary #notice-'+notice_irt_value; + if($('body')[0].id == 'conversation') { + if(notice_irt_value.length > 0 && $(notice_irt+' .notices').length < 1) { + $(notice_irt).append('<ul class="notices"></ul>'); + } + $($(notice_irt+' .notices')[0]).append(notice); } - $($(notice_irt+' .notices')[0]).append(notice); - } - else { - $("#notices_primary .notices").prepend(notice); + else { + notices.prepend(notice); + } + $('#'+notice.id).css({display:'none'}); + $('#'+notice.id).fadeIn(2500); + SN.U.NoticeWithAttachment($('#'+notice.id)); + SN.U.NoticeReplyTo($('#'+notice.id)); + SN.U.FormXHR($('#'+notice.id+' .form_favor')); } - $('#'+notice.id).css({display:'none'}); - $('#'+notice.id).fadeIn(2500); - SN.U.NoticeAttachments(); - SN.U.NoticeReplyTo($('#'+notice.id)); - SN.U.FormXHR($('#'+notice.id+' .form_favor')); - } + } + else { + result = document._importNode($('title', data)[0], true); + result_title = result.textContent || result.innerHTML; + form.append('<p class="success">'+result_title+'</p>'); + } } $('#'+form_id+' #'+SN.C.S.NoticeDataText).val(''); $('#'+form_id+' #'+SN.C.S.NoticeDataAttach).val(''); @@ -262,7 +272,7 @@ var SN = { // StatusNet NoticeReplyTo: function(notice_item) { var notice = notice_item[0]; var notice_reply = $('.notice_reply', notice)[0]; - + if (jQuery.data(notice_reply, "ElementData") === undefined) { jQuery.data(notice_reply, "ElementData", {Bind:'submit'}); $(notice_reply).bind('click', function() { @@ -276,19 +286,18 @@ var SN = { // StatusNet NoticeReplySet: function(nick,id) { if (nick.match(SN.C.I.PatternUsername)) { var text = $('#'+SN.C.S.NoticeDataText); - if (text.length) { + if (text.length > 0) { replyto = '@' + nick + ' '; text.val(replyto + text.val().replace(RegExp(replyto, 'i'), '')); - $('#'+SN.C.S.FormNotice+' input#'+SN.C.S.NoticeInReplyTo).val(id); + $('#'+SN.C.S.FormNotice+' #'+SN.C.S.NoticeInReplyTo).val(id); + + text[0].focus(); if (text[0].setSelectionRange) { var len = text.val().length; text[0].setSelectionRange(len,len); - text[0].focus(); } - return false; } } - return true; }, NoticeFavor: function() { @@ -297,13 +306,25 @@ var SN = { // StatusNet }, NoticeAttachments: function() { + $('.notice a.attachment').each(function() { + SN.U.NoticeWithAttachment($(this).closest('.notice')); + }); + }, + + NoticeWithAttachment: function(notice) { + if ($('.attachment', notice).length === 0) { + return; + } + + var notice_id = notice.attr('id'); + $.fn.jOverlay.options = { method : 'GET', data : '', url : '', color : '#000', opacity : '0.6', - zIndex : 99, + zIndex : 9999, center : false, imgLoading : $('address .url')[0].href+'theme/base/images/illustrations/illu_progress_loading-01.gif', bgClickToClose : true, @@ -316,13 +337,13 @@ var SN = { // StatusNet css : {'max-width':'542px', 'top':'5%', 'left':'32.5%'} }; - $('#content .notice a.attachment').click(function() { + $('#'+notice_id+' a.attachment').click(function() { $().jOverlay({url: $('address .url')[0].href+'attachment/' + ($(this).attr('id').substring('attachment'.length + 1)) + '/ajax'}); return false; }); var t; - $("body:not(#shownotice) #content .notice a.thumbnail").hover( + $("body:not(#shownotice) #"+notice_id+" a.thumbnail").hover( function() { var anchor = $(this); $("a.thumbnail").children('img').hide(); @@ -375,9 +396,10 @@ var SN = { // StatusNet NewDirectMessage: function() { NDM = $('.entity_send-a-message a'); NDM.attr({'href':NDM.attr('href')+'&ajax=1'}); - NDM.click(function() { + NDM.bind('click', function() { var NDMF = $('.entity_send-a-message form'); if (NDMF.length === 0) { + $(this).addClass('processing'); $.get(NDM.attr('href'), null, function(data) { $('.entity_send-a-message').append(document._importNode($('form', data)[0], true)); NDMF = $('.entity_send-a-message .form_notice'); @@ -388,6 +410,7 @@ var SN = { // StatusNet NDMF.hide(); return false; }); + NDM.removeClass('processing'); }); } else { |