La librería core.js permite hacer uso de la funcionalidad básica del SDK JavaScript de AppMachine.
Cómo incluir core.js
Para incluir core.js en tu bloque JavaScript, basta con que añadas la siguiente línea de código a tu página HTML.
<script type="text/javascript" src="/bridge/core.js"></script>
Nota: Esto ya lo hemos hecho por ti cuando añades un nuevo bloque JavaScript a tu app.
Esto incluirá de forma automática la librería básica en tu página y tendrás acceso al SDK de AppMachine usando el siguiente código:
<script type="text/javascript">
window.App
</script>
Métodos
Ahora que has incluido el núcleo del SDK de AppMachine en tu bloque, ya puedes empezar a usarlo. La librería básica incluye los siguientes métodos:
-
getCurrentRecord(callback)
-
Obtiene el dato seleccionado en este momento en el ámbito actual de la aplicación, por ejemplo, cuando el bloque se encuentra por debajo de otro bloque de Excel o servicio web.
Parámetros:
Nombre Tipo Descripción callback
función El método callback que se debe aplicar una vez que se ha obtenido el dato concreto. -
Lanzamiento de errores:
-
Si el callback se ha especificado pero no es una función, o cuando el callback no está definido.
- Tipo
- Error
-
-
getRecords(callback)
-
Obtiene el conjunto de datos disponible en el ámbito actual de la aplicación, por ejemplo, cuando el bloque se encuentra por debajo de otro bloque de Excel o servicio web.
Parámetros:
Nombre Tipo Descripción callback
función El método callback que se debe aplicar una vez que el conjunto de datos está disponible. Lanzamiento de errores:
-
-
Si el callback se ha especificado pero no es una función, o cuando el callback no está definido.
-
- Tipo
- Error
-
-
getVariable(key, callback)
-
Permite obtener una variable dentro del ámbito de la aplicación.
Parámetros:
Nombre Tipo Descripción key
string The variable name. callback
función El método callback que se debe aplicar una vez que se ha obtenido el valor variable. Lanzamiento de errores:
-
-
Si no se ha definido una clave válida.
- Tipo
- Error
-
-
-
-
Si el callback se ha especificado pero no es una función, o cuando el callback no está definido.
-
- Tipo
- Error
-
-
-
goBack()
-
Cierra el bloque JavaScript y navega de vuelta al bloque JavaScript raíz. Esto solo suele ser útil cuando tu bloque se ejecuta en modo de pantalla completa.
-
navigateToBlock(blockIdentifier, callback)
-
Permite navegar a otro bloque dentro de tu aplicación usando la navegación nativa de la misma.
Parámetros:
Nombre Tipo Descripción blockIdentifier
string El identificador del bloque de desarrollo, este puede ser el nombre variable o id. callback
función El método callback que se debe aplicar una vez que se ha completado la navegación. Lanzamiento de errores:
-
Si no se ha especificado un identificador de bloque válido, o si el identificador de bloque no es del tipo string.
- Tipo
- Error
-
-
setVariable(key, value)
-
Permite guardar una variable en el ámbito de la aplicación. Dicha variable no se eliminará hasta que se cierre la aplicación y permite guardar variables en un bloque JavaScript y acceder a ellas desde otro bloque JavaScript.
Parámetros:
Nombre Tipo Descripción key
string El nombre variable. value
objeto El valor variable. Lanzamiento de errores:
-
-
Si no se ha definido una clave válida.
-
- Tipo
- Error
-
Notificaciones
Las notificaciones forman parte de las funcionalidades básicas y permiten interactuar con el usuario.
<script type="text/javascript">
window.App.Notification
</script>
-
showAlertMessage(title, message, buttons, buttonClickHandler)
-
Muestra una alerta en forma de cuadro de diálogo, con el título y el mensaje especificados. Opcionalmente, puedes especificar botones que quieres que aparezcan en el cuadro de diálogo.
Parámetros:
Nombre Tipo Descripción title
string El título que debe aparecer en el cuadro de diálogo. message
string El mensaje que debe aparecer en el cuadro de diálogo. buttons
array Conjunto de strings que contienen los botones. buttonClickHandler
función El método callback que se debe aplicar cuando el usuario pulsa un botón. Lanzamiento de excepciones:
-
Si no se ha definido ni el título ni el mensaje.
- Tipo
- Error
Ejemplo
window.App.Notification.showAlertMessage('Hello world', 'Do you want to continue?', ['Yes', 'No'], function(args) { if(args.index === 0){ //User clicked yes } else { //User clicked no } });
Caché
El uso óptimo de la caché puede ser un aspecto importante de una aplicación móvil, porque permite al usuario utilizarla incluso cuando no tiene acceso a internet. La caché incluye un par de funcionalidades que permiten guardar datos o imágenes temporalmente sin incidir en la capacidad de almacenamiento del dispositivo.
<script type="text/javascript"> window.App.Cache </script>
-
downloadImage(url, type, onComplted, onFailed)
-
Descarga una imagen usando la caché de imágenes nativa y devuelve el resultado como string tipo base64. Una vez que la imagen está disponible, el usuario podrá acceder a ella incluso cuando no tenga conexión a internet.
Parámetros:
Nombre Tipo Descripción url
string El url de la imagen que hay que descargar. type
string El formato de imagen (png o jpg). onCompleted
función El método callback que se debe aplicar una vez que la imagen esté disponible. onFailed
función El método callback que se debe aplicar cuando falle la descarga de la imagen. Lanzamiento de errores:
-
-
Si no se ha especificado un url válido de la imagen o si el url no es del tipo string.
- Tipo
- Error
-
-
-
Si el tipo de imagen no es compatible (los formatos compatibles son png y jpg).
- Tipo
- Error
-
-
-
Si no se ha definido el parámetro «onCompleted» o la función con que se ha definido no es válida.
- Tipo
- Error
-
Ejemplo
window.App.Cache.downloadImage('http://481xy61dp22v2uqbx85ez1twoe.wpengine.netdna-cdn.com/wp-content/themes/appmachinenew/2014/images/header/logo-dark.png', 'png', function(base64Image) { if(base64Image) { var imageElement = document.getElementById('myImagePlaceholder'); if (imageElement) { imageElement.src = base64Image; } } }, function(reason) { alert('Failed to download the image because: ' + reason); });
-
-
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.