From f583c9af4b3ed340ed351ae388318655ee88c424 Mon Sep 17 00:00:00 2001 From: Ivan Barlog Date: Tue, 5 Sep 2017 03:01:46 +0200 Subject: [PATCH] move callbacks from session to array --- src/Ajaxcom.php | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/Ajaxcom.php b/src/Ajaxcom.php index 2afbc90..69d4d1f 100644 --- a/src/Ajaxcom.php +++ b/src/Ajaxcom.php @@ -39,6 +39,8 @@ class Ajaxcom private $addBlocks = []; /** @var string[] */ private $removeBlocks = []; + /** @var Callback[] */ + private $callbacks = []; /** @var bool */ private $modal = false; @@ -114,9 +116,7 @@ public function renderAjaxBlock(string $id, array $callbacks = []): self public function addCallback(Callback $callback) { - $callbacks = $this->session->get(self::AJAXCOM_CALLBACKS, []); - $callbacks[] = $callback; - $this->session->set(self::AJAXCOM_CALLBACKS, $callbacks); + $this->callbacks[] = $callback; return $this; } @@ -228,12 +228,9 @@ private function addBlocks(Handler $ajax, string $view, array $parameters): Hand */ private function addCallbacks(Handler $ajax): Handler { - $callbacks = $this->session->get(self::AJAXCOM_CALLBACKS, []); - /** @var Callback $callback */ - foreach ($callbacks as $callback) { + foreach ($this->callbacks as $callback) { $ajax->callback($callback->getFunction(), $callback->getParameters()); } - $this->session->remove(self::AJAXCOM_CALLBACKS); return $ajax; }