<!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> # cordova-plugin-dialogs Questo plugin consente di accedere ad alcuni elementi di interfaccia utente nativa dialogo tramite un oggetto globale `navigator.notification`. Anche se l'oggetto è associato con ambito globale del `navigator`, non è disponibile fino a dopo l'evento `deviceready`. document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { console.log(navigator.notification); } ## Installazione cordova plugin add cordova-plugin-dialogs ## Metodi * `navigator.notification.alert` * `navigator.notification.confirm` * `navigator.notification.prompt` * `navigator.notification.beep` ## navigator.notification.alert Mostra una finestra di avviso o la finestra di dialogo personalizzata. La maggior parte delle implementazioni di Cordova utilizzano una finestra di dialogo nativa per questa caratteristica, ma alcune piattaforme utilizzano la funzione di `alert` del browser, che è in genere meno personalizzabile. navigator.notification.alert(message, alertCallback, [title], [buttonName]) * **message**: messaggio finestra di dialogo. *(String)* * **alertCallback**: Callback da richiamare quando viene chiusa la finestra di avviso. *(Funzione)* * **title**: titolo di dialogo. *(String)* (Opzionale, default è `Alert`) * **buttonName**: nome del pulsante. *(String)* (Opzionale, default è `OK`) ### Esempio function alertDismissed() { // do something } navigator.notification.alert( 'You are the winner!', // message alertDismissed, // callback 'Game Over', // title 'Done' // buttonName ); ### Piattaforme supportate * Amazon fuoco OS * Android * BlackBerry 10 * Firefox OS * iOS * Tizen * Windows Phone 7 e 8 * Windows 8 * Windows ### Windows Phone 7 e 8 stranezze * Non non c'è nessun avviso del browser integrato, ma è possibile associare uno come segue per chiamare `alert()` in ambito globale: window.alert = navigator.notification.alert; * Entrambi `alert` e `confirm` sono non di blocco chiamate, risultati di cui sono disponibili solo in modo asincrono. ### Firefox OS Stranezze: Nativo di blocco `window.alert()` blocco `navigator.notification.alert()` sono disponibili sia. ### BlackBerry 10 capricci parametro di callback `navigator.notification.alert ('text' callback, 'title' 'text')` viene passato il numero 1. ## navigator.notification.confirm Visualizza una finestra di dialogo conferma personalizzabile. navigator.notification.confirm(message, confirmCallback, [title], [buttonLabels]) * **messaggio**: messaggio finestra di dialogo. *(String)* * **confirmCallback**: Callback da richiamare con l'indice del pulsante premuto (1, 2 o 3) o quando la finestra di dialogo viene chiusa senza una pressione del pulsante (0). *(Funzione)* * **titolo**: titolo di dialogo. *(String)* (Opzionale, default è`Confirm`) * **buttonLabels**: matrice di stringhe che specificano le etichette dei pulsanti. *(Matrice)* (Opzionale, default è [ `OK,Cancel` ]) ### confirmCallback Il `confirmCallback` viene eseguito quando l'utente preme uno dei pulsanti nella finestra di dialogo conferma. Il callback accetta l'argomento `buttonIndex` *(numero)*, che è l'indice del pulsante premuto. Si noti che l'indice utilizza l'indicizzazione base uno, quindi il valore è `1`, `2`, `3`, ecc. ### Esempio function onConfirm(buttonIndex) { alert('You selected button ' + buttonIndex); } navigator.notification.confirm( 'You are the winner!', // message onConfirm, // callback to invoke with index of button pressed 'Game Over', // title ['Restart','Exit'] // buttonLabels ); ### Piattaforme supportate * Amazon fuoco OS * Android * BlackBerry 10 * Firefox OS * iOS * Tizen * Windows Phone 7 e 8 * Windows 8 * Windows ### Windows Phone 7 e 8 stranezze * Non non c'è nessuna funzione browser incorporato per `window.confirm` , ma è possibile associare assegnando: window.confirm = navigator.notification.confirm; * Chiama al `alert` e `confirm` sono non bloccante, quindi il risultato è disponibile solo in modo asincrono. ### Stranezze di Windows * Su Windows8/8.1 non è possibile aggiungere più di tre pulsanti a MessageDialog istanza. * Su Windows Phone 8.1 non è possibile mostrare la finestra di dialogo con più di due pulsanti. ### Firefox OS Stranezze: Nativo di blocco `window.confirm()` blocco `navigator.notification.confirm()` sono disponibili sia. ## navigator.notification.prompt Visualizza una finestra di dialogo nativa che è più personalizzabile di funzione `prompt` del browser. navigator.notification.prompt(message, promptCallback, [title], [buttonLabels], [defaultText]) * **message**: messaggio finestra di dialogo. *(String)* * **promptCallback**: Callback da richiamare con l'indice del pulsante premuto (1, 2 o 3) o quando la finestra di dialogo viene chiusa senza una pressione del pulsante (0). *(Funzione)* * **title**: dialogo titolo *(String)* (opzionale, default è `Prompt`) * **buttonLabels**: matrice di stringhe specificando il pulsante etichette *(Array)* (opzionale, default è `["OK", "Cancel"]`) * **defaultText**: valore (`String`) di input predefinito textbox (opzionale, Default: empty string) ### promptCallback Il `promptCallback` viene eseguito quando l'utente preme uno dei pulsanti nella finestra di dialogo richiesta. `results` oggetto passato al metodo di callback contiene le seguenti proprietà: * **buttonIndex**: l'indice del pulsante premuto. *(Numero)* Si noti che l'indice utilizza l'indicizzazione base uno, quindi il valore è `1`, `2`, `3`, ecc. * **input1**: il testo immesso nella finestra di dialogo richiesta. *(String)* ### Esempio function onPrompt(results) { alert("You selected button number " + results.buttonIndex + " and entered " + results.input1); } navigator.notification.prompt( 'Please enter your name', // message onPrompt, // callback to invoke 'Registration', // title ['Ok','Exit'], // buttonLabels 'Jane Doe' // defaultText ); ### Piattaforme supportate * Amazon fuoco OS * Android * Firefox OS * iOS * Windows Phone 7 e 8 * Windows 8 * Windows ### Stranezze Android * Android supporta un massimo di tre pulsanti e ignora di più di quello. * Su Android 3.0 e versioni successive, i pulsanti vengono visualizzati in ordine inverso per dispositivi che utilizzano il tema Holo. ### Stranezze di Windows * Su Windows finestra di dialogo richiesta è a causa di mancanza di tali api nativa basata su html. ### Firefox OS Stranezze: Nativo di blocco `window.prompt()` blocco `navigator.notification.prompt()` sono disponibili sia. ## navigator.notification.beep Il dispositivo riproduce un bip sonoro. navigator.notification.beep(times); * **times**: il numero di volte per ripetere il segnale acustico. *(Numero)* ### Esempio // Beep twice! navigator.notification.beep(2); ### Piattaforme supportate * Amazon fuoco OS * Android * BlackBerry 10 * iOS * Tizen * Windows Phone 7 e 8 * Windows 8 ### Amazon fuoco OS stranezze * Amazon fuoco OS riproduce il **Suono di notifica** specificato sotto il pannello **Impostazioni/Display e il suono** predefinito. ### Stranezze Android * Android giochi default **Notification ringtone** specificato sotto il pannello **impostazioni/audio e Display**. ### Windows Phone 7 e 8 stranezze * Si basa su un file generico bip dalla distribuzione di Cordova. ### Tizen stranezze * Tizen implementa bip di riproduzione di un file audio tramite i media API. * Il file beep deve essere breve, deve trovarsi in una sottodirectory di `sounds` della directory principale dell'applicazione e deve essere denominato `beep.wav`.