puffer 0.0.7 → 0.0.8

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.
Files changed (48) hide show
  1. data/VERSION +1 -1
  2. data/app/cells/puffer/base/additional.html.erb +13 -5
  3. data/app/helpers/puffer_helper.rb +6 -1
  4. data/app/views/layouts/puffer.html.erb +5 -3
  5. data/app/views/puffer/_form.html.erb +1 -1
  6. data/app/views/puffer/associated/one.js.erb +9 -0
  7. data/app/views/puffer/edit.html.erb +1 -1
  8. data/app/views/puffer/index.html.erb +7 -7
  9. data/app/views/puffer/new.html.erb +1 -1
  10. data/app/views/puffer/show.html.erb +4 -4
  11. data/lib/generators/puffer/install/templates/puffer/javascripts/application.js +10 -0
  12. data/lib/generators/puffer/install/templates/puffer/javascripts/rails-src.js +36 -378
  13. data/lib/generators/puffer/install/templates/puffer/javascripts/right-autocompleter-src.js +621 -0
  14. data/lib/generators/puffer/install/templates/puffer/javascripts/right-autocompleter.js +18 -0
  15. data/lib/generators/puffer/install/templates/puffer/javascripts/right-autocompleter.js.gz +0 -0
  16. data/lib/generators/puffer/install/templates/puffer/stylesheets/puffer.css +107 -6
  17. data/lib/puffer/base.rb +4 -3
  18. data/lib/puffer/controller/actions.rb +4 -70
  19. data/lib/puffer/controller/dsl.rb +23 -5
  20. data/lib/puffer/controller/generated.rb +65 -0
  21. data/lib/puffer/extensions/activerecord.rb +3 -3
  22. data/lib/puffer/extensions/core.rb +14 -0
  23. data/lib/puffer/extensions/mapper.rb +20 -0
  24. data/lib/puffer/fields.rb +11 -2
  25. data/lib/puffer/fields/field.rb +24 -1
  26. data/lib/puffer/inputs.rb +1 -3
  27. data/lib/puffer/inputs/association.rb +27 -1
  28. data/lib/puffer/inputs/base.rb +12 -4
  29. data/lib/puffer/inputs/boolean.rb +1 -1
  30. data/lib/puffer/inputs/date_time.rb +1 -1
  31. data/lib/puffer/resource.rb +1 -1
  32. data/lib/puffer/resource/routing.rb +2 -2
  33. data/lib/puffer/resource/scoping.rb +5 -1
  34. data/puffer.gemspec +15 -5
  35. data/spec/dummy/app/controllers/admin/profiles_controller.rb +2 -2
  36. data/spec/dummy/app/views/admin/users/index.html.erb +3 -1
  37. data/spec/dummy/config/database.yml +1 -1
  38. data/spec/dummy/public/puffer/javascripts/application.js +10 -0
  39. data/spec/dummy/public/puffer/javascripts/rails-src.js +36 -378
  40. data/spec/dummy/public/puffer/javascripts/right-autocompleter-src.js +621 -0
  41. data/spec/dummy/public/puffer/javascripts/right-autocompleter.js +18 -0
  42. data/spec/dummy/public/puffer/javascripts/right-autocompleter.js.gz +0 -0
  43. data/spec/dummy/public/puffer/stylesheets/puffer.css +107 -6
  44. data/spec/lib/extensions/core_spec.rb +29 -0
  45. data/spec/lib/resource/routing_spec.rb +11 -11
  46. metadata +28 -18
  47. data/lib/generators/puffer/install/templates/puffer/javascripts/rails.js +0 -14
  48. data/spec/dummy/public/puffer/javascripts/rails.js +0 -14
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.7
1
+ 0.0.8
@@ -1,17 +1,25 @@
1
1
  <dl>
2
2
  <dt>Links</dt>
3
3
  <dd>
4
- <%= link_to_unless_current t(:list, :target => resource.human), resource.index_path %>
4
+ <%= link_to_unless_current t(:list, :target => resource.human), resource.collection_path %>
5
5
  <%= link_to_unless_current t(:add, :target => resource.human), resource.new_path %>
6
6
  </dd>
7
7
  <dt>Search</dt>
8
8
  <dd>
9
- <%= form_tag resource.index_path, {:method => :get} do %>
10
- <%= text_field_tag :query, resource_session[:query] %>
9
+ <%= form_tag resource.collection_path, {:method => :get} do %>
10
+ <%= text_field_tag :search, params[:search] %>
11
11
  <%= submit_tag 'Search' %>
12
- <% if resource_session[:query].present? %>
13
- <%= link_to 'clear', resource.index_path(:query => '') %>
12
+
13
+
14
+
15
+ <% if false %>
16
+ <% if resource_session[:search].present? %>
17
+ <%= link_to 'clear', resource.collection_path(:search => '') %>
14
18
  <% end %>
19
+ <% end %>
20
+
21
+
22
+
15
23
  <% end %>
16
24
  </dd>
17
25
  </dl>
@@ -14,8 +14,13 @@ module PufferHelper
14
14
  else ''
15
15
  end
16
16
  else
17
- res = h(record.call_chain(field.name))
17
+ res = record.call_chain(field.field)
18
18
  end
19
+ unless field.native?
20
+ url = edit_polymorphic_path [resource.prefix, record.call_chain(field.path)] rescue nil
21
+ res = link_to res, url if url
22
+ end
23
+ res
19
24
  end
20
25
 
21
26
  end
@@ -1,5 +1,5 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
1
+ <!DOCTYPE html>
2
+ <html>
3
3
  <head>
4
4
  <title><%= [@title, 'Puffer'].compact.join(' - ') %></title>
5
5
  <meta http-equiv="content-type" content="text/html;charset=utf-8" />
@@ -9,8 +9,10 @@
9
9
  <%= yield :stylesheet %>
10
10
 
11
11
  <%= javascript_include_tag '/puffer/javascripts/right-src' %>
12
- <%= javascript_include_tag '/puffer/javascripts/rails-src' %>
13
12
  <%= javascript_include_tag '/puffer/javascripts/right-calendar-src' %>
13
+ <%= javascript_include_tag '/puffer/javascripts/right-autocompleter-src' %>
14
+ <%= javascript_include_tag '/puffer/javascripts/rails-src' %>
15
+ <%= javascript_include_tag '/puffer/javascripts/application' %>
14
16
  <%= yield :javascript %>
15
17
  </head>
16
18
  <body>
@@ -7,5 +7,5 @@
7
7
  <div class="buttons">
8
8
  <%= f.submit 'Save' %>
9
9
  <%= f.submit 'Save and exit' %>
10
- <%= link_to 'cancel', (request.referer || resource.index_path) %>
10
+ <%= link_to 'cancel', (request.referer || resource.collectin_path) %>
11
11
  </div>
@@ -0,0 +1,9 @@
1
+ <ul>
2
+ <% primary_key = @field.reflection.primary_key_column.name.to_sym %>
3
+ <% records.each do |record| %>
4
+ <li data-id="<%= record[primary_key] %>">
5
+ <div class="title"><strong><%= record[primary_key] %></strong> — <%= record.to_title %></div>
6
+ <div class="description">record.password</div>
7
+ </li>
8
+ <% end %>
9
+ </ul>
@@ -1,6 +1,6 @@
1
1
  <% @title = "Edit #{resource.human}" %>
2
2
  <h1><%= @title %></h1>
3
- <%= form_for record, :url => resource.path, :html => {:multipart => true} do |f| %>
3
+ <%= form_for record, :url => resource.member_path, :html => {:multipart => true} do |f| %>
4
4
  <%= render :partial => 'terbium/form', :locals => { :f => f, :action => 'edit' } %>
5
5
  <% end %>
6
6
 
@@ -1,6 +1,6 @@
1
1
  <% @title = resource.human %>
2
2
  <h1><%= @title %></h1>
3
- <%= will_paginate records, :url => resource.index_path(:page => '') %>
3
+ <%= will_paginate records, :url => resource.collection_path(:page => '') %>
4
4
  <% if records.present? %>
5
5
  <table class="list_table">
6
6
  <thead>
@@ -18,9 +18,9 @@
18
18
  <td><%= render_field field, record %></td>
19
19
  <% end -%>
20
20
  <td class="actions">
21
- <%= link_to 'show', resource.path(record), :class => 'show_entry' if show_fields.present? || resource.children.present? %>
21
+ <%= link_to 'show', resource.member_path(record), :class => 'show_entry' if show_fields.present? || resource.children.present? %>
22
22
  <%= link_to 'edit', resource.edit_path(record), :class => 'edit_entry' if update_fields.present? %>
23
- <%= link_to 'destroy', resource.path(record), :confirm => "Are you sure?", :method => :delete, :class => 'remove_entry' if configuration.destroy %>
23
+ <%= link_to 'destroy', resource.member_path(record), :confirm => "Are you sure?", :method => :delete, :class => 'remove_entry' if configuration.destroy %>
24
24
  </td>
25
25
  </tr>
26
26
  <% end -%>
@@ -29,16 +29,16 @@
29
29
  <% else %>
30
30
  <p>Sorry, but there is no records in <%= resource.human %></p>
31
31
  <% end %>
32
- <%= will_paginate records, :url => resource.index_path(:page => '') %>
32
+ <%= will_paginate records, :url => resource.collection_path(:page => '') %>
33
33
 
34
34
  <% if false %>
35
35
  <% content_for :additional_navigation do %>
36
36
  <ul class="buttons">
37
37
  <% resource.ancestors.each do |resource| %>
38
- <%= link_to resource.plural? ? resource.human : resource.member.to_title, resource.index_path %>
39
- <%= link_to resource.member.to_title, resource.path unless resource.plural? %>
38
+ <%= link_to resource.plural? ? resource.human : resource.member.to_title, resource.collection_path %>
39
+ <%= link_to resource.member.to_title, resource.member_path unless resource.plural? %>
40
40
  <% end %>
41
- <%= link_to resource.plural? ? resource.human : resource.member.to_title, resource.index_path %>
41
+ <%= link_to resource.plural? ? resource.human : resource.member.to_title, resource.collection_path %>
42
42
  </ul>
43
43
  <% end %>
44
44
  <% end %>
@@ -1,6 +1,6 @@
1
1
  <% @title = "New #{resource.human}" %>
2
2
  <h1><%= @title %></h1>
3
- <%= form_for record, :url => resource.index_path, :html => {:multipart => true} do |f| %>
3
+ <%= form_for record, :url => resource.collection_path, :html => {:multipart => true} do |f| %>
4
4
  <%= render :partial => 'terbium/form', :locals => { :f => f, :action => 'new' } %>
5
5
  <% end %>
6
6
 
@@ -5,7 +5,7 @@
5
5
  <li>
6
6
  <h2>Associations</h2>
7
7
  <% resource.children.each do |child| %>
8
- <%= link_to child.human, child.index_path %>
8
+ <%= link_to child.human, child.collection_path %>
9
9
  <% end %>
10
10
  </li>
11
11
  <% end %>
@@ -14,7 +14,7 @@
14
14
  <li>
15
15
  <h2><%= field.label %></h2>
16
16
  <div>
17
- <%= render_field record, field %>
17
+ <%= render_field field, record %>
18
18
  </div>
19
19
  </li>
20
20
  <% end if show_fields && record -%>
@@ -22,8 +22,8 @@
22
22
  <% content_for :additional_navigation do %>
23
23
  <ul class="buttons">
24
24
  <% (resource.ancestors + [resource]).each do |resource| %>
25
- <%= link_to resource.plural? ? resource.human : resource.member.to_title, resource.index_path %>
26
- <%= link_to resource.member.to_title, resource.path unless resource.plural? %>
25
+ <%= link_to resource.plural? ? resource.human : resource.member.to_title, resource.collection_path %>
26
+ <%= link_to resource.member.to_title, resource.member_path unless resource.plural? %>
27
27
  <% end %>
28
28
  </ul>
29
29
  <% end %>
@@ -0,0 +1,10 @@
1
+ var association_done = function(event) {
2
+ current = this.first('li.current')
3
+ this.input.next('input[type=hidden]').value(current.get('data-id'));
4
+ this.input.value(current.find('.title').first().html().stripTags()).disable();
5
+ }
6
+
7
+ '.association_clear'.on('click', function(event) {
8
+ this.prev('input[type=text]').value('').enable();
9
+ this.next('input[type=hidden]').value('');
10
+ });
@@ -1,115 +1,16 @@
1
- /**
2
- * The Ruby On Rails plugin for RightJS
3
- * http://github.com/MadRabbit/right-rails
4
- *
5
- * Copyright (C) 2009-2010 Nikolay Nemshilov
6
- */
7
1
  (function(window, document, RightJS) {
8
- /**
9
- * Underscored aliases for Ruby On Rails
10
- *
11
- * Copyright (C) 2009-2010 Nikolay Nemshilov
12
- */
13
2
 
14
- /**
15
- * The Rails plugin initialization script
16
- *
17
- * Copyright (C) 2010 Nikolay Nemshilov
18
- */
3
+ var $ = RightJS.$,
4
+ $$ = RightJS.$$,
5
+ $E = RightJS.$E,
6
+ Xhr = RightJS.Xhr;
19
7
 
20
- var R = RightJS,
21
- $ = RightJS.$,
22
- $$ = RightJS.$$,
23
- $E = RightJS.$E,
24
- Xhr = RightJS.Xhr,
25
- Object = RightJS.Object;
26
-
27
-
28
-
29
- // the language and window level aliases
30
- R([
31
- RightJS.String.prototype,
32
- RightJS.Array.prototype,
33
- RightJS.Function.prototype,
34
- RightJS.Object,
35
- RightJS.Options,
36
- RightJS.Observer,
37
- RightJS.Observer.prototype,
38
- window,
39
- document
40
- ]).each(function(object) {
41
- for (var key in object) {
42
- try { // some keys are not accessable
43
-
44
- if (/[A-Z]/.test(key) && typeof(object[key]) === 'function') {
45
- var u_key = R(key).underscored();
46
- if (object[u_key] === null || object[u_key] === undefined) {
47
- object[u_key] = object[key];
48
- }
49
- }
50
- } catch (e) {}
51
- }
52
- });
53
-
54
-
55
- // DOM package aliases
56
- R([
57
- RightJS.Element,
58
- RightJS.Event,
59
- RightJS.Form,
60
- RightJS.Input
61
- ]).each(function(object) {
62
- if (!object) { return; }
63
-
64
- var aliases = {}, methods = object.prototype;
65
-
66
- for (var key in methods) {
67
- if (/[A-Z]/.test(key) && typeof(methods[key]) === 'function') {
68
- object.prototype[R(key).underscored()] = methods[key];
69
- }
8
+ var cancel = function(element) {
9
+ var message = element.get('data-confirm');
10
+ return(message && !confirm(message));
70
11
  }
71
- });
72
12
 
73
- // various ruby-like method aliases
74
- RightJS.$alias(RightJS.String.prototype, {
75
- index_of: 'indexOf',
76
- last_index_of: 'lastIndexOf',
77
- to_f: 'toFloat',
78
- to_i: 'toInt',
79
- gsub: 'replace',
80
- downcase: 'toLowerCase',
81
- upcase: 'toUpperCase',
82
- index: 'indexOf',
83
- rindex: 'lastIndexOf',
84
- strip: 'trim'
85
- });
86
-
87
- RightJS.$alias(RightJS.Array.prototype, {
88
- collect: 'map',
89
- detect: 'filter',
90
- index_of: 'indexOf',
91
- last_index_of: 'lastIndexOf',
92
- index: 'indexOf',
93
- rindex: 'lastIndexOf'
94
- });
95
-
96
- /**
97
- * Rails 3 UJS support module
98
- *
99
- * Copyright (C) 2010 Nikolay Nemshilov
100
- */
101
- (function() {
102
- // tries to cancel the event via confirmation
103
- var user_cancels = function(event, element) {
104
- var message = element.get('data-confirm');
105
- if (message && !confirm(message)) {
106
- event.stop();
107
- return true;
108
- }
109
- };
110
-
111
- // adds XHR events to the element
112
- var add_xhr_events = function(element, options) {
13
+ var xhr_events = function(element, options) {
113
14
  return Object.merge({
114
15
  onCreate: function() { element.fire('ajax:loading', this); },
115
16
  onComplete: function() { element.fire('ajax:complete', this); },
@@ -117,283 +18,40 @@ RightJS.$alias(RightJS.Array.prototype, {
117
18
  onFailure: function() { element.fire('ajax:failure', this); }
118
19
  }, options);
119
20
  };
120
-
121
- // processes link clicks
122
- var try_link_submit = function(event) {
123
- var link = event.target,
124
- method = link.get('data-method'),
125
- remote = link.get('data-remote'),
126
- url = link.get('href');
127
-
128
- if (user_cancels(event, link)) { return; }
129
- if (method || remote) { event.stop(); }
130
-
21
+
22
+ 'form[data-remote]'.on('submit', function(event) {
23
+ event.stop();
24
+ this.send();
25
+ });
26
+
27
+ 'a[data-confirm], a[data-method], a[data-remote]'.on('click', function(event) {
28
+ if (cancel(this)) { event.stop(); return; }
29
+
30
+ var method = this.get('data-method') || 'get',
31
+ remote = !!this.get('data-remote'),
32
+ url = this.get('href');
33
+
34
+ if (method != 'get' || remote) { event.stop(); }
35
+
131
36
  if (remote) {
132
- Xhr.load(url, add_xhr_events(link, {
133
- method: method || 'get',
134
- spinner: link.get('data-spinner')
37
+ Xhr.load(url, xhr_events(this, {
38
+ method: method,
39
+ spinner: this.get('data-spinner')
135
40
  }));
136
-
137
- } else if (method) {
138
- var param = $$('meta[name=csrf-param]')[0],
139
- token = $$('meta[name=csrf-token]')[0],
41
+ }
42
+
43
+ if (method != 'get') {
44
+ var param = $$('meta[name=csrf-param]')[0].get('content'),
45
+ token = $$('meta[name=csrf-token]')[0].get('content'),
140
46
  form = $E('form', {action: url, method: 'post'});
141
-
47
+
142
48
  if (param && token) {
143
- form.insert('<input type="hidden" name="'+param.get('content')+'" value="'+token.get('content')+'" />');
49
+ form.insert('<input type="hidden" name="' + param + '" value="' + token + '" />');
144
50
  }
145
-
146
- form.insert('<input type="hidden" name="_method" value="'+method+'"/>')
147
- .insertTo(document.body).submit();
148
- }
149
- };
150
51
 
151
- // global events listeners
152
- $(document).on({
153
- click: function(event) {
154
- var tag = event.target._.tagName;
155
- if (tag === 'A' || tag === 'BUTTON') {
156
- try_link_submit(event);
157
- }
158
- },
159
-
160
- submit: function(event) {
161
- var form = event.target;
162
- if (form.has('data-remote') && !user_cancels(event, form)) {
163
- event.stop();
164
- form.send(add_xhr_events(form, {
165
- spinner: form.get('data-spinner') || form.first('.spinner')
166
- }));
167
- }
52
+ form.insert('<input type="hidden" name="_method" value="' + method + '"/>')
53
+ .insertTo(document.body).submit();
168
54
  }
169
55
  });
170
- })();
171
-
172
-
173
- /**
174
- * RR is the common ajax operations wrapper for ruby on rails
175
- *
176
- * Copyright (C) 2009-2010 Nikolay Nemshilov
177
- */
178
- var RR = {
179
- /**
180
- * Basic options
181
- *
182
- * NOTE: DO NOT CHANGE this hash right here
183
- * Use your application.js file to alter the options
184
- */
185
- Options: {
186
- format: 'js', // the working format for remote requests over the application
187
-
188
- flashId: 'flashes', // the flashes element id
189
- flashHideFx: 'slide', // use null if you don't want any fx in here
190
- flashHideDelay: 3200, // use -1 to disable the flash element hidding
191
-
192
- highlightUpdates: true,
193
-
194
- removeFx: 'fade', // blocks removing fx
195
- insertFx: 'fade', // blocks insertion fx
196
-
197
- insertPosition: 'bottom', // default insert position
198
-
199
- linkToAjaxEdit: '.ajax_edit',
200
- linkToAjaxDelete: '.ajax_delete',
201
-
202
- rescanWithScopes: true // if it should rescan only updated elements
203
- },
204
-
205
- /**
206
- * Updates the flashes block with the source
207
- *
208
- * @param String new content
209
- * @return RR this
210
- */
211
- update_flash: function(content) {
212
- var element = $(this.Options.flashId);
213
- if (element) {
214
- this.replace(element, content).hide_flash();
215
- }
216
- return this;
217
- },
218
-
219
- /**
220
- * Initializes the delayed flashes hide call
221
- *
222
- * @return RR this
223
- */
224
- hide_flash: function() {
225
- if (this.Options.flashHideDelay > -1) {
226
- var element = $(this.Options.flashId);
227
- if (element && element.visible()) {
228
- element.hide.bind(element, this.Options.flashHideFx).delay(this.Options.flashHideDelay);
229
- }
230
- }
231
- return this;
232
- },
233
-
234
- /**
235
- * Highlights the element according to the options
236
- *
237
- * @param String element id
238
- * @return RR this
239
- */
240
- highlight: function(id) {
241
- if ($(id) && this.Options.highlightUpdates) {
242
- $(id).highlight();
243
- }
244
- return this;
245
- },
246
-
247
- /**
248
- * Inserts the content into the given element
249
- *
250
- * @param destination String destination id
251
- * @param content String content
252
- * @param position String position
253
- * @return RR this
254
- */
255
- insert: function(where, what, in_position) {
256
- var position = in_position || this.Options.insertPosition, new_element,
257
- container = $(where).insert(what, position);
258
-
259
- // trying to find the new block
260
- switch (position) {
261
- case 'bottom': new_element = container.children().last(); break;
262
- case 'top': new_element = container.first(); break;
263
- case 'before': new_element = container.prev(); break;
264
- case 'after': new_element = container.next(); break;
265
- }
266
-
267
- // necely displaying the new block
268
- if (new_element && this.Options.insertFx) {
269
- new_element.hide().show(this.Options.insertFx, {
270
- onFinish: this.highlight.bind(this, new_element)
271
- });
272
- } else {
273
- this.highlight(new_element);
274
- }
275
-
276
- return this.rescan(where);
277
- },
278
-
279
- /**
280
- * Replaces the given element with a new content
281
- *
282
- * @param destination String destination id
283
- * @param content String content
284
- * @return RR this
285
- */
286
- replace: function(id, source) {
287
- $(id).replace(source);
288
- return this.highlight(id).rescan(id);
289
- },
290
-
291
- /**
292
- * removes the element by id
293
- *
294
- * @param String element id
295
- * @return RR this
296
- */
297
- remove: function(id) {
298
- if ($(id)) {
299
- $(id).remove(this.Options.removeFx);
300
- }
301
- },
302
-
303
- /**
304
- * Makes a remote form out of the form
305
- *
306
- * @param String form id
307
- * @return RR this
308
- */
309
- remotize_form: function(id) {
310
- var form = $(id);
311
- if (form) {
312
- form.remotize().enable()._.action += '.'+this.Options.format;
313
- }
314
- return this;
315
- },
316
-
317
- /**
318
- * Replaces the form with new content and makes it remote
319
- *
320
- * @param form id String form id
321
- * @param content String content
322
- * @return RR this
323
- */
324
- replace_form: function(id, source) {
325
- var form = $(id);
326
- if (form) {
327
- form.replace(source);
328
- this.remotize_form(id);
329
- }
330
-
331
- return this.rescan(id);
332
- },
333
-
334
- /**
335
- * Inserts the form source into the given element
336
- *
337
- * @param target id String target id
338
- * @param source String form source
339
- * @return RR this
340
- */
341
- show_form_for: function(id, source) {
342
- $(id).select('form').each('remove'); // removing old forms
343
- $(id).insert(source);
344
-
345
- return this.remotize_form($(id).first('form')).rescan(id);
346
- },
347
-
348
- /**
349
- * watches link clicks and processes the ajax edit/delete operations
350
- *
351
- * @param Event event
352
- */
353
- process_click: function(event) {
354
- var link;
355
-
356
- if ((link = event.find('a'+ this.Options.linkToAjaxEdit))) {
357
- event.stop();
358
- Xhr.load(link.get('href') + '.' + this.Options.format);
359
- } else if ((link = event.find('a'+ this.Options.linkToAjaxDelete)) && link.has('onclick')) {
360
- event.stop();
361
- eval('({f:'+ link.onclick.toString().replace('.submit', '.send')+'})').f.call(link);
362
- }
363
- },
364
-
365
- /**
366
- * Scans for updated elements
367
- *
368
- * @return RR this
369
- */
370
- rescan: function(scope) {
371
- $w('Draggable Droppable Tabs Slider Selectable').each(function(name) {
372
- if (name in window) {
373
- window[name].rescan(this.Options.rescanWithScopes ? scope : null);
374
- }
375
- }, this);
376
-
377
-
378
- return this;
379
- }
380
- };
381
56
 
382
-
383
- /**
384
- * the document onload hooks
385
- *
386
- * Copyright (C) 2010 Nikolay Nemshilov
387
- */
388
- $(document).on({
389
- ready: function() {
390
- RR.hide_flash();
391
- },
392
-
393
- click: function(event) {
394
- RR.process_click(event);
395
- }
396
- });
397
-
398
- window.RR = RR;
399
- })(window, document, RightJS);
57
+ })(window, document, RightJS);