Module: nmodule/webEditors/rc/wb/mgr/model/columns/PropertyPathMgrColumn


new (require("nmodule/webEditors/rc/wb/mgr/model/columns/PropertyPathMgrColumn"))(path, params)

API Status: Development

Column for a property several levels deep relative to the row's subject component.
The constructor is passed a '/' delimited string specifying a property path.

Extends:
Parameters:
Name Type Description
path string

A slot path, specified as a '/' delimited string

params Object
Properties
Name Type Description
type Type

The type declaring the target slot, used to
obtain the slot facets.

Mixes In:

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
Inherited From:
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 | *

commit(value, row [, params])

Sets/adds the property on the slot resolved from the path. This requires the previous slots
in the path to exist.

Parameters:
Name Type Argument Description
value baja.Value
row module:nmodule/webEditors/rc/wb/table/model/Row
params Object <optional>
Properties
Name Type Argument Description
batch baja.comm.Batch <optional>
Returns:

promise to be resolved when the value has
been set on the slot resolved from the path.

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
Inherited From:
Returns:
Type
Promise | *

getColumnIcon()

Get the icon URI for the type of slot in the last component of the path.
Returns null if the URI could not be obtained because the slot's declaring
type was not specified in the path.

Overrides:
Returns:

The URI for the icon for the target slot.

Type
String

getConfigFor(rows)

If editing only one row, then the facets used to configure the field
editor will be taken from the component instance containing the final
property in the property path.

If editing multiple rows, the facets will be derived from the specified
Type and the frozen slot at the end of the property path. If these are
not present, no facets will be used.

Parameters:
Name Type Description
rows Array.<module:nmodule/webEditors/rc/wb/table/model/Row>
Returns:

config object for fe.makeFor, which might include facets
if the path's last element had a type declared.

Type
Object

getFlags()

Get the flags set on this column.

Inherited From:
Returns:
Type
Number

getName()

Get the column name or null if none was given.

Inherited From:
Returns:
Type
String

getValueFor(row)

Get the value of this column for the given row. This will follow the slot
path to obtain the value of the slot descended from the row's subject.

Parameters:
Name Type Description
row
Overrides:
Returns:
Type
*

hasFlags(flags)

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

Parameters:
Name Type Description
flags Number

flags to check for

Inherited From:
Returns:
Type
Boolean

isEditable()

Return true if the column is editable.

Inherited From:
Returns:
Type
Boolean

isHidable()

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

Inherited From:
Returns:
Type
Boolean

isReadonly()

Return true if the column is readonly.

Inherited From:
Returns:
Type
Boolean

isSortable()

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

Inherited From:
Returns:
Type
Boolean

isUnseen()

Return true if the column is unseen.

Inherited From:
Returns:
Type
Boolean

mixin(Ctor)

Applies MgrColumn functionality to an arbitrary Column subclass.

Parameters:
Name Type Description
Ctor function
Mixes In:

setEditable(editable)

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

Parameters:
Name Type Description
editable boolean
Inherited From:

setFlags(flags)

Set the column's flags.

Parameters:
Name Type Description
flags Number
Inherited From:
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
Inherited From:

setReadonly(readonly)

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

Parameters:
Name Type Description
readonly boolean
Inherited From:

setSortable(sortable)

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

Parameters:
Name Type Description
sortable boolean
Inherited From:

setUnseen(unseen)

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

Parameters:
Name Type Description
unseen boolean
Inherited From:

toDisplayName()

Resolves the display name of the property slot at the end of the path.

Overrides:
Returns:

promise to be resolved with the display name for the final slot.

Type
Promise