La API de JavaScript de ContextHub está disponible para los scripts cuando el componente ContextHub se ha agregado a la página.
Valores constantes que define la API de JavaScript de ContextHub.
En la tabla siguiente se enumeran los eventos de nombre que se producen en las tiendas de ContextHub. Consulte también ContextHub.Utils.Event.
Constante | Descripción | Value |
---|---|---|
ContextHub.Constants.EVENT_NAMESPACE | Área de nombres de eventos de ContextHub | ch |
ContextHub.Constants.EVENT_ALL_STORES_READY | Indica que todas las tiendas requeridas están registradas, inicializadas y listas para ser consumidas | all-store-ready |
ContextHub.Constants.EVENT_STORES_PARTIALLY_READY | Indica que no todas las tiendas se inicializaron dentro de un tiempo de espera determinado | store-part-ready |
ContextHub.Constants.EVENT_STORE_REGISTERED | Se activa cuando se registra una tienda | registrado en el almacén |
ContextHub.Constants.EVENT_STORE_READY | Indica que las tiendas están listas para funcionar. Se activa inmediatamente después del registro, excepto en los almacenes JSONP, donde se activa cuando se recuperan datos). | listo para almacenar |
ContextHub.Constants.EVENT_STORE_UPDATED | Se activa cuando una tienda actualiza su persistencia | store-update |
ContextHub.Constants.PERSISTENCE_CONTAINER_NAME | Nombre del contenedor de persistencia | Persistencia de ContextHub |
ContextHub.Constants.SERVICE_RAW_RESPONSE_KEY | Almacena el nombre de clave de persistencia específico donde se almacena el resultado JSON sin procesar | /_/raw-response |
ContextHub.Constants.SERVICE_RESPONSE_TIME_KEY | Almacena una marca de hora específica que indica cuándo se recuperaron los datos JSON | /_/response-time |
ContextHub.Constants.SERVICE_LAST_URL_KEY | Almacena la url específica del servicio JSON utilizado durante la última llamada | /_/url |
ContextHub.Constants.IS_CONTAINER_EXPANDED | Indica si la interfaz de usuario de ContextHub está expandida | /_/container-expand |
En la tabla siguiente se enumeran los nombres de los eventos que se producen en la interfaz de usuario de ContextHub.
Constante | Descripción | Value |
---|---|---|
ContextHub.Constants.EVENT_UI_MODE_REGISTERED | Se activa cuando se registra un modo | ui-mode registrado |
ContextHub.Constants.EVENT_UI_MODE_UNREGISTERED | Se activa cuando un modo no está registrado | ui-mode-unregister |
ContextHub.Constants.EVENT_UI_MODE_RENDERER_REGISTERED | Se activa cuando se registra un renderizador de modo | ui-mode-renderer-register |
ContextHub.Constants.EVENT_UI_MODE_RENDERER_UNREGISTERED | Se activa cuando un renderizador de modo no está registrado | ui-mode-renderer-unregister |
ContextHub.Constants.EVENT_UI_MODE_ADDED | Se activa cuando se agrega un nuevo modo | ui-mode-added |
ContextHub.Constants.EVENT_UI_MODE_REMOVED | Se activa cuando se elimina un modo | ui-mode-remove |
ContextHub.Constants.EVENT_UI_MODE_SELECTED | Se activa cuando el usuario selecciona un modo | ui-mode-selected |
ContextHub.Constants.EVENT_UI_MODULE_REGISTERED | Se activa cuando se registra un nuevo módulo | ui-module-register |
ContextHub.Constants.EVENT_UI_MODULE_UNREGISTERED | Se activa cuando un módulo no está registrado | ui-module-unregister |
ContextHub.Constants.EVENT_UI_MODULE_RENDERER_REGISTERED | Se activa cuando se registra un renderizador de módulo | ui-module-renderer-register |
ContextHub.Constants.EVENT_UI_MODULE_RENDERER_UNREGISTERED | Se activa cuando un renderizador de módulo no está registrado | ui-module-renderer-unregister |
ContextHub.Constants.EVENT_UI_MODULE_ADDED | Se activa cuando se agrega un nuevo módulo | ui-module-added |
ContextHub.Constants.EVENT_UI_MODULE_REMOVED | Se activa cuando se elimina un módulo | ui-module-remove |
ContextHub.Constants.EVENT_UI_CONTAINER_ADDED | Se activa cuando el contenedor de interfaz de usuario se agrega a la página | ui-container-added |
ContextHub.Constants.EVENT_UI_CONTAINER_OPENED | Se activa cuando se abre la interfaz de usuario de ContextHub | ui-container abierto |
ContextHub.Constants.EVENT_UI_CONTAINER_CLOSED | Se activa cuando la interfaz de usuario de ContextHub está contraída | ui-container-closed |
ContextHub.Constants.EVENT_UI_PROPERTY_MODIFIED | Se activa cuando se modifica una propiedad | ui-property-modified |
ContextHub.Constants.EVENT_UI_RENDERED | Se activa cada vez que se procesa la interfaz de usuario de ContextHub (por ejemplo, después de un cambio de propiedad) | ui-renderizado |
ContextHub.Constants.EVENT_UI_INITIALIZED | Se activa cuando el contenedor de IU se inicializa | ui-inicializado |
ContextHub.Constants.ACTIVE_UI_MODE | Indica el modo de IU activo | /_/active-ui-mode |
El objeto ContextHub proporciona acceso a todas las tiendas.
Devuelve todos los almacenes registrados de ContextHub.
Esta función no tiene parámetros.
Devuelve
Un objeto que contiene todos los almacenes de ContextHub. Cada almacén es un objeto que utiliza el mismo nombre que el almacén.
Ejemplo
El ejemplo siguiente recupera todas las tiendas y, a continuación, recupera el almacén de geolocalización:
var allStores = ContextHub.getAllStores();
var geoloc = allStores.geolocation
Recupera un almacén como objeto de Javascript.
Parámetros
Devuelve
Un objeto que representa el almacén.
Ejemplo
El ejemplo siguiente recupera el almacén de geolocalización:
var geoloc = ContextHub.getStore("geolocation");
Representa un segmento de ContextHub. Utilice ContextHub.SegmentEngine.SegmentManager para obtener segmentos.
Devuelve el nombre del segmento como un valor de tipo String.
Devuelve la ruta de acceso del repositorio de la definición del segmento como un valor de tipo String.
Proporciona acceso a los segmentos de ContextHub.
Devuelve los segmentos resueltos en el contexto actual. Esta función no tiene parámetros.
Devuelve
Matriz de objetos ContextHub.SegmentEngine.Segment .
La clase base de los almacenes de ContextHub.
Un objeto ContextHub.Utils.Event. Utilice este objeto para funciones de enlace para almacenar eventos. Para obtener información sobre el valor predeterminado y la inicialización, consulte init(name,config).
Nombre de la tienda.
Un objeto ContextHub.Utils.Persistence. Para obtener información sobre el valor predeterminado y la inicialización, consulte [init(name,config)](/docs/experience-manager-65/developing/personlization/contexthub-api.html?lang=es#init-name-config).
Combina un objeto de datos o una matriz con los datos del almacén. Cada par clave/valor del objeto o matriz se agrega al almacén (a través de la función setItem
):
Tenga en cuenta que los valores pueden ser objetos.
Parámetros
options
de setItem(key,value,options).Devuelve
Un valor boolean
:
true
indica que se ha almacenado el objeto de datos.false
indica que el almacén de datos no ha cambiado.Crea una referencia de una clave a otra. Una clave no se puede hacer referencia a sí misma.
Parámetros
clave: La clave a la que se hace referencia anotherKey
.
anotherkey: Clave a la que se hace referencia en key
.
Devuelve
Un valor boolean
:
true
indica que se agregó la referencia.false
indica que no se agregó ninguna referencia.Déclencheur el evento ready
para este almacén. Esta función no tiene parámetros y no devuelve ningún valor.
Quita todos los datos del almacén. La función no tiene parámetros ni valor devuelto.
Devuelve el valor asociado a una clave.
Parámetros
Devuelve
Objeto que representa el valor de la clave.
Recupera las claves del almacén. Opcionalmente, puede recuperar las claves que utiliza internamente el marco de ContextHub.
Parámetros
true
incluye claves utilizadas internamente en los resultados. Estas teclas comienzan con el carácter de subrayado ("_"). El valor predeterminado es false
.Devuelve
Matriz de nombres de claves ( string
valores).
Recupera las referencias del almacén.
Devuelve
Matriz que utiliza claves de referencia como índices para las claves a las que se hace referencia:
Las claves de referencia se corresponden con el parámetro key
de la función addReference
.
Las claves a las que se hace referencia se corresponden con el parámetro anotherKey
de la función addReference
.
Recupera el árbol de datos del almacén. Opcionalmente, puede incluir los pares de clave/valor que utiliza internamente el marco de ContextHub.
Parámetros
includeInternals:
Un valor de true
incluye pares de clave/valor utilizados internamente en los resultados. Las claves de estos datos comienzan con el carácter de subrayado ("_"). El valor predeterminado es false
.Devuelve
Un objeto que representa el árbol de datos. Las claves son los nombres de propiedad del objeto.
Inicializa la tienda.
Establece los datos almacenados en un objeto vacío.
Establece las referencias de almacenamiento en un objeto vacío.
eventChannel son datos:name, donde name es el nombre del almacén.
storeDataKey es /store/name, donde name es el nombre del almacén.
Parámetros
nombre: el nombre del almacén.
Configuración: Un objeto que contiene propiedades de configuración:
Determina si el evento está en pausa para esta tienda.
Devuelve
Un valor booleano:
true
: El evento se pone en pausa para que no se activen eventos para esta tienda.false
: Los eventos no se pausan para que se activen eventos para esta tienda.Pone en pausa el evento de la tienda para que no se active ningún evento. Esta función no requiere parámetros y no devuelve ningún valor.
Quita un par clave/valor de la tienda.
Cuando se elimina una clave, la función déclencheur el evento data
. Los datos del evento incluyen el nombre del almacén, el nombre de la clave que se eliminó, el valor que se eliminó, el nuevo valor para la clave (nulo) y el tipo de acción "remove" (eliminar).
Opcionalmente, puede evitar que se active el evento data
.
Parámetros
clave: (cadena) nombre de la clave que se va a quitar.
opciones: (Objeto) Un objeto de opciones. Las siguientes propiedades de objeto son válidas:
true
impide que se active el evento data
. El valor predeterminado es false
.Devuelve
Un valor boolean
:
true
indica que se ha eliminado el par clave/valor.false
indica que el almacén de datos no ha cambiado porque la clave no se ha encontrado en el almacén.Quita una referencia de la tienda.
Parámetros
key
de la función addReference
.Devuelve
Un valor boolean
:
true
indica que se ha eliminado la referencia.false
indica que la clave no era válida y que el almacén no ha cambiado.Restaura los valores iniciales de los datos persistentes del almacén. De forma opcional, puede eliminar todos los demás datos del almacén. El evento está en pausa para esta tienda mientras se restablece la tienda. Esta función no devuelve ningún valor.
Los valores iniciales se proporcionan en la propiedad initialValues del objeto config que se utiliza para crear una instancia del objeto store .
Parámetros
Restaura los valores iniciales de los datos persistentes del almacén. De forma opcional, puede eliminar todos los demás datos del almacén. El evento está en pausa para esta tienda mientras se restablece la tienda. Esta función no devuelve ningún valor.
Los valores iniciales se proporcionan en la propiedad initialValues del objeto config que se utiliza para crear una instancia del objeto store .
Parámetros
Recupera una clave a la que se hace referencia. De forma opcional, puede especificar el número de iteraciones que se utilizarán para resolver la mejor coincidencia.
Parámetros
clave: (cadena) la clave para la que se resuelve la referencia. Este parámetro key
corresponde al parámetro key
de la función addReference
.
reintento: (número) número de iteraciones que se van a utilizar.
Devuelve
Un valor string
que representa la clave a la que se hace referencia. Si no se resuelve ninguna referencia, se devuelve el valor del parámetro key
.
Reanuda el evento de este almacén para que se activen los eventos. Esta función no define parámetros ni devuelve ningún valor.
Agrega un par clave/valor a la tienda.
Déclencheur el evento data
solo si el valor de la clave es diferente del valor que está almacenado para la clave. Si lo desea, puede evitar que se active el evento data
.
Los datos de evento incluyen el nombre del almacén, la clave, el valor anterior, el nuevo valor y el tipo de acción set
.
Parámetros
clave: (cadena) nombre de la clave.
opciones: (Objeto) Un objeto de opciones. Las siguientes propiedades de objeto son válidas:
true
impide que se active el evento data
. El valor predeterminado es false
.valor: (Objeto) El valor que se va a asociar a la clave.
Devuelve
Un valor boolean
:
true
indica que se ha almacenado el objeto de datos.false
indica que el almacén de datos no ha cambiado.Un almacén que contiene datos JSON. Los datos se recuperan de un servicio JSONP externo o, opcionalmente, de un servicio que devuelve datos JSON. Especifique los detalles del servicio mediante la función init
al crear una instancia de esta clase.
El almacén utiliza la persistencia en memoria (variable JavaScript). Los datos del almacén solo están disponibles durante toda la página.
ContextHub.Store.JSONPStore amplía ContextHub.Store.Core y hereda las funciones de esa clase.
Configura los detalles para conectarse al servicio JSONP que utiliza este objeto. Puede actualizar o reemplazar la configuración existente. La función no devuelve ningún valor.
Parámetros
serviceConfig: objeto que contiene las siguientes propiedades:
host: (Cadena) El nombre del servidor o la dirección IP.
jsonp: (Booleano) Un valor de true indica que el servicio es un servicio JSONP, false en caso contrario. Cuando es true, la llamada de retorno {Callback: "ContextHub.Callback.El objeto Object.name} se agrega al objeto service.params.
parámetros: (Objeto) Los parámetros de URL representados como propiedades de objeto. Los nombres de parámetro son nombres de propiedad y los valores de parámetro son valores de propiedad.
ruta: (Cadena) La ruta al servicio.
puerto: (Número) El número de puerto del servicio.
seguro: (Cadena o Booleano) Determina el protocolo que se utiliza para la URL del servicio:
override: (booleano). Un valor de true
hace que la configuración de servicio existente se sustituya por las propiedades de serviceConfig
. Un valor de false
hace que las propiedades de configuración de servicio existentes se fusionen con las propiedades de serviceConfig
.
Devuelve la respuesta sin procesar que se almacena en caché desde la última llamada al servicio JSONP. La función no requiere parámetros.
Devuelve
Un objeto que representa la respuesta sin procesar.
Recupera el objeto de servicio para este objeto ContextHub.Store.JSONPStore. El objeto service contiene toda la información necesaria para crear la URL del servicio.
Devuelve
Un objeto con las siguientes propiedades:
host: (cadena) El nombre del servidor o la dirección IP.
jsonp: (booleano) un valor de true indica que el servicio es un servicio JSONP, false en caso contrario. Cuando es true, la llamada de retorno {Callback: "ContextHub.Callback.El objeto Object.name} se agrega al objeto service.params.
parámetros: (objeto) parámetros de URL representados como propiedades de objeto. Los nombres de parámetro son nombres de propiedad y los valores de parámetro son valores de propiedad.
ruta: (cadena) La ruta al servicio.
puerto: (número) número de puerto del servicio.
secure: (cadena o booleano) determina el protocolo que se utilizará para la URL del servicio:
Recupera la URL del servicio JSONP.
Parámetros
true
resuelve los parámetros y false
no.Devuelve
Un valor string
que representa la dirección URL del servicio.
inicia el objeto ContextHub.Store.JSONPStore.
Parámetros
name: (cadena) nombre del almacén.
config: (Objeto) Un objeto que contiene la propiedad service. El objeto JSONPStore utiliza las propiedades del objeto service
para construir la URL del servicio JSONP:
eventDeferring: 32.
evento: El objeto ContextHub.Utils.Event de esta tienda. El valor predeterminado es el objeto ContextHub.eventing
.
persistencia: El objeto ContextHub.Utils.Persistence de este almacén. De forma predeterminada, se utiliza la persistencia de la memoria (objeto Javascript).
servicio: (Objeto)
host: (Cadena) El nombre del servidor o la dirección IP.
jsonp: (Booleano) Un valor de true indica que el servicio es un servicio JSONP, false en caso contrario. Cuando es verdadero, el objeto {callback: "ContextHub.Callbacks.*Object.name*}
se agrega a service.params
.
parámetros: (Objeto) Los parámetros de URL representados como propiedades de objeto. Los nombres y valores de parámetro son los nombres y valores de las propiedades de objeto, respectivamente.
ruta: (Cadena) La ruta al servicio.
puerto: (Número) El número de puerto del servicio.
seguro: (Cadena o Booleano) Determina el protocolo que se utiliza para la URL del servicio:
tiempo de espera: (Número) La cantidad de tiempo de espera para que el servicio JSONP responda antes de finalizar el tiempo de espera, en milisegundos.
ttl: Cantidad mínima de tiempo en milisegundos que transcurre entre llamadas al servicio JSONP. (Consulte la función queryService ).
Consulta el servicio JSONP remoto y almacena en caché la respuesta. Si la cantidad de tiempo desde la llamada anterior a esta función es menor que el valor de config.service.ttl
, no se llama al servicio y no se cambia la respuesta en caché. Opcionalmente, puede forzar la llamada al servicio. La propiedad config.service.ttl
se establece al llamar a la función init para inicializar el almacén.
Déclencheur el evento ready cuando la consulta termina. Si no se establece la URL del servicio JSONP, la función no hace nada.
Parámetros
Restaura los valores iniciales de los datos persistentes del almacén y, a continuación, llama al servicio JSONP. De forma opcional, puede eliminar todos los demás datos del almacén. El evento se pone en pausa para este almacén mientras se restablecen los valores iniciales. Esta función no devuelve ningún valor.
Los valores iniciales se proporcionan en la propiedad initialValues del objeto config que se utiliza para crear una instancia del objeto store .
Parámetros
Resuelve el parámetro dado.
ContextHub.Store.PersistedJSONPStore extiende ContextHub.Store.JSONPStore para que herede todas las funciones de esa clase. Sin embargo, los datos recuperados del servicio JSONP se mantienen según la configuración de la persistencia de ContextHub. (Consulte Modos de persistencia).
ContextHub.Store.PersistedStore amplía ContextHub.Store.Core de modo que hereda todas las funciones de esa clase. Los datos de este almacén se mantienen según la configuración de la persistencia de ContextHub.
ContextHub.Store.SessionStore amplía ContextHub.Store.Core de modo que hereda todas las funciones de esa clase. Los datos de este almacén se mantienen utilizando la persistencia en memoria (objeto Javascript).
Gestiona los módulos de IU y los procesadores de módulos de IU.
Registra un procesador de módulos de IU con ContextHub. Una vez registrado el renderizador, se puede utilizar para crear módulos de IU. Utilice esta función cuando extienda ContextHub.UI.BaseModuleRenderer para crear un procesador de módulos de interfaz de usuario personalizado.
Parámetros
true
para evitar que la interfaz de usuario de ContextHub se represente después de registrar el renderizador. El valor predeterminado es false
.Ejemplo
En el siguiente ejemplo se registra un renderizador como tipo de módulo contexthub.browserinfo .
ContextHub.UI.registerRenderer('contexthub.browserinfo', new SurferinfoRenderer());
Una clase de utilidad para interactuar con cookies.
Determina si existe una cookie.
Parámetros
String
que contiene la clave de la cookie para la que está probando.Devuelve
Un valor boolean
de true indica que la cookie existe.
Ejemplo
if (ContextHub.Utils.Cookie.exists("name")) {
// conditionally-executed code
}
Devuelve todas las cookies que tienen claves que coinciden con un filtro.
Parámetros
(Opcional) filtro: Criterios para las claves de cookie coincidentes. Para devolver todas las cookies, no especifique ningún valor. Se admiten los siguientes tipos:
Devuelve
Un objeto de cookies. Las propiedades de objeto son claves de cookie y los valores clave son valores de cookie.
Ejemplo
ContextHub.Utils.Cookie.getAllItems([/^cq-authoring/, /^cq-editor/])
Devuelve un valor de cookie.
Parámetros
Devuelve
El valor de la cookie o null
si no se encontró ninguna cookie para la clave.
Ejemplo
ContextHub.Utils.Cookie.getItem("name");
Devuelve una matriz de las claves de las cookies existentes que coinciden con un filtro.
Parámetros
filtro: criterios para coincidencia de claves de cookies. Se admiten los siguientes tipos:
true
si la prueba confirma una coincidencia.Devuelve
Matriz de cadenas en la que cada cadena es la clave de una cookie que coincide con el filtro.
Ejemplo
ContextHub.Utils.Cookie.getKeys([/^cq-authoring/, /^cq-editor/])
Quita una cookie. Para eliminar la cookie, el valor se establece en una cadena vacía y la fecha de caducidad se establece en el día anterior a la fecha actual.
Parámetros
clave: un String
valor que representa la clave de la cookie que se va a eliminar.
opciones: un objeto que contiene valores de propiedad para configurar los atributos de cookie. Consulte la función [setItem](/docs/experience-manager-65/developing/personlization/contexthub-api.html?lang=es#setitem-key-value-options)
para obtener más información. La propiedad expires
no tiene ningún efecto.
Devuelve
Esta función no devuelve un valor.
Ejemplo
ContextHub.Utils.Cookie.vanish([/^cq-authoring/, 'cq-scrollpos']);
Crea una cookie de la clave y valor dados y la agrega al documento actual. De forma opcional, puede especificar opciones para configurar los atributos de la cookie.
Parámetros
clave: una cadena que contiene la clave de la cookie.
value: una cadena que contiene el valor de la cookie.
opciones: (opcional) un objeto que contiene cualquiera de las siguientes propiedades que configuran los atributos de cookie:
date
o number
que especifica cuándo caduca la cookie. Un valor de fecha especifica la hora absoluta de caducidad. Un número (en días) establece la hora de caducidad en la hora actual más el número. El valor predeterminado es undefined
.boolean
que especifica el atributo Secure
de la cookie. El valor predeterminado es false
.String
que se utilizará como atributo Path
de la cookie. El valor predeterminado es undefined
.Devuelve
La cookie con el valor establecido.
Ejemplo
ContextHub.Utils.Cookie.setItem("name", "mycookie", {
expires: 3,
domain: 'localhost',
path: '/some/directory',
secure: true
});
Elimina todas las cookies que coinciden con un filtro determinado. Las cookies se comparan con usando la función getKeys y se eliminan con la función removeItem .
Parámetros
filter: El filter
argumento que se utiliza en la llamada a la [getKeys](/docs/experience-manager-65/developing/personlization/contexthub-api.md#getkeys-filter)
función.
options: El options
argumento que se utilizará en la llamada a la [removeItem](/docs/experience-manager-65/developing/personlization/contexthub-api.md#removeitem-key-options)
función.
Devuelve
Esta función no devuelve un valor.
Permite enlazar y desenlazar funciones a eventos de almacenamiento de ContextHub. Acceda a los objetos ContextHub.Utils.Event de un almacén con la propiedad eventing del almacén.
Desvincula una función de un evento.
Parámetros
name: El nombre del evento para el que va a desenlazar la función.
selector: Selector que identifica el enlace. (Consulte el parámetro selector
para las funciones on y once).
Devuelve
Esta función no devuelve ningún valor.
Enlaza una función a un evento. Se llama a la función cada vez que se produce el evento. Opcionalmente, se puede llamar a la función para eventos que se hayan producido en el pasado antes de establecer el enlace.
Parámetros
name: (String) nombre del evento al que está enlazando la función.
controlador: (función) la función que se va a enlazar al evento.
selector: (Cadena) Identificador único del enlace. Necesita el selector para identificar el enlace si desea utilizar la función off
para quitar el enlace.
triggerForPastEvents: (booleano) Indica si el controlador debe ejecutarse para eventos que se hayan producido en el pasado. Un valor de true
llama al controlador para eventos anteriores. Un valor de false
llama al controlador para eventos futuros. El valor predeterminado es true
.
Devuelve
Cuando el argumento triggerForPastEvents
es true
, esta función devuelve un valor boolean
que indica si el evento se produjo en el pasado:
true
: El evento se produjo en el pasado y se llamará al controlador.false
: El evento no ha ocurrido en el pasado.Si triggerForPastEvents
es false
, esta función no devuelve ningún valor.
Ejemplo
En el siguiente ejemplo se vincula una función al evento de datos del almacén de geolocalización. La función rellena un elemento en la página con el valor del elemento de datos de latitud del almacén.
<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>
Enlaza una función a un evento. La función se llama una sola vez, para la primera aparición del evento. Opcionalmente, se puede llamar a la función para el evento que se ha producido en el pasado, antes de que se establezca el enlace.
Parámetros
name: (String) nombre del evento al que está enlazando la función.
controlador: (función) la función que se va a enlazar al evento.
selector: (Cadena) Identificador único del enlace. Necesita el selector para identificar el enlace si desea utilizar la función off
para quitar el enlace.
triggerForPastEvents: (booleano) Indica si el controlador debe ejecutarse para eventos que se hayan producido en el pasado. Un valor de true
llama al controlador para eventos anteriores. Un valor de false
llama al controlador para eventos futuros. El valor predeterminado es true
.
Devuelve
Cuando el argumento triggerForPastEvents
es true
, esta función devuelve un valor boolean
que indica si el evento se produjo en el pasado:
true
: El evento se produjo en el pasado y se llamará al controlador.false
: El evento no ha ocurrido en el pasado.Si triggerForPastEvents
es false
, esta función no devuelve ningún valor.
Clase de utilidad que permite a un objeto heredar las propiedades y los métodos de otro objeto.
Hace que un objeto herede las propiedades y los métodos de otro objeto.
Parámetros
Proporciona funciones para serializar objetos en formato JSON y deserializar cadenas JSON en objetos.
Analiza un valor de cadena como JSON y lo convierte en un objeto de javascript.
Parámetros
Devuelve
Un objeto Javascript.
Ejemplo
El código ContextHub.Utils.JSON.parse("{'city':'Basel','country':'Switzerland','population':'173330'}");
devuelve el siguiente objeto:
Object {
city: "Basel",
country: "Switzerland",
population: 173330
}
Serializa los valores y objetos de JavaScript en valores de cadena de formato JSON.
Parámetros
Devuelve
El valor de cadena serializada. Cuando data
es un valor R egExp
, esta función devuelve un objeto vacío. Cuando data
es una función, devuelve undefined
.
Ejemplo
El siguiente código devuelve "{'city':'Basel','country':'Switzerland','population':'173330'}":
ContextHub.Utils.JSON.stringify({
city: "Basel",
country: "Switzerland",
population: 173330
});
Esta clase facilita la manipulación de objetos de datos que se van a almacenar o que se recuperan de los almacenes de ContextHub.
Crea una copia de un objeto de datos y le añade el árbol de datos de un segundo objeto. La función devuelve la copia y no modifica ninguno de los objetos originales. Cuando los árboles de datos de los dos objetos contienen claves idénticas, el valor del segundo objeto sobrescribe el valor del primer objeto.
Parámetros
tree
objeto.Devuelve
Objeto que contiene los datos combinados.
Crea una copia de un objeto, busca y elimina elementos en el árbol de datos que no contienen valores, valores nulos o valores indefinidos, y devuelve la copia.
Parámetros
Devuelve
Una copia del árbol que se limpia.
Recupera el valor de un objeto para una clave.
Parámetros
Devuelve
El valor que corresponde a la clave. Cuando la clave tiene claves secundarias, esta función devuelve un objeto complejo. Cuando el tipo del valor de la clave es undefined
, se devuelve null
.
Ejemplo
Tenga en cuenta el siguiente objeto de JavaScript:
myObject {
user: {
location: {
city: "Basel",
details: {
population: 173330,
elevation: 260
}
}
}
}
El siguiente código de ejemplo devuelve el valor 260
:
ContextHub.Utils.JSON.tree.getItem(myObject, "/user/location/details/elevation");
El siguiente código de ejemplo recupera el valor de una clave que tiene claves secundarias:
ContextHub.Utils.JSON.tree.getItem(myObject, "/user");
La función devuelve el siguiente objeto:
Object {
location: {
city: "Basel",
details: {
population: 173330,
elevation: 260
}
}
}
Recupera todas las claves del árbol de datos de un objeto. De forma opcional, solo puede recuperar las claves de los elementos secundarios de una clave específica. También puede especificar un orden de las claves recuperadas.
Parámetros
Devuelve
Matriz de claves.
Ejemplo
Consideremos el siguiente objeto:
myObject {
location: {
weather: {
temperature: "28C",
humidity: "77%",
precipitation: "10%",
wind: "8km/h"
},
city: "Basel",
country: "Switzerland",
longitude: 7.5925727,
latitude: 47.557421
}
}
El script ContextHub.Utils.JSON.tree.getKeys(myObject);
devuelve la siguiente matriz:
["/location", "/location/city", "/location/country", "/location/latitude", "/location/longitude", "/location/weather", "/location/weather/humidity", "/location/weather/precipitation", "/location/weather/temperature", "/location/weather/wind"]
Crea una copia de un objeto determinado, quita la rama especificada del árbol de datos y devuelve la copia modificada.
Parámetros
Devuelve
Una copia del objeto de datos original con la clave eliminada.
Ejemplo
Consideremos el siguiente objeto:
myObject {
one: {
foo: "bar",
two: {
three: {
four: {
five: 5,
six: 6
}
}
}
}
}
La siguiente secuencia de comandos de ejemplo elimina la rama /one/two/tres/cuatro del árbol de datos:
myObject = ContextHub.Utils.JSON.tree.removeItem(myObject, "/one/two/three/four");
La función devuelve el siguiente objeto:
myObject {
one: {
foo: "bar"
}
}
Anida los valores de cadena para que se puedan utilizar como claves. Para sanear una cadena, esta función realiza las siguientes acciones:
Utilice la matriz resultante para crear una clave utilizable. Parámetros
string
que se va a sanear.Devuelve
Matriz de valores string
donde cada cadena es la parte del key
que se marcó con barras oblicuas. representa la clave saneada. Si la matriz saneada tiene una longitud de cero, esta función devuelve null
.
Ejemplo
El siguiente código depura una cadena para producir la matriz ["this", "is", "a", "path"]
y luego genera la clave "/this/is/a/path"
de la matriz:
var key = " / this////is/a/path ";
ContextHub.Utils.JSON.tree.sanitizeKey(key)
"/" + ContextHub.Utils.JSON.tree.sanitizeKey(key).join("/");
Agrega un par clave/valor al árbol de datos de una copia de un objeto. Para obtener información sobre los árboles de datos, consulte Persistence.
Parámetros
ContextHub.Utils.JSON.tree.sanitize
para sanear la clave antes de agregarla.Devuelve
Una copia del objeto tree
que incluye el par key
/ value
.
Ejemplo
Tenga en cuenta el siguiente 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);
El objeto myObject tiene el siguiente valor:
Permite registrar a los candidatos a la tienda y obtener los candidatos registrados a la tienda.
Devuelve los tipos de tienda registrados como candidatos de tienda. Recupere los candicados registrados de un tipo de almacén específico o de todos los tipos de almacén.
Parámetros
storeType
de la función ContextHub.Utils.storeCandidates.registerStoreCandidate
.Devuelve
Un objeto de tipos de almacén. Las propiedades de objeto son los nombres de tipo de almacén y los valores de propiedad son una matriz de candidatos de almacén registrados.
Devuelve un tipo de tienda de los candidatos registrados. Si se registra más de un tipo de almacén del mismo nombre, la función devuelve el tipo de almacén con la prioridad más alta.
Parámetros
storeType
de la función ContextHub.Utils.storeCandidates.registerStoreCandidate
.Devuelve
Un objeto que representa el candidato de almacén registrado. Si el tipo de almacén solicitado no está registrado, se genera un error.
Devuelve los nombres de los tipos de tienda que están registrados como candidatos de tienda. Esta función no requiere parámetros.
Devuelve
Matriz de valores de cadena, donde cada cadena es el tipo de tienda con el que se registró un candidato a tienda. Consulte el parámetro storeType
de la función ContextHub.Utils.storeCandidates.registerStoreCandidate
.
Registra un objeto store como candidato de tienda con un nombre y una prioridad.
La prioridad es un número que indica la importancia de las tiendas con el mismo nombre. Cuando se registra un candidato de tienda con el mismo nombre que un candidato de tienda ya registrado, se utiliza el candidato con mayor prioridad. Al registrar un candidato de tienda, el almacén solo se registra si la prioridad es mayor que los candidatos registrados de tienda con el mismo nombre.
Parámetros
true
si el almacén es aplicable y false
en caso contrario. El valor predeterminado es una función que devuelve true: function() {return true;}
Ejemplo
ContextHub.Utils.storeCandidates.registerStoreCandidate(myStoreCandidate,
'contexthub.mystorecandiate', 0);