Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Calendar

Gestire eventi e calendari con JavaScript in maniera intuitiva, facendo interagire la nostra App creata con Ionic con il calendario nativo del dispositivo
Gestire eventi e calendari con JavaScript in maniera intuitiva, facendo interagire la nostra App creata con Ionic con il calendario nativo del dispositivo
Link copiato negli appunti

Il plugin Calendar ci permette di far interagire la nostra App creata con Ionic con il calendario nativo del dispositivo. Possiamo quindi creare e gestire calendari ed eventi tramite codice JavaScript in maniera abbastanza intuitiva.

Per l'installazione del plugin eseguiamo il seguente comando dalla CLI:

ionic plugin add cordova-plugin-calendar

Una volta installato il plugin possiamo accedere alle sue funzionalità tramite il servizio $cordovaCalendar. Una volta dichiarata nel nostro modulo la dipendenza dal servizio, possiamo creare un nuovo evento tramite il seguente codice:

$ionicPlatform.ready(function() {
	$cordovaCalendar.createEvent({
            title: "Compleanno di Mario",
            location: "A casa sua",
            notes: "Comprare il regalo",
            startDate: new Date(2015, 12, 15, 20, 0, 0, 0, 0),
            endDate: new Date(2015, 12, 15, 23, 0, 0, 0, 0)
        }).then(function (result) {
            console.log("Evento creato!");
        }, function (err) {
            console.error("Errore nella creazione dell'evento");
        });
});

Come possiamo vedere, il metodo createEvent() ci consente di specificare tutte le informazioni relative all'evento da creare. Al solito, il metodo restituisce una promise la cui risoluzione possiamo gestire con l'approccio standard di Angular.

Per la creazione di eventi sono previsti alcune varianti del metodo createEvent(). Ad esempio, il metodo createEventWithOptions() consente di specificare ulteriori opzioni come la ricorrenza o il calendario in cui creare l'evento, mentre i metodi createEventInteractively() e createEventInteractivelyWithOptions() creano gli eventi, con o senza opzioni aggiuntive, richiedendo l'interazione con l'utente.

Possiamo individuare un evento in calendario utilizzando il metodo findEvent(), come mostrato dal seguente esempio:

$ionicPlatform.ready(function() {
	$cordovaCalendar.findEvent({
            title: "",
            location: "",
            notes: "",
            startDate: new Date(2015, 12, 1, 0, 0, 0, 0, 0),
            endDate: new Date(2015, 12, 31, 0, 0, 0, 0, 0)
        }).then(function (result) {
            console.log("Sono stati trovati i seguenti eventi:\n" + JSON.stringify(result));
        }, function (err) {
            console.error("Errore nella ricerca di eventi");
        });
});

L'esecuzione di questo codice individuerà gli eventi presenti in calendario compresi tra l'inizio e la fine del mese di dicembre 2015. Come possiamo dedurre, nella ricerca vengono prese in considerazione soltanto le proprietà valorizzate, consentendoci quindi un rudimentale filtro dell'elenco degli eventi.

È possibile eliminare un evento creato in precedenza tramite il metodo deleteEvent(), come mostrato dal seguente esempio:

$ionicPlatform.ready(function() {
	$cordovaCalendar.deleteEvent({
            title: "",
            location: "",
            notes: "",
            startDate: new Date(2015, 12, 1, 0, 0, 0, 0, 0),
            endDate: new Date(2015, 12, 31, 0, 0, 0, 0, 0)
        }).then(function () {
            console.log("Sono stati eliminati gli eventi indicati");
        }, function (err) {
            console.error("Errore nell'eliminazione di eventi");
        });
});

Il plugin prevede altri metodi per la gestione di eventi e calendari, come ad esempio la creazione di un calendario, la lista degli eventi disponibili, la modifica di un evento, ecc. Tuttavia molti di questi metodi sono supportati soltanto su iOS e presentano alcune limitazioni per un uso in produzione. Fare riferimento al sito ufficiale del progetto per monitorare eventuali evoluzioni.

Ti consigliamo anche