diff --git a/composer/schema/grid/field.py b/composer/schema/grid/field.py index e256a1e..053be8f 100644 --- a/composer/schema/grid/field.py +++ b/composer/schema/grid/field.py @@ -282,6 +282,13 @@ class KeyTableFieldInstance(RecordsFieldInstance): pass +class ContextBasedRecordsFieldInstance(RecordsFieldInstance): + + @Lazy + def columnTypes(self): + obj = self.clientInstance.context + return [Field(name) for name in obj.columnNames] + class ContextBasedKeyTableFieldInstance(KeyTableFieldInstance): @Lazy diff --git a/composer/schema/grid/interfaces.py b/composer/schema/grid/interfaces.py index bc521d9..5fc27e2 100644 --- a/composer/schema/grid/interfaces.py +++ b/composer/schema/grid/interfaces.py @@ -51,6 +51,16 @@ class Records(Grid): instanceName='records',)) +class RecordsTable(Grid): + + __typeInfo__ = ('recordstable', + FieldType('recordstable', 'recordstable', + u'A series of records or rows.', + displayRenderer='display_records', + inputRenderer='input_records', + instanceName='recordstable',)) + + class KeyTable(Grid): __typeInfo__ = ('keytable',