5.7.3.3 close

5.7.3.3.1 Déclenchement

Le document a été fermé (quelle que soit la cause : suppression, sauvegarde, changement de rendu, etc.).

cet événement est idéal pour supprimer les écouteurs qui ne sont plus nécessaires.

5.7.3.3.2 Éléments passés au callback

event
objet événement standard de jQuery,
currentDocumentObject
un objet document décrivant le document courant.
previousDocumentObject
un objet document décrivant le document précédent.

5.7.3.3.3 Annulable

Non

5.7.3.3.4 Exemple

Cet exemple supprime tous les événements de type animal. Il doit être utilisé conjointement à l'événement ready pour gérer l'enregistrement des événements.

window.dcp.document.documentController("addEventListener",
    "close",
    {
        "name": "removeAnimalsEvent",
        "documentCheck": function(document) {
            return document.family.name === "ANIMAL";
        }
    },
    function(event, document) {
        this.documentController("removeEventListener", ".animal");
    }
);

Exemple complet : ajout d'événements au ready des documents de type ANIMAL et suppression de ceux-ci au close des documents de type ANIMAL.

//Ajout de l'événement au ready
window.dcp.document.documentController("addEventListener",
    "ready",
    {
        "name": "addAnimalEvent",
        "documentCheck": function(document) {
            return document.family.name === "ANIMAL";
        }
    }, function addAnimalEvents() {
        this.documentController("addEventListener",
        "beforeClose",
        {
            "name": "preventClose.animal",
            "documentCheck": function(documentObject) {
                return true;
            }
        },
        function preventCloseAnimal(event, documentObject) {
            if (documentObject.renderMode === "edit" &&
                this.documentController("getValue", "zoo_title").value !== "fermer") {
                event.preventDefault();
                this.documentController("showMessage", {
                    "type" : "error",
                    "message" : "If you want close the doc, change the title to fermer"
                });
            }
        });
    }
);
 
//Suppression de l'événement au close
window.dcp.document.documentController("addEventListener",
    "close",
    {
        "name": "removeAnimalsEvent",
        "documentCheck": function(documentObject) {
            return documentObject.family.name === "ANIMAL";
        }
    },
    function(event, documentObject) {
        // Désenregistrement de addAnimalEvents
        this.documentController("removeEventListener", ".animal");
    }
);
×