A API Javascript do ContextHub está disponível para seus scripts quando o componente ContextHub foi adicionado à página.
Valores constantes que a API Javascript do ContextHub define.
A tabela a seguir lista os eventos de nomes que ocorrem nas Lojas do ContextHub. Consulte também ContextHub.Utils.Eventing.
Constante | Descrição | Valor |
---|---|---|
ContextHub.Constants.EVENT_NAMESPACE |
Namespace de eventos do ContextHub | ch |
ContextHub.Constants.EVENT_ALL_STORES_READY |
Indica que todos os armazenamentos necessários estão registrados, inicializados e prontos para serem consumidos | all-stores-ready |
ContextHub.Constants.EVENT_STORES_PARTIALLY_READY |
Indica que nem todos os armazenamentos foram inicializados dentro de um determinado tempo limite | stores-partially-ready |
ContextHub.Constants.EVENT_STORE_REGISTERED |
Acionado quando uma loja é registrada | store-registered |
ContextHub.Constants.EVENT_STORE_READY |
Indica que as lojas estão prontas para funcionar. É acionado imediatamente após o registro, exceto pelas lojas JSONP, onde é acionado quando os dados são obtidos). | store-ready |
ContextHub.Constants.EVENT_STORE_UPDATED |
Acionado quando uma loja atualiza sua persistência | store-updated |
ContextHub.Constants.PERSISTENCE_CONTAINER_NAME |
Nome do container de persistência | ContextHubPersistence |
ContextHub.Constants.SERVICE_RAW_RESPONSE_KEY |
Armazena o nome da chave de persistência específica onde o resultado JSON bruto é armazenado | /_/raw-response |
ContextHub.Constants.SERVICE_RESPONSE_TIME_KEY |
Armazena um carimbo de data e hora específico indicando quando os dados JSON foram obtidos | /_/response-time |
ContextHub.Constants.SERVICE_LAST_URL_KEY |
Armazena url específico do serviço JSON usado durante a última chamada | /_/url |
ContextHub.Constants.IS_CONTAINER_EXPANDED |
Indica se a interface do usuário do ContextHub é expandida | /_/container-expanded |
A tabela a seguir lista os nomes dos eventos que ocorrem na interface do usuário do ContextHub.
Constante | Descrição | Valor |
---|---|---|
ContextHub.Constants.EVENT_UI_MODE_REGISTERED |
Acionado quando um modo é registrado | ui-mode-registered |
ContextHub.Constants.EVENT_UI_MODE_UNREGISTERED |
Acionado quando um modo não está registrado | ui-mode-unregistered |
ContextHub.Constants.EVENT_UI_MODE_RENDERER_REGISTERED |
Acionado quando um renderizador de modo é registrado | ui-mode-renderer-registered |
ContextHub.Constants.EVENT_UI_MODE_RENDERER_UNREGISTERED |
Acionado quando um renderizador de modo não está registrado | ui-mode-renderer-unregistered |
ContextHub.Constants.EVENT_UI_MODE_ADDED |
Acionado quando um novo modo é adicionado | ui-mode-added |
ContextHub.Constants.EVENT_UI_MODE_REMOVED |
Acionado quando um modo é removido | ui-mode-removed |
ContextHub.Constants.EVENT_UI_MODE_SELECTED |
Acionado quando um modo é selecionado pelo usuário | ui-mode-selected |
ContextHub.Constants.EVENT_UI_MODULE_REGISTERED |
Acionado quando um novo módulo é registrado | ui-module-registered |
ContextHub.Constants.EVENT_UI_MODULE_UNREGISTERED |
Acionado quando um módulo não está registrado | ui-module-unregistered |
ContextHub.Constants.EVENT_UI_MODULE_RENDERER_REGISTERED |
Acionado quando um renderizador de módulo é registrado | ui-module-renderer-registered |
ContextHub.Constants.EVENT_UI_MODULE_RENDERER_UNREGISTERED |
Acionado quando um renderizador de módulo não está registrado | ui-module-renderer-unregistered |
ContextHub.Constants.EVENT_UI_MODULE_ADDED |
Acionado quando um novo módulo é adicionado | ui-module-added |
ContextHub.Constants.EVENT_UI_MODULE_REMOVED |
Acionado quando um módulo é removido | ui-module-removed |
ContextHub.Constants.EVENT_UI_CONTAINER_ADDED |
Acionado quando o container da interface é adicionado à página | ui-container-added |
ContextHub.Constants.EVENT_UI_CONTAINER_OPENED |
Acionada quando a interface do usuário do ContextHub é aberta | ui-container-opened |
ContextHub.Constants.EVENT_UI_CONTAINER_CLOSED |
Acionada quando a interface do usuário do ContextHub é recolhida | ui-container-closed |
ContextHub.Constants.EVENT_UI_PROPERTY_MODIFIED |
Acionado quando uma propriedade é modificada | ui-property-modified |
ContextHub.Constants.EVENT_UI_RENDERED |
Acionada sempre que a interface do usuário do ContextHub é renderizada (por exemplo, após uma alteração de propriedade) | ui-rendered |
ContextHub.Constants.EVENT_UI_INITIALIZED |
Acionado quando o container da interface é inicializado | ui-initialized |
ContextHub.Constants.ACTIVE_UI_MODE |
Indica o modo de interface de usuário ativo | /_/active-ui-mode |
O objeto ContextHub fornece acesso a todos os armazenamentos.
Retorna todos os armazenamentos registrados do ContextHub.
Esta função não tem parâmetros.
Um objeto que contém todos os armazenamentos do ContextHub. Cada loja é um objeto que usa o mesmo nome da loja.
O exemplo a seguir recupera todos os armazenamentos e recupera o armazenamento de localização geográfica:
var allStores = ContextHub.getAllStores();
var geoloc = allStores.geolocation
Recupera uma loja como um objeto Javascript.
name
: O nome com o qual a loja foi registrada.Um objeto que representa a loja.
O exemplo a seguir recupera o armazenamento de localização geográfica:
var geoloc = ContextHub.getStore("geolocation");
Representa um segmento ContextHub. Use ContextHub.SegmentEngine.SegmentManager
para obter segmentos.
Retorna o nome do segmento como um valor String.
Retorna o caminho do repositório da definição do segmento como um valor String.
Fornece acesso aos segmentos do ContextHub.
Retorna os segmentos que são resolvidos no contexto atual. Esta função não tem parâmetros.
Uma matriz de objetos ContextHub.SegmentEngine.Segment
.
A classe base para armazenamentos do ContextHub.
Um objeto ContextHub.Utils.Eventing
. Use esse objeto para funções de vínculo para armazenar eventos. Para obter informações sobre o valor padrão e a inicialização, consulte init(name,config)
.
O nome da loja.
Um objeto ContextHub.Utils.Persistence
. Para obter informações sobre o valor padrão e a inicialização, consulte init(name,config)
.
Une um objeto de dados ou uma matriz com os dados da loja. Cada par de chave/valor no objeto ou matriz é adicionado à loja (por meio da função setItem
):
Observe que os valores podem ser objetos.
tree
: (Objeto ou matriz) Os dados a serem adicionados à loja.options
: (Object) Um objeto opcional de opções que é passado para a função setItem. Para obter informações, consulte o parâmetro options
de setItem(key,value,options)
.Um valor boolean
:
true
indica que o objeto de dados foi armazenado.false
indica que o armazenamento de dados não foi alterado.Cria uma referência de uma chave para outra chave. Uma chave não pode fazer referência a si mesma.
key
: A chave que faz referência anotherKey
.
anotherkey
: Elas são a chave que é referenciada por key
.
Um valor boolean
:
true
indica que a referência foi adicionada.false
indica que nenhuma referência foi adicionada.Aciona o evento ready
desta loja. Essa função não tem parâmetros e não retorna nenhum valor.
Remove todos os dados do armazenamento. A função não tem parâmetros e nenhum valor de retorno.
Retorna o valor associado a uma chave.
key
: (String) A chave para a qual retornar o valor.Um Objeto que representa o valor da chave.
Recupera as chaves da loja. Como opção, você pode recuperar as chaves que são usadas internamente pela estrutura do ContextHub.
includeInternals
: Um valor de true
inclui chaves usadas internamente nos resultados. Essas teclas começam com o caractere sublinhado (_
). O valor padrão é false
.Uma matriz de nomes de chave ( string
valores).
Recupera as referências da loja.
Uma matriz que usa as chaves de referência como índices para as chaves referenciadas:
key
da função addReference
.anotherKey
da função addReference
.Recupera a árvore de dados da loja. Opcionalmente, você pode incluir os pares de chave/valor que são usados internamente pela estrutura do ContextHub.
includeInternals:
Um valor de true
inclui pares de chave/valor usados internamente nos resultados. As chaves desses dados começam com o caractere sublinhado (_
). O valor padrão é false
.Um objeto que representa a árvore de dados. As chaves são os nomes de propriedade do objeto.
Inicializa a loja.
eventChannel
é data:<name>
, onde <name>
é o nome da loja.storeDataKey
é /store/<name>
, onde <name>
é o nome da loja.name
: O nome da loja.config
: Um objeto que contém propriedades de configuração:
eventDeferring
: O valor padrão é 32.eventing
: O objeto ContextHub.Utils. Eventingobject para esta loja. O valor padrão é usado pelo objeto ContextHub.eventing
.persistence
: O ContextHub.Utils.Persistence
objeto desta loja. O valor padrão é o objeto ContextHub.persistence
.Determina se o evento está pausado para esta loja.
Um valor booliano:
true
: O evento está pausado para que nenhum evento seja acionado para esta loja.false
: O evento não está pausado para que os eventos sejam disparados para esta loja.Pausa o evento para a loja para que nenhum evento seja acionado. Essa função não requer parâmetros e não retorna nenhum valor.
Remove um par de chave/valor da loja.
Quando uma tecla é removida, a função aciona o evento data
. Os dados do evento incluem o nome do armazenamento, o nome da chave que foi removida, o valor que foi removido, o novo valor para a chave (nulo) e o tipo de ação "remover".
Como opção, você pode impedir o acionamento do evento data
.
key
: (String) O nome da chave a ser removida.options
: (Object) Um objeto de opções. As seguintes propriedades de objetos são válidas:
true
impede o acionamento do evento data
. O valor padrão é false
.Um valor boolean
:
true
indica que o par de chave/valor foi removido.false
indica que o armazenamento de dados não foi alterado porque a chave não foi encontrada no armazenamento.Remove uma referência da loja.
key
: A referência principal a ser removida. Esse parâmetro corresponde ao parâmetro key
da função addReference
.Um valor boolean
:
true
indica que a referência foi removida.false
indica que a chave não era válida e que a loja não é alterada.Redefine os valores iniciais dos dados persistentes do armazenamento. Como opção, você pode remover todos os outros dados da loja. O evento é pausado para este armazenamento enquanto o armazenamento é redefinido. Essa função não retorna nenhum valor.
Os valores iniciais são fornecidos na propriedade initialValues
do objeto de configuração usado para instanciar o objeto store.
keepRemainingData
: (Booliano) Um valor de true faz com que os dados não iniciais sejam persistentes. Um valor de false faz com que todos os dados sejam removidos, exceto os valores iniciais.Recupera uma chave referenciada. Como opção, você pode especificar o número de iterações a serem usadas para resolver a melhor correspondência.
key
: (String) A chave para resolver a referência. Esse parâmetro key
corresponde ao parâmetro key
da função addReference
.retry
: (Número) O número de iterações a serem usadas.Um valor string
que representa a chave referenciada. Se nenhuma referência for resolvida, o valor do parâmetro key
será retornado.
Retorna o evento desta loja para que os eventos sejam acionados. Essa função não define parâmetros e não retorna nenhum valor.
Adiciona um par de chave/valor à loja.
Aciona o evento data
somente se o valor da chave for diferente do valor armazenado atualmente para a chave. Opcionalmente, você pode impedir o acionamento do evento data
.
Os dados do evento incluem o nome do armazenamento, a chave, o valor anterior, o novo valor e o tipo de ação de set
.
key
: (String) O nome da chave.options
: (Object) Um objeto de opções. As seguintes propriedades de objetos são válidas:
silent
: Um valor de true
impede o acionamento do data
evento. O valor padrão é false
.value
: (Object) O valor a ser associado à chave.Um valor boolean
:
true
indica que o objeto de dados foi armazenado.false
indica que o armazenamento de dados não foi alterado.Uma loja que contém dados JSON. Os dados são recuperados de um serviço JSONP externo, ou opcionalmente de um serviço que retorna dados JSON. Especifique os detalhes do serviço usando a função init
ao criar uma instância dessa classe.
A loja usa persistência na memória (variável Javascript). Os dados de armazenamento estão disponíveis somente durante a vida útil da página.
ContextHub.Store.JSONPStore estende ContextHub.Store.Core e herda as funções dessa classe.
Configura os detalhes para conexão com o serviço JSONP que este objeto usa. Você pode atualizar ou substituir a configuração existente. A função não retorna nenhum valor.
serviceConfig
: Um objeto que contém as seguintes propriedades:
host
: (String) O nome do servidor ou endereço IP.jsonp
: (Booliano) Um valor true indica que o serviço é JSONP, caso contrário, false. Quando verdadeiro, o {callback: "ContextHub.Callbacks.O objeto Object.name} é adicionado ao objeto service.params.params
: (Objeto) Parâmetros de URL representados como propriedades de objetos. Nomes de parâmetros são nomes de propriedades e valores de parâmetros são valores de propriedades.path
: (String) O caminho para o serviço.port
: (Número) O número da porta do serviço.secure
: (String ou Boolean) Determina o protocolo a ser usado para o URL do serviço:
auto
: //true
: https://false
: http://true
faz com que a configuração de serviço existente seja substituída pelas propriedades de serviceConfig
. Um valor de false
faz com que as propriedades de configuração de serviço existentes sejam mescladas com as propriedades de serviceConfig
.Retorna a resposta bruta armazenada em cache desde a última chamada para o serviço JSONP. A função não requer parâmetros.
Um objeto que representa a resposta bruta.
Recupera o objeto de serviço para este objeto ContextHub.Store.JSONPStore. O objeto service contém todas as informações necessárias para criar o URL do serviço.
Um objeto com as seguintes propriedades:
host
: (String) O nome do servidor ou endereço IP.jsonp
: (Booliano) Um valor de true indica que o serviço é JSONP, caso contrário, false. Quando verdadeiro, o {callback: "ContextHub.Callbacks.O objeto Object.name} é adicionado ao objeto service.params.params
: (Object) Parâmetros de URL representados como propriedades de objetos. Nomes de parâmetros são nomes de propriedades e valores de parâmetros são valores de propriedades.path
: (String) O caminho para o serviço.port
: (Número) O número da porta do serviço.secure
: (String ou Boolean) Determina o protocolo a ser usado para o URL do serviço:
auto
: //true
: https://false
: http://Recupera o URL do serviço JSONP.
resolve
: (Booliano) Determina se os parâmetros resolvidos devem ser incluídos no URL. Um valor de true
resolve parâmetros e false
não resolve.Um valor string
que representa o URL do serviço.
inicializa o objeto ContextHub.Store.JSONPStore
.
name
: (String) O nome da loja.config
: (Object) Um objeto que contém a propriedade service. O objeto JSONPStore usa as propriedades do objeto service
para construir o URL do serviço JSONP:
eventDeferring
: 32.eventing
: O objeto ContextHub.Utils.Eventing para esta loja. O valor padrão é o objeto ContextHub.eventing
.persistence
: O objeto ContextHub.Utils.Persistence para esta loja. Por padrão, a persistência de memória é usada (objeto Javascript).service
: (Objeto)
host
: (String) O nome do servidor ou endereço IP.jsonp
: (Booliano) Um valor true indica que o serviço é JSONP, caso contrário, false. Quando verdadeiro, o objeto {callback: "ContextHub.Callbacks.*Object.name*}
é adicionado a service.params
.params
: (Objeto) Parâmetros de URL representados como propriedades de objetos. Nomes e valores de parâmetros são os nomes e os valores das propriedades do objeto, respectivamente.path
: (String) O caminho para o serviço.port
: (Número) O número da porta do serviço.secure
: (String ou Boolean) Determina o protocolo a ser usado para o URL do serviço:
auto
: //true
: https://false
: http://timeout
: (Número) A quantidade de tempo que o serviço JSONP deve aguardar para responder antes do tempo limite, em milissegundos.
ttl
: O tempo mínimo, em milissegundos, que passa entre as chamadas para o serviço JSONP. (Consulte a função queryService).Query o serviço JSONP remoto e armazena a resposta em cache. Se o tempo desde a chamada anterior para essa função for menor que o valor de config.service.ttl
, o serviço não será chamado e a resposta em cache não será alterada. Opcionalmente, você pode forçar o serviço a ser chamado. A propriedade config.service.ttl
é definida ao chamar a função init para inicializar o armazenamento.
Dispara o evento pronto quando o query terminar. Se o URL do serviço JSONP não estiver definido, a função não fará nada.
reload
: (Booliano) Um valor de true remove a resposta em cache e força o serviço JSONP a ser chamado.Redefine os valores iniciais dos dados persistentes do armazenamento e chama o serviço JSONP. Como opção, você pode remover todos os outros dados da loja. O evento é pausado para esta loja enquanto os valores iniciais são redefinidos. Essa função não retorna nenhum valor.
Os valores iniciais são fornecidos na propriedade initialValues do objeto config usado para instanciar o objeto store.
keepRemainingData
: (Booliano) Um valor de true faz com que os dados não iniciais sejam persistentes. Um valor de false faz com que todos os dados sejam removidos, exceto os valores iniciais.Resolve o parâmetro especificado.
ContextHub.Store.PersistedJSONPStore
estende o ContextHub.Store. JSONPStorso para herdar todas as funções dessa classe. No entanto, os dados recuperados do serviço JSONP são persistentes de acordo com a configuração de persistência do ContextHub. (Consulte Modos de persistência:)
ContextHub.Store.PersistedStore
estende o ContextHub.Store. Coreso, herda todas as funções dessa classe. Os dados neste repositório são persistentes de acordo com a configuração da persistência do ContextHub.
ContextHub.Store.SessionStore
estende o ContextHub.Store. Coreso, herda todas as funções dessa classe. Os dados neste armazenamento são persistentes usando a persistência na memória (objeto Javascript).
Gerencia módulos de interface do usuário e renderizadores de módulo de interface do usuário.
Registra um renderizador de módulo de interface com o ContextHub. Depois que o renderizador é registrado, ele pode ser usado para criar módulos de interface. Use essa função quando estiver estendendo ContextHub.UI.BaseModuleRenderer
para criar um renderizador personalizado do Módulo de interface do usuário.
moduleType
: (String) O identificador do renderizador do módulo da interface do usuário. Se um renderizador já estiver registrado usando o valor especificado, o renderizador existente não será registrado antes que esse renderizador seja registrado.renderer
: (String) O nome da classe que renderiza o módulo da interface do usuário.dontRender
: (Booliano) Defina como true
para impedir que a interface do usuário do ContextHub seja renderizada depois que o renderizador for registrado. O valor padrão é false
.O exemplo a seguir registra um renderizador como o tipo de módulo contexthub.browserinfo
.
ContextHub.UI.registerRenderer('contexthub.browserinfo', new SurferinfoRenderer());
Uma classe de utilitário para interagir com cookies.
Determina se um cookie existe.
key
: Um String
que contém a chave do cookie para o qual você está testando.Um valor boolean
de true indica que o cookie existe.
if (ContextHub.Utils.Cookie.exists("name")) {
// conditionally-executed code
}
Retorna todos os cookies que têm chaves que correspondem a um filtro.
filter
: (Opcional) Critérios para as chaves de cookie correspondentes. Para retornar todos os cookies, não especifique nenhum valor. Os seguintes tipos são suportados:
Um objeto de cookies. As propriedades do objeto são chaves de cookie e os valores principais são valores de cookie.
ContextHub.Utils.Cookie.getAllItems([/^cq-authoring/, /^cq-editor/])
Retorna um valor de cookie.
key
: A chave do cookie para o qual você deseja obter o valor.O valor do cookie ou null
se nenhum cookie foi encontrado para a chave.
ContextHub.Utils.Cookie.getItem("name");
Retorna uma matriz das chaves dos cookies existentes que correspondem a um filtro.
filter
: Critérios de correspondência de chaves de cookie. Os seguintes tipos são suportados:
true
se o teste confirmar uma correspondência.Uma matriz de strings na qual cada string é a chave de um cookie que corresponde ao filtro.
ContextHub.Utils.Cookie.getKeys([/^cq-authoring/, /^cq-editor/])
Remove um cookie. Para remover o cookie, o valor é definido como uma string vazia e a data de expiração é definida como o dia anterior à data atual.
key
: Um String
valor que representa a chave do cookie a ser removido.options
: Um objeto que contém valores de propriedade para configurar os atributos do cookie. Consulte a função setItem
para obter mais informações. A propriedade expires
não tem efeito.Essa função não retorna um valor.
ContextHub.Utils.Cookie.vanish([/^cq-authoring/, 'cq-scrollpos']);
Cria um cookie da chave e do valor fornecidos e adiciona o cookie ao documento atual. Opcionalmente, você pode especificar opções que configuram os atributos do cookie.
key
: Uma string que contém a chave do cookie.value
: Uma string que contém o valor do cookie.options
: (Opcional) Um objeto que contém qualquer uma das seguintes propriedades que configuram os atributos do cookie:
expires
: Um date
ou number
valor que especifica quando o cookie expira. Um valor de data especifica o tempo absoluto de expiração. Um número (em dias) define o tempo de expiração para a hora atual mais o número. O valor padrão é undefined
.secure
: Um boolean
valor que especifica o Secure
atributo do cookie. O valor padrão é false
.path
: Um String
valor a ser usado como o Path
atributo do cookie. O valor padrão é undefined
.O cookie com o valor definido.
ContextHub.Utils.Cookie.setItem("name", "mycookie", {
expires: 3,
domain: 'localhost',
path: '/some/directory',
secure: true
});
Remove todos os cookies que correspondem a um determinado filtro. Os cookies são correspondentes usando a função getKeys
e removidos usando a função removeItem
.
filter
: O filter
argumento a ser usado na chamada para a getKeys
função.options
: O options
argumento a ser usado na chamada para a removeItem
função.Essa função não retorna um valor.
Permite vincular e desvincular funções a eventos de armazenamento do ContextHub. Acesse os objetos ContextHub.Utils.Eventing
de uma loja usando a propriedade eventing da loja.
Desvincula uma função de um evento.
name
: O nome do evento para o qual você está desvinculando a função.selector
: O seletor que identifica o vínculo. (Consulte o parâmetro selector
para as funções on
e once
).Essa função não retorna nenhum valor.
Vincula uma função a um evento. A função é chamada sempre que o evento ocorre. Como opção, a função pode ser chamada para eventos que ocorreram no passado, antes que o vínculo seja estabelecido.
name
: (String) O nome do evento ao qual você está vinculando a função.handler
: (Function) A função a ser vinculada ao evento.selector
: (String) Um identificador exclusivo para o vínculo. É necessário que o seletor identifique o vínculo se você deseja usar a função off
para remover o vínculo.triggerForPastEvents
: (Booliano) Indica se o manipulador deve ser executado para eventos que ocorreram no passado. Um valor de true
chama o manipulador para eventos anteriores. Um valor de false
chama o manipulador para eventos futuros. O valor padrão é true
.Quando o argumento triggerForPastEvents
for true
, essa função retornará um valor boolean
que indica se o evento ocorreu no passado:
true
: O evento ocorreu no passado e o manipulador será chamado.false
: O evento não ocorreu no passado.Se triggerForPastEvents
for false
, essa função não retornará nenhum valor.
O exemplo a seguir vincula uma função ao evento de dados do armazenamento de geolocalização. A função preenche um elemento na página com o valor do item de dados de latitude da loja.
<div class="location">
<p>latitude: <span id="lat"></span></p>
</div>
<script>
var geostore = ContextHub.getStore("geolocation");
geostore.eventing.on(ContextHub.Constants.EVENT_DATA_UPDATE,getlat,"getlat");
function getlat(){
latitude = geostore.getItem("latitude");
$("#lat").html(latitude);
}
</script>
Vincula uma função a um evento. A função é chamada apenas uma vez, para a primeira ocorrência do evento. Como opção, a função pode ser chamada para o evento que ocorreu no passado, antes que o vínculo seja estabelecido.
name
: (String) O nome do evento ao qual você está vinculando a função.handler
: (Function) A função a ser vinculada ao evento.selector
: (String) Um identificador exclusivo para o vínculo. É necessário que o seletor identifique o vínculo se você deseja usar a função off
para remover o vínculo.triggerForPastEvents
: (Booliano) Indica se o manipulador deve ser executado para eventos que ocorreram no passado. Um valor de true
chama o manipulador para eventos anteriores. Um valor de false
chama o manipulador para eventos futuros. O valor padrão é true
.Quando o argumento triggerForPastEvents
for true
, essa função retornará um valor boolean
que indica se o evento ocorreu no passado:
true
: O evento ocorreu no passado e o manipulador será chamado.false
: O evento não ocorreu no passado.Se triggerForPastEvents
for false
, essa função não retornará nenhum valor.
Uma classe de utilitário que permite que um objeto herde as propriedades e os métodos de outro objeto.
Faz com que um objeto herde as propriedades e os métodos de outro objeto.
child
: (Object) O objeto que herda.parent
: (Object) O objeto que define as propriedades e os métodos herdados.Fornece funções para serializar objetos no formato JSON e desserializar strings JSON em objetos.
Analisa um valor de string como JSON e o converte em um objeto javascript.
data
: Um valor de string no formato JSON.Um objeto Javascript.
O código:
ContextHub.Utils.JSON.parse("{'city':'Basel','country':'Switzerland','population':'173330'}");
Retorna o seguinte objeto:
Object {
city: "Basel",
country: "Switzerland",
population: 173330
}
Serializa valores e objetos Javascript em valores de string do formato JSON.
data
: O valor ou objeto a ser serializado. Esta função suporta valores booleanos, de matriz, de número, de string e de data.O valor da string serializada. Quando data
for um valor R egExp
, essa função retornará um objeto vazio. Quando data
for uma função, retornará undefined
.
O seguinte código:
ContextHub.Utils.JSON.stringify({
city: "Basel",
country: "Switzerland",
population: 173330
});
Retorna:
"{'city':'Basel','country':'Switzerland','population':'173330'}":
Essa classe facilita a manipulação de objetos de dados que serão armazenados ou recuperados dos armazenamentos do ContextHub.
Cria uma cópia de um objeto de dados e adiciona a ele a árvore de dados de um segundo objeto. A função retorna a cópia e não modifica nenhum dos objetos originais. Quando as árvores de dados dos dois objetos contêm chaves idênticas, o valor do segundo objeto substitui o valor do primeiro objeto.
tree
: O objeto que é copiado.secondTree
: O objeto que é unido à cópia do tree
objeto.Um objeto que contém os dados unidos.
Cria uma cópia de um objeto, localiza e remove itens na árvore de dados que não contêm valores, valores nulos ou valores indefinidos e retorna a cópia.
tree
: O objeto a ser limpo.Uma cópia da árvore que é limpa.
Recupera o valor de um objeto para a chave a.
tree
: O objeto de dados.key
: A chave do valor que você deseja recuperar.O valor que corresponde à chave. Quando a chave tem chaves secundárias, essa função retorna um objeto complexo. Quando o tipo do valor da chave for undefined
, null
será retornado.
Considere o seguinte objeto Javascript:
myObject {
user: {
location: {
city: "Basel",
details: {
population: 173330,
elevation: 260
}
}
}
}
O código de exemplo a seguir retorna o valor 260
:
ContextHub.Utils.JSON.tree.getItem(myObject, "/user/location/details/elevation");
O código de exemplo a seguir recupera o valor de uma chave que tem chaves secundárias:
ContextHub.Utils.JSON.tree.getItem(myObject, "/user");
A função retorna o seguinte objeto:
Object {
location: {
city: "Basel",
details: {
population: 173330,
elevation: 260
}
}
}
Recupera todas as chaves da árvore de dados de um objeto. Como opção, você pode recuperar somente as chaves dos filhos de uma chave específica. Opcionalmente, também é possível especificar uma ordem de classificação das chaves recuperadas.
tree
: O objeto do qual recuperar as chaves da árvore de dados.parent
: (Opcional) A chave de um item na árvore de dados para a qual você deseja recuperar as chaves dos itens filhos.order
: (Opcional) Uma função que determina a ordem de classificação das chaves retornadas. (Consulte Array.prototype.sort
no site Mozilla Developer Network.)Uma matriz de chaves.
Considere o seguinte objeto:
myObject {
location: {
weather: {
temperature: "28C",
humidity: "77%",
precipitation: "10%",
wind: "8km/h"
},
city: "Basel",
country: "Switzerland",
longitude: 7.5925727,
latitude: 47.557421
}
}
O script ContextHub.Utils.JSON.tree.getKeys(myObject);
retorna a seguinte matriz:
["/location", "/location/city", "/location/country", "/location/latitude", "/location/longitude", "/location/weather", "/location/weather/humidity", "/location/weather/precipitation", "/location/weather/temperature", "/location/weather/wind"]
Cria uma cópia de um determinado objeto, remove a ramificação especificada da árvore de dados e retorna a cópia modificada.
tree
: Um objeto de dados.key
: A chave a ser removida.Uma cópia do objeto de dados original com a chave removida.
Considere o seguinte objeto:
myObject {
one: {
foo: "bar",
two: {
three: {
four: {
five: 5,
six: 6
}
}
}
}
}
O script de exemplo a seguir remove a ramificação /um/dois/três/quatro da árvore de dados:
myObject = ContextHub.Utils.JSON.tree.removeItem(myObject, "/one/two/three/four");
A função retorna o seguinte objeto:
myObject {
one: {
foo: "bar"
}
}
Limpa os valores da sequência de caracteres para torná-los utilizáveis como chaves. Para limpar uma string, essa função executa as seguintes ações:
Use a matriz resultante para criar uma chave utilizável.
key
: O string
para sanitizar.Uma matriz de valores string
em que cada string é a parte de key
que foi demarcada por barras. representa a chave sanitizada. Se a matriz sanitizada tiver um comprimento de zero, essa função retornará null
.
O código a seguir apaga uma string para produzir a matriz ["this", "is", "a", "path"]
e, em seguida, gera a chave "/this/is/a/path?lang=pt-BR"
da matriz:
var key = " / this////is/a/path ";
ContextHub.Utils.JSON.tree.sanitizeKey(key)
"/" + ContextHub.Utils.JSON.tree.sanitizeKey(key).join("/");
Adiciona um par de chave/valor à árvore de dados de uma cópia de um objeto. Para obter informações sobre árvores de dados, consulte Persistência.
tree
: Um objeto de dados.key
: A chave para associar ao valor que você está adicionando. A chave é o caminho para o item na árvore de dados. Esta função chama ContextHub.Utils.JSON.tree.sanitize
para limpar a tecla antes de adicioná-la.value
: O valor a ser adicionado à árvore de dados.Uma cópia do objeto tree
que inclui o par key
/ value
.
Considere o seguinte código Javascript:
var myObject = {
user: {
location: {
city: "Basel"
}
}
};
var myKey = "/user/location/details";
var myValue = {
population: 173330,
elevation: 260
};
myObject = ContextHub.Utils.JSON.tree.setItem(myObject, myKey, myValue);
Permite que você se registre em lojas e obtenha candidatos em lojas registradas.
Retorna os tipos de armazenamento registrados como candidatos de loja. Recupere os candidatos registrados de um tipo de loja específico ou de todos os tipos de loja.
storeType
: (String) O nome do tipo de loja. Consulte o parâmetro storeType
da função ContextHub.Utils.storeCandidates.registerStoreCandidate
.Um objeto de tipos de armazenamento. As propriedades do objeto são nomes de tipo de armazenamento e os valores de propriedade são uma matriz de candidatos a armazenamento registrado.
Retorna um tipo de loja dos candidatos registrados. Se mais de um tipo de armazenamento com o mesmo nome for registrado, a função retornará o tipo de armazenamento com a prioridade mais alta.
storeType
: (String) O nome do candidato da loja. Consulte o parâmetro storeType
da função ContextHub.Utils.storeCandidates.registerStoreCandidate
.Um objeto que representa o candidato de armazenamento registrado. Se o Tipo de armazenamento solicitado não estiver registrado, um erro será lançado.
Retorna os nomes dos tipos de loja que estão registrados como candidatos de loja. Essa função não requer parâmetros.
Uma matriz de valores de string, em que cada string é o tipo de armazenamento com o qual um candidato de loja foi registrado. Consulte o parâmetro storeType
da função ContextHub.Utils.storeCandidates.registerStoreCandidate
.
Registra um objeto de loja como candidato de loja usando um nome e uma prioridade.
A prioridade é um número que indica a importância das lojas com nomes iguais. Quando um candidato de loja é registrado usando o mesmo nome de um candidato de loja já registrado, o candidato com prioridade mais alta é usado. Ao registrar um candidato de loja, a loja é registrada somente se a prioridade for maior que os candidatos da mesma loja registrada.
store
: (Object) O objeto store a ser registrado como um candidato de loja.storeType
: (String) O nome do candidato da loja. Esse valor é necessário ao criar uma instância do candidato da loja.priority
: (Número) A prioridade do candidato da loja.applies
: (Função) A função a ser chamada que avalia a aplicabilidade da loja no ambiente atual. A função deve retornar true
se a loja for aplicável e false
caso contrário. O valor padrão é uma função que retorna true: function() {return true;}
ContextHub.Utils.storeCandidates.registerStoreCandidate(myStoreCandidate,
'contexthub.mystorecandiate', 0);