Not Logged In

ftw.table 1.13

Introduction

The ftw.table package provides a utility for generating HTML tables of
dicts, catalog brains and other objects.

It comes with a jQuery plugin installable with a Plone Generic Setup profile,
providing features such as sorting, filter, grouping checkboxes and more.

Purpose

The main purpose of this library package is to abstract the table generation
for the ftw.tabbedview package but it can also be used in a plain
plone / zope installation.

Table generator utility

The table generator utility can generate HTML or JSON output.
It expects a list of data objects, accessible either in dict-like syntax by
using item.get(attrname) or in a object-like syntax by using
item.attrname.
It also expects a column configuration indicating which columns / attributes
are displayed in the table and how they are presented.

Data sources and configurations

For generating listing tables from a data source such as the Plone Catalog
there is an advanced abstraction layer.
It allows to create generic listing views of different sources such as the
Plone Catalog, SQL Alchemy or python dictionaries.

A table source is an adapter retrieving data for a table source configuration.
It is a generic way to get the data. For example there is a built-in catalog
source which has the Plone Catalog as source.

The table source config specifies which data the source has to load and how
the are sorted and presented.

See the interfaces definitions and the built in sources and configurations
for further details.

1.10 (2013-04-04)

1.9 (2013-01-28)

Plone 4.3 compatibility: fix imports.
[jone]

Fix “linked” helper, pass href as attribute.
[mathias.leimgruber]

Fix javascript order in ExtJS profile (this time for real).
Not only does ftwtable.extjs.js need to be loaded after jquery.ftwtable.js,
but also jquery.ftwtable.js after ExtJS (collective.js.extjs-resources/js/ext-all.js).
[lgraf]

Fix javascript order in ExtJS profile.
[jone]

Support for “hidden” key in column definitions (dict).
[jone]

Support for “sortable” key in column definitions (dict).
[jone]

Modify link helper - show icon only.
[mathias.leimgruber]

1.8.2 (2012-11-28)

Fixed base url getter, when the url doesn’t ends with a slash.
[phgross]

1.8.1 (2012-11-05)

Adjust javscripts: Use $ instead of deprecated jq.
[phgross]

Increase extjs timeout from 0.5 to 2 minutes.
[jone]

Use the base tag instead of the kss-base-url rel tag to get the base url.
[phgross]

1.8 (2012-10-16)

Fixed decoding errors in the readable_author helper.
[phgross]

Added zcml condition for extjs profile.
[Julian Infanger]

Improve the dummy-column hack for improving the resize handle size of the
last column.
[jone]

Ext JS: remove forceFit support (stretching column width) because we are now
able to define the column width in the definition, which is a more accurate
solution.
[jone]

Support for defining column widths in dict-style columns using keyword “width”.
[jone]

1.7.10 (2012-08-21)

Add a link() helper for creating a configured helper on the fly.
[jone]

1.7.9 (2012-05-16)

Javascript: optimize reload table so that it does not make unecessary requests.
[jone]

1.7.8 (2012-05-09)

Adjust comment in ITableSource inteface.
[eschmutz]

Reduce duplicate request when using with tabbedview in non-extjs mode.
[jone]

1.7.7 (2012-03-28)

Remove registerPackage directive.
[jone]

1.7.6 (2012-03-12)

Improve spinner integration with tabbedview, use new helper functions.
[jone]

1.1c11

1.1c10

1.1c9

1.1c8

Do not show “groupBy” column in column menu -> make it not hideable.
[jbaumann]

Do not allow to sort by “draggable” and to group at the same - this is contradicting.
[jbaumann]

Extjs Checkbox: Protect-Layer was too small (firefox)
[jbaumann]

Extjs: Fix for making batching work even when grouping enabled
[jbaumann]

Extjs: removed ftwtable-prefix for state storage, since this is used for guessing the view later.
Also fixed typo in tabbedview check.
[jbaumann]

1.1c7

Fixed bug in extjs implementation: do not expect tabbedview to be there, but use it if it is
[jbaumann]

1.1c6

Do not allow to sort descending on the “draggable” column in extjs, because it does not make sense at may break the ordering.
[jbaumann]

Fix ordering bug, which caused that the ID of the row was missing in the extjs store
[jbaumann]

Read sort_on attribute from grid storage
[jbaumann]

1.1c5

Implemented server-side grouping in table sources.
[jbaumann]

1.1c4

1.1c3

Disabled translation of column titles in template, since it would not work in json mode too.
You need to switch from tuple column definition to dict column definition or to Column-object
definition where you can translate the column title in your own domain using Message objects.
[jbaumann]

1.1

added htmlentities replacing in the linked and quick_preview helper
[phgross]

1.0a5

added quick_preview helper
[phgross]

1.0a4

changed TableGenerator to use without the standard listing template and use a specific template
[pgross]