#{WiceGridNlMessageProvider.get_message(:SAVED_QUERY_PANEL_TITLE)}
! +
saved_queries_list(grid_name, grid.saved_query, options[:extra_parameters]) +
- %!
! +
+ %!
! +
if block_given?
view, ids = yield
view
else
''
end +
- text_field_tag(id_and_name, '',
- :size => 20, :onkeydown=>'', :id => id_and_name) +
- button_to_function(WiceGridNlMessageProvider.get_message(:SAVE_QUERY_BUTTON_LABEL), "#{grid_name}_save_query()" ) + '
' +
+ text_field_tag(id_and_name, '', :size => 20, :onkeydown=>'', :id => id_and_name) +
+ button_to_function(WiceGridNlMessageProvider.get_message(:SAVE_QUERY_BUTTON_LABEL), "#{grid_name}_save_query()" ) +
+ '' +
javascript_tag do
- %/ function #{grid_name}_save_query(){\n/ +
- %/ if ( typeof(#{grid_name}) != "undefined")\n/ +
- %/ #{grid_name}.save_query($F('#{id_and_name}'), '#{base_path_to_query_controller}', #{parameters.to_json}, #{ids.to_json})\n/ +
- %/}\n/ +
- %/ $('#{id_and_name}').observe('keydown', function(event){\n/ +
- %/ if (event.keyCode == 13) #{grid_name}_save_query();\n/ +
- %/ })\n/
- end).html_safe
+ JsAdaptor.call_to_save_query_and_key_event_initialization_for_saving_queries(
+ id_and_name, grid_name, base_path_to_query_controller, parameters.to_json, ids.to_json
+ )
+ end
+ ).html_safe
end
def saved_queries_list(grid_name, saved_query = nil, extra_parameters = nil) #:nodoc:
diff --git a/lib/helpers/wice_grid_view_helpers.rb b/lib/helpers/wice_grid_view_helpers.rb
index 4bf2028a..e5699c10 100644
--- a/lib/helpers/wice_grid_view_helpers.rb
+++ b/lib/helpers/wice_grid_view_helpers.rb
@@ -482,14 +482,15 @@ def grid_html(grid, options, rendering, reuse_last_column_for_filter_buttons) #:
link_for_export = rendering.link_for_export(controller, 'csv', options[:extra_request_parameters])
parameter_name_for_query_loading = {grid.name => {:q => ''}}.to_query
+ parameter_name_for_focus = {grid.name => {:foc => ''}}.to_query
prototype_and_js_version_check = if ENV['RAILS_ENV'] == 'development'
%$ if (typeof(WiceGridProcessor) == "undefined"){\n$ +
%$ alert('wice_grid.js not loaded, WiceGrid cannot proceed! ' +\n$ +
- %$ 'Please make sure that you include Prototype and WiceGrid javascripts in your page. ' +\n$ +
+ %$ 'Please make sure that you include WiceGrid javascript in your page. ' +\n$ +
%$ 'Use <%= include_wice_grid_assets %> or <%= include_wice_grid_assets(:include_calendar => true) %> ' +\n$ +
%$ 'for WiceGrid javascripts and assets.')\n$ +
- %$ } else if ((typeof(WiceGridProcessor._version) == "undefined") || ( WiceGridProcessor._version != "0.4.1")) {\n$ +
+ %$ } else if ((typeof(WiceGridProcessor._version) == "undefined") || ( WiceGridProcessor._version != "0.4.2")) {\n$ +
%$ alert("wice_grid.js in your /public is outdated, please run\\n ./script/generate wice_grid_assets\\nto update it.");\n$ +
%$ }\n$
else
@@ -497,82 +498,47 @@ def grid_html(grid, options, rendering, reuse_last_column_for_filter_buttons) #:
end
if rendering.show_hide_button_present
- cached_javascript << %/ $('#{grid.name}_show_icon').observe('click', function(){\n/+
- %/ Element.toggle('#{grid.name}_show_icon');\n/+
- %/ Element.toggle('#{grid.name}_hide_icon');\n/+
- %/ $('#{filter_row_id}').show();\n/+
- %/ })\n/+
- %/ $('#{grid.name}_hide_icon').observe('click', function(){\n/+
- %/ Element.toggle('#{grid.name}_show_icon');\n/+
- %/ Element.toggle('#{grid.name}_hide_icon');\n/+
- %/ $('#{filter_row_id}').hide();\n/+
- %/ });\n/
+ cached_javascript << JsAdaptor.show_hide_button_initialization(grid.name, filter_row_id)
end
if rendering.reset_button_present
- cached_javascript << %/ $$('div##{grid.name}.wice_grid_container .reset').each(function(e){\n/+
- %/ e.observe('click', function(){\n/+
- %/ #{reset_grid_javascript(grid)};\n/+
- %/ })\n/+
- %/ });\n/
+ cached_javascript << JsAdaptor.reset_button_initialization(grid.name, reset_grid_javascript(grid))
end
if rendering.submit_button_present
- cached_javascript << %/ $$('div##{grid.name}.wice_grid_container .submit').each(function(e){\n/+
- %/ e.observe('click', function(){\n/+
- %/ #{submit_grid_javascript(grid)};\n/+
- %/ })\n/+
- %/ });\n/
+ cached_javascript << JsAdaptor.submit_button_initialization(grid.name, submit_grid_javascript(grid))
end
if rendering.contains_a_text_input?
- cached_javascript <<
- %! $$('div##{grid.name}.wice_grid_container .wice_grid_filter_row input[type=text]').each(function(e){\n! +
- %! e.observe('keydown', function(event){\n! +
- %! if (event.keyCode == 13) {#{grid.name}.process()}\n! +
- %! })\n! +
- %! });\n!
+ cached_javascript << JsAdaptor.enter_key_event_registration(grid.name)
end
if rendering.csv_export_icon_present
- cached_javascript <<
- %! $$('div##{grid.name}.wice_grid_container .export_to_csv_button').each(function(e){\n! +
- %! e.observe('click', function(event){\n! +
- %! #{grid.name}.export_to_csv()\n! +
- %! })\n! +
- %! });\n!
+ cached_javascript << JsAdaptor.csv_export_icon_initialization(grid.name)
end
if rendering.contains_auto_reloading_selects
- cached_javascript <<
- %! $$('div##{grid.name}.wice_grid_container select.auto_reload', '.#{grid.name}_detached_filter select.auto_reload').each(function(e){\n! +
- %! e.observe('change', function(event){\n! +
- %! #{grid.name}.process()\n! +
- %! })\n! +
- %! });\n!
+ cached_javascript << JsAdaptor.auto_reloading_selects_event_initialization(grid.name)
end
if rendering.contains_auto_reloading_inputs
- cached_javascript <<
- %! $$('div##{grid.name}.wice_grid_container input.auto_reload', '.#{grid.name}_detached_filter input.auto_reload').each(function(e){\n! +
- %! e.observe('keyup', function(event){\n! +
- %! #{grid.name}.process()\n! +
- %! })\n! +
- %! });\n!
+ cached_javascript << JsAdaptor.auto_reloading_inputs_event_initialization(grid.name)
end
if rendering.contains_auto_reloading_calendars
- cached_javascript <<
- %! document.observe('wg:calendarChanged', function(event){\n! +
- %! #{grid.name}.process()\n! +
- %! });\n!
+ cached_javascript << JsAdaptor.auto_reloading_calendar_event_initialization(grid.name)
+ end
+
+ if rendering.element_to_focus
+ cached_javascript << JsAdaptor.focus_element(rendering.element_to_focus)
end
content << javascript_tag(
- %/ document.observe("dom:loaded", function() {\n/ +
+ JsAdaptor.dom_loaded +
%/ #{prototype_and_js_version_check}\n/ +
%/ window['#{grid.name}'] = new WiceGridProcessor('#{grid.name}', '#{base_link_for_filter}',\n/ +
- %/ '#{base_link_for_show_all_records}', '#{link_for_export}', '#{parameter_name_for_query_loading}', '#{ENV['RAILS_ENV']}');\n/ +
+ %/ '#{base_link_for_show_all_records}', '#{link_for_export}', '#{parameter_name_for_query_loading}',\n/ +
+ %/ '#{parameter_name_for_focus}', '#{ENV['RAILS_ENV']}');\n/ +
if no_filters_at_all
''
else
@@ -752,11 +718,8 @@ def show_all_link(collection_total_entries, parameters, grid_name) #:nodoc:
message = WiceGridNlMessageProvider.get_message(:ALL_QUERIES_WARNING)
confirmation = collection_total_entries > Defaults::START_SHOWING_WARNING_FROM ? "if (confirm('#{message}'))" : ''
- js = %/ $$('div##{grid_name}.wice_grid_container .show_all_link').each(function(e){\n/ +
- %/ e.observe('click', function(){\n/ +
- %/ #{confirmation} #{grid_name}.reload_page_for_given_grid_state(#{parameters.to_json})\n/ +
- %/ })\n/ +
- %/ })\n/
+
+ js = JsAdaptor.show_all_link_initialization(grid_name, confirmation, parameters.to_json)
tooltip = WiceGridNlMessageProvider.get_message(:SHOW_ALL_RECORDS_TOOLTIP)
html = %/