Class: Edgarj::PopupController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- Edgarj::PopupController
- Includes:
- ControllerMixinCommon, PermissionMixin
- Defined in:
- app/controllers/edgarj/popup_controller.rb
Direct Known Subclasses
Instance Method Summary collapse
-
#index ⇒ Object
draw popup windows.
-
#search ⇒ Object
Ajax method to execute search.
Methods included from PermissionMixin
Methods included from ControllerMixinCommon
Instance Method Details
#index ⇒ Object
draw popup windows
INPUTS
- params
-
id target DOM on click entry of popup
- params
-
on paginate
- params
-
(optional) popup title default: t(‘edgarj.form.popup.title’) % model_label
Paginate logic
call flow
draw popup
EdgarjHelper.draw_belongs_to_label() is called. Example:
<a href='http://.../edgarj_popup?...' data-remote=true>Author</a>
<input type=hidden name='book[author_id]'>
<span id='popup_target_book_author'>...</span>
:
on opening popup
-
edgarj_popup URL …/edgarj_popup?… is executed.
-
EdgarjPopupController.index() is called.
-
data is searched based on @page_info and user_scoped and set it to @list.
-
-
app/views/edgarj_popup/index.js.erb
-
$(‘#edgarj_form_popup’) dialog is opened.
-
on paginate
Same as above(‘on opening popup’), but page=N parameter is added.
on search
-
post search condition to EdgarjPopupController.search().
on clicking entry on the popup
TBD
50 51 52 53 54 55 |
# File 'app/controllers/edgarj/popup_controller.rb', line 50 def index page_info @page_info.page = (params[:page] || 1) prepare_list @search = page_info.record end |
#search ⇒ Object
Ajax method to execute search
Actually, this saves condition for later use. Execution of search could be done at ‘index’ method, but do it in this action to avoid ‘POST’ redirect issue( POST method redirect resulted in ‘POST index’, not ‘GET index’).
INPUTS
67 68 69 70 71 72 73 |
# File 'app/controllers/edgarj/popup_controller.rb', line 67 def search page_info @page_info.record = SearchPopup.new(model, params[:edgarj_search_form]) @page_info.update_attribute(:page, 1) @search = @page_info.record prepare_list if @search.valid? end |