Class: Controller

@nginstack/web-framework/lib/messaging/Controller~ Controller


new Controller()

Cria o controlador de componentes. Ele será responsável por receber e enviar as mensagens entre os os componentes.

Methods


<static> getInstance()

Obtém a instância global do controlador, compartilhada por todos os componentes.

Returns:
Type
Controller

createUniqueId(location)

Cria um id único para um componente.

Parameters:
Name Type Description
location Location

Localização do componente.

Returns:

Id único.

Type
string

getComponent(id)

Retorna a instância de um componente.

Parameters:
Name Type Description
id string

Identificador único do componente.


getOutgoingMessages()

Obtém as mensagens que não são tratadas por este controlador, e que devem ser enviadas para os demais controladores.

Returns:

Retorna as mensagens acumuladas.

Type
Array.<{targetId: string, message: *}>

handleIncomingMessages(messages)

Trata as mensagens que são oriundas dos outros controladores.

Parameters:
Name Type Description
messages Array.<{targetId: string, message: *}>

Mensagens que devem ser processadas pelo controlador.


initSlaveComponent(componentName, masterId, ownerId, props)

Cria um componente no navegador Web.

Parameters:
Name Type Argument Description
componentName string

Nome do construtor do componente. Ele deverá ter sido registrado previamente no Controller do lado cliente.

masterId string <nullable>

Id do componente que irá controlar o componente escravo.

ownerId string <nullable>

Id do componente cliente que será responsável pela destruição da nova instância.

props Object

Propriedades passadas ao construtor do componente que será criado.

Returns:

Id único do componente que será criado no cliente.

Type
string

locationFromId_(id)

Indica a localização do componente a partir do identificador informado.

Parameters:
Name Type Description
id string

Identificador do componente.

Returns:
Type
Location

registerComponent(component)

Registra um componente no controlador, permitindo que ele possa receber mensagens de outros componentes.

Parameters:
Name Type Description
component Object

Componente que está sendo registrado.


sendMessage(targetId, message)

Envia uma mensagem para o componente informado.

Parameters:
Name Type Description
targetId string

Id único do componente que deverá receber

message *

Mensagem que será enviada para o componente.


unregisterComponent(component)

Remove o registro de um componente no controlador.

Parameters:
Name Type Description
component Object

Componente cujo registro está sendo removido.