Fonctions
Ces fonctions s'appellent depuis le code du plugin, par exemple après un clic. Elles affichent une fenêtre ou un toast de Hodi : le plugin ne les dessine pas lui-même, et ils ont donc la même allure que partout dans l'app.
askToConfirm()
Cette fonction ouvre la fenêtre de Hodi qui pose une question avant une action qui ne se défait pas, comme effacer un historique. La personne confirme avec un bouton rouge, ou annule.
Avec proof, la fenêtre demande aussi le mot de passe de la personne. onConfirm reçoit alors une preuve, que la partie web passe à une route marquée proof: true avec api(path, { proof }). Hodi vérifie le mot de passe avant de lancer la route.
import { askToConfirm, usePluginApi } from 'hodi:sdk'
const api = usePluginApi()
askToConfirm({
title: 'Vider l’historique ?',
message: 'Les 30 derniers bonjours de ce foyer seront effacés.',
label: 'Vider',
onConfirm: () => api('/history', { method: 'DELETE' })
})titlestringLa question posée, comme Vider l'historique ?.
messageReactNodeCe qui va se passer, en entier : ce qui sera effacé, pour qui, et ce qui restera.
labelstringLe texte du bouton qui confirme, un verbe comme Vider ou Effacer.
onConfirm(proof: Proof) => void | Promise<void>Ce que fait le clic sur ce bouton. Avec proof, il reçoit le mot de passe et le code tapés. Si la promesse échoue, la fenêtre reste ouverte.
look?'danger' | 'primary'La couleur du bouton : rouge par défaut, primary pour une action qui ajoute au lieu d'effacer.
proof?{}Demande le mot de passe de la personne, et le code de son appli quand elle a la validation en deux étapes.
onCancel?() => voidCe qui se passe quand la personne ferme la fenêtre sans confirmer : avec Échap, la croix, Annuler ou un clic à côté.
showDone()
Ces fonctions affichent un toast de Hodi : un message court qui dit ce qui vient de se passer. Un toast ne pose jamais de question et ne contient jamais de formulaire. Il en existe trois :
showDonedit qu'une action est faite. Avecundo, il ajoute un bouton Annuler.showSaveddit qu'un réglage est enregistré.showErrordit qu'une chose a échoué, avec un bouton pour réessayer si besoin.
- Salutation enregistrée
- Salutation enregistrée
import { showDone } from 'hodi:sdk'
showDone('Salutation enregistrée')showDone(message: string, undo?: () => void) => voidAffiche le message d'une action faite. Avec undo, un bouton Annuler appelle cette fonction.
showSaved(message?: string) => voidAffiche Enregistré, ou le message donné. Un seul de ces toasts reste à l'écran à la fois.
showError(message: string, action?, id?: string) => voidAffiche un échec. Le message, ou le bouton action, dit quoi faire ensuite. Avec id, un nouveau toast remplace celui qui a le même id.