ModelCookieDelegate
- 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.
- function ModelCookieDelegate() {
- }
- ModelCookieDelegate.prototype = Object.create(Objective.prototype);
- Object.defineProperty(ModelCookieDelegate.prototype, 'constructor', { value: ModelCookieDelegate, enumerable: false, writable: true });
Une instance de ModelCookieDelegate hérite de la classe Objective.
- ModelCookieDelegate.prototype.isSaved = function(model) {
- return Cookies.get(model.name) !== undefined;
- };
isSaved
retourne true
si un cookie nommé d'après le nom de model
existe, sinon false
.
- ModelCookieDelegate.prototype.readIn = function(model) {
- let json = Cookies.get(model.name);
- if (json !== undefined)
- model.set(JSON.parse(json));
- };
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
.
- ModelCookieDelegate.prototype.writeOut = function(model) {
- Cookies.set(model.name, JSON.stringify(model.get()), { path: '/', sameSite: 'lax' });
- model.changed = false;
- };
writeOut
assigne la valeur en JSON de model
à un cookie nommé d'après le nom de model
.
- ModelCookieDelegate.prototype.clearSave = function(model) {
- Cookies.remove(model.name, { path: '/' });
- };
clearSave
détruit le cookie nommé d'après le nom de model
.
Commentaires