Buy Now
Sign in

Fancy How-To: Popup row details

healyhatman , April 23 at 00:34
H
healyhatman
So instead of having to click an entry and go to a separate page to view it (which obviously loses any selections you've made and means you have to wait for it to load) you can just have the details pop up in a little window.
___UPDATE___
* Removed the unnecessary AJAX Features
* Note: You may want to use the old version for when you don't read all the fields in the initial data read, or for when you want to load data from a different table and display
1. In the Table view, which I will assume is called "table_view"
Columns list -> popup:Details
Columns views -> popup:{view:entry_details_popup_button}
IMPORTANT -> Columns classes -> popup: one wide (or really just anything other than 'collapsing')
2. New view, "Details List", I will assume it's called "details_list"
Add in all the fields and field views for the fields you want to show in the details list
Data Provider -> {var:table_view.row}
3. New view, "Task Button", called "entry_details_popup_button"
Event -> leave blank
Content -> <i class = "icon eye"></i>
URL and/or URL parameters -> leave blank
Dynamic AJAX features? -> No (unchecked)
Dynamic result -> leave blank
Open a popup? -> Yes (checked). Obviously.
Popup Content -> {view: details_list}
4. Nothing, no need for a separate event
5. PROFIT!
___OLD VERSION___
This version is for when you don't read all the fields in your initial data_read action, or when you need to get additional data to display.
Please note that I'm pretty sure I have the AJAX dynamic result settings wrong, and that this doesn't work very well (or at all) when you have multiple AJAX popup columns.
1. In the Table view, which I will assume is called "table_view"
Columns list -> popup:Details
Columns views -> popup:{view:entry_details_popup_button}
IMPORTANT -> Columns classes -> popup: one wide (or really just anything other than 'collapsing')
3. Read data
All the settings you would usually use to read a single entry.
e.g. Where conditions -> id:{data:id}
Select type -> First matching record
I assume it will be called "read_single_entry" and the model will be called "model" but call it what you need. I also assume there's an "id" field that identifies the record you want to retrieve
2. New view, "Details List", I will assume it's called "details_list"
Add in all the fields and field views for the fields you want to show in the details list
3. New view, "Task Button", called "entry_details_popup_button"
Event -> view_popup_details
Content -> <i class = "icon eye"></i>
URL and/or URL parameters -> id={var:table_view.row.model.id}&tvout=view
Dynamic AJAX features? -> Yes (checked)
Dynamic result -> html:.popup (it's .popup with the full stop in front, so make sure you didn't miss that)
Open a popup? -> Yes (checked). Obviously.
Popup Content -> {view: details_list}
4. New event, "view_popup_details"
{fn:read_single_entry} {view:details_list}
5. Profit!
popup_view.jpg
Web developer at SkySpider.com.au