summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorZach Copley <zach@status.net>2009-12-03 12:51:21 -0800
committerZach Copley <zach@status.net>2009-12-03 12:51:21 -0800
commitbf4ed35a90d5cc906dbae7c097551fb3a10f14d6 (patch)
tree6e4e4c172865c81ca8bc05672cd5e5f9256fc0fb /js
parent7ed3328c47ee9aac1d7663bce0c6c6349f7b2570 (diff)
parent9e0f89ba4ff1695c0137faa89c08f8b5c60050ac (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.js31
-rw-r--r--js/jquery.joverlay.js203
-rw-r--r--js/jquery.joverlay.min.js4
-rw-r--r--js/util.js87
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 {