social_stream 0.28.0 → 0.28.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.gitignore CHANGED
@@ -13,3 +13,4 @@ lib/generators/social_stream/templates/public/images/tmp/
13
13
  spec/dummy/documents/pictures/*
14
14
  spec/dummy/documents/documents/*
15
15
  .code_swarm
16
+ .sass-cache/
@@ -48,11 +48,13 @@ module ToolbarHelper
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 @@ module ToolbarHelper
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
 
@@ -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
@@ -46,7 +46,7 @@ Gem::Specification.new do |s|
46
46
  # Tagging
47
47
  s.add_runtime_dependency('acts-as-taggable-on','~> 2.2.2')
48
48
  # HTML Forms
49
- s.add_runtime_dependency('formtastic','~> 1.2.3')
49
+ s.add_runtime_dependency('formtastic','>= 1.2.3')
50
50
  # Background jobs
51
51
  s.add_runtime_dependency('resque','~> 1.20.0')
52
52
  # Modernizr.js javascript library
@@ -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 );
@@ -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 {
@@ -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
@@ -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
@@ -1,3 +1,3 @@
1
1
  module SocialStream
2
- VERSION = "0.28.0".freeze
2
+ VERSION = "0.28.1".freeze
3
3
  end
@@ -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
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: social_stream
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.28.0
4
+ version: 0.28.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-06-28 00:00:00.000000000 Z
13
+ date: 2012-09-06 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: social_stream-base
@@ -19,7 +19,7 @@ dependencies:
19
19
  requirements:
20
20
  - - ~>
21
21
  - !ruby/object:Gem::Version
22
- version: 0.22.0
22
+ version: 0.22.1
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -27,7 +27,7 @@ dependencies:
27
27
  requirements:
28
28
  - - ~>
29
29
  - !ruby/object:Gem::Version
30
- version: 0.22.0
30
+ version: 0.22.1
31
31
  - !ruby/object:Gem::Dependency
32
32
  name: social_stream-documents
33
33
  requirement: !ruby/object:Gem::Requirement
@@ -51,7 +51,7 @@ dependencies:
51
51
  requirements:
52
52
  - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: 0.14.0
54
+ version: 0.14.1
55
55
  type: :runtime
56
56
  prerelease: false
57
57
  version_requirements: !ruby/object:Gem::Requirement
@@ -59,7 +59,7 @@ dependencies:
59
59
  requirements:
60
60
  - - ~>
61
61
  - !ruby/object:Gem::Version
62
- version: 0.14.0
62
+ version: 0.14.1
63
63
  - !ruby/object:Gem::Dependency
64
64
  name: social_stream-linkser
65
65
  requirement: !ruby/object:Gem::Requirement