Skip to content
This repository
Browse code

Merge branch 'staging' of github.com:ging/social_stream

  • Loading branch information...
commit 12eb6eb37277ebf3792dd823364323a900857576 2 parents ebcc53f + dfa17cf
Antonio Tapiador authored
1  .gitignore
@@ -18,3 +18,4 @@ spec/dummy/db/*.sqlite3
18 18
 spec/dummy/log/*.log
19 19
 spec/dummy/tmp/
20 20
 .code_swarm
  21
+.sass-cache/
14  base/app/helpers/toolbar_helper.rb
@@ -48,11 +48,13 @@ def toolbar(type = :home, options = {})
48 48
       result + item[:html]
49 49
     }
50 50
 
  51
+    toolbar_init = "SocialStream.Toolbar.init({ option: '#{ options[:option] }' });".html_safe
  52
+
51 53
     case request.format
52 54
     when Mime::JS
53  
-      response = <<-EOJ
54  
-        $('#toolbarContent').html("#{ escape_javascript(content) }");
55  
-        SocialStream.Toolbar.init({ option: '#{ options[:option] }' });
  55
+      response = 
  56
+        "$('#toolbarContent').html(\"#{ escape_javascript(content) }\");\n" +
  57
+        toolbar_init
56 58
       EOJ
57 59
 
58 60
       response.html_safe
@@ -61,11 +63,7 @@ def toolbar(type = :home, options = {})
61 63
         content
62 64
       end
63 65
 
64  
-      content_for(:javascript) do
65  
-      <<-EOJ
66  
-        SocialStream.Toolbar.init({ option: '#{ options[:option] }' });
67  
-      EOJ
68  
-      end
  66
+      content_for :javascript, toolbar_init
69 67
     end
70 68
   end
71 69
 
2  base/lib/social_stream/base/version.rb
... ...
@@ -1,5 +1,5 @@
1 1
 module SocialStream
2 2
   module Base
3  
-    VERSION = "0.22.0".freeze
  3
+    VERSION = "0.22.1".freeze
4 4
   end
5 5
 end
357  base/vendor/assets/javascripts/jquery.watermark.js
... ...
@@ -1,12 +1,12 @@
1 1
 /*	
2 2
 	Watermark plugin for jQuery
3  
-	Version: 3.1.3
  3
+	Version: 3.1.4
4 4
 	http://jquery-watermark.googlecode.com/
5 5
 
6  
-	Copyright (c) 2009-2011 Todd Northrop
  6
+	Copyright (c) 2009-2012 Todd Northrop
7 7
 	http://www.speednet.biz/
8 8
 	
9  
-	March 22, 2011
  9
+	August 13, 2012
10 10
 
11 11
 	Requires:  jQuery 1.2.3+
12 12
 	
@@ -14,7 +14,7 @@
14 14
 	See mit-license.txt and gpl2-license.txt in the project root for details.
15 15
 ------------------------------------------------------*/
16 16
 
17  
-(function ($, window, undefined) {
  17
+( function ( $, window, undefined ) {
18 18
 
19 19
 var
20 20
 	// String constants for data names
@@ -28,12 +28,15 @@ var
28 28
 	
29 29
 	// Copy of native jQuery regex use to strip return characters from element value
30 30
 	rreturn = /\r/g,
  31
+	
  32
+	// Used to determine if type attribute of input element is a non-text type (invalid)
  33
+	rInvalidType = /^(button|checkbox|hidden|image|radio|range|reset|submit)$/i,
31 34
 
32 35
 	// Includes only elements with watermark defined
33 36
 	selWatermarkDefined = "input:data(" + dataFlag + "),textarea:data(" + dataFlag + ")",
34 37
 
35 38
 	// Includes only elements capable of having watermark
36  
-	selWatermarkAble = "input:text,input:password,input[type=search],input:not([type]),textarea",
  39
+	selWatermarkAble = ":watermarkable",
37 40
 	
38 41
 	// triggerFns:
39 42
 	// Array of function names to look for in the global namespace.
@@ -54,14 +57,14 @@ var
54 57
 	pageDirty = false,
55 58
 	
56 59
 	// Detects if the browser can handle native placeholders
57  
-	hasNativePlaceholder = ("placeholder" in document.createElement("input"));
  60
+	hasNativePlaceholder = ( "placeholder" in document.createElement( "input" ) );
58 61
 
59 62
 // Best practice: this plugin adds only one method to the jQuery object.
60 63
 // Also ensures that the watermark code is only added once.
61 64
 $.watermark = $.watermark || {
62 65
 
63 66
 	// Current version number of the plugin
64  
-	version: "3.1.3",
  67
+	version: "3.1.4",
65 68
 		
66 69
 	runOnce: true,
67 70
 	
@@ -90,131 +93,131 @@ $.watermark = $.watermark || {
90 93
 	
91 94
 	// Hide one or more watermarks by specifying any selector type
92 95
 	// i.e., DOM element, string selector, jQuery matched set, etc.
93  
-	hide: function (selector) {
94  
-		$(selector).filter(selWatermarkDefined).each(
  96
+	hide: function ( selector ) {
  97
+		$( selector ).filter( selWatermarkDefined ).each(
95 98
 			function () {
96  
-				$.watermark._hide($(this));
  99
+				$.watermark._hide( $( this ) );
97 100
 			}
98 101
 		);
99 102
 	},
100 103
 	
101 104
 	// Internal use only.
102  
-	_hide: function ($input, focus) {
103  
-		var elem = $input[0],
104  
-			inputVal = (elem.value || "").replace(rreturn, ""),
105  
-			inputWm = $input.data(dataText) || "",
106  
-			maxLen = $input.data(dataMaxLen) || 0,
107  
-			className = $input.data(dataClass);
  105
+	_hide: function ( $input, focus ) {
  106
+		var elem = $input[ 0 ],
  107
+			inputVal = ( elem.value || "" ).replace( rreturn, "" ),
  108
+			inputWm = $input.data( dataText ) || "",
  109
+			maxLen = $input.data( dataMaxLen ) || 0,
  110
+			className = $input.data( dataClass );
108 111
 	
109  
-		if ((inputWm.length) && (inputVal == inputWm)) {
  112
+		if ( ( inputWm.length ) && ( inputVal == inputWm ) ) {
110 113
 			elem.value = "";
111 114
 			
112 115
 			// Password type?
113  
-			if ($input.data(dataPassword)) {
  116
+			if ( $input.data( dataPassword ) ) {
114 117
 				
115  
-				if (($input.attr("type") || "") === "text") {
116  
-					var $pwd = $input.data(dataPassword) || [], 
  118
+				if ( ( $input.attr( "type" ) || "" ) === "text" ) {
  119
+					var $pwd = $input.data( dataPassword ) || [], 
117 120
 						$wrap = $input.parent() || [];
118 121
 						
119  
-					if (($pwd.length) && ($wrap.length)) {
120  
-						$wrap[0].removeChild($input[0]); // Can't use jQuery methods, because they destroy data
121  
-						$wrap[0].appendChild($pwd[0]);
  122
+					if ( ( $pwd.length ) && ( $wrap.length ) ) {
  123
+						$wrap[ 0 ].removeChild( $input[ 0 ] ); // Can't use jQuery methods, because they destroy data
  124
+						$wrap[ 0 ].appendChild( $pwd[ 0 ] );
122 125
 						$input = $pwd;
123 126
 					}
124 127
 				}
125 128
 			}
126 129
 			
127  
-			if (maxLen) {
128  
-				$input.attr("maxLength", maxLen);
129  
-				$input.removeData(dataMaxLen);
  130
+			if ( maxLen ) {
  131
+				$input.attr( "maxLength", maxLen );
  132
+				$input.removeData( dataMaxLen );
130 133
 			}
131 134
 		
132  
-			if (focus) {
133  
-				$input.attr("autocomplete", "off");  // Avoid NS_ERROR_XPC_JS_THREW_STRING error in Firefox
  135
+			if ( focus ) {
  136
+				$input.attr( "autocomplete", "off" );  // Avoid NS_ERROR_XPC_JS_THREW_STRING error in Firefox
134 137
 				
135 138
 				window.setTimeout(
136 139
 					function () {
137 140
 						$input.select();  // Fix missing cursor in IE
138 141
 					}
139  
-				, 1);
  142
+				, 1 );
140 143
 			}
141 144
 		}
142 145
 		
143  
-		className && $input.removeClass(className);
  146
+		className && $input.removeClass( className );
144 147
 	},
145 148
 	
146 149
 	// Display one or more watermarks by specifying any selector type
147 150
 	// i.e., DOM element, string selector, jQuery matched set, etc.
148 151
 	// If conditions are not right for displaying a watermark, ensures that watermark is not shown.
149  
-	show: function (selector) {
150  
-		$(selector).filter(selWatermarkDefined).each(
  152
+	show: function ( selector ) {
  153
+		$( selector ).filter( selWatermarkDefined ).each(
151 154
 			function () {
152  
-				$.watermark._show($(this));
  155
+				$.watermark._show( $( this ) );
153 156
 			}
154 157
 		);
155 158
 	},
156 159
 	
157 160
 	// Internal use only.
158  
-	_show: function ($input) {
159  
-		var elem = $input[0],
160  
-			val = (elem.value || "").replace(rreturn, ""),
161  
-			text = $input.data(dataText) || "",
162  
-			type = $input.attr("type") || "",
163  
-			className = $input.data(dataClass);
  161
+	_show: function ( $input ) {
  162
+		var elem = $input[ 0 ],
  163
+			val = ( elem.value || "" ).replace( rreturn, "" ),
  164
+			text = $input.data( dataText ) || "",
  165
+			type = $input.attr( "type" ) || "",
  166
+			className = $input.data( dataClass );
164 167
 
165  
-		if (((val.length == 0) || (val == text)) && (!$input.data(dataFocus))) {
  168
+		if ( ( ( val.length == 0 ) || ( val == text ) ) && ( !$input.data( dataFocus ) ) ) {
166 169
 			pageDirty = true;
167 170
 		
168 171
 			// Password type?
169  
-			if ($input.data(dataPassword)) {
  172
+			if ( $input.data( dataPassword ) ) {
170 173
 				
171  
-				if (type === "password") {
172  
-					var $pwd = $input.data(dataPassword) || [],
  174
+				if ( type === "password" ) {
  175
+					var $pwd = $input.data( dataPassword ) || [],
173 176
 						$wrap = $input.parent() || [];
174 177
 						
175  
-					if (($pwd.length) && ($wrap.length)) {
176  
-						$wrap[0].removeChild($input[0]); // Can't use jQuery methods, because they destroy data
177  
-						$wrap[0].appendChild($pwd[0]);
  178
+					if ( ( $pwd.length ) && ( $wrap.length ) ) {
  179
+						$wrap[ 0 ].removeChild( $input[ 0 ] ); // Can't use jQuery methods, because they destroy data
  180
+						$wrap[ 0 ].appendChild( $pwd[ 0 ] );
178 181
 						$input = $pwd;
179  
-						$input.attr("maxLength", text.length);
180  
-						elem = $input[0];
  182
+						$input.attr( "maxLength", text.length );
  183
+						elem = $input[ 0 ];
181 184
 					}
182 185
 				}
183 186
 			}
184 187
 		
185 188
 			// Ensure maxLength big enough to hold watermark (input of type="text" or type="search" only)
186  
-			if ((type === "text") || (type === "search")) {
187  
-				var maxLen = $input.attr("maxLength") || 0;
  189
+			if ( ( type === "text" ) || ( type === "search" ) ) {
  190
+				var maxLen = $input.attr( "maxLength" ) || 0;
188 191
 				
189  
-				if ((maxLen > 0) && (text.length > maxLen)) {
190  
-					$input.data(dataMaxLen, maxLen);
191  
-					$input.attr("maxLength", text.length);
  192
+				if ( ( maxLen > 0 ) && ( text.length > maxLen ) ) {
  193
+					$input.data( dataMaxLen, maxLen );
  194
+					$input.attr( "maxLength", text.length );
192 195
 				}
193 196
 			}
194 197
             
195  
-			className && $input.addClass(className);
  198
+			className && $input.addClass( className );
196 199
 			elem.value = text;
197 200
 		}
198 201
 		else {
199  
-			$.watermark._hide($input);
  202
+			$.watermark._hide( $input );
200 203
 		}
201 204
 	},
202 205
 	
203 206
 	// Hides all watermarks on the current page.
204 207
 	hideAll: function () {
205  
-		if (pageDirty) {
206  
-			$.watermark.hide(selWatermarkAble);
  208
+		if ( pageDirty ) {
  209
+			$.watermark.hide( selWatermarkAble );
207 210
 			pageDirty = false;
208 211
 		}
209 212
 	},
210 213
 	
211 214
 	// Displays all watermarks on the current page.
212 215
 	showAll: function () {
213  
-		$.watermark.show(selWatermarkAble);
  216
+		$.watermark.show( selWatermarkAble );
214 217
 	}
215 218
 };
216 219
 
217  
-$.fn.watermark = $.fn.watermark || function (text, options) {
  220
+$.fn.watermark = $.fn.watermark || function ( text, options ) {
218 221
 	///	<summary>
219 222
 	///		Set watermark text and class name on all input elements of type="text/password/search" and
220 223
 	/// 	textareas within the matched set. If className is not specified in options, the default is
@@ -268,54 +271,54 @@ $.fn.watermark = $.fn.watermark || function (text, options) {
268 271
 	/// 	overall it is not recommended.
269 272
 	/// </remarks>
270 273
 	
271  
-	if (!this.length) {
  274
+	if ( !this.length ) {
272 275
 		return this;
273 276
 	}
274 277
 	
275 278
 	var hasClass = false,
276  
-		hasText = (typeof(text) === "string");
  279
+		hasText = ( typeof( text ) === "string" );
277 280
 	
278  
-	if (hasText) {
279  
-		text = text.replace(rreturn, "");
  281
+	if ( hasText ) {
  282
+		text = text.replace( rreturn, "" );
280 283
 	}
281 284
 	
282  
-	if (typeof(options) === "object") {
283  
-		hasClass = (typeof(options.className) === "string");
284  
-		options = $.extend({}, $.watermark.options, options);
  285
+	if ( typeof( options ) === "object" ) {
  286
+		hasClass = ( typeof( options.className ) === "string" );
  287
+		options = $.extend( {}, $.watermark.options, options );
285 288
 	}
286  
-	else if (typeof(options) === "string") {
  289
+	else if ( typeof( options ) === "string" ) {
287 290
 		hasClass = true;
288  
-		options = $.extend({}, $.watermark.options, {className: options});
  291
+		options = $.extend( {}, $.watermark.options, { className: options } );
289 292
 	}
290 293
 	else {
291 294
 		options = $.watermark.options;
292 295
 	}
293 296
 	
294  
-	if (typeof(options.useNative) !== "function") {
  297
+	if ( typeof( options.useNative ) !== "function" ) {
295 298
 		options.useNative = options.useNative? function () { return true; } : function () { return false; };
296 299
 	}
297 300
 	
298 301
 	return this.each(
299 302
 		function () {
300  
-			var $input = $(this);
  303
+			var $input = $( this );
301 304
 			
302  
-			if (!$input.is(selWatermarkAble)) {
  305
+			if ( !$input.is( selWatermarkAble ) ) {
303 306
 				return;
304 307
 			}
305 308
 			
306 309
 			// Watermark already initialized?
307  
-			if ($input.data(dataFlag)) {
  310
+			if ( $input.data( dataFlag ) ) {
308 311
 			
309 312
 				// If re-defining text or class, first remove existing watermark, then make changes
310  
-				if (hasText || hasClass) {
311  
-					$.watermark._hide($input);
  313
+				if ( hasText || hasClass ) {
  314
+					$.watermark._hide( $input );
312 315
 			
313  
-					if (hasText) {
314  
-						$input.data(dataText, text);
  316
+					if ( hasText ) {
  317
+						$input.data( dataText, text );
315 318
 					}
316 319
 					
317  
-					if (hasClass) {
318  
-						$input.data(dataClass, options.className);
  320
+					if ( hasClass ) {
  321
+						$input.data( dataClass, options.className );
319 322
 					}
320 323
 				}
321 324
 			}
@@ -323,14 +326,14 @@ $.fn.watermark = $.fn.watermark || function (text, options) {
323 326
 			
324 327
 				// Detect and use native browser support, if enabled in options
325 328
 				if (
326  
-					(hasNativePlaceholder)
327  
-					&& (options.useNative.call(this, $input))
328  
-					&& (($input.attr("tagName") || "") !== "TEXTAREA")
  329
+					( hasNativePlaceholder )
  330
+					&& ( options.useNative.call( this, $input ) )
  331
+					&& ( ( $input.attr( "tagName" ) || "" ) !== "TEXTAREA" )
329 332
 				) {
330 333
 					// className is not set because current placeholder standard doesn't
331 334
 					// have a separate class name property for placeholders (watermarks).
332  
-					if (hasText) {
333  
-						$input.attr("placeholder", text);
  335
+					if ( hasText ) {
  336
+						$input.attr( "placeholder", text );
334 337
 					}
335 338
 					
336 339
 					// Only set data flag for non-native watermarks
@@ -338,78 +341,79 @@ $.fn.watermark = $.fn.watermark || function (text, options) {
338 341
 					return;
339 342
 				}
340 343
 				
341  
-				$input.data(dataText, hasText? text : "");
342  
-				$input.data(dataClass, options.className);
343  
-				$input.data(dataFlag, 1); // Flag indicates watermark was initialized
  344
+				$input.data( dataText, hasText? text : "" );
  345
+				$input.data( dataClass, options.className );
  346
+				$input.data( dataFlag, 1 ); // Flag indicates watermark was initialized
344 347
 				
345 348
 				// Special processing for password type
346  
-				if (($input.attr("type") || "") === "password") {
347  
-					var $wrap = $input.wrap("<span>").parent(),
348  
-						$wm = $($wrap.html().replace(/type=["']?password["']?/i, 'type="text"'));
  349
+				if ( ( $input.attr( "type" ) || "" ) === "password" ) {
  350
+					var $wrap = $input.wrap( "<span>" ).parent(),
  351
+						$wm = $( $wrap.html().replace( /type=["']?password["']?/i, 'type="text"' ) );
349 352
 					
350  
-					$wm.data(dataText, $input.data(dataText));
351  
-					$wm.data(dataClass, $input.data(dataClass));
352  
-					$wm.data(dataFlag, 1);
353  
-					$wm.attr("maxLength", text.length);
  353
+					$wm.data( dataText, $input.data( dataText ) );
  354
+					$wm.data( dataClass, $input.data( dataClass ) );
  355
+					$wm.data( dataFlag, 1 );
  356
+					$wm.attr( "maxLength", text.length );
354 357
 					
355 358
 					$wm.focus(
356 359
 						function () {
357  
-							$.watermark._hide($wm, true);
  360
+							$.watermark._hide( $wm, true );
358 361
 						}
359  
-					).bind("dragenter",
  362
+					).bind( "dragenter",
360 363
 						function () {
361  
-							$.watermark._hide($wm);
  364
+							$.watermark._hide( $wm );
362 365
 						}
363  
-					).bind("dragend",
  366
+					).bind( "dragend",
364 367
 						function () {
365  
-							window.setTimeout(function () { $wm.blur(); }, 1);
  368
+							window.setTimeout( function () { $wm.blur(); }, 1 );
366 369
 						}
367 370
 					);
  371
+					
368 372
 					$input.blur(
369 373
 						function () {
370  
-							$.watermark._show($input);
  374
+							$.watermark._show( $input );
371 375
 						}
372  
-					).bind("dragleave",
  376
+					).bind( "dragleave",
373 377
 						function () {
374  
-							$.watermark._show($input);
  378
+							$.watermark._show( $input );
375 379
 						}
376 380
 					);
377 381
 					
378  
-					$wm.data(dataPassword, $input);
379  
-					$input.data(dataPassword, $wm);
  382
+					$wm.data( dataPassword, $input );
  383
+					$input.data( dataPassword, $wm );
380 384
 				}
381 385
 				else {
382 386
 					
383 387
 					$input.focus(
384 388
 						function () {
385  
-							$input.data(dataFocus, 1);
386  
-							$.watermark._hide($input, true);
  389
+							$input.data( dataFocus, 1 );
  390
+							$.watermark._hide( $input, true );
387 391
 						}
388 392
 					).blur(
389 393
 						function () {
390  
-							$input.data(dataFocus, 0);
391  
-							$.watermark._show($input);
  394
+							$input.data( dataFocus, 0 );
  395
+							$.watermark._show( $input );
392 396
 						}
393  
-					).bind("dragenter",
  397
+					).bind( "dragenter",
394 398
 						function () {
395  
-							$.watermark._hide($input);
  399
+							$.watermark._hide( $input );
396 400
 						}
397  
-					).bind("dragleave",
  401
+					).bind( "dragleave",
398 402
 						function () {
399  
-							$.watermark._show($input);
  403
+							$.watermark._show( $input );
400 404
 						}
401  
-					).bind("dragend",
  405
+					).bind( "dragend",
402 406
 						function () {
403  
-							window.setTimeout(function () { $.watermark._show($input); }, 1);
  407
+							window.setTimeout( function () { $.watermark._show($input); }, 1 );
404 408
 						}
405  
-					).bind("drop",
  409
+					).bind( "drop",
406 410
 						// Firefox makes this lovely function necessary because the dropped text
407 411
 						// is merged with the watermark before the drop event is called.
408  
-						function (evt) {
409  
-							var elem = $input[0],
410  
-								dropText = evt.originalEvent.dataTransfer.getData("Text");
  412
+						function ( evt ) {
  413
+							var elem = $input[ 0 ],
  414
+								dropText = evt.originalEvent.dataTransfer.getData( "Text" );
411 415
 							
412  
-							if ((elem.value || "").replace(rreturn, "").replace(dropText, "") === $input.data(dataText)) {
  416
+							if ( ( elem.value || "" ).replace( rreturn, "" ).replace( dropText, "" ) === $input.data( dataText ) ) {
413 417
 								elem.value = dropText;
414 418
 							}
415 419
 							
@@ -422,35 +426,35 @@ $.fn.watermark = $.fn.watermark || function (text, options) {
422 426
 				// we need to replace the form's submit function with our own
423 427
 				// function.  Otherwise watermarks won't be cleared when the form
424 428
 				// is submitted programmatically.
425  
-				if (this.form) {
  429
+				if ( this.form ) {
426 430
 					var form = this.form,
427  
-						$form = $(form);
  431
+						$form = $( form );
428 432
 					
429  
-					if (!$form.data(dataFormSubmit)) {
430  
-						$form.submit($.watermark.hideAll);
  433
+					if ( !$form.data( dataFormSubmit ) ) {
  434
+						$form.submit( $.watermark.hideAll );
431 435
 						
432 436
 						// form.submit exists for all browsers except Google Chrome
433 437
 						// (see "else" below for explanation)
434  
-						if (form.submit) {
435  
-							$form.data(dataFormSubmit, form.submit);
  438
+						if ( form.submit ) {
  439
+							$form.data( dataFormSubmit, form.submit );
436 440
 							
437  
-							form.submit = (function (f, $f) {
  441
+							form.submit = ( function ( f, $f ) {
438 442
 								return function () {
439  
-									var nativeSubmit = $f.data(dataFormSubmit);
  443
+									var nativeSubmit = $f.data( dataFormSubmit );
440 444
 									
441 445
 									$.watermark.hideAll();
442 446
 									
443  
-									if (nativeSubmit.apply) {
444  
-										nativeSubmit.apply(f, Array.prototype.slice.call(arguments));
  447
+									if ( nativeSubmit.apply ) {
  448
+										nativeSubmit.apply( f, Array.prototype.slice.call( arguments ) );
445 449
 									}
446 450
 									else {
447 451
 										nativeSubmit();
448 452
 									}
449 453
 								};
450  
-							})(form, $form);
  454
+							})( form, $form );
451 455
 						}
452 456
 						else {
453  
-							$form.data(dataFormSubmit, 1);
  457
+							$form.data( dataFormSubmit, 1 );
454 458
 							
455 459
 							// This strangeness is due to the fact that Google Chrome's
456 460
 							// form.submit function is not visible to JavaScript (identifies
@@ -459,29 +463,29 @@ $.fn.watermark = $.fn.watermark || function (text, options) {
459 463
 							// useful.  Within my own form.submit function I delete the form's
460 464
 							// submit function, and then call the non-existent function --
461 465
 							// which, in the world of Google Chrome, still exists.
462  
-							form.submit = (function (f) {
  466
+							form.submit = ( function ( f ) {
463 467
 								return function () {
464 468
 									$.watermark.hideAll();
465 469
 									delete f.submit;
466 470
 									f.submit();
467 471
 								};
468  
-							})(form);
  472
+							})( form );
469 473
 						}
470 474
 					}
471 475
 				}
472 476
 			}
473 477
 			
474  
-			$.watermark._show($input);
  478
+			$.watermark._show( $input );
475 479
 		}
476 480
 	);
477 481
 };
478 482
 
479 483
 // The code included within the following if structure is guaranteed to only run once,
480 484
 // even if the watermark script file is included multiple times in the page.
481  
-if ($.watermark.runOnce) {
  485
+if ( $.watermark.runOnce ) {
482 486
 	$.watermark.runOnce = false;
483 487
 
484  
-	$.extend($.expr[":"], {
  488
+	$.extend( $.expr[ ":" ], {
485 489
 
486 490
 		// Extends jQuery with a custom selector - ":data(...)"
487 491
 		// :data(<name>)  Includes elements that have a specific name defined in the jQuery data
@@ -489,8 +493,38 @@ if ($.watermark.runOnce) {
489 493
 		// A more sophisticated version of the :data() custom selector originally part of this plugin
490 494
 		// was removed for compatibility with jQuery UI. The original code can be found in the SVN
491 495
 		// source listing in the file, "jquery.data.js".
492  
-		data: function( elem, i, match ) {
493  
-			return !!$.data( elem, match[ 3 ] );
  496
+		data: $.expr.createPseudo ?
  497
+			$.expr.createPseudo( function( dataName ) {
  498
+				return function( elem ) {
  499
+					return !!$.data( elem, dataName );
  500
+				};
  501
+			}) :
  502
+			// support: jQuery <1.8
  503
+			function( elem, i, match ) {
  504
+				return !!$.data( elem, match[ 3 ] );
  505
+			},
  506
+
  507
+		// Extends jQuery with a custom selector - ":watermarkable"
  508
+		// Includes elements that can be watermarked, including textareas and most input elements
  509
+		// that accept text input.  It uses a "negative" test (i.e., testing for input types that DON'T
  510
+		// work) because the HTML spec states that you can basically use any type, and if it doesn't
  511
+		// recognize the type it will default to type=text.  So if we only looked for certain type attributes
  512
+		// we would fail to recognize non-standard types, which are still valid and watermarkable.
  513
+		watermarkable: function ( elem ) {
  514
+			var type,
  515
+				name = elem.nodeName;
  516
+			
  517
+			if ( name === "TEXTAREA" ) {
  518
+				return true;
  519
+			}
  520
+			
  521
+			if ( name !== "INPUT" ) {
  522
+				return false;
  523
+			}
  524
+			
  525
+			type = elem.getAttribute( "type" );
  526
+			
  527
+			return ( ( !type ) || ( !rInvalidType.test( type ) ) );
494 528
 		}
495 529
 	});
496 530
 
@@ -498,66 +532,67 @@ if ($.watermark.runOnce) {
498 532
 	// watermarked input elements.  When .val() is being used to set values, this
499 533
 	// function ensures watermarks are properly set/removed after the values are set.
500 534
 	// Uses self-executing function to override the default jQuery function.
501  
-	(function (valOld) {
  535
+	( function ( valOld ) {
502 536
 
503 537
 		$.fn.val = function () {
  538
+			var args = Array.prototype.slice.call( arguments );
504 539
 			
505 540
 			// Best practice: return immediately if empty matched set
506 541
 			if ( !this.length ) {
507  
-				return arguments.length? this : undefined;
  542
+				return args.length? this : undefined;
508 543
 			}
509 544
 
510 545
 			// If no args, then we're getting the value of the first element;
511  
-			// otherwise we're setting values for all elements in matched set
512  
-			if ( !arguments.length ) {
  546
+			// else we're setting values for all elements in matched set
  547
+			if ( !args.length ) {
513 548
 
514 549
 				// If element is watermarked, get the underlying value;
515  
-				// otherwise use native jQuery .val()
516  
-				if ( this.data(dataFlag) ) {
517  
-					var v = (this[0].value || "").replace(rreturn, "");
518  
-					return (v === (this.data(dataText) || ""))? "" : v;
  550
+				// else use native jQuery .val()
  551
+				if ( this.data( dataFlag ) ) {
  552
+					var v = ( this[ 0 ].value || "" ).replace( rreturn, "" );
  553
+					return ( v === ( this.data( dataText ) || "" ) )? "" : v;
519 554
 				}
520 555
 				else {
521  
-					return valOld.apply( this, arguments );
  556
+					return valOld.apply( this );
522 557
 				}
523 558
 			}
524 559
 			else {
525  
-				valOld.apply( this, arguments );
526  
-				$.watermark.show(this);
  560
+				valOld.apply( this, args );
  561
+				$.watermark.show( this );
527 562
 				return this;
528 563
 			}
529 564
 		};
530 565
 
531  
-	})($.fn.val);
  566
+	})( $.fn.val );
532 567
 	
533 568
 	// Hijack any functions found in the triggerFns list
534  
-	if (triggerFns.length) {
  569
+	if ( triggerFns.length ) {
535 570
 
536 571
 		// Wait until DOM is ready before searching
537  
-		$(function () {
  572
+		$( function () {
538 573
 			var i, name, fn;
539 574
 		
540  
-			for (i=triggerFns.length-1; i>=0; i--) {
541  
-				name = triggerFns[i];
542  
-				fn = window[name];
  575
+			for ( i = triggerFns.length - 1; i >= 0; i-- ) {
  576
+				name = triggerFns[ i ];
  577
+				fn = window[ name ];
543 578
 				
544  
-				if (typeof(fn) === "function") {
545  
-					window[name] = (function (origFn) {
  579
+				if ( typeof( fn ) === "function" ) {
  580
+					window[ name ] = ( function ( origFn ) {
546 581
 						return function () {
547 582
 							$.watermark.hideAll();
548  
-							return origFn.apply(null, Array.prototype.slice.call(arguments));
  583
+							return origFn.apply( null, Array.prototype.slice.call( arguments ) );
549 584
 						};
550  
-					})(fn);
  585
+					})( fn );
551 586
 				}
552 587
 			}
553 588
 		});
554 589
 	}
555 590
 
556  
-	$(window).bind("beforeunload", function () {
557  
-		if ($.watermark.options.hideBeforeUnload) {
  591
+	$( window ).bind( "beforeunload", function () {
  592
+		if ( $.watermark.options.hideBeforeUnload ) {
558 593
 			$.watermark.hideAll();
559 594
 		}
560 595
 	});
561 596
 }
562 597
 
563  
-})(jQuery, window);
  598
+})( jQuery, window );
1  events/app/assets/stylesheets/events.css.scss
@@ -85,6 +85,7 @@ div.event_date {
85 85
 	overflow: hidden;
86 86
 	text-overflow: ellipsis;
87 87
 	height: 50px;
  88
+	width: 300px;
88 89
 }
89 90
 
90 91
 .event_details .title {
2  events/lib/social_stream/events/version.rb
... ...
@@ -1,5 +1,5 @@
1 1
 module SocialStream
2 2
   module Events
3  
-    VERSION = "0.14.0".freeze
  3
+    VERSION = "0.14.1".freeze
4 4
   end
5 5
 end
2  events/social_stream-events.gemspec
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12 12
   s.files = `git ls-files`.split("\n")
13 13
 
14 14
   # Gem dependencies
15  
-  s.add_runtime_dependency('social_stream-base', '~> 0.22.0')
  15
+  s.add_runtime_dependency('social_stream-base', '~> 0.22.1')
16 16
   s.add_runtime_dependency('rails-scheduler', '~> 0.0.8')
17 17
 
18 18
   # Development Gem dependencies
2  lib/social_stream/version.rb
... ...
@@ -1,3 +1,3 @@
1 1
 module SocialStream
2  
-  VERSION = "0.28.0".freeze
  2
+  VERSION = "0.28.1".freeze
3 3
 end
4  social_stream.gemspec
@@ -11,9 +11,9 @@ Gem::Specification.new do |s|
11 11
   s.files = `git ls-files`.split("\n")
12 12
 
13 13
   # Gem dependencies
14  
-  s.add_runtime_dependency('social_stream-base', '~> 0.22.0')
  14
+  s.add_runtime_dependency('social_stream-base', '~> 0.22.1')
15 15
   s.add_runtime_dependency('social_stream-documents', '~> 0.16.0')
16  
-  s.add_runtime_dependency('social_stream-events', '~> 0.14.0')
  16
+  s.add_runtime_dependency('social_stream-events', '~> 0.14.1')
17 17
   s.add_runtime_dependency('social_stream-linkser', '~> 0.13.0')
18 18
   s.add_runtime_dependency('social_stream-presence', '~> 0.15.0')
19 19
   s.add_runtime_dependency('social_stream-ostatus', '~> 0.0.1')

0 notes on commit 12eb6eb

Please sign in to comment.
Something went wrong with that request. Please try again.