5

ModelCookieDelegate

Objective
  • ModelCookieDelegate

Une instance de ModelCookieDelegate permet à une instance de Model de lire et d'écrire ses données en JSON dans un cookie. En tant que délégué, toutes les méthodes d'une instance de ModelCookieDelegate sont toujours appelées à travers une instance de Model.

Le cookie utilisé par une instance de ModelCookieDelegate appelle les fonctions du module js-cookie. Téléchargez-le et installez-le dans un dossier du site web, e.g. /js/js.cookie.js.

Ajoutez une balise telle que <script src="/js/js.cookie.js"></script> à la section <head> du document HTML.

  1. function ModelCookieDelegate() {
  2. }
  3.  
  4. ModelCookieDelegate.prototype = Object.create(Objective.prototype);
  5.  
  6. Object.defineProperty(ModelCookieDelegate.prototype, 'constructor', { value: ModelCookieDelegate, enumerable: false, writable: true });

Une instance de ModelCookieDelegate hérite de la classe Objective.

  1. ModelCookieDelegate.prototype.isSaved = function(model) {
  2.     return Cookies.get(model.name) !== undefined;
  3. };

isSaved retourne true si un cookie nommé d'après le nom de model existe, sinon false.

  1. ModelCookieDelegate.prototype.readIn = function(model) {
  2.     let json = Cookies.get(model.name);
  3.  
  4.     if (json !== undefined)
  5.         model.set(JSON.parse(json));
  6. };

readIn récupère le contenu en JSON du cookie nommé d'après le nom de model et si défini, le décode et l'assigne à model.

  1. ModelCookieDelegate.prototype.writeOut = function(model) {
  2.     Cookies.set(model.name, JSON.stringify(model.get()), { path: '/', sameSite: 'lax' });
  3.  
  4.     model.changed = false;
  5. };

writeOut assigne la valeur en JSON de model à un cookie nommé d'après le nom de model.

  1. ModelCookieDelegate.prototype.clearSave = function(model) {
  2.     Cookies.remove(model.name, { path: '/' });
  3. };

clearSave détruit le cookie nommé d'après le nom de model.

VOIR AUSSI

ModelStorageDelegate, Model, Editor

Commentaires

Votre commentaire :
[p] [b] [i] [u] [s] [quote] [pre] [br] [code] [url] [email] strip aide 2000

Entrez un maximum de 2000 caractères.
Améliorez la présentation de votre texte avec les balises de formatage suivantes :
[p]paragraphe[/p], [b]gras[/b], [i]italique[/i], [u]souligné[/u], [s]barré[/s], [quote]citation[/quote], [pre]tel quel[/pre], [br]à la ligne,
[url]http://www.izend.org[/url], [url=http://www.izend.org]site[/url], [email]izend@izend.org[/email], [email=izend@izend.org]izend[/email],
[code]commande[/code], [code=langage]code source en c, java, php, html, javascript, xml, css, sql, bash, dos, make, etc.[/code].