Module: nmodule/webEditors/rc/wb/table/model/Column


new (require("nmodule/webEditors/rc/wb/table/model/Column"))( [name] [, params])

API Status: Development

Column for use in a TableModel.

Parameters:
Name Type Argument Description
name String <optional>

column name

params Object <optional>
Properties
Name Type Argument Description
displayName String <optional>

column display name; name will be
used if omitted

flags Number <optional>

column flags

Mixes In:
  • tinyevents
See:

Members


<static> flags :Object

Available configuration flags for a Column.

Type:
  • Object

Methods


buildCell(row, dom)

Builds out the DOM element, typically a td, that represents the
intersection of this column with a particular row. Often this will simply
be a simple toString() or similar, but could also do more sophisticated
things like build widgets.

Parameters:
Name Type Description
row module:nmodule/webEditors/rc/wb/table/model/Row
dom JQuery
Returns:

promise to be resolved when the element's contents
have been fully built. It's also acceptable for overrides of this function
to complete synchronously without returning a promise, so be sure to wrap
calls to this function in Promise.resolve() when appropriate.

Type
Promise | *

destroyCell(row, dom)

Called when the table is destroying the DOM element built for a cell in this column. This
gives a Column implementation the chance to clean up any resources that might have been
created during the earlier call to #buildCell, perhaps destroying a widget in the cell,
for example. As with #buildCell, if this completes synchronously and doesn't return a
Promise, the caller must wrap this in a call to Promise.resolve().

Parameters:
Name Type Description
row module:nmodule/webEditors/rc/wb/table/model/Row
dom jQuery
Returns:
Type
Promise | *

getColumnIcon()

Returns a URI for an icon representing this column. Returns null by
default; override as needed in subclasses.

Returns:

a URI for an icon to be shown for this column.

Type
String

getFlags()

Get the flags set on this column.

Returns:
Type
Number

getName()

Get the column name or null if none was given.

Returns:
Type
String

<abstract> getValueFor(row)

Override point; each column should define its own method of retrieving a
value from the given table row.

Parameters:
Name Type Description
row module:nmodule/webEditors/rc/wb/table/model/Row
Throws:

if not implemented

Type
Error
Returns:

the row value. Note that this is synchronous; if the row's
subject is not ready to provide a value, it should not be loaded into the
table.

Type
*

hasFlags(flags)

Return true if the column has all of the given flags.

Parameters:
Name Type Description
flags Number

flags to check for

Returns:
Type
Boolean

isEditable()

Return true if the column is editable.

Returns:
Type
Boolean

isHidable()

Return true if the column should available in the table's show/hide context menu.
Defaults to true.

Returns:
Type
Boolean

isReadonly()

Return true if the column is readonly.

Returns:
Type
Boolean

isSortable()

Returns a boolean indicating whether the column should not be sortable via the table headings.
Defaults to true.

Returns:
Type
Boolean

isUnseen()

Return true if the column is unseen.

Returns:
Type
Boolean

setEditable(editable)

Set or unset the column's EDITABLE flag. Emits a flagsChanged event.

Parameters:
Name Type Description
editable boolean

setFlags(flags)

Set the column's flags.

Parameters:
Name Type Description
flags Number
Throws:

if a non-Number given

Type
Error

setHidable(hidable)

Set or unset whether the column should be allowed to be hidden or shown by the table's
show/hide context menu.

Parameters:
Name Type Description
hidable boolean

setReadonly(readonly)

Set or unset the column's READONLY flag. Emits a flagsChanged event.

Parameters:
Name Type Description
readonly boolean

setSortable(sortable)

Set or unset whether the column should be allowed to be sorted by the table heading.

Parameters:
Name Type Description
sortable boolean

setUnseen(unseen)

Set or unset the column's UNSEEN flag. Emits a flagsChanged event.

Parameters:
Name Type Description
unseen boolean

toDisplayName()

Resolves a display name for this column.

Returns:

promise to be resolved when the element's display name
has been fully built. It's also acceptable for overrides of this function
to complete synchronously without returning a promise, so be sure to wrap
calls to this function in Promise.resolve() when appropriate.

Type
Promise | *