After we took care of the styling of the Detail View last time, today I will adapt the corresponding Table View.
Table of Contents
Initial situation
Remove links
First I would like to remove the links so that the values in the table are shown as text, not as a link. I could and should have done this already during modelling, but I did not. So I have to do it in AppGini - field by field.
Then save and regenerate.
Except the file
link (download) there are now only values in the table. If I want to open a record, I need a button. We will insert it right away.
Create hook file
First I create a hook file for the table view (tv)
Access-variable for Table View
As with DV, we need a variable for TV to be able to modify the TV.
// file: hooks/attachments-tv.js jQuery(document).ready(function () { var tv = AppGiniHelper.TV; });
Attention
Special feature of TV: This is loaded dynamically and is not yet present when the script is loaded, but only after document.ready
. Therefore we can only declare and use the tv variable then.
// file: hooks/attachments-tv.js jQuery(document).ready(function () { var tv = AppGiniHelper.TV; tv.addButtonOpen(); });
Column width
The column is too small now. So widen it:
// file: hooks/attachments-tv.js jQuery(document).ready(function () { var tv = AppGiniHelper.TV; tv .addButtonOpen() .setWidth(0, 68) ; });
That's better!
Join columns
Now I take care of the four columns created on, created by, modified on and modified by
I would like to make two columns and merge the values.
// file: hooks/attachments-tv.js jQuery(document).ready(function () { var tv = AppGiniHelper.TV; tv .addButtonOpen() .setWidth(0, 68) .join("created_on", ["created_by"], "Erstellt am/durch", true) .join("modified_on", ["modified_by"], "Zuletzt geändert am/durch", true) ; });
Wordwrap
Somehow I dislike the word-wrap. So let's change it.
// file: hooks/attachments-tv.js jQuery(document).ready(function () { var tv = AppGiniHelper.TV; tv .addButtonOpen() .setWidth(0, 68) .join("created_on", ["created_by"], "Erstellt am/durch", true) .join("modified_on", ["modified_by"], "Zuletzt geändert am/durch", true) .nowrap("created_on") .nowrap("modified_on") ; });
That's much better now.
There are other columns that should not be wrapped
// file: hooks/attachments-tv.js jQuery(document).ready(function () { var tv = AppGiniHelper.TV; tv .addButtonOpen() .setWidth(0, 68) .join("created_on", ["created_by"], "Erstellt am/durch", true) .join("modified_on", ["modified_by"], "Zuletzt geändert am/durch", true) .nowrap("created_on") .nowrap("modified_on") .nowrap("task_id") .nowrap("filename") ; });
Final result
That's fine with me.
I hope you have followed me so far and learned something new today!
Keep coding, AppGineers!
Kind Regards,
Jan