From cc53959ac5ba3e786f3d6ad3403919b82c52fa42 Mon Sep 17 00:00:00 2001 From: Fabio Bas Date: Sun, 6 Mar 2016 19:39:56 +0100 Subject: Activecontrols: avoid updating client side if the value didn't change Fix #399 --- .../Web/UI/ActiveControls/TActiveListControlAdapter.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'framework/Web/UI/ActiveControls/TActiveListControlAdapter.php') diff --git a/framework/Web/UI/ActiveControls/TActiveListControlAdapter.php b/framework/Web/UI/ActiveControls/TActiveListControlAdapter.php index 927912b0..679a7f94 100644 --- a/framework/Web/UI/ActiveControls/TActiveListControlAdapter.php +++ b/framework/Web/UI/ActiveControls/TActiveListControlAdapter.php @@ -41,6 +41,9 @@ class TActiveListControlAdapter extends TActiveControlAdapter implements IListCo */ public function setSelectedIndex($index) { + if($this->getControl()->getSelectedIndex() === $index) + return; + if($this->canUpdateClientSide()) { $this->updateListItems(); @@ -64,6 +67,9 @@ class TActiveListControlAdapter extends TActiveControlAdapter implements IListCo */ public function setSelectedIndices($indices) { + if($this->getControl()->getSelectedIndices() === $indices) + return; + if($this->canUpdateClientSide()) { $this->updateListItems(); @@ -94,6 +100,9 @@ class TActiveListControlAdapter extends TActiveControlAdapter implements IListCo */ public function setSelectedValue($value) { + if($this->getControl()->getSelectedValue() === $value) + return; + if($this->canUpdateClientSide()) { $this->updateListItems(); @@ -108,6 +117,9 @@ class TActiveListControlAdapter extends TActiveControlAdapter implements IListCo */ public function setSelectedValues($values) { + if($this->getControl()->getSelectedValues() === $values) + return; + if($this->canUpdateClientSide()) { $this->updateListItems(); -- cgit v1.2.3