Module: nmodule/webEditors/rc/wb/mgr/Manager


<abstract> new (require("nmodule/webEditors/rc/wb/mgr/Manager"))(params)

API Status: Development

View for managing groups of components, monitoring their current state
and adding/removing components to the group. The concrete manager type
must provide the moduleName and keyName parameters if it requires
state to be saved between hyperlinks and page reloads, as these values
will be used when generating the key used to index the cached state data.

Due to the incubating status of the manager framework, it is not
recommended
that you extend Manager directly. Instead, extend
DeviceMgr or PointMgr: these will provide more robust functionality
for most use cases.

Extends:
Parameters:
Name Type Description
params Object
Properties
Name Type Description
moduleName String

The module name, used for accessing values from the lexicon
and also used to generate the key for saving state information for a manager type.

keyName String

The key name, used for accessing values from the lexicon and
also used to generate the key for saving state information for a manager type.

See:
  • module:nmodule/driver/rc/wb/mgr/DeviceMgr
  • module:nmodule/driver/rc/wb/mgr/PointMgr

Methods


buildMainTableCell(column, row, dom)

Override point, allowing a Manager to customize the building of
a cell within its main table. This will default to delegating the
cell building to the column.

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

destroy()

Overrides the base destroy method to give the manager a chance to save its state
before the content (such as the child table widgets) is destroyed.

Overrides:

destroyMainTableCell(column, row, dom)

Override point, allowing a Manager to customize the destruction
of a cell that it created in #buildMainTableCell. The default
behavior is to delegate to the column.

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

doDestroy()

Destroy child editors, the main table, and its model.

Returns:
Type
Promise

doInitialize(dom [, params])

Set up elements for the main table and command group.

Parameters:
Name Type Argument Description
dom JQuery
params Object <optional>

the initialization parameters

Returns:
Type
Promise

doLayout()

Update the height of the main table element so that the command buttons
are always visible.


doLoad()

Initializes and loads the main table with the MgrModel. If overriding,
be sure to call the super method.

Returns:
Type
Promise

finishMainTableRow(row, dom)

Override point, allowing a Manager to customize the dom for
a Row after the cells have been built, but before it is inserted
into the main table. This allows sub-classes to perform any CSS
customizations they may require at an individual row level.

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

getChildEditors( [params])

Same as getChildWidgets, but is limited to instances of BaseEditor.

Parameters:
Name Type Argument Description
params Object <optional>
Inherited From:
Deprecated:
  • use `getChildWidgets` instead.

getMainTable()

Get the main Table widget.

Since:
  • Niagara 4.6
Returns:
Type
module:nmodule/webEditors/rc/wb/table/Table

getModel()

Get the MgrModel backing this manager. This will return undefined until
load() is called. It can safely be called from inside doLoad().

Since:
  • Niagara 4.6
Returns:
Type
module:nmodule/webEditors/rc/wb/mgr/model/MgrModel

getOrdBase()

If the loaded MgrModel is backed by a mounted Component, then use that
Component to resolve ORDs.

Overrides:
  • module:nmodule/webEditors/rc/fe/baja/BaseEditor#getOrdBase
Returns:
Type
Promise.<(baja.Component|undefined)>

getSubject(dom)

Parameters:
Name Type Description
dom JQuery
Returns:

the selected subject of the table being clicked

Type
Array | null

initialize(dom)

Every BaseWidget will add the editor class to the element and emit an
initialized tinyevent when initialized.

Parameters:
Name Type Description
dom JQuery
Inherited From:
Returns:

call to module:bajaux/Widget#initialize

Type
Promise

load(value [, params])

Every BaseEditor will apply a number of CSS classes to a DOM element
when a value is loaded into it:

  • editor
  • If the loaded value is a Baja value, a number of CSS classes
    corresponding to the value's Type and all superTypes. Classes will be
    determined using typeToClass().

It will also emit a loaded tinyevent.

Parameters:
Name Type Argument Description
value baja.Value | *
params Object <optional>
Inherited From:
Overrides:
Returns:

call to module:bajaux/Widget#load

Type
Promise

<abstract> makeModel(value)

Abstract method to create the MgrModel for the main database table. The method
should return a Promise that will resolve to a MgrModel instance for the
ComponentSource provided in the parameter. This is used to convert the value
being loaded into the widget (e.g. a network) into the model used for the table
widget.

Parameters:
Name Type Description
value baja.Component

the value being loaded into the Widget.

Returns:

the model for the main table.

Type
Promise.<module:nmodule/webEditors/rc/wb/mgr/model/MgrModel>

makeStateHandler()

Make a state handler instance for saving and restoring the Manager's
state.

Returns:
Type
module:nmodule/webEditors/rc/wb/mgr/MgrStateHandler

restoreState()

Invoke the handler created by makeStateHandler() to restore the Manager's
current state when the Manager is loaded.

Returns:
Type
Promise

saveState()

Invoke the handler created by makeStateHandler() to save the Manager's
current state when the Manager is destroyed.


setFacets(facets)

Convert the given Facets into hidden, transient bajaux Properties and
apply them to this editor. In most cases you'll want to use
properties().setValue() directly, but this method is useful when
applying Complex slot facets.

Parameters:
Name Type Description
facets baja.Facets | Object

(a baja.Facets instance or an object
literal to be converted to baja.Facets)

Inherited From:

shouldValidate( [flag])

This provides an extra hook for an editor to declare itself as needing to
be validated before saving or not. The default behavior is to return true
if this editor is modified, or if a shouldValidate bajaux Property
is present and truthy. If neither of these conditions is true, it will
check all known child editors, and return true if it has a child editor
that should validate.

If flag is given, then the check against the shouldValidate
Property will return true only if the value bitwise matches the
parameter. See BaseWidget.SHOULD_VALIDATE_ON_SAVE, etc.

Parameters:
Name Type Argument Description
flag Number <optional>
Inherited From:
Returns:
Type
Boolean