# setCustomClientData
Lors de la demande du rendu, des données complémentaires peuvent être fournies par le client au moyen de la méthode
addCustomClientData
.
Ces données sont récupérables via la méthode setCustomClientData
.
/**
* Retrieve some custom data
*
* @param mixed $data data provided by client
*
* @return mixed
*/
public function setCustomClientData(\Anakeen\Core\Internal\SmartElement $document, $data)
Dans les rendus par défaut (Anakeen\Ui\DefaultView
et Anakeen\Ui\DefaultEdit
), ces données sont stockées et
accessibles dans la variable protégée customClientData
.
Le programme de rendu appelle cette méthode après la construction de l'objet. Ces variables sont alors accessibles pour les autres méthodes.
Cette méthode est appelée après l'enregistrement du Smart Element lorsqu'il s'agit d'une demande de création (POST
) ,
de mise à jour (PUT
) ou de suppression (DELETE
).
Une méthode statique est disponible pour récupérer les données complémentaires depuis d'autres méthodes comme depuis le
hook preStore
de l'objet Smart Element.
\Anakeen\Ui\Utils::getCustomClientData()
Cette méthode retourne la donnée complémentaire décodée qui est fournie dans la requête courante.
# Exemple
Ajouter un message dans l'historique lors de la sauvegarde.
Sur le client, le code suivant est exécuté :
import ankSmartController from "@anakeen/user-interfaces/components/lib/AnkController";
ankSmartController.registerFunction("myFunction", scopedController => {
scopedController.addEventListener("beforeSave", function(event, smartElement, data) {
scopedController.setCustomClientData({ History: "Hello World!" });
});
});
Le serveur récupère la donnée History
pour l'enregistrer dans l'historique lors de la demande de sauvegarde.
class MyConfig extends \Anakeen\Ui\DefaultEdit
{
public function setCustomClientData(\Anakeen\Core\Internal\SmartElement $document, $data)
{
if (!empty($data["History"])) {
$document->addHistoryEntry($data["History"]);
}
}
}