CollectionsCollections Database

API Javascript

Collections fornisce delle API Javascript ed un editor di codice in-app.

L'API Javascript è limitata alle Fonti, puoi usare Javascript per cercare e creare documenti interrogando servizi esterni (es. Google Books). Per creare una Fonte, apri una raccolta → premi sul bottone → Modifica → Fonti.

L'API è accessibile attraverso l'oggetto app.

app.query
Questo oggetto contiene informazioni sulla query corrente. Il tipo di query dipende dal metodo di input (testo o codice a barre).
app.query.isText() bool
Restituisce vero per una query di testo.
app.query.isBarcode() bool
Restituisce vero per una query di codice a barre.
app.query.value object
Il valore della query. Per le query di testo o codice a barre, il valore è una stringa.
app.params
In una Fonte, questo oggetto conterrà i parameteri passati dallo script di ricerca allo script documento.
app.log(object)
Scrivi un messaggio nella console. Equivalente di console.log()

Risultato

app.result()
Questa funzione deve essere chiamata alla fine dello script per restituire un risultato. Questa funzione ha differenti dichiarazioni in base al contesto.
app.result(results array of search results)
In uno script di ricerca, dovresti chiamarla passando un array di risultati di ricerca.
app.result(builder document builder)
In uno script documento, dovresti chiamarla passando un document builder.
app.fail()
Chiama questa funzione per terminare l'esecuzione dello script. Puoi chiamarla in un qualsiasi punto del codice.

Rete

app.request(url string) request
Crea una nuova richiesta HTTPS con l'URL specificato.
Nota: l'app supporta solo richieste sicure HTTPS, qualsiasi URL http viene convertito in https.
request.method string
Imposta od ottieni il metodo per la richiesta. "GET" oppure "POST"
request.body string
Imposta od ottieni il body usato dalla richiesta POST.
request.addHeaderValue(value string, key string)
Aggiungi un valore di header specificando un valore ed una chiave.
request.send() response
Invia la richiesta e restituisce un oggetto response.
response
La risposta ottenuta da request.send()
json() JSON object
Esegue il parsing della risposta come JSON. Restituisce undefined se l'oggetto non può essere parsato.
image() image
Esegue il parsing della risposta come immagine. Restituisce undefined se l'immagine non è valida.
xml() XML Document
Esegue il parsing della risposta come XML. Restituisce undefined se la risposta non può essere parsata. Visita Parser XML per la documentatione del parser XML.
statusCode integer
Ottieni lo status code della risposta. Se la richiesta fallisce, lo status code è -1.
success bool
Vero se il server invia una risposta. Falso negli altri casi (nessuna connessione).
app.image.fromURL(url string) image
Una scorciatoia per richiedere un'immagine dal web, restituisce un oggetto image, o undefined se la richiesta fallisce.
let request = app.request("https://www.google.com");
let response = request.send();
let data = response.json();

Storage

app.storage
Puoi usare app.storage come uno storage persistente chiave-valore. app.storage deve essere un dizionario e può immagazzinare qualsiasi oggetto serializzabile come string, number, date, array. Il dizionario è inizializzato prima di valutare uno script.
app.storage.firstName = "John";
app.storage.lastName = "Doe";
app.storage["full-name"] = "John Doe";

Risultati di ricerca

app.searchResult.new() search result
Crea un nuovo risultato di ricerca.
app.searchResult
searchResult.title string
Imposta od ottieni il titolo per il risultato.
searchResult.subtitle string
Imposta od ottieni il sottotitolo per il risultato.
searchResult.imageURL string
Imposta od ottieni l'URL dell'immagine per il risultato.
searchResult.params dictionary
Imposta un dizionario personalizzato che verrà passato allo script documento in app.params
let result = app.searchResult.new();
result.title = "Harry Potter";
result.subtitle = "J. K. Rowling";
result.params = {id: 12345};

Document builder

Puoi usare Document builder per creare un nuovo documento o usarne uno esistente.

Prima di usare document builder, assicurati di impostare un alias per ogni campo (Modifica un campo → Alias).

app.document.builder() document builder
Crea un nuovo document builder. Qui sotto, ci riferiamo ad esso semplicemente come document.
document.setString(value string, fieldAlias string)
Imposta un valore stringa per il campo specificato.
document.setInteger(value number, fieldAlias string)
Imposta un valore intero per il campo specificato.
document.setDecimal(value number, fieldAlias string)
Imposta un valore decimale per il campo specificato.
document.setBoolean(value bool, fieldAlias string)
Imposta un valore booleano per il campo specificato.
document.setDate(value date, fieldAlias string)
Imposta un valore data per il campo specificato.
document.setImage(value image, fieldAlias string)
Imposta un valore immagine per il campo specificato. Puoi creare un'immagine con app.image.fromURL(url)
document.setListItem(value list item, fieldAlias string)
Imposta un'elemento lista (come suggerimento) per il campo specificato.
document.setListItems(value list items, fieldAlias string)
Imposta degli elementi lista (come array di suggerimenti) per il campo specificato.
document.setDocument(value document, fieldAlias string)
Imposta un documento (come document builder) per il campo specificato.
document.setDocuments(value documents, fieldAlias string)
Imposta dei documenti (come array di builder) per il campo specificato.
document.setManagedDocuments(value documents, fieldAlias string)
Imposta dei documenti gestiti (come array di builder) per il campo specificato.
document.setLocation(value location, fieldAlias string)
Imposta una posizione (come suggerimento) per il campo specificato.
document.setIdentifier(fieldAlias string)
Imposta un campo come identificatore per cercare un documento esistente. Opzionale.
document.setTitle(fieldAlias string)
Imposta un campo come titolo del suggerimento. Per impostazione predefinita, il primo campo aggiunto al builder è usato come titolo.

  • Per URL, Email, Telefono, Codice a barre puoi semplicemente usare setString.
  • Per Intervallo di tempo puoi usare setDecimal specificando il valore in secondi.
  • Per "Data e ora" puoi usare setDate.
  • Per Colore puoi usare setString specificando il valore hex (es. #00FF00).

let document = app.document.builder();
document.setString("Harry Potter", "name");
document.setString("Pottermore Publishing", "publisher");
document.setInteger(223, "page-count");

Suggerimenti

Quando crei un documento, di solito vuoi impostare elementi di una lista o documenti già esistenti. Per risolvere questo problema, l'app usa il concetto di suggerimento.

Un suggerimento contiene un identificatore e tutti i dati necessari a creare l'elemento. L'app cercherà l'elemento corrispondente all'identificatore specificato, e se quell'elemento non esiste, ne creerà uno nuovo.

Suggerisci un elemento lista

app.listItem.suggest(alias string, name string) list item suggestion
Crea un nuovo suggerimento per un elemento lista specificando un alias ed un nome. Per impostazione predefinita, l'alias viene usato come identificatore.
suggestion.aliasAsIdentifier()
Use l'alias come identificatore.
suggestion.nameAsIdentifier()
Use il nome come identificatore.
let listItem = app.listItem.suggest("fantasy", "Fantasy");
document.setListItem(listItem, "genre");

Suggerisci un documento

Per suggerire un documento, crea un nuovo document builder e chiama builder.setIdentifier(fieldAlias) per impostare un campo come identificatore. Se stai creando un nuovo documento, non è necessario chiamare questo metodo.

let author = app.document.builder();
author.setIdentifier("name");
author.setString("J. K. Rowling", "name");

let book = app.document.builder();
book.setString("Harry Potter", "name");
book.setDocument(author, "author");

L'esempio crea un autore con il campo name come identificatore. L'autore viene poi salvato in un libro, l'app cercherà un autore dal nome "J. K. Rowling" o ne creerà uno nuovo se questo non esiste.

Suggerisci una posizione

app.location.suggestWithCoordinates(latitude number, longitude number) location suggestion
Crea un nuovo suggerimento per la posizione tramite latitudine e longitudine.
app.location.suggestWithAddress(address string) location suggestion
Crea un nuovo suggerimento per la posizione tramite indirizzo.

Puoi suggerire una posizione tramite coordinate o indirizzo.

let location = app.location.suggestWithCoordinates(40.730610, -73.935242);

let document = app.document.builder();
document.setLocation(location, "location");

Utilità

app.date.isValid(date date) bool
Restituisce vero se l'oggetto date è valido.
app.date.fromUnixTimestamp(timestamp int) date
Crea una data da un timestamp Unix. Restituisce una data oppure undefined se la data non è valida.