All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC] Tables rework - michaelw/toaster-tables-poc
@ 2015-03-26 18:21 Michael Wood
  2015-03-27 11:44 ` Barros Pena, Belen
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Wood @ 2015-03-26 18:21 UTC (permalink / raw)
  To: toaster@yoctoproject.org

Here is the current WIP of the proof of concept of the Tables widget for 
toaster

http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=michaelw/toaster-tables-poc
( http://tinyurl.com/op63pgj )


I've tried to prefix/postfix 'poc' to make it easier to identify which 
are for the proof of concept

Brief overview of the files/changes:

----------------------
poc_view.py:

Table(View):
     - Handles the HTTP requests to get the table data
     - Adds some basic caching (future - this can be tied into the 
request but for now is just global)


ToasterTable(object):
     - Adds a base class for common table functionality
     - A lot of this is bringing in all the parts we already have in 
views.py and standardising them in a single class
     - In many tables we have what I've named "static data" this is 
where we have a column that contains html data, for example a button.
     - Outputs the data for the page requested as a JSON document


RecipeTable(ToasterTable):
     - Example of a table which has static data

LayersTable(ToasterTable):
     - Example of a simple table

----------------------

tables.js:
     - This consumes the table data
     - Adds handlers for all the table chrome buttons
     - Implements the add/remove columns
     - Implements paging

----------------------

table-poc.html:
     - Template that just contains the html for the table layout (i.e. 
search bar, table, buttons etc)
     - can be considered the same as conflating the "basetable_top.html" 
+ "basetable_bottom.html" templates

----------------------

generic-table-page-poc.html:
     - This is a normal table page in toaster with navigation, zone 
alert and which includes the table-poc.html template the context 
variable table_name is passed into this template to select which table 
to display

----------------------

two-tables-poc.html:
     - Exactly the same as generic-table-page-poc.html (above) but has 
two tables in it.

----------------------

changes to urls.py:
     - Add the poc-table this calls into to Table(View) to handle the 
requests made from the ajax calls (could be renamed xhr_table for 
consistency)
     - Add urls for the test pages: /layers-poc/  and /recipes-poc/ and 
/two-tables-poc/ note that they don't need their own views defined 
because the only thing changing is the table_name and that's passed in.

----------------------

Notes:

The whole lot is 642 lines which means the maintenance burden shouldn't 
be too high
There's a fairly easy path to switching our existing tables - one at a 
time if needed
There are bugs and features missing - This is just the proof of concept!

Thanks,

Michael











^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-04-29 12:36 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-26 18:21 [RFC] Tables rework - michaelw/toaster-tables-poc Michael Wood
2015-03-27 11:44 ` Barros Pena, Belen
2015-03-27 13:51   ` Michael Wood
2015-04-14 15:52     ` Damian, Alexandru
2015-04-15 11:37       ` Michael Wood
2015-04-28 17:38         ` Michael Wood
2015-04-29 12:36           ` Barros Pena, Belen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.